Reviewed revision: the commit that adds this record on fix-partial-update-retention, based on main f6aba314e.
The partial-update campaign of packages/db/tests/collection-state-retention-oracle.property.test.ts (collection-state.optimistic-history-partial) failed on main for the random seed -526998278. It failed the same way on fe284ccbd. Shrunk history:
The Collection published c: -1. The model allowed only c: 0.
The driver failed. Production and the model were correct.
| Check | Original driver | Fixed driver |
|---|---|---|
| Pinned case | Fails: c: -1 published, c: 0 allowed | Passes |
| Seed -526998278 replay | Fails | Passes |
| Fixed and random partial campaigns | Pass (the fixed seed never reached this history) | Pass |
A mutant that keeps rowsBefore but does not restore it fails the pinned case and one of the two partial campaigns with the new driver error.
No production code changed, so this change has no changeset.
| Requirement | Outcome |
|---|---|
| ORC-001 | Applicable. The law and its authority are above. |
| ORC-002 | Applicable. The model is unchanged and does not read production. |
| ORC-003 | Applicable. The pinned case has a comment that states the law and the history. |
| ORC-004 | Applicable. The open/abort and partial dimensions already existed. The fixed seed did not combine an aborted delete with a later partial update, so the pinned case supplies that history. |
| ORC-005 | Applicable. The driver now sends the write that the history describes. The new invariant rejects an inconsistent driver state. |
| ORC-006 | Applicable. The original driver and the no-restore mutant both fail at the intended checkpoint. |
| ORC-007 | Applicable. The fixed and random campaigns are unchanged. The direct replay of the reported seed and path passes. |
| ORC-008 | Applicable. The driver's source state now has one consistent restore point for keys and rows. |
| ORC-009 | Not applicable. No model term changed. |
| ORC-010 | Not applicable. No cleanup or shrinking change. |
| ORC-011 | Not applicable. No shared-fault hypothesis. |
| ORC-012 | Applicable. This record. |
| ORC-013 | Not applicable. No threshold law. |
| ORC-014 | Not applicable. No controlled provider. |