From cff984e88d2bece104a7e7040344ce99f48831ba Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Oct 2026 08:50:10 +0000 Subject: [PATCH] ci(spec-shape-gate): register the retirement of addRecord mode / formView and the widened DroppedFieldsEvent reason Two entries in the Spec Shape Gate's retirement registry, appended after the existing three in the grammar parseRegistry reads: - objectstack PR 24970 (fde7456352), addRecord.mode / addRecord.formView retired as retiredKey() tombstones: two TS2322 patterns, one per objectui packages/types spec-alignment test, downstream card objectstack-ai/objectui#13308. - objectstack PR 24778 (7532ea3c08), DroppedFieldsEvent['reason'] widened with stored_expression: one TS2344 pattern on objectui's batch-6 spec-symbol pin, downstream card objectstack-ai/objectui#13309. Each pattern is file + code + the diagnostic's full first-line message, taken from scheduled run 39565602478 at c67f244f5a. Claude-Session: https://claude.ai/code/session_01FM29ZqLTrnPNXxijioZwMp Co-authored-by: Claude --- scripts/ci/spec-shape-retirements.json | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/scripts/ci/spec-shape-retirements.json b/scripts/ci/spec-shape-retirements.json index c93a0f3dacf..3ab0be6ba2f 100644 --- a/scripts/ci/spec-shape-retirements.json +++ b/scripts/ci/spec-shape-retirements.json @@ -47,6 +47,39 @@ "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; }'." } ] + }, + { + "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", + "objectstack_pr": 24970, + "objectstack_commit": "fde7456352318872704c24feadaa6660b9bc649b", + "downstream_card": "objectstack-ai/objectui#13308", + "registered_at": "2026-10-21", + "matches": [ + { + "file": "packages/types/src/__tests__/p2-spec-exports.test.ts", + "code": "TS2322", + "message": "Type 'string' is not assignable to type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }'." + }, + { + "file": "packages/types/src/__tests__/p1-spec-alignment.test.ts", + "code": "TS2322", + "message": "Type 'string' is not assignable to type '{ '[REMOVED] Key retired: run `os validate` for its migration.': never; }'." + } + ] + }, + { + "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", + "objectstack_pr": 24778, + "objectstack_commit": "7532ea3c0893a08a518739aebfe7c0751211f53d", + "downstream_card": "objectstack-ai/objectui#13309", + "registered_at": "2026-10-21", + "matches": [ + { + "file": "packages/data-objectstack/src/spec-symbol-batch6.test.ts", + "code": "TS2344", + "message": "Type 'false' does not satisfy the constraint 'true'." + } + ] } ] }