Parent PRD
#22
What to build
This is the one HITL slice in the set. Its definition of done requires a human to walk the documented sequence against real infrastructure. Every other slice in this breakdown is verifiable by tests or CI.
Write the release and rollback runbook that makes manual deployment a repeatable procedure rather than a remembered one.
Deployment stays manual by decision, not by omission — see the deployment model decision in the PRD. A continuous deployment pipeline was considered at priority zero in the original audit and deliberately rejected: for a template it would encode account identifiers, secret names, and branch conventions that no cloner shares, and it could not be meaningfully exercised in this repository. The gap the audit identified is real, but it is a documentation gap, and this slice closes it.
The runbook covers, per environment, in order: the migration gate, the environment-scoped build, the deploy, and how to verify the result. It also documents the two operational procedures that currently exist nowhere — shipping a risky change to a fraction of traffic first, and recovering from a bad deploy without improvising under pressure.
The manual migration gate should be documented as a deliberate choice, so that its absence from automation reads as a decision rather than an oversight.
Note the interaction with #23: once required secrets are declared, deploy fails with a named list when one is unset. The runbook should say so, because that check is the safety net that partially compensates for having no pipeline.
Acceptance criteria
Blocked by
User stories addressed
Reference by number from the parent PRD:
- User story 28
- User story 29
- User story 30
- User story 31
Parent PRD
#22
What to build
Write the release and rollback runbook that makes manual deployment a repeatable procedure rather than a remembered one.
Deployment stays manual by decision, not by omission — see the deployment model decision in the PRD. A continuous deployment pipeline was considered at priority zero in the original audit and deliberately rejected: for a template it would encode account identifiers, secret names, and branch conventions that no cloner shares, and it could not be meaningfully exercised in this repository. The gap the audit identified is real, but it is a documentation gap, and this slice closes it.
The runbook covers, per environment, in order: the migration gate, the environment-scoped build, the deploy, and how to verify the result. It also documents the two operational procedures that currently exist nowhere — shipping a risky change to a fraction of traffic first, and recovering from a bad deploy without improvising under pressure.
The manual migration gate should be documented as a deliberate choice, so that its absence from automation reads as a decision rather than an oversight.
Note the interaction with #23: once required secrets are declared, deploy fails with a named list when one is unset. The runbook should say so, because that check is the safety net that partially compensates for having no pipeline.
Acceptance criteria
Blocked by
User stories addressed
Reference by number from the parent PRD: