CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/release-runbook-author

Turns one service's release into a written six-phase runbook: pre-flight checks, a smoke gate, a canary observation window, a named human promote gate, progressive rollout, and post-release verification. Fixes each phase's pass criteria as a delta against a recorded baseline rather than a bare absolute number, gives canary and rollout separate windows and separate thresholds, and emits a per-phase evidence table that becomes the release record. The multi-team cutover-sequence procedure - dependency-ordered gates with one named owner each, hard timeboxes, written rollback triggers, and the reverse-order rollback path - is worked in references for windows where several teams cut over interdependent services. Use when a single service is about to ship and its release steps exist only as tribal knowledge or a chat thread, or when a shared release window needs its cutover order, gate owners, and rollback path written down.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

cutover-worked-example.mdreferences/

Worked example

Window: four services, three teams, one dependency chain plus one parallel track.

Graph. The payments API calls the new authentication contract, so authentication must be live first. The web app calls the new payments contract, so payments must be live before it. The event pipeline consumes only published events whose shape is unchanged, so it has no in-window edge and runs parallel.

auth-service  ->  payment-api  ->  web-app
event-pipeline    (parallel, no in-window dependency)

Gate list.

GateKindStepDepends onOwnerTimebox (UTC)
G0DECISIONWindow opens, preconditions confirmed-Priya (release authority)20:00
G1ACTIONauth-service router switch to new versionG0Alice20:10
G2DECISIONauth-service smoke pass, go or no-goG1Priya20:25
G3ACTIONpayment-api router switchG2Bob20:35
G4DECISIONpayment-api smoke pass, go or no-goG3Priya20:50
G5ACTIONevent-pipeline router switchG0 (parallel)Dave20:35
G6DECISIONevent-pipeline lag and reconciliation checkG5Priya20:50
G7ACTIONweb-app router switchG4Carol21:00
G8DECISIONweb-app smoke pass, window go or no-goG7Priya21:20
G9DECISIONObservation closes, window declared completeG8, G6Priya22:00

Hard stop: 22:00 UTC. Reaching it with any gate incomplete puts the full reverse path to Priya as a decision.

Rollback triggers.

GateCondition that puts a decision on the tableEvaluated byEvidenceReverse scope
G2auth smoke suite fails, or auth 5xx above 1 percent for 5 minutesPriyaauth-smoke suite output, auth error-rate dashboardauth only
G4payment smoke fails, or transaction error rate above 0.5 percentPriyapayments-smoke output, transaction error panelpayments, then auth
G6pipeline lag above 10 minutes, or reconciliation mismatch above 0 rowsPriyapipeline lag panel, nightly reconciliation querypipeline only
G8web smoke fails, or checkout completion below its agreed bandPriyaweb-smoke output, checkout funnel panelall four services
AnyHard stop 22:00 reached with gates openPriyathe runtime logall completed gates

Reverse path if the decision at G8 is to roll back the window. Completed ACTION gates are G1, G3, G5, G7. Reversed, with the parallel track handled independently:

1. web-app router back to previous version      (Carol)  confirm
2. payment-api router back to previous version  (Bob)    confirm
3. auth-service router back to previous version (Alice)  confirm
4. event-pipeline router back (parallel track)  (Dave)   confirm

Each step confirmed before the next begins. Note that G3's forward action was marked reversible during Step 6 review; had it written transaction rows in a new shape, it would carry POINT OF NO RETURN and step 2 above would read "roll forward with hotfix" instead.

SKILL.md

tile.json