Adding a single verdict to the steward is not a single change. needs_pin_advance alone appears across scripts/repository_status.py, scripts/steward-status.py, scripts/submodule_status.py, both unit test modules, and then again in SKILL.md, where the verdict has to be named in the precedence list, in <tick_sequence>, and in whichever ownership tag actually describes the work. That is Fowler's shotgun surgery, and what Martin calls rigidity: one requirement, edits rippling through every dependent site, with nothing structural preventing a sixth site from being missed.
The instruction half compounds it. SKILL.md restates the same verdict semantics in several sibling tags, so a rule change means editing every copy, which is needless repetition and buys fragility rather than clarity. The v0.2.23 work that split needs_submodule_rebase out of submodule_divergence is the concrete evidence: it was one conceptual requirement, autonomously reconcile a non-fast-forward submodule, and it touched every one of those files.
The collapse is an ordered name-to-predicate table, one row per verdict holding its name, its predicate, and its precedence, consumed by steward-status rather than reimplemented per module. A new verdict becomes one row plus one prose sentence, and precedence stops being an implicit property of branch ordering spread across three files. The SKILL.md side follows once the table is the single source: the precedence list can be generated from it instead of hand-maintained, leaving the prose to describe the work rather than re-enumerate the names.
Adding a single verdict to the steward is not a single change.
needs_pin_advancealone appears acrossscripts/repository_status.py,scripts/steward-status.py,scripts/submodule_status.py, both unit test modules, and then again inSKILL.md, where the verdict has to be named in the precedence list, in<tick_sequence>, and in whichever ownership tag actually describes the work. That is Fowler's shotgun surgery, and what Martin calls rigidity: one requirement, edits rippling through every dependent site, with nothing structural preventing a sixth site from being missed.The instruction half compounds it.
SKILL.mdrestates the same verdict semantics in several sibling tags, so a rule change means editing every copy, which is needless repetition and buys fragility rather than clarity. The v0.2.23 work that splitneeds_submodule_rebaseout ofsubmodule_divergenceis the concrete evidence: it was one conceptual requirement, autonomously reconcile a non-fast-forward submodule, and it touched every one of those files.The collapse is an ordered name-to-predicate table, one row per verdict holding its name, its predicate, and its precedence, consumed by
steward-statusrather than reimplemented per module. A new verdict becomes one row plus one prose sentence, and precedence stops being an implicit property of branch ordering spread across three files. TheSKILL.mdside follows once the table is the single source: the precedence list can be generated from it instead of hand-maintained, leaving the prose to describe the work rather than re-enumerate the names.