|
| 1 | +--- |
| 2 | +'@objectstack/platform-objects': patch |
| 3 | +--- |
| 4 | + |
| 5 | +`attestFreshDatastore` looks its `os migrate` remedy up instead of defaulting it |
| 6 | + |
| 7 | +When a fresh datastore's own boot has already admitted a value that contradicts a |
| 8 | +migration's contract, that id is not attested and the operator is told what closes |
| 9 | +the gate on real evidence. The sentence used to be built from a two-way branch: the |
| 10 | +file-references id got `files-to-references`, and **every other id** got |
| 11 | +`value-shapes` by default. |
| 12 | + |
| 13 | +`CREATION_ATTESTED_MIGRATION_IDS` has three members. For the third — |
| 14 | +`adr-0030-notification-event` — that default is a wrong prescription: `os migrate |
| 15 | +value-shapes --apply` neither attests nor clears it, and there is no `os migrate |
| 16 | +notification-event` sub-command to send an operator to at all (that cut-over is an |
| 17 | +operator call with no self-check). |
| 18 | + |
| 19 | +The branch is now an explicit id-to-remedy register, total over the ids a |
| 20 | +value-shape tally can contradict. The loop asks it rather than falling into an arm, |
| 21 | +so an id with no value-shape contract is never-contradictable by that evidence and |
| 22 | +is attested on the birth observation as before. A new member therefore inherits no |
| 23 | +remedy: adding a third arm that happened to be right today would only have moved the |
| 24 | +same defect onto the fourth member. |
| 25 | + |
| 26 | +No behaviour changes for the two ADR-0104 ids, which is where every reachable path |
| 27 | +runs today: the shipped engine keys its admitted-violation tally from a closed |
| 28 | +`'media' | 'value-shape'` union, so it cannot name a third id. |
0 commit comments