Inventory every consumer of the v1 payload
Unlocks 1 task
Every consumer moves to the v2 payload contract without a coordinated outage, and the v1 shims come out on a date we choose.
Running Build. 6 tasks are ready to start.
Establish which consumers break and how loudly.
The contract, the shim strategy and the notice period, in writing.
Approve the v2 contract and the two-week consumer notice.
Held by Aris Vandel
Approved. Notice period held at two weeks per the standing department rule.
Implement v2, the shims, and the instrumentation that proves migration.
Prove both contracts hold under load and under partial failure.
Sign off that both contracts hold under load and partial failure.
Held by Probe
Not reached yet — Build is still open.
Staged rollout with a rehearsed way back.
Inventory every consumer of the v1 payload
Unlocks 1 task
Classify breakage by consumer criticality
Unlocks 1 task
Recommend a notice period
Unlocks 1 task
joins from Discovery
Draft the v2 contract
Unlocks 1 task
Specify the v1 compatibility shim
Unlocks 1 task
Sequence the migration by consumer tier
Unlocks 1 task
joins from Specification
Implement the v2 serializer
Unlocks 2 tasks
Implement the v1 shim layer
Unlocks 2 tasks
Instrument per-consumer contract version
Ready — every dependency closed
Unlocks 1 task
Migration test suite across both contracts
Ready — every dependency closed
Unlocks 1 task
joins from Build
Regression across every named consumer
Waiting on 2: Instrument per-consumer contract version; Migration test suite across both contracts
Unlocks 1 task
Load test at 3x peak with mixed versions
Ready — every dependency closed
Unlocks 1 task
Partial-failure rehearsal
Ready — every dependency closed
Unlocks 1 task
joins from Quality assurance
Stage the tiered rollout plan
Waiting on 3: Regression across every named consumer; Load test at 3x peak with mixed versions; Partial-failure rehearsal
Rehearse the rollback
Ready — every dependency closed
Publish the consumer notice
Ready — every dependency closed
One column per stage, in routing order. Tasks inside a stage run in parallel; the first task of each stage joins from every task of the one before it, which is the hand-off between departments made explicit.
Regression across every named consumer
Load test at 3x peak with mixed versions
Partial-failure rehearsal
Stage the tiered rollout plan
Rehearse the rollback
Publish the consumer notice
Migration test suite across both contracts
Instrument per-consumer contract version
Empty
Empty
Inventory every consumer of the v1 payload
Classify breakage by consumer criticality
Recommend a notice period
Draft the v2 contract
Specify the v1 compatibility shim
Sequence the migration by consumer tier
Implement the v2 serializer
Implement the v1 shim layer
Approve the v2 contract and the two-week consumer notice.
Approved. Notice period held at two weeks per the standing department rule.
Sign off that both contracts hold under load and partial failure.
Not reached yet — Build is still open.
Authorise the staged production rollout.
Deciding a gate writes the decision and nothing else. The status change, the release of downstream stages and the “ready to close” state are all derived from it on the next render — which is why an approval here is one field rather than a transaction.
Shim layer is in. Instrumentation is the last thing between us and QA.
Open in the Hub →Contract frozen. Any further change restarts the notice clock.
Open in the Hub →Four consumers break silently rather than loudly. Those are the dangerous ones.
Open in the Hub →Task-weighted, not stage-weighted. A two-hour approval stage and a two-hundred-hour build stage are not half the work each, and treating them as such is the usual way a project dashboard reports 50% before anything has been built.
Closed when the release stage completes and the rollback path is on file.
Every stage reaches complete or skipped.
2 open tasks in Build.
Computed by engine.peekAdvance(), which returns the next stage rather than moving to it. The Task Orchestrator owns the write; keeping this side pure is what lets a card show “next: Engineering” with no risk that rendering a page advances a workflow.
Nothing here executes. There is no scheduler, no queue and no writer — these are evaluations of the current state, refreshed on every render. Adding a trigger is one row in AUTOMATION_TRIGGERS; it appears on every workflow immediately so a rule can be checked against real data before anything is built to act on it.
Halo Rune Moved instrumentation into progress.
Halo Rune Closed the v1 shim layer.
Aris Vandel Approved the specification gate — notice period held at two weeks.
Workflow Engine Routed from Specification to Build.
Anselm Reyes Closed Discovery — 34 consumers inventoried, 4 breaking silently.
CEO Opened from the Software Development template — 5 stages, 3 approval gates.