Nothing acts on the read-set redundancy the read trace measures #167
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 project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence-archived#167
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?
Source: narrowed from strict re-review C-01 (#154, closed as by-design)
Verdict: the actionable residual of that finding
What #154 got wrong, and what it got right
C-01 charged the fresh-worker /
/cleararchitecture with systematic reread amplification and prescribed "a context-reuse layer that avoids rereading unchanged canonical artifacts for every fresh worker boundary."That prescription is not buildable at the plugin layer: the fresh context is Claude Code's dispatch model, and Cadence has no seam that warms a subagent's prefix. #154 is closed on that basis.
What survives is narrower and is entirely Cadence's: the host forces each worker's context to be fresh. It does not force it to be large.
The measurement already in-tree
cadence-core/bin/lib/read-trace.mjs:15- declared reads plus contracts account for ~12% of an 8.2M-token run; the other ~88% is worker activity that was previously unrecorded.cadence-core/bin/lib/read-trace.mjs:316- the old declared read-sets repeated at 7.0x, which is whyredundancy(calls over distinct targets) was added at:308-316and:364-365.7.0x is a measurement of the read-sets, not of the architecture. Shrinking it needs no host capability.
Already covered - do not redo
The eager, turn-one half is well defended and this issue is not about it:
cadence-core/bin/weight-budgets.json+self-verify.mjs:778-792- every measured prose surface has a budget entry and must equal it.cadence-core/bin/lib/include-consumers.mjs- check 16, an@-include whose consumer prose was never written.self-verify.mjscheck 13 - a reference a skill stopped including that is still Read.self-verify.mjs:70already names de-preloading as the cheapest context cut.What is not covered
Nothing bounds or audits what a dispatched worker actually reads once running, which is where the 88% lives. Specifically:
weight-budgets.jsonbounds prose surfaces.redundancyis computed and reported but nothing consumes it - no threshold, no/cad-suggestrule, no CI signal.Suggested first step
Record
redundancyper role across a few real phases before changing anything, and find which role contributes the repeats. The number exists; it has never been used to cut a specific read.Scope check before planning: this is a measurement-first item. If the recorded per-role redundancy turns out to be near 1.0 on current contracts, the 7.0x figure is historical and this closes with a note rather than a change.