Months of building, and the riskiest day is the one where you change nothing — you just point real customers at what you already proved.
Phase 8 isn't where the system gets built. It's where a named human says go, out loud, with the rollback plan on the table.
Every idea below is paired with the real thing — examples come from a fictional but fully worked engagement, Harbor Mutual, a regional insurer.
Why this phase exists at all
Go-live is a ceremony, not a scramble
In most projects, deployment is the night everyone holds their breath: untested scripts, a fresh build, surprises at 2 a.m. In this method that drama is already spent. The pipeline that will touch production has existed since the foundation was laid, and every merge for months has ridden the very same rails.
Phase 8 invents nothing. The deploy pipeline, the test environment, the environment-as-code — all built earlier and exercised hundreds of times. What this week adds is the one part a machine must never own: the decision to ship, the rehearsal of failure, and a person putting their name to go.
A good Phase 8 is boring. If it's exciting, something was skipped — the excitement just means the surprises got saved for the worst possible moment.
By go-live week, Harbor had 44 feature specs built and verified, and documentation proven by use the week before. Production already existed — as infrastructure code that had simply never taken a real claim.
"The system runs in dev and test; production exists as Bicep that has never taken a real claim. This week it takes its first."
Nothing new got built to go live. The same proven thing just got pointed at real customers.
The drama you didn't spend in rehearsal — where it costs an afternoon — gets spent during an incident instead, where it costs minutes of downtime with an audience watching.
Go deeper — the full method
In this method, Phase 8 invents nothing — the pipeline has existed since Foundation, the test environment since the first hardening pass, and every merge for months has deployed itself to dev through the same rails that will now touch production. What Phase 8 adds is the part machines must never own: the rollout decision, the rehearsal, and a named human saying go — out loud, on the record, with the rollback plan on the table.
A good Phase 8 is boring. The drama gets spent in rehearsal, where it costs nothing. This is also the week the engagement's success metric stops being instrumentation and starts being real: production traffic puts the first true numbers on the clock the client hired us to fix.
Phase 8 answers four questions, and nothing else:
- Is the path to production proven? (deploy → roll back → redeploy, rehearsed in test — a rollback that has never run is a wish, not a plan)
- Is the rollout shape decided and owned? (cutover, pilot, or parallel run — chosen by the client's product owner and operations, with the trigger conditions written down)
- Did a named human say go? (the ceremony: evidence presented, every role asked, the decision recorded — gates report, humans decide, and this is the decision the rule exists for)
- Is production verifiably healthy? (smoke tests green against live endpoints, monitoring receiving real data, the first real traffic watched end to end)
New features, alert tuning, and incident-response drills are out of scope — the backlog is closed, and monitoring is Phase 9's job (this phase only confirms data is flowing). Data migration is in scope only if the engagement scoped it; a migration nobody signed up for does not sneak in through the deployment door.
The rule that governs everything
The machine prepares the evidence; a human says go
This is the least code-writing phase of the whole engagement, on purpose. The AI does the assembling, the running, the watching. People make the one decision that matters here — and carry the accountability for it. A machine reports; a named human signs.
- Claude drafts the release notes, drafts the deploy checklist and rollback steps, runs the smoke checks, and watches the first real traffic alongside the humans.
- People decide go or no-go, pick how traffic arrives, execute the promotion with their own hands, and own every result.
What the AI never does: deploy to production unattended, decide go or no-go, or mark its own smoke results as the final word. The go/no-go is the mandatory human stop the whole standard bends around.
Through the whole week, the keyboard belonged to Harbor's people. Tom Reilly, their platform engineer, executed every promotion. The production access list never included a single member of the consulting pod.
"The pod never touched production. Tom executed every promotion; the secrets rotated to values the pod has never seen."
In a few weeks the pod leaves. So this week, every hand on the keyboard is a hand that stays.
Go deeper — the full method
The least code-writing phase of the engagement, and deliberately so. Claude prepares evidence; humans make the only decision that matters here.
- Drafts the release notes from the merged specs. Every spec since Foundation is a feature with a written goal and acceptance checks — the release notes assemble them for an audience that never saw a spec: what's new, what's fixed, what's not in this release, what users do differently.
- Drafts the deployment checklist and rollback procedure from the RUNBOOK Phase 7 proved, ordered and observable: every step has an expected outcome and a verification.
- Runs the smoke suite against test and, after go-live, against production — and reports results per journey, pass/fail, with evidence.
- Watches the first real traffic alongside the humans: the first production transactions traced end to end against expected behavior.
What Claude never does: deploy to production unattended, decide go or no-go, pick the rollout shape, or mark its own smoke results as the final word. The go/no-go is the mandatory human stop the whole standard bends around — always, this release and every release after it.
The thing that moves to production
Promote the exact artifact you proved — never a fresh build
There's a tempting shortcut at go-live: "let's just do a quick fresh build for production." It feels harmless. It quietly puts something into production that no environment has ever actually verified.
Promotion means moving the same proven thing up the ladder: dev → test → production. Same pipeline, same code, a different target. Never a rebuild, never a hand-copy.
The moment you rebuild "real quick" for production, you've broken the chain of proof. The thing customers hit is no longer the thing that passed the tests — it's an unverified system wearing a verified one's badge.
The release candidate that passed every smoke check in test on Wednesday was, byte for byte, the thing that took Harbor's first real claim on Thursday.
"What ran in test on Wednesday is byte-for-byte what took Harbor's first claim on Thursday."
The production environment itself was also promoted, not improvised — provisioned from the same infrastructure code that had built dev and test.
Go deeper — the full method
Promotion means moving the same proven artifact up an environment: dev → test → production. The same pipeline, the same code, a different target — never a rebuild, never a hand-copy. The moment production gets a fresh build "real quick" instead of the promoted artifact that passed test, production runs something no environment ever verified.
The production environment itself is promoted, not improvised. It provisions from the same infrastructure code — the Bicep — that built dev and test, reviewed like the HIGH-risk change it is and executed by the client's platform engineer. IaC / Bicep means infrastructure as code: the environments defined in version-controlled files, so the production environment comes from the same source that built the others rather than being hand-assembled.
The artifact that passed test is byte-for-byte the artifact that takes real traffic. Break that chain with a convenience rebuild and every test result you collected describes a different system than the one customers hit.
The plan you must have before you ship
A rollback that has never run is a wish, not a plan
Everybody writes a rollback procedure. Far fewer ever run it. A documented, reviewed, never-executed rollback gets its real first test during an actual incident — the worst possible time to discover it doesn't work.
Before any production promotion, the path gets rehearsed in test, for real: deploy → roll back → redeploy — run by the same hands that would run it at 2 a.m.
And the rollback needs a written trigger — "roll back if X" — decided in calm daylight, not invented mid-incident. A rollback that has never executed is a hope; after the rehearsal it's a procedure with evidence.
On Tuesday, the rehearsal rollback failed. The old app revision came back up and crashed on startup — two config keys added since had moved forward independently of the artifact, so the old code didn't know them.
"14:31 Execute RUNBOOK rollback to previous revision — FAIL. Previous revision crash-looped on startup."
"Version app configuration WITH the release artifact. Re-rehearsal: rollback to previous revision + its config — OK (3 min 52 s, old revision Healthy)."
A rollback that fails in rehearsal, by appointment, costs an afternoon. The same failure on Thursday night is an outage with an audience. The rehearsal exists to buy failures at rehearsal prices.
Go deeper — the full method
The rehearsal, in test: deploy → roll back → redeploy. The rollback runs for real, by the hands that would run it at 2 a.m., from the RUNBOOK Phase 7 cold-verified. A rollback that has never executed is a hope; after the rehearsal it is a procedure with evidence.
The rollback is the exact, rehearsed procedure that returns production to the previous version — with a written trigger ("roll back if X"), not a judgment call invented mid-incident. The evidence is a timestamped timeline of each step — deploy, roll back, redeploy — with the outcome of each and the time back to healthy, attached to the go/no-go packet.
A failed first rehearsal goes in alongside the clean one: found-and-fixed is stronger evidence than never-stressed. Anything the rehearsal breaks gets fixed through the loop and re-rehearsed. Never promote past a failed rehearsal — fix it, re-rehearse, and move the window if you must.
The rollback doesn't roll back, a migration won't reverse, a config diverges between test and production — this is the phase working, not the phase failing. The same surprise during a live incident costs downtime with an audience.
How the traffic actually arrives
Decide how real users meet the system — the client decides, in writing, before the ceremony
"Go live" isn't one thing. Does everyone switch at once? A small pilot group first? Does the new system run alongside the old one for a while? That's a product and operations decision — and it can't be improvised in the go/no-go meeting.
- Full cutover — everyone moves to the new system at once.
- Pilot cohort — a small, chosen group goes first.
- Parallel run — new and old run side by side for a while.
Whichever it is, the client's product owner and operations own it, in writing, before the ceremony — including what happens to work already in flight and what the fallback is, with the conditions that trigger it.
Luis Ortega, Harbor's product owner, chose cutover at intake: from go-live, every new claim in every channel enters the new system; claims already in flight finish in the old process where they started. No migration — none was scoped, none sneaks in.
Owned by a named human, in writing, in the go/no-go packet — not a shrug at the meeting.
Go deeper — the full method
The rollout shape is how production traffic arrives: full cutover, a pilot cohort, or a parallel run alongside the old process. A product and operations decision, made by the client, before the ceremony. The Pod Lead convenes the rollout-shape session; the product owner and operations decide — what shape, what happens to work in flight in the old process, what the fallback is and for how long. Written down, with trigger conditions, before any ceremony.
The hypercare window gets agreed with the client's operations the same day — length and response expectations written down before the ceremony, so it goes in the packet as a commitment, not a courtesy. One to two weeks is the usual shape.
If the rollout shape unravels late — operations discovers the parallel-run staffing, or the in-flight-work answer, doesn't hold — better the week stretches than the shape gets improvised at the ceremony. And any data migration is in scope only if the engagement scoped it: "while we're at it, migrate the old claims" is scope arriving through the deployment door, and it doesn't.
The single most protected stop in the standard
Every named role gets asked — and a no is cheap
Before production, the evidence goes on the table and every named role is asked, in turn: go, no, or held. The decision and its reasoning get recorded with names. This is the decision the whole rule about humans deciding exists for — every release, this one and every one after.
Each role answers go, no, or held. A held answer names its condition, and the ceremony waits until it's met or becomes a no. Anyone can say no, and a no today is cheap.
The thing to watch for is the opposite: a ceremony where nobody in the room could plausibly say no, because the decision was really made days ago. That's theater — and theater here is how outages get scheduled.
Wednesday, 16:00. Seven people asked by name — release manager, platform, operations, security, product, quality, sponsor. Six immediate goes. Then security:
until the secrets-rotation record was attached to the packet, not merely referenced — then go
Five minutes of friction — exactly the kind the ceremony exists to make cheap. A go/no-go where friction is unwelcome is the theater to fear.
Go/no-go theater: the meeting exists to nod. The tell is that nobody could plausibly say no. Make the no cheap and the evidence real, or the ceremony protects nothing.
Go deeper — the full method
The go/no-go is the decision ceremony before production: the evidence on the table, every named role asked in turn, and an explicit human decision. The single most protected stop in the standard. It comes at the end of the dress-rehearsal day.
The evidence packet on the table: rehearsal results, smoke results, the rollback trigger, the rollout shape, the notification list. Every named role asked in turn — release manager, platform engineer, operations, security, product owner, quality, sponsor. Anyone can say no, and a no is cheap today. The decision and its rationale are recorded with names.
Each role answers go, no, or held — a held answer names its condition, and the ceremony waits until it is met or it becomes a no. The Pod Lead records every answer with the name, the time, and one line of rationale; that record, plus the decided window, is the artifact.
A go/no-go where no one could plausibly say no is theater, and theater here is how outages get scheduled. When someone does say no, then no is the answer — the ceremony exists to make that cheap; the date moves, the reason gets fixed, and nobody is ever punished for the no that prevented the outage.
Telling people what shipped
Release notes assemble themselves from the specs you already merged
Release notes are usually written from memory at the last minute, and they show it. Here they don't have to be — because every feature shipped this engagement was a written spec with a goal and acceptance checks. The raw material already exists.
The AI drafts the release notes from the merged specs, then translates them for an audience that never saw a spec: what's new, what's fixed, what's not in this release, and what (if anything) users must do differently.
The same applies to the deploy checklist and rollback steps — drafted from the runbook the documentation phase already proved, with every step given an expected outcome and a way to verify it.
The release notes were drafted from the 45 merged specs, then refreshed mid-week after one more spec (the rollback fix) merged. They went to Harbor's stakeholders plainly written:
"What the new intake does, what changes for the claims office, what is not in this release (auto-insurance, adjuster-initiated merges), and the acknowledgment clock now enforced by the system rather than by vigilance."
Go deeper — the full method
Release notes are what this release delivers, written for people who didn't build it: features, fixes, limitations, and what (if anything) users must do differently. Claude drafts them from the merged specs — every spec since Foundation is a feature with a written goal and acceptance checks, so the raw material already exists — then translates them for an audience that never saw a spec.
The deployment checklist and rollback procedure get the same treatment, drafted from the RUNBOOK Phase 7 proved: every step ordered and observable, with an expected outcome and a verification, and sign-off lines for the ceremony roles. The Orchestrators drive the release-notes and checklist drafting and fix anything the rehearsal surfaces — through the loop, like any change.
The release notes are owned by the Pod Lead; the deployment checklist by the Setup Owner (the release manager). They are drafted by the machine and owned by named humans — a machine reports, a person signs.
Proving production is actually healthy
Check it for real — without the check itself causing the incident
A deploy that "succeeded" isn't proof the system works. You verify it — but the verification of a day-old production system must never be the thing that corrupts it. So the checks are reads and harmless writes only.
A smoke test is a fast, non-destructive check that the deployed system actually works — one journey per top-priority user story. If it can corrupt real data, it isn't a smoke test.
Two more things must be true: monitoring is receiving real data (tuning the alerts comes later, but flying blind is unacceptable), and the very first real transactions get watched end to end by the people who own the outcome.
Production smoke ran green at 07:25 through test-mode paths — no real letters dispatched, no real records left behind. Then at 08:14 the first real claim arrived, watched end to end:
Steering heard "data point," not "result" — one good day is not a median. The credibility spent overclaiming week one never comes back.
A destructive smoke test that writes real records into a day-old production system. Then the verification step is the incident. Reads and harmless writes through the test-mode paths only.
Go deeper — the full method
A smoke test is a fast, non-destructive check that the deployed system actually works — one test per top-priority user journey, reads and harmless writes only. If it can corrupt data, it is not a smoke test. The Quality Engineer assembles the suite from the end-to-end journeys the hardening passes already built, trimmed to the non-destructive, test-mode paths — it is not written this week.
Production smoke runs against live endpoints using the test-mode paths built for exactly this: production endpoints that accept flagged synthetic transactions, exercising the full journey without dispatching anything real or leaving unflagged records — built during Foundation and Build precisely so production can be verified safely. The Quality Engineer confirms monitoring is receiving production data — alert tuning is Phase 9, but blind is unacceptable today.
The first real traffic gets watched end to end, deliberately: the first true transactions traced against expected behavior, with the people who own the outcome looking at the same screen. The first number is reported with its caveat — one good day is a data point, not a median; the target gets judged on the median, in Phase 9 and beyond.
Now watch the whole thing happen
Go-live week, end to end
You've got the ideas; here's the actual rhythm at Harbor. Five business days, with go-live deliberately mid-week — never the last day before a weekend, because the day after go-live is a working day for finding what go-live shook loose. Step through it.
Set the table before anyone deploys
The deploy checklist gets walked top to bottom and the production access list cut to least privilege. Every secret the pod ever touched gets rotated to values the pod can't read — Harbor's security signs it. And the product owner decides the rollout shape: cutover at intake, with a 30-day warm fallback and written triggers.
The day the rollback failed — on purpose, in test
Production provisions from the same infrastructure code that built dev and test. Then the rehearsal in test: deploy, roll back, redeploy — by the hands that would run it for real. The rollback failed. That's Tuesday doing its job: the fix rode the loop, the runbook got corrected, and the cause is gone before it could ever reach production.
A clean run, then seven names on a decision
The candidate promotes to test through the full procedure; the smoke suite runs green, one journey per top-priority story. Then at 16:00 the go/no-go: the evidence packet on screen, seven roles asked in turn. Security held until a record was attached, then go. Seven goes, recorded with names. Window set: Thursday 07:00.
The same artifact, now taking real claims
07:00, the promotion runs — Tom executes, the release manager calls each step. The same artifact that passed test goes to production. 07:25, production smoke green through test-mode paths; monitoring confirmed receiving. 08:14, the first real claim: a burst pipe, traced end to end, a coverage recommendation 3 hours 6 minutes after it was reported.
Watch it live, then close the phase
The two-week hypercare window opens — Harbor's operators driving, the pod beside them. Day one surfaces one finding (a retry burst during a vendor blip — no claim affected), logged as a Phase 9 alert candidate. Release notes go out. The gate passes; the sponsor signs at steering with the first production numbers and an honest caveat. Billing milestone six.
Go deeper — the full method
The default calendar is 5 business days, with go-live mid-week — never the last day before a weekend, because the day after go-live is a working day for finding what go-live shook loose. It stretches when the rehearsal fails (good — that is its job) or the client's change-control board adds latency.
- Day 1 — the checklist, the secrets, and the rollout shape. The Phase 7 handoff's deployment checklist gets walked: configuration per environment reviewed, the production access list confirmed against least privilege, stakeholder notifications drafted with the deployment window. Secrets rotate before go-live — everything the pod ever touched gets rotated into production-only values the pod cannot read; the client's security signs the rotation. The Pod Lead convenes the rollout-shape session; the hypercare window is agreed the same day.
- Day 2 — promote the environment, rehearse the failure. The production environment provisions from the same infrastructure code that built dev and test — reviewed like the HIGH-risk change it is, executed by the client's platform engineer. The rehearsal in test: deploy → roll back → redeploy, by the hands that would run it at 2 a.m. Anything the rehearsal breaks gets fixed through the loop and re-rehearsed.
- Day 3 — the dress rehearsal and the ceremony. The release candidate deploys to test through the full procedure; the smoke suite runs, one journey per top-priority story, non-destructive, results recorded per test. The go/no-go ceremony, end of day: the evidence packet on the table, every named role asked in turn, the decision and rationale recorded with names.
- Day 4 — go-live. The promotion runs in the agreed window: the client's platform engineer executes, the release manager calls each checklist step. The same artifact that passed test goes to production — promoted, not rebuilt. Production smoke runs against live endpoints through the test-mode paths; monitoring is confirmed receiving; the first real traffic gets watched end to end.
- Day 5 — hypercare day one, then the gate. The agreed hypercare window begins: dashboards open, the client's operators driving with the pod beside them. Release notes go out; the automated gate check runs; the Phase 9 handoff is drafted. Steering: the gate sign-off, the billing milestone, and the first production numbers on the outcome scorecard, however early.
The rehearsal fails → fix it through the loop, re-rehearse, move the window; never promote past a failed rehearsal. Change control adds a board → the evidence packet is built to pass it; surface the latency at steering, don't absorb it. Someone says no at the go/no-go → then no is the answer; the date moves, the reason gets fixed.
How it goes wrong
The failure modes, and the defense against each
Every one of these has scheduled an outage somewhere. Knowing them by name is half the defense — and Harbor's structure caught two of them in the act.
| The trap | What it looks like | The defense | At Harbor |
|---|---|---|---|
| The Friday deploy | Going live the last day before a weekend, so the system's first hard day happens with nobody watching | Go live mid-week; the day after go-live is a working day on purpose. | Go-live Thursday, hypercare Friday |
| The rollback only ever written | Documented, reviewed, never run — then executed for the first time during an incident | Rehearse it in test, by the client's own hands, before the ceremony. | Caught — the Tuesday rehearsal failure |
| Go/no-go theater | The decision was really made days ago; the meeting exists to nod | Make the no cheap and the evidence real, or the ceremony protects nothing. | Security held until a record was attached |
| The rebuilt artifact | A fresh build "real quick" for prod instead of the promoted one that passed test | Promote, never rebuild — the same artifact moves up. | Byte-for-byte the tested candidate |
| Destructive smoke tests | A verification step that writes real records into a day-old production system | Reads and harmless writes through the test-mode paths built for this. | Test-mode paths only, no real records |
| Scope through the deploy door | "While we're at it, migrate the old claims" — a migration nobody scoped | If it wasn't scoped, it isn't in this release. | Cutover at intake; in-flight claims drain in legacy |
| Hypercare as a courtesy | Treating the post-go-live window as optional goodwill | It's part of the deployment — the cheapest learning the engagement gets. | Two-week window, operators driving |
Go deeper — the full method
Named failure modes, because every one of these has scheduled an outage somewhere. Knowing them by name is half the defense.
- The Friday deploy. Going live the last day before a weekend, so the system's first hard day happens with nobody watching. Go live mid-week; the day after go-live is a working day on purpose.
- The rollback that was only ever written. Documented, reviewed, never run — then executed for the first time during an incident, where every surprise costs minutes of downtime. Rehearse it in test, by the client's own hands, before the ceremony.
- Go/no-go theater. The decision was really made days ago; the meeting exists to nod. The tell: nobody in the room could plausibly say no. Make the no cheap and the evidence real, or the ceremony protects nothing.
- The rebuilt artifact. Production gets a fresh build "real quick" instead of the promoted artifact that passed test — and now production runs something no environment ever verified. Promote, never rebuild.
- Destructive smoke tests. A verification step that writes real records into a day-old production system. Smoke tests are reads and harmless writes through the test-mode paths built for this; anything else is the verification causing the incident.
- Deploying ahead of the operators. The system goes live before the people who run it have rehearsed, because the date was sacred and their calendar wasn't. The date moves; the rehearsal doesn't.
- Scope through the deployment door. "While we're at it, migrate the old claims" — a migration nobody scoped, attempted under a deadline, against production data. If it wasn't scoped, it isn't in this release.
- Hypercare as a courtesy. Treating the post-go-live window as optional goodwill instead of part of the deployment. The first week of production is where the system meets reality; being absent for it forfeits the cheapest learning the engagement will ever get.
When Phase 8 is done
The system is live — and the clock is finally real
Deployment ends with the rollback rehearsed, a recorded go, the proven artifact in production, smoke green against live endpoints, and monitoring receiving real data. The success metric stops being instrumentation and starts being traffic — the first true numbers on the clock the client hired you to fix. Where to go next: