/// WRITING
Writing.
10 pieces · every one declares what kind of claim it is making · RSS
- Reported
- This happened.
- Designed
- This is what I designed, and how I would build it.
- Argued
- This is what I think is true.
The night the doctrine failed
Seven-rule batch protocol. Five rounds of adversarial audit. An independent cross-verifier as the final gate. Every gate returned green. None of them were real. A 75% false-close rate.
- AUG 267 MINReported
29 review rounds hardened a CI gate that nothing ran
The bypass that needed no edit at all — and the five-minute audit that finds it in your repo.
#northsun#github-actions#ai-agents#ci - AUG 235 MINArguedArgument. Grounded in public vendor docs, not a measured incident.
The number is not the person
Voice agents that persist contact memory on the phone number will replay the last caller on a shared line. Public Retell and ElevenLabs docs describe the pattern. This is a failure class, not a customer story. No wipe, no price, no Northsun usage claim.
#voice#identity#memory#agents - AUG 222 MINReported
Your pager is not your customer
A synthetic check that fatals inside its own warn budget will page for days without proving anyone is hurt. Keep signal, diagnosis, mitigation, and recovery as four evidence states.
#sre#incidents#verification#agents - JUL 254 MINReported
The dashboard query RLS wouldn't let through
I revoked two columns from the dashboard's own role and broke every logged-in page load for three days. Postgres was right; my select('*') was wrong — and the retry screen I'd shipped earlier turned the crash into something quiet.
#postgres#rls#supabase#security#postmortem#mnemix - JUL 244 MINReported
The meter that counted cache hits as cash
The ledger charged no one, the flag was off, and the migration never touched prod. Review still found three bugs — one that would have billed tenants for free cache hits, one that let a tenant rewrite its own billing history, and a table in prod that no migration created.
#metering#billing#postgres#rls#postmortem#mnemix - JUL 234 MINReported
The health check that became a retry storm
The Redis retries on the Linear webhook's /health path existed to absorb slowness. Two designs in, they could amplify it: a shared abort fuse that fired inside unrelated writes, an unbounded claim that could stall past Linear's 5-second deadline, and a synthetic 200 from the SDK that read real first deliveries as duplicates. The fix was a factory and one rule — only null means duplicate.
#webhooks#redis#linear#retries#timeouts#postmortem - JUL 024 MINArguedArgument. No artifact behind it.
Shipping solo with AI: who owns the architecture when the AI writes the code
Writing the code and owning the system are not the same job. The test that separates them: explain a decision, then change it. If the answer is 'the AI chose it,' you're a passenger.
#ai-native#engineering#agents#career - JUL 023 MINDesignedDesign. Not shipped.
Cross-video pattern detection: the YouTube signal everyone ignores
The audience tells you, second by second, where you lost them — but the signal is siloed one video at a time, so the same structural mistake repeats invisibly across a whole channel.
#retention-lab#analytics#youtube#ai-products - JUL 023 MINArguedArgument. The latency figure is a design target, not a measurement.
The latency objection for voice-AI memory is a dead argument
Voice agents already wait through voice activity detection on every turn. Memory designed to return inside that window need not add a separate pause. The objection isn't a physics problem — it's an architecture problem.
#voice-ai#memory#latency#mnemix