verify: persist the verifier's findings block so its behaviour is measurable #77
Labels
No labels
already-shipped
bug
documentation
duplicate
enhancement
good first issue
help wanted
in progress
invalid
needs-decision
proposal
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence#77
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?
Split out of #70. This is a measurement-infrastructure gap, not a feature.
What happened
agents/cad-verifier.mdrequires the verifier to return its findings in its final message and to write them to no file. A history-wide search confirms no such artifact has ever existed.The consequence surfaced while running #70's kill-measurement: the comparison #70 asked for could not be performed directly for any phase. The measurement wanted verifier-derived truth names against UAT item names. The verifier's original wording is gone the moment its dispatch ends. What survives in
UAT.mdis residue:source: verifier, the assignedk, and theexpected == reportedsignature that marks an appended gap. That residue recovers whether a match succeeded, but not what the verifier actually called the thing when it did.So the question "does wording drift break merges" was answerable only by inference, and the same will be true of every future question about verifier behaviour.
What you want Cadence to do
Persist the verifier's findings block.
verify-deep.mdalready instructs the model to report anauto_passed/gaps/added/skipped/rejectedenvelope, so the payload exists and is already structured. Write it to disk next to the phase's other artifacts instead of discarding it after the merge.Why it is worth doing
It makes an entire class of question answerable. Not just #70's. Verifier UNCERTAIN rate by effort rung is a measurement #63 names and cannot currently run. Any future claim about how the verifier behaves is currently unfalsifiable for the same reason.
It is nearly free. The data is already produced and already structured. This is a write, not a new computation.
It is the precondition for reopening #70 honestly. #70 was rejected on a zero count that had to be inferred from residue, with the caveat that thin-CONTEXT projects are the untested regime. Without persistence, re-testing that next cycle means inferring again.
What it costs
Artifact growth in
.planning/. Every deep verify pass adds a file./cad-milestoneprunes completed phases, so these would be pruned with them and live in git like everything else, but the size question should be sized rather than assumed.A schema to keep stable. A persisted artifact is one more thing that can drift from what writes it. If it is written, self-verify should assert its shape.
The counter-argument. Cadence deliberately does not persist everything, and "we might want to measure it later" justifies almost any file. What makes this one different is that a measurement was actually attempted, actually blocked, and the blocked question was gating a milestone decision.
Related