From Your Laptop to the Internet

From Your Laptop to the Internet
From Your Laptop to the Internet The gate, the boxes, the edge, and how you find out it broke. Agentic SDLC · The Multiverse School 1 · THE THREE KINDS OF TEST Code that runs your code to check your code — so another agent can't quietly break it. UNIT attack for 10, +1 armour → lose 9 INTEGRATION two systems, together END-TO-END sign up, sign in, post, like it more of these, and they run in seconds Armour works if 10 damage against +2 armour costs exactly 8 health. That is a whole test. Written first, they are the spec. Written after, they are a chore that gets skipped. Junior devs skip them because college ruined them. Senior devs skip them because they think they're exempt. Claude doesn't get a vote. They exist because another agent will come along and change this code. 2 · CI IS A GATE, NOT A HABIT Continuous integration runs the tests on every pull request. One check that genuinely blocks the merge is worth ten that only warn. 1 PR opened 2 CI runs 3 preview up 4 human ticks 5 merged BLOCKED tests fail → it does not merge, no matter who says it's fine What the gate is actually preventing An agent saying "this code's probably fine, I ran it and it seemed good" or "I read it, it's fine" — and shipping. Cowboy shipping is not a discipline problem you can solve with a better prompt. It's a missing gate. 3 · BLUE / GREEN DEPLOYS Don't swap versions. Run both, and move traffic across only while the error rate stays flat. traffic split BLUE · v1.7.0 the version that works GREEN · v1.8.0 the one you just shipped 90% 10% then you ramp 10% no new errors? 25% still flat? 50% still flat? 100% take blue down Rollback is not a deploy — it is sending traffic back to blue, which is still running. That is why rollback is the one thing safe to let fire on its own. "No new errors" means no error families that weren't already there — the one that fires every minute doesn't count as new. 4 · ONE BOX, MANY CONTAINERS You stop paying per app and start paying per machine. That single change is what makes shipping five projects affordable. one Hetzner box · Docker host Coolify on top: deploy from a branch, env vars, logs, rollback, automatic HTTPS app db worker preview app db worker preview a visitor Cloudflare your box cached at the edge — most requests never reach Finland at all Full (Strict) SSL — the hop from Cloudflare to your origin is encrypted and verified too Give the box an SSH alias first. `ssh myserver` removes most of the fear, and you do not have to understand SSH to type it. 5 · HOW YOU FIND OUT IT BROKE Without this, nothing is visibly broken. That is the whole trap. error in the wild GlitchTip dedupe + throttle GitHub issue a lane Server, client AND background jobs. Jobs are the ones people forget, and they fail silently for months. Scrub secrets, tokens, request bodies and PII before the event leaves the box. Ask to see what a captured event contains before you turn it on. A human promotes to production. Agents never pull that trigger — the only thing allowed to fire on its own is the rollback. 6 · HOW MANY NINES DO YOU HAVE Say the number out loud, then ask what you own that would tell you you'd missed it. If the answer is nothing, that's the finding. side project whatever happens A legitimate answer. Just say it. 99% ~7 hours / month One box, backups, you fix it when you notice. 99.9% ~43 minutes / month Alerting that reaches a human. Interrupts your evenings. 99.99% ~4 minutes / month On-call rota. A staffing decision, not a technical one.

Tour mode

Space / next · previous
Home / End first / last
19 jump to frame

Explore mode

Click any highlighted region to zoom in.
Click further-in regions to drill deeper.
Backspace / Esc — zoom back out
O — return to overview

Anywhere

M — toggle mode
T — toggle frame list
F — fullscreen · R — restart
0 / 0 Tour