Skip to content

Commit 816f181

Browse files
committed
fix(spec): correct the at-rest clause on the D3 filter entry — --stored does exist
The entry said "no author runs `os migrate meta` over `sys_metadata`". That is false: `os migrate meta --stored` has exactly that subject (packages/cli/src/commands/migrate/ meta.ts — module doc "`--stored`: the same chain, over data at rest", the flag, `runStored`, `protocol.migrateStoredMetadata(...)`). The true and narrower fact the clause was reaching for: the stored pass replays ADR-0087 D2 conversions only — `migrateStoredMetadata` converts through `applyConversionsToStoredItem`, i.e. `applyConversions`, and emits no D3 TODOs (`todos` is 7x in the authored-mode half of meta.ts and 0x from `runStored` to EOF) — so with no D2 conversion added by this disposition it has nothing to rewrite for this shape. The scoped "this disposition adds no D2 conversion" is unchanged and stays scoped: the partial-D2 direction question is the ruler's, not this entry's. `registry.ts` follows by `gen:migration-registry`; no other sentence of the entry moved. Claude-Session: https://claude.ai/code/session_01MkQhmuuJAVDjmeWNixwDDH Co-authored-by: Claude <noreply@anthropic.com>
1 parent 448bcb9 commit 816f181

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

packages/spec/src/migrations/entries/semantic/18.element-data-source-and-object-block-filter-rule-array.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,10 @@ export const entry: SemanticMigration = {
5858
+ 'in the same change, and zero outside those files; this entry carries the prescription '
5959
+ 'for authors outside the repo. '
6060
+ '⚠️ Metadata AT REST is deliberately NOT rewritten, and this disposition adds no D2 '
61-
+ 'conversion — a SemanticMigration converts nothing by its own type, and no author runs '
62-
+ '`os migrate meta` over `sys_metadata`. The read path does not re-validate stored rows '
61+
+ 'conversion — a SemanticMigration converts nothing by its own type, and '
62+
+ '`os migrate meta --stored` (the pass over a deployment\'s `sys_metadata` rows) replays '
63+
+ 'D2 conversions only, so it has nothing to rewrite here. The read path does not '
64+
+ 're-validate stored rows '
6365
+ '(`applyConversionsToStoredItem` replays the full chain without validating, by its own '
6466
+ 'contract), so a stored page or block carrying the record form keeps loading unchanged '
6567
+ 'and is still rendered by objectui at the pinned `.objectui-sha`; what changes is that '

packages/spec/src/migrations/registry.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6949,8 +6949,10 @@ const step18: MigrationStep = {
69496949
+ 'in the same change, and zero outside those files; this entry carries the prescription '
69506950
+ 'for authors outside the repo. '
69516951
+ '⚠️ Metadata AT REST is deliberately NOT rewritten, and this disposition adds no D2 '
6952-
+ 'conversion — a SemanticMigration converts nothing by its own type, and no author runs '
6953-
+ '`os migrate meta` over `sys_metadata`. The read path does not re-validate stored rows '
6952+
+ 'conversion — a SemanticMigration converts nothing by its own type, and '
6953+
+ '`os migrate meta --stored` (the pass over a deployment\'s `sys_metadata` rows) replays '
6954+
+ 'D2 conversions only, so it has nothing to rewrite here. The read path does not '
6955+
+ 're-validate stored rows '
69546956
+ '(`applyConversionsToStoredItem` replays the full chain without validating, by its own '
69556957
+ 'contract), so a stored page or block carrying the record form keeps loading unchanged '
69566958
+ 'and is still rendered by objectui at the pinned `.objectui-sha`; what changes is that '

0 commit comments

Comments
 (0)