Commit ce353b0
committed
feat(spec): register the ADR-0030 notification cut-over in sys_migration's well-known ids
`sys_migration` records, per deployment, that a data migration ran against that
deployment's own database — the evidence consumers gate on instead of the
platform version. Its well-known ids were the two ADR-0104 scans and nothing
else. `migrateSysNotificationToEvent` had no id: it is destructive and one-way,
operators are handed the call verbatim in the ADR-0030 handoff, and a run of it
recorded nothing, so a deployment that performed the cut-over and one that never
did read identically from the ledger. An id is what a row can be keyed by;
without one the question had nowhere to be answered even in principle.
Adds `NOTIFICATION_EVENT_MIGRATION_ID = 'adr-0030-notification-event'` to
`@objectstack/spec/system`. Purely additive: no existing export, schema or
predicate moves, and no consumer reads the new id.
What a row under the id MEANS is deliberately left open, and the docblock says
so rather than letting its silence be read as an answer. The two ADR-0104 ids
take their `last_run_at` / `applied_at` / `verified_at` / `blocking` semantics
from an `os migrate` command that scans, self-checks and only then records; this
migration has neither command nor self-check and reports
`migrated`/`already_done`/`not_applicable`/`error` to its caller. Which columns
one of its runs may claim, whether anything may gate on the row, and whether a
datastore created after the cut-over belongs in
`CREATION_ATTESTED_MIGRATION_IDS`, are contract questions on this surface.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARYe3yQTQCUFm5qPYNgKaJ1 parent 9af0da9 commit ce353b0
2 files changed
Lines changed: 41 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
172 | 202 | | |
173 | 203 | | |
174 | 204 | | |
| |||
0 commit comments