Scheduled subtraction: make the minimalism pass a cycle, not a reaction #194
Labels
No labels
already-shipped
bug
documentation
duplicate
enhancement
external-review
good first issue
help wanted
in progress
invalid
needs-decision
proposal
question
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence-archived#194
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The problem
The best releases in this project were subtractions, and every one of them was
reactive.
The record is unambiguous:
v2.2.0deleted the git-guard parser andgit.on_destructive, both rails ontoone ~30-line anchored reader, with the accepted-cost shapes stated (TOK-02).
v3.2.0turned off or deleted three triggers that blocked nothing, and scopedrisk_surfaceto the surfaces a project actually has (CST-01, CST-02).v3.2.0also deleted the audit's low-severity tail rather than carrying it(HYG-01).
v3.5.1deleted the login-matching surface after it FAILed its blocking gatetwice (TRK-01).
Every one of those started as a failure, a cost complaint or a review FAIL.
None started as a scheduled question.
Meanwhile the surface keeps growing: 29 skills, 19 rung agents, references that
cite references, and a self-verify pass that exists because no human can hold the
whole thing in their head anymore. Self-verify is a good control and it is also
the symptom.
The proposal
Make subtraction a cycle rather than a reaction. Once per milestone, before any
new work is scoped, one pass that asks of every surface:
trace.jsonlcan answer for anything routed.weight.mjs residentalready answers./cad-minimalism-reviewalready exists and produces a ranked delete-list. Thechange is not a new command, it is making the pass MANDATORY at a fixed point in
the milestone rhythm, with its output going to the tracker whether or not
anything is cut.
Why it is a philosophy change
Right now growth is the default and subtraction needs a justification. This
inverts it: each milestone, every surface has to re-earn its place, and the
burden of proof sits with keeping rather than cutting.
The obvious objection
A mandatory pass is itself ceremony, which is the thing it exists to fight. The
answer is that it should be cheap and evidence-driven, reading figures the trace
already carries rather than re-reading the tree. If it turns into a review, it
has become the disease.
Closing as adopted-as-practice, not as a feature. The pass was run manually on 2026-08-17 over the five open
needs-decisionissues - what fires this, what did it catch, is it prose - and it retired three of them (#191, #194, #197) and shrank a fourth (#189). That is the proposal working. Building it as a scheduled ceremony would add a step to a system whose own stated complaint is that it has too many steps, and the pass costs nothing as a habit at milestone open. The diagnosis stands and is worth re-reading before each milestone is scoped; it does not need code.