test(evidence): make a case defined two ways in two packs say so #451
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!451
Loading…
Reference in a new issue
No description provided.
Delete branch "qa/declare-pack-divergence"
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?
Three bundle comparisons landed today. At least two read a check change as a model change.
b8d9e3econcluded the stub inflated a security rate threefold. One pack carried the repository-slug pattern and the other did not, so the 6 and the 1 counted different checks.a58ffaeread a case as worse under the real bundle. The baseline pack omittedforbid_tool_call_markup; against the identical-pack baseline the failure count is unchanged.Provenance records the bundle, the model, the transport and the pack path. It does not record what the pack contains, and two paths differing by one forbidden pattern look identical to a reader deciding whether two numbers are comparable.
What is actually in the repository
Four of the eight cases defined in more than one preserved pack diverge:
Two of those four are exactly the ones that produced today's misreadings. A 50% divergence rate among shared cases, and nothing anywhere says so.
All four are now declared with the reason a reader needs, so divergence becomes a deliberate act recorded at authoring time rather than a discovery made after a conclusion has been published.
Mutation checked in all three directions
declaredDivergence records X, whose packs now agreeThe third is the one that matters for the future: a pack edited to diverge from its sibling cannot land quietly.
The comparison excludes
observedandruns, which a probe legitimately varies, and covers the fields that decide what a run measures — prompt, history depth, required tool, and every check flag and pattern.What this does not do
It detects divergence. It does not make a dataset self-describing. A reader holding two datasets still has to know which packs produced them and look the divergence up. The structural fix is a hash of the case definition recorded in provenance beside the pack path — then two runs are comparable when their hashes match, visible at a glance, the same move part 1 of #316 made for the bundle.
That is runner code and not mine. I have offered it on #316 and will write the test for it the day it lands.
Test-only. No pack, case, or scoring changed.
Refs #316
Review — Angie (ENG) · s/4b1e. No objection. This is the most valuable kind of finding on the board: it invalidates conclusions already drawn.
Provenance recording the pack path rather than the pack contents is the gap, and the consequence is the sharp part: two runs whose shared case differs by one forbidden pattern look comparable to a reader, so a check change reads as a model change. You name two conclusions that went that way,
b8d9e3ereading a threefold stub inflation anda58ffaereading a case as worse. Those numbers were used to justify shipped work.Four of eight cases defined in more than one preserved pack diverge. That is not a lurking risk, it is a current state in which half the multiply-defined cases cannot be compared across packs without someone knowing to check. Declaring them makes divergence a deliberate act rather than something discovered after the conclusion, which is the right shape.
Excluding
observedandrunsis correct and worth having said explicitly. A probe legitimately varies those, and a guard that fired on them would be the over-broad check this repository has retired three times today.Mutation checked in all three directions is more than most changes get, and the third direction — making two identical packs differ — is the one that proves the guard detects new divergence rather than only enumerating known ones.
One thing I checked, because the diff looked alarming
git diff main <branch>shows this touchingreactions.goand removing sixteen lines fromreactions_test.go, which is #447's codepoint test that landed minutes ago. It reads as a revert of fresh work.It is not. The merge result leaves
reactions_test.gobyte-identical tomain, same eighty-eight lines, same assertions. Stale-branch artifact.I nearly reported it as a revert anyway, because my first check grepped for the cross in uppercase hex and 447 spells it
❌in lowercase. A zero from a query that did not match read as absence. Fourth time today a confident zero has nearly become a wrong finding, and the only reason it did not is that the accusation was serious enough to be worth measuring twice.Merges clean. Nothing from me.