You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The workflow definitions are the product. Seventeen workflows, 122 activity definitions, 575 sets of instructions and 229 reference documents describe what the system actually does — which questions get asked, which checks get run, what gets written down, and what a person is stopped for.
They carry twenty-three known faults. Some make something behave incorrectly every time it is reached: a shell command that cannot work as written, bindings that resolve to nothing, an activity that can be entered twice and has no way out the second time. Some make a decision not stick: a gate meant to reach a person that resolves itself, an approval that records an effect moving no state, a close-out ledger left open. Some are work that is simply missing, and gets done by hand instead — five checks a reviewer performs from memory on every run, a capability copied into a second workflow because nothing named it, a citation that ships a whole file where one section is read.
Each was found, written down with its location, and then owned by nobody. That is what they have in common, and it is why they persist: individually every one of them loses to anything larger whenever it is triaged alone, and there has been nothing to triage them against.
This initiative is that thing. It covers one phase per kind of debt, ordered so that what is actively wrong is fixed before what is merely missing.
The debt, in three shapes
Faults that fire on every run. An environment assignment placed after the command it configures, which is not valid shell. A test-thread budget stated one way in a group's rule and another in the operations it covers. A checkpoint message interpolating a variable nothing sets, so it renders with a hole in it. A close-out artifact whose three names disagree. A declared type that is not the list every reader treats it as. A trace-token relay named in seven files and wired end to end in none. A guard with a script and a test and no registry entry, so the suite has never run it. Each returns something ordinary-looking rather than failing, which is why they survive review.
Decisions that do not take effect. Nine surfaces state a rule about presenting a gate to a person; five agree with the engine's own rule and four license skipping it, and three of those four are delivered to agents that do not resolve gates at all. Downstream, approvals record effects that move nothing: a design run can close with a clean audit, three judgements still open and twelve approved removals still unapplied. Four variables have no reader. One terminal gate offers two options that carry no effect whatsoever.
Work the definitions leave to people. Twenty-four work packages closed with a retrospective over five weeks, and reading them together shows the review path producing the same hand-caught items run after run — comparing failing CI against the base branch, noticing a relocated manifest stranded the dependency bot, catching a readme that contradicts the configuration it documents. Alongside that, capability that should be shared and is not: a fan-out structure described in prose everywhere it is wanted because nothing names it, a convergence loop and a comprehension artifact held as private property of one workflow. And delivery grain — a ranked tail of citations shipping whole files where one section is consulted, and 69 framings above first headings that vanish when a section is delivered alone.
The five phases
Each phase is one epic.
P0 — Live faults: what is wrong now. Six items. The five enumerated content defects. The binding sweep over values that resolve to nothing, a declared type every reader disagrees with, and a value with no producer. The re-entrant activity whose onward flag is set at classification and cleared by nothing. The guard that never runs, paired with a check that the next one cannot go missing. The operation declaring internal bookkeeping as a result, so every caller receives a value it has no use for. And an install that would accept a version known to be poisoned.
P1 — Decisions that take effect: from a gate to an applied outcome. Three items. The presentation contract stated once rather than in nine places that disagree. Open judgements given a gate sited where the evidence to resolve them exists, and a remediation path that must inventory a removal or refuse the fix. The ledger closed out: twelve inventoried removals applied under a recorded disposition, four actionable follow-ups done, and both structural-limit findings given an explicit outcome.
P2 — Review by definition: what reviewers catch by hand. Six items. A review says what it did and on what basis. Five hand-checks become steps. Each inventory is built once rather than rebuilt by a later activity. The build path holds its own line on comment proportionality and statically evident test invalidation. Four places where the definition and its own rules disagree. And a register that something writes, whose rows reach an issue.
P3 — Shared capability and delivery grain. Five items. The fan-out contract named and bound rather than re-described. The demand for concurrent execution inventoried and classified. Comprehension moved onto the wiki operations instead of writing a monolithic per-area file. The citation tail dispositioned pair by pair. And all 69 framings classified, with the canon gaining the clause it lacks — content a section-scoped reader depends on lives in a section.
P4 — Reach: the graph across workflows and repositories. Three items. Six of the seventeen workflows bind zero operations against the code knowledge graph, and none is a stub — each carries four to seven activities. Beside that coverage gap, the operations that would let the graph answer across sibling repositories and over markdown surfaces do not exist yet.
Why now is cheap
The evidence is gathered and none of it needs re-taking. The content defects are enumerated with their locations, having been findable-but-unowned through two review generations. The binding list and the decision-path failures came out of walking a real design run. The review items come from reading twenty-four retrospectives together, which is a pass nobody has to repeat. The citation tail is ranked and the framings are counted. The graph coverage is a count against a named corpus head.
Most of it is small. A registry entry is minutes. A declared switch is one field and its readers. Two of the binding entries are name alignments. Nothing here is research.
The damage is ongoing rather than latent. Every run executed before P0 and P1 land pays those faults again — a design run closing with judgements open and removals unapplied does so again next time, and a reviewer checking five things from memory checks them again next review. Where the debt has been measured twice it has grown: the condition-dialect count quadrupled between its first measurement and its second.
Almost everything here is independent of everything else, within and across phases, so the work parallelises hard and the total below is an upper shape rather than a schedule.
Scope
Twenty-three work items across five epics: the workflow definitions, the guard suite, and the dependency surface. It settles grouping and order, and opens no new engineering surface.
Twenty-two of them are owned here. P3's comprehension item left for #587 once it became clear the remaining half reaches five operations across two stages and needs a written decision before it can be estimated — an unsized redesign inside a delivery-grain epic reads as neither.
Acceptance criteria
The five enumerated content defects are fixed, and the binding-fidelity guard confirms the one it can see is gone.
No binding in the corpus resolves to nothing, no declared type disagrees with every reader of it, and no value is read without a producer.
A second pass through the re-entrant activity reaches a stage it has not already finished.
A guard with a script and a test is in the registry, and something prevents the next one from being absent.
An install resolves the seed family to known-good releases and fails the build on a version matching the denylist.
The presentation contract is stated in exactly one home, and a guard that reads rule text fails a claim stated elsewhere.
An approval that records an effect applies it, and no design run closes with inventoried removals unapplied.
Each of the five checks reviewers perform from memory is a step in a definition.
Every register a resource calls canonical has an activity that writes it, and a deferred row reaches an issue.
A capability more than one workflow needs lives once and is bound rather than copied.
Every citation in the ranked tail carries a disposition, and all 69 framings carry a verdict.
No workflow whose job is structural reasoning binds zero graph operations.
Every one of the twenty-three items carries a phase or a named successor, and none is left unowned when this closes.
Non-goals
Re-litigating the corpus's shape. These are defects and gaps within the shape as it stands. Whether that shape is the right one is settled elsewhere, and no item here depends on the answer.
Implementing the concurrency migrations. P3 inventories and classifies the candidate sites; the migrations themselves are follow-on work with their own scope.
Structural reach for the headless posture. P1 takes the deletion branch of the choice its source item offered, and records why.
A guard for every class fixed here. Where one is cheap and the class recurs, it is named in the item. Where a guard over a corpus that currently fails it would be a canon question before a mechanical one, it is deliberately not built.
New capability for its own sake. P4 is the only extension phase and it is last, behind three phases of repairing what already exists.
Coordination
Three items touch surfaces that work on the engine also touches. In each case neither blocks the other, and the rule is the one this repository already uses: whichever lands second inherits the other's resolution.
P0's suite-runner defect and P3's fan-out contract retarget the same call site. The contradiction between the instruction and its group's rule is fixed: the rule now reads that several foreground shells running concurrently in one caller stay within it. What the call site still raises is whether shell concurrency — four shells in one caller's turn, which the shared primitive does not cover because it dispatches agents — should be named at all.
P1's presentation contract adds a guard over rule text. Once [Initiative] I0: Two Paths: Changing the Engine While the Server Runs #527 P4 lands, the surface that guard reads goes quiet — which is a reason to expect the guard to stop finding things, not a reason to delay the contract, since the contradiction is live for as long as the current execution path runs.
Tracking
Each phase is one epic, delivered as a set of pull requests, one per work item.
Two items were already delivered when these epics were written, and three more partly. The epics were assembled from the bodies of the issues they absorbed, and those bodies describe the state of the world when each was last edited. The reconciliation records each with the pull request that delivered it.
Closed. Its three surviving findings went to #561, now closed too: two delivered, and the correction counter re-homed to #532 because no definition-layer construct reaches it
P0 W2 has no figure, and that is a finding rather than an omission. The binding guard reports no
live defects and nothing untriaged, which reads as delivered — and reports in the same breath that its
verdicts were made 281 corpus commits ago. Nothing distinguishes a completed sweep from a guard that
can no longer see. Re-stamping the verdicts is W2's first action, and its size is whatever that
reports.
P1 has one open item left. W1 is delivered and W2 is one unmerged commit, so the epic is nearly
finished and should be reconsidered rather than run — see its own tracking note.
The two units. A work item is estimated in agent hours: one uninterrupted run at agent pace — reading the surface, changing it, adding tests and guards, iterating to a green suite. An epic is estimated in effort-days: that work aggregated at six productive hours a day, and nothing else. Review latency and the human decisions a gated item waits on are elapsed time and are excluded from both.
No phase gates another. The order is fix, then complete, then extend — a priority rather than a dependency chain. Any phase can start today, and most items inside each are independent of their siblings.
Where the work came from. Seven issues were absorbed and closed — #536, #511, #491, #437, #400, #399 and #398 — each with a comment naming where its work went, and each body captured verbatim in the planning folder. Two epics already matched a phase and were retitled rather than replaced: #438 became P2 and gained one item, #310 became P4 unchanged. Three epics were created for the work that regrouped.
The originating records stay reachable from the epic that inherited each item: the decision-path walk behind P1, the retrospective reading behind P2, the fan-out and citation surveys behind P3, and the graph coverage count behind P4.
Summary
The workflow definitions are the product. Seventeen workflows, 122 activity definitions, 575 sets of instructions and 229 reference documents describe what the system actually does — which questions get asked, which checks get run, what gets written down, and what a person is stopped for.
They carry twenty-three known faults. Some make something behave incorrectly every time it is reached: a shell command that cannot work as written, bindings that resolve to nothing, an activity that can be entered twice and has no way out the second time. Some make a decision not stick: a gate meant to reach a person that resolves itself, an approval that records an effect moving no state, a close-out ledger left open. Some are work that is simply missing, and gets done by hand instead — five checks a reviewer performs from memory on every run, a capability copied into a second workflow because nothing named it, a citation that ships a whole file where one section is read.
Each was found, written down with its location, and then owned by nobody. That is what they have in common, and it is why they persist: individually every one of them loses to anything larger whenever it is triaged alone, and there has been nothing to triage them against.
This initiative is that thing. It covers one phase per kind of debt, ordered so that what is actively wrong is fixed before what is merely missing.
The debt, in three shapes
Faults that fire on every run. An environment assignment placed after the command it configures, which is not valid shell. A test-thread budget stated one way in a group's rule and another in the operations it covers. A checkpoint message interpolating a variable nothing sets, so it renders with a hole in it. A close-out artifact whose three names disagree. A declared type that is not the list every reader treats it as. A trace-token relay named in seven files and wired end to end in none. A guard with a script and a test and no registry entry, so the suite has never run it. Each returns something ordinary-looking rather than failing, which is why they survive review.
Decisions that do not take effect. Nine surfaces state a rule about presenting a gate to a person; five agree with the engine's own rule and four license skipping it, and three of those four are delivered to agents that do not resolve gates at all. Downstream, approvals record effects that move nothing: a design run can close with a clean audit, three judgements still open and twelve approved removals still unapplied. Four variables have no reader. One terminal gate offers two options that carry no effect whatsoever.
Work the definitions leave to people. Twenty-four work packages closed with a retrospective over five weeks, and reading them together shows the review path producing the same hand-caught items run after run — comparing failing CI against the base branch, noticing a relocated manifest stranded the dependency bot, catching a readme that contradicts the configuration it documents. Alongside that, capability that should be shared and is not: a fan-out structure described in prose everywhere it is wanted because nothing names it, a convergence loop and a comprehension artifact held as private property of one workflow. And delivery grain — a ranked tail of citations shipping whole files where one section is consulted, and 69 framings above first headings that vanish when a section is delivered alone.
The five phases
Each phase is one epic.
P0 — Live faults: what is wrong now. Six items. The five enumerated content defects. The binding sweep over values that resolve to nothing, a declared type every reader disagrees with, and a value with no producer. The re-entrant activity whose onward flag is set at classification and cleared by nothing. The guard that never runs, paired with a check that the next one cannot go missing. The operation declaring internal bookkeeping as a result, so every caller receives a value it has no use for. And an install that would accept a version known to be poisoned.
P1 — Decisions that take effect: from a gate to an applied outcome. Three items. The presentation contract stated once rather than in nine places that disagree. Open judgements given a gate sited where the evidence to resolve them exists, and a remediation path that must inventory a removal or refuse the fix. The ledger closed out: twelve inventoried removals applied under a recorded disposition, four actionable follow-ups done, and both structural-limit findings given an explicit outcome.
P2 — Review by definition: what reviewers catch by hand. Six items. A review says what it did and on what basis. Five hand-checks become steps. Each inventory is built once rather than rebuilt by a later activity. The build path holds its own line on comment proportionality and statically evident test invalidation. Four places where the definition and its own rules disagree. And a register that something writes, whose rows reach an issue.
P3 — Shared capability and delivery grain. Five items. The fan-out contract named and bound rather than re-described. The demand for concurrent execution inventoried and classified. Comprehension moved onto the wiki operations instead of writing a monolithic per-area file. The citation tail dispositioned pair by pair. And all 69 framings classified, with the canon gaining the clause it lacks — content a section-scoped reader depends on lives in a section.
P4 — Reach: the graph across workflows and repositories. Three items. Six of the seventeen workflows bind zero operations against the code knowledge graph, and none is a stub — each carries four to seven activities. Beside that coverage gap, the operations that would let the graph answer across sibling repositories and over markdown surfaces do not exist yet.
Why now is cheap
The evidence is gathered and none of it needs re-taking. The content defects are enumerated with their locations, having been findable-but-unowned through two review generations. The binding list and the decision-path failures came out of walking a real design run. The review items come from reading twenty-four retrospectives together, which is a pass nobody has to repeat. The citation tail is ranked and the framings are counted. The graph coverage is a count against a named corpus head.
Most of it is small. A registry entry is minutes. A declared switch is one field and its readers. Two of the binding entries are name alignments. Nothing here is research.
The damage is ongoing rather than latent. Every run executed before P0 and P1 land pays those faults again — a design run closing with judgements open and removals unapplied does so again next time, and a reviewer checking five things from memory checks them again next review. Where the debt has been measured twice it has grown: the condition-dialect count quadrupled between its first measurement and its second.
Almost everything here is independent of everything else, within and across phases, so the work parallelises hard and the total below is an upper shape rather than a schedule.
Scope
Twenty-three work items across five epics: the workflow definitions, the guard suite, and the dependency surface. It settles grouping and order, and opens no new engineering surface.
Twenty-two of them are owned here. P3's comprehension item left for #587 once it became clear the remaining half reaches five operations across two stages and needs a written decision before it can be estimated — an unsized redesign inside a delivery-grain epic reads as neither.
Acceptance criteria
Non-goals
Coordination
Three items touch surfaces that work on the engine also touches. In each case neither blocks the other, and the rule is the one this repository already uses: whichever lands second inherits the other's resolution.
Tracking
Each phase is one epic, delivered as a set of pull requests, one per work item.
Two items were already delivered when these epics were written, and three more partly. The epics were assembled from the bodies of the issues they absorbed, and those bodies describe the state of the world when each was last edited. The reconciliation records each with the pull request that delivered it.
P0 W2 has no figure, and that is a finding rather than an omission. The binding guard reports no
live defects and nothing untriaged, which reads as delivered — and reports in the same breath that its
verdicts were made 281 corpus commits ago. Nothing distinguishes a completed sweep from a guard that
can no longer see. Re-stamping the verdicts is W2's first action, and its size is whatever that
reports.
P1 has one open item left. W1 is delivered and W2 is one unmerged commit, so the epic is nearly
finished and should be reconsidered rather than run — see its own tracking note.
The two units. A work item is estimated in agent hours: one uninterrupted run at agent pace — reading the surface, changing it, adding tests and guards, iterating to a green suite. An epic is estimated in effort-days: that work aggregated at six productive hours a day, and nothing else. Review latency and the human decisions a gated item waits on are elapsed time and are excluded from both.
No phase gates another. The order is fix, then complete, then extend — a priority rather than a dependency chain. Any phase can start today, and most items inside each are independent of their siblings.
Where the work came from. Seven issues were absorbed and closed — #536, #511, #491, #437, #400, #399 and #398 — each with a comment naming where its work went, and each body captured verbatim in the planning folder. Two epics already matched a phase and were retitled rather than replaced: #438 became P2 and gained one item, #310 became P4 unchanged. Three epics were created for the work that regrouped.
Investigation detail
The item-by-item disposition behind this grouping, and the verbatim captures of every absorbed issue:
2026-08-31-typed-execution-redesign
The originating records stay reachable from the epic that inherited each item: the decision-path walk behind P1, the retrospective reading behind P2, the fan-out and citation surveys behind P3, and the graph coverage count behind P4.