Journal raw-import probes mix receipt replay with startup adoption #1515

Open
opened 2026-10-09 07:36:42 +00:00 by kayg · 0 comments
Owner

Merge round #1500 ran every journal_recovery_boundaries scenario on the release server.

The raw imported-Note retention case fails its exact-byte/Versions comparison after startup adds managed metadata to a Note that had none. The initialized retention case passes at days29/31/33 with the same receipt aging and retry assertions. The module explicitly distinguishes startup adoption (DESIGN §17) from receipt replay. The full hostile-input date probe also passes absent-date adoption and two restarts.

The raw missing-source case targets a Home-root Daily note, then expects the Journal fallback to return409. It instead creates the independent canonical Notes Daily note with201. The canonical missing-source case passes: exact protected-item409, proof survives two restarts, sibling writes work and restoration unlocks the item. Cross-User receipt isolation passes.

Keep both raw cases and their original expectations. Review the imported-Note adoption and fallback contract separately; no duplicate Log apply, changed later body, lost Version or cross-User receipt was found in the initialized/canonical and crash probes. These raw cases cannot run unchanged on production9dc because the receipt schema did not exist there; their production adoption/fallback classification remains a test-contract gap.

Merge round #1500 ran every journal_recovery_boundaries scenario on the release server. The raw imported-Note retention case fails its exact-byte/Versions comparison after startup adds managed metadata to a Note that had none. The initialized retention case passes at days29/31/33 with the same receipt aging and retry assertions. The module explicitly distinguishes startup adoption (DESIGN §17) from receipt replay. The full hostile-input date probe also passes absent-date adoption and two restarts. The raw missing-source case targets a Home-root Daily note, then expects the Journal fallback to return409. It instead creates the independent canonical Notes Daily note with201. The canonical missing-source case passes: exact protected-item409, proof survives two restarts, sibling writes work and restoration unlocks the item. Cross-User receipt isolation passes. Keep both raw cases and their original expectations. Review the imported-Note adoption and fallback contract separately; no duplicate Log apply, changed later body, lost Version or cross-User receipt was found in the initialized/canonical and crash probes. These raw cases cannot run unchanged on production9dc because the receipt schema did not exist there; their production adoption/fallback classification remains a test-contract gap.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1515
No description provided.