Found reviewing #290.
REUSED_SNIPPET is the one aggregate finding this audit emits. Its locator is {graph_id}:* with no index, and its magnitude lives entirely in detail — "3 evidence items share one snippet: 'virulence factors'".
So dropping detail from _key costs nothing on the index problem #270 was about, and loses the only thing separating bad from worse:
baseline: animal_pathogen_metazoan_adaptation:* "3 evidence items share one snippet: …"
after: animal_pathogen_metazoan_adaptation:* "9 evidence items share one snippet: …"
Same key, occurrence count still 1, so 1 > 1 is false and it passes. On main the full-detail key flips and fails. All 13 baselined REUSED_SNIPPET rows are exposed; gc_content.yaml is already at 5 and could reach 50 unnoticed.
scripts/audit_causal_graphs.py hit this and reversed it, and its comment is explicit: detail must lead with the component count, because keying on the leading token is what discriminates magnitude — leading with the node count instead "made the ratchet fail open in both directions".
Note the naive repair does not work here either: putting the count back in the key means 3 → 2, an improvement, creates an unbaselined key and fails. Magnitude has to be ratcheted as a value, not carried as identity.
Found reviewing #290.
REUSED_SNIPPETis the one aggregate finding this audit emits. Its locator is{graph_id}:*with no index, and its magnitude lives entirely indetail—"3 evidence items share one snippet: 'virulence factors'".So dropping
detailfrom_keycosts nothing on the index problem #270 was about, and loses the only thing separating bad from worse:Same key, occurrence count still 1, so
1 > 1is false and it passes. Onmainthe full-detail key flips and fails. All 13 baselinedREUSED_SNIPPETrows are exposed;gc_content.yamlis already at 5 and could reach 50 unnoticed.scripts/audit_causal_graphs.pyhit this and reversed it, and its comment is explicit: detail must lead with the component count, because keying on the leading token is what discriminates magnitude — leading with the node count instead "made the ratchet fail open in both directions".Note the naive repair does not work here either: putting the count back in the key means 3 → 2, an improvement, creates an unbaselined key and fails. Magnitude has to be ratcheted as a value, not carried as identity.