mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-29 18:33:01 +00:00
The pre-extraction decoder built dedup keys with template interpolation, so a record missing sessionId or uuid produced the literal `qwen:undefined:<uuid>`. Phase 8.1 changed the spelling to `qwen::<uuid>` by coalescing both fields to an empty string. The intent was right — a missing identifier should contribute nothing rather than a fake value — but the change shipped with nothing behind it: no test, fixture or golden pinned either spelling, and the CLI parity golden only exercises fully-formed records, where the two are byte-identical. Nobody could tell the change from a defect. This makes the corrected shape a tested contract. The test pins the orphan spellings, asserts the collapsed key still dedups identical records, and fails against the pre-migration spelling. The decode-site comment records why, so nobody "restores" the old one. Two caveats worth knowing rather than discovering. Records with an explicit null coalesce the same way as missing ones, so two previously-distinct keys now collapse into one. And keys persisted by pre-8.1 builds for orphaned records will not match the new spelling, so such a record can be counted once more across the upgrade — the qwen corpus is not in the frozen golden set, so no shipped fixture moves. |
||
|---|---|---|
| .. | ||
| cli | ||
| core | ||