CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/cutover-sequence-author

Sequences a multi-team release cutover into dependency-ordered gates: builds the cross-service dependency graph, converts it into a numbered gate list where every gate carries exactly one named owner, a hard timebox, and a written rollback trigger, then derives the reverse-order rollback path and the window hard-stop rule. Emits one cutover plan document with an authority table and a runtime log. Use when two or more teams must cut over interdependent services inside one shared release window and nobody has yet written down the order, who calls each gate, or what reverses it.

75

Quality

94%

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

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