Skip to content

Commit 1382a23

Browse files
docs(qa): records-forms checklist — 60 ledger lines from the 18.2.0 sweep runs (#26125)
<!-- claude-projects-attribution: {"github_login":"os-steve"} --> _Requested by **Steve** · [project thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9PmbTJCW5X3f7qRdDKVM1AM)_ Fixes #25846 Clause-②: no Metadata-protocol: none Part of the 18.2.0 release sweep, wave anchor #25807. Docs-only: one file, `docs/qa/platform-checklist/areas/records-forms.json`. The card was filed under the maintainer's 「写issue,不派发」 and returned to the queue by the maintainer's 2026-10-26 「16 张清单卡:应该可以回归队列吧」. Claim: comment 6415980938 (devx seat 2), branch `claude/project-thread-na4l37`, the card thread's harness-pinned branch. ## What changed 34 items revised. Each bumps `revision` by one and appends one `history` row, dated 2026-10-26 with `ref: #25846`, naming the run record each line came from: P0 run #25812, Tier 1 run #25815 or manual-set run #25817, all at `6679644a` with pin `b41ed7f68956`. Every line was re-read against `origin/main` at `cc378e93` first, with objectui paths re-read under `ui/`. #26028 (10:03Z) had touched this file after the card was filed; the one line it changed is not among these. Three kinds of edit: 1. **55 of the 60 card lines applied** (table below). Mostly `automated.ref` and `verify` text that claimed more than a pin reaches at its layer (RUNNER rule 6). Others are refs that still named specs dropped at an earlier revision, which a ref parser read as pins. One clause was re-authored: `field-unique-enforcement` acceptance[4] said bare `unique` folds NULL-organization rows into ONE bucket (ADR-0120 D3). Both of its pins now assert ADR-0131 D1's exemption, so the clause asserts that instead. That is the one semantic clause change, and run records before revision 10 scored the old clause. 2. **Retired pin wording, left to this card by #26035.** These lines named the retired pin flow (`.objectui-sha`, `pnpm objectui:build`): `script-action-hook-refusal-toast` requires[3] and steps[0], `v18-semantic-defaults` knownGaps[0], `field-group-visible-when` acceptance[3], `form-dirty-guard` acceptance[2], and `import-wizard-encoding-and-hints` steps[0], knownGaps[1] and acceptance[0]–[2]. They now say `pnpm console:build` and run from `ui/`. Outside `history` rows, a search of this file for `objectui:(build|refresh|bump|clean)` or `.objectui-sha` now finds three lines, and each one names the pin as retired. 3. **The objectui-pinned-automation note on 13 items** (devx seat 2's direction). Its `knownGaps` text "AUTOMATION IS PINNED IN THE objectui REPO, NOT HERE … none of those specs exist here" is now false, because the specs are under `ui/`. The note now says where they resolve and how they run. The `import-job-undo-cancel` fixtures name `ui/` for the same reason. Those 13 are `conditional-rules-header`, `conditional-rules-grid`, `cascading-options`, `master-detail-atomic-save`, `related-list-server-pagination`, `import-wizard-encoding-and-hints`, `gantt-interactions`, `form-dirty-guard`, `adhoc-filter-sort-builder`, `concurrent-edit-conflict`, `bulk-select-all-matching`, `record-edit-undo` and `import-job-undo-cancel`. ## Per-line disposition (60) | item | line(s) | disposition | |:--|:--|:--| | crud-roundtrip | acc[6] owner half "not yet run" | applied: replay from #25812 recorded | | action-param-widgets | ref-parse | applied: dropped spec no longer named in the ref | | adhoc-filter-sort-builder | a4; ref-parse | applied (2) | | bulk-select-all-matching | a1/a4/n0; a3/n2 | applied (2). Refuted in part: `bulkFanoutHostParams.test.tsx` (not in the ref) does drive the paged fan-out and HARD_CAP at component level, so the ref names it as evidence of that layer | | cascading-multilevel-and-clear | a1; ref | applied (2): in-set answer is 201, message key unpinned; validator test leaves the ref | | cascading-options | a1/n0 | applied | | comment-reactions-and-edit-stamps | a1/a2 | applied | | concurrent-edit-conflict | a3; a1; pins | applied (3) | | conditional-rules-grid | ref-parse; browser-only | applied (2) | | conditional-rules-header | a2; pins; a0/a3 | applied (3): the spec asserts tax_rate enabled at paid on the New dialog (objectui#13436), so acceptance[2] is unpinned | | delete-behavior-matrix | a0–a4/n0–n3; a5 | applied (2): `packages/spec/src/data/field.test.ts` added for the parse seam | | encrypted-field-behavior | a0 | applied | | field-history-tracking | a2 | applied | | field-type-constraints | a5/a6; matrix.ts; a0–a4 | applied (3) | | field-type-matrix | matrix.ts; a5/n1; a4 | applied (3) | | field-unique-enforcement | a4 | applied: clause re-authored to ADR-0131 D1 | | field-unique-enforcement | a0–a3/n0–n2 | no edit: the line confirms the ref as written | | form-dirty-guard | a0/n0; a2 count | applied (2): 11 `it()` cases on this tree, no Escape/backdrop case | | gantt-interactions | a1/a2; commit | applied (2) | | import-job-undo-cancel | a3; a1/n0 | applied (2) | | import-wizard-encoding-and-hints | pins | applied: suites run from `ui/` | | list-view-capabilities | a1; dogfood in ref | applied (2) | | master-detail-atomic-save | pins; a0 | applied (2) | | object-hook-lifecycle | a0; a6/n0 | applied (2) | | object-hook-lifecycle | "83 tests" vs 79 | not taken: the four files hold 79 `it()` call sites, one of them a four-row `it.each` in `hook-binder.test.ts`, so 83 tests run | | predicate-relationship-traversal | a3 | applied | | record-clone-contract | live mount; a3; path spelling | applied (3) | | record-discussion-mentions | a5; a8 | applied (2) | | record-discussion-mentions | a6/n3; a9 | no edit: both lines confirm the clause and ref text as written | | record-edit-undo | UndoManager | applied | | view-type-gallery | a5 | applied | | write-answer-advisories-rollback-and-tree-delete | a1; a2/n0 | applied (2) | | write-answer-advisories-rollback-and-tree-delete | a3 | no edit: the line itself rules the rtl_* fixture acceptable (the clause names no carrier) | | action-location-matrix | the three manual-set lines | applied (3): related-list header Reassign…, ⋯ click scoped to `main`, quick bar authored | No line turned out to be a product defect, so no defect card is owed. ## Acceptance notes - RUNNER.md's objectui-pinned-automation standing fact still says this checkout holds none of the objectui specs and sends a run to "an objectui checkout at the pinned revision". The same knownGaps copy sits on items in `attachments-storage.json` (1), `automation.json` (2) and `studio-authoring.json` (4). This PR rewrites only this file's 13 copies, and the new note says the RUNNER wording predates the `ui/` import. Carrier: #26035 (slice 2 covers RUNNER.md). #26035 remains open. - `related-list-server-pagination` changed only in that knownGaps note. ## Gates At head `82952908`: - `pnpm check:platform-checklist`: exit 0 (`OK — 16 areas, 329 items … symbol anchors: 986/996 resolved … 18 file floors held`). - `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 13 families. All 13 ran with exit 0. `--ran` reconciliation: `13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN` (a derived zero, since all 13 recorded an exit code). `check:doc-formula-expressions` first exited 3 on an unbuilt prerequisite. After `turbo run build --filter=@objectstack/formula --filter=@objectstack/lint` under the verify lock it exited 0. - `node scripts/check-platform-checklist.mjs --changed-from origin/main`: exit 0, 0 anchored files in the change set. - Changed lines: 400 (+302 / −98) in one file. `skip-changeset`: the file is under `docs/qa/`, which no package's `files[]` ships. --- _Generated by [Claude Code](https://claude.ai/code/session_01RtaemQoSDLDAyNK1TyVh2P)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent ada3cbb commit 1382a23

1 file changed

Lines changed: 309 additions & 99 deletions

File tree

0 commit comments

Comments
 (0)