Time every step of the current close
Ready — every dependency closed
Unlocks 1 task
Take the month-end close from five days to one, starting with the agent spend attribution that currently blocks it.
Not released. Publish it to route work to the first department.
No named agents yet. A freshly built workflow assigns work to departments — naming agents is a scheduling decision the orchestrator makes when it staffs the stage.
Establish which close steps actually cost the five days.
Turn the finding into something engineering can build.
Clear Specification before work routes onward.
Held by Aris Vandel
Prove the numbers match a manual close.
Confirm the automated close matches a manual one to the penny.
Held by Probe
Run it alongside a manual close before trusting it.
Authorise running the automated close as the source of record.
Held by Dai Okonjo
Time every step of the current close
Ready — every dependency closed
Unlocks 1 task
Identify the agent spend attribution gap
Ready — every dependency closed
Unlocks 1 task
Size the automatable share
Ready — every dependency closed
Unlocks 1 task
joins from Discovery
Draft the technical spec
Waiting on 3: Time every step of the current close; Identify the agent spend attribution gap; Size the automatable share
Define the attribution data contract
Ready — every dependency closed
Estimate and sequence the build
Ready — every dependency closed
joins from Specification
No tasks
joins from Build
No tasks
joins from Quality assurance
No tasks
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.
Time every step of the current close
Identify the agent spend attribution gap
Size the automatable share
Draft the technical spec
Define the attribution data contract
Estimate and sequence the build
Empty
Empty
Empty
Empty
Empty
Clear Specification before work routes onward.
Confirm the automated close matches a manual one to the penny.
Authorise running the automated close as the source of record.
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.
No conversation yet. Messages appear here when a stage raises something in a department channel.
Not linked to a department project. Projects appear here when a stage’s work is tracked on a department board as well.
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 one full close runs automated and reconciles against a manual run.
Every stage reaches complete or skipped.
3 open tasks in Discovery.
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.
CEO Opened from the Software Development template — 5 stages, 3 approval gates. Not yet released.