Skip to content

Commit 1e67d9f

Browse files
committed
chore(ci): empty spec-shape-retirements.json — all five entries name closed objectui cards (#25108)
The registry's own $comment says each entry is deleted when its downstream card closes. All five downstream cards are closed `completed`: objectui#12654, #12711, #13022, #13308 and #13309. A stale entry masks a new break of the same shape in the same file, so all five go, leaving `"retirements": []`. `$comment` is unchanged. parseRegistry accepts an empty array (it checks only Array.isArray(doc.retirements)); the gate's self-test pins this ("an empty registry loads as zero retirements"). Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKHDniRQSWjRJyDtacwpEd
1 parent fc7b53f commit 1e67d9f

1 file changed

Lines changed: 1 addition & 82 deletions

File tree

Lines changed: 1 addition & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,4 @@
11
{
22
"$comment": "Intentional spec retirements the Spec Shape Gate reads as `known` instead of red. One entry per retirement, written by the accepting seat when the downstream (objectui) card is filed, deleted when that card closes. Every entry carries exactly: retired, objectstack_pr, objectstack_commit (40-hex merge commit), downstream_card (owner/repo#N), registered_at (YYYY-MM-DD), matches (non-empty; each pattern names a repo-relative objectui `file` -- `*` within a segment, `**` across -- plus at least one of `code` (TS<digits>) or `message` (substring)). A file alone is refused. The reader, its grammar and its refusals: scripts/ci/spec-shape-gate.mjs (THE REGISTRY).",
3-
"retirements": [
4-
{
5-
"retired": "the page component's `visibility` and the view form's `visibleOn` (field and section), retired as keys -- retiredKey() tombstones naming `visibleWhen` (F4 of #23543) -- objectui still passes the page component's `visibility` to an expression argument, and its expressions test (compiled only by the package's chained test project) still authors that key",
6-
"objectstack_pr": 23836,
7-
"objectstack_commit": "105902f10ae8124a5e965cb24f7b30681fd9fae2",
8-
"downstream_card": "objectstack-ai/objectui#12654",
9-
"registered_at": "2026-10-16",
10-
"matches": [
11-
{
12-
"file": "packages/react/src/SchemaRenderer.tsx",
13-
"code": "TS2345",
14-
"message": "Argument of type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }' is not assignable to parameter of type 'string | boolean | { dialect?: string | undefined; source?: string | undefined; } | undefined'."
15-
},
16-
{
17-
"file": "packages/react/src/__tests__/SchemaRenderer.expressions.test.tsx",
18-
"code": "TS2322",
19-
"message": "Type 'string' is not assignable to type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }'."
20-
}
21-
]
22-
},
23-
{
24-
"retired": "nothing retired -- the spec ADDED an optional key: the select option's lifecycle `kind` (`open` | `won` | `lost`, required only under a `stageField`, #23809). objectui's select-option convergence pins assert by design that the converged form and metadata faces gained no key beyond `description` / `default`, so a new spec key reds them (TS2344 `Equal` pins, compiled only by the package's chained test project); the entry is deleted when objectui re-pins the faces",
25-
"objectstack_pr": 23846,
26-
"objectstack_commit": "adad73f71483abf84b470e90367fe8080c44a4e0",
27-
"downstream_card": "objectstack-ai/objectui#12711",
28-
"registered_at": "2026-10-16",
29-
"matches": [
30-
{
31-
"file": "packages/types/src/__tests__/select-option-tier1-convergence-7014.test.ts",
32-
"code": "TS2344",
33-
"message": "Type 'false' does not satisfy the constraint 'true'."
34-
}
35-
]
36-
},
37-
{
38-
"retired": "a page action row's own `patch` (action:button, action:icon and the action:group / action:menu member), retired as a key -- a retiredKey() tombstone sending the author to the `patch` of the action the row's `name` names (#24394) -- objectui's action-button undo test still authors `patch` on an `action:button` node",
39-
"objectstack_pr": 24442,
40-
"objectstack_commit": "69f342b92470e0b66aa9b17ccd2fc7db04e4e568",
41-
"downstream_card": "objectstack-ai/objectui#13022",
42-
"registered_at": "2026-10-19",
43-
"matches": [
44-
{
45-
"file": "packages/components/src/renderers/action/__tests__/action-button-undoable-11168.test.tsx",
46-
"code": "TS2353",
47-
"message": "Object literal may only specify known properties, and 'status' does not exist in type '{ \"[REMOVED] Key retired: run `os validate` for its migration.\": never; }'."
48-
}
49-
]
50-
},
51-
{
52-
"retired": "the list view's and the page `list-view` node's `addRecord.mode` and `addRecord.formView`, retired as keys -- retiredKey() tombstones on the one AddRecordConfig every list-view door shares, with ADR-0087 drop conversions (`add-record-mode-form-view-removed`) -- objectui still authors both keys in two spec-alignment tests in `packages/types` that type a value carrying them (an `AddRecordConfig` in p2-spec-exports, a `ListViewSchema` in p1-spec-alignment); the entry is deleted when the downstream card closes",
53-
"objectstack_pr": 24970,
54-
"objectstack_commit": "fde7456352318872704c24feadaa6660b9bc649b",
55-
"downstream_card": "objectstack-ai/objectui#13308",
56-
"registered_at": "2026-10-21",
57-
"matches": [
58-
{
59-
"file": "packages/types/src/__tests__/p2-spec-exports.test.ts",
60-
"code": "TS2322",
61-
"message": "Type 'string' is not assignable to type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }'."
62-
},
63-
{
64-
"file": "packages/types/src/__tests__/p1-spec-alignment.test.ts",
65-
"code": "TS2322",
66-
"message": "Type 'string' is not assignable to type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }'."
67-
}
68-
]
69-
},
70-
{
71-
"retired": "nothing retired -- the spec WIDENED a union: `DroppedFieldsEvent['reason']` gained a fifth arm, `stored_expression` (a stored field whose declared expression the engine computes on every write). objectui's batch-6 spec-symbol pin `_ReasonIsTheEnum` asserts the exact four-member union (`readonly`, `readonly_when`, `primary_key`, `computed`) with a TS2344 `Equal` pin, so the widened union reds it; the entry is deleted when the downstream card closes",
72-
"objectstack_pr": 24778,
73-
"objectstack_commit": "7532ea3c0893a08a518739aebfe7c0751211f53d",
74-
"downstream_card": "objectstack-ai/objectui#13309",
75-
"registered_at": "2026-10-21",
76-
"matches": [
77-
{
78-
"file": "packages/data-objectstack/src/spec-symbol-batch6.test.ts",
79-
"code": "TS2344",
80-
"message": "Type 'false' does not satisfy the constraint 'true'."
81-
}
82-
]
83-
}
84-
]
3+
"retirements": []
854
}

0 commit comments

Comments
 (0)