Repository navigation
chore(spec): retire check:objectui-pin-citations; objectui read points become dated readings and move into the liveness ledger (#23434, part 1) - #23502
Conversation
…ng citations as dated readings Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
… points into the ledger Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
…dger Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
…llow-up PR; keep their dated respell Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz
📓 Docs Drift CheckThis PR changes 1 package(s): 3 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 6 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 142 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 7ff853b044d774b667dfdfe993235e0ee74eddd1 && git checkout 7ff853b044d774b667dfdfe993235e0ee74eddd1
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 394f65e891f0ac6c6be708fb807740d5cb446520 7fe6ffdde1cf4842bdd4b482549d6a5f7780405b && git checkout -B drift-repro 394f65e891f0ac6c6be708fb807740d5cb446520 && git merge --no-ff 7fe6ffdde1cf4842bdd4b482549d6a5f7780405b
node scripts/docs-audit/affected-docs.mjs --json 394f65e891f0ac6c6be708fb807740d5cb446520
|
Contract reviewServed-tier: Inputs read: card #23434 (body and all 8 comments, ruling of record ① Derived judgmentsAccept-set: no change, judged right. Every hunk under Public surface, each named:
Brief items judged:
② Semver level
Clause-②: no ③ Boundary flagsDev flags and
Check-runs on the head: success — Implemented-by: VERDICT: PASS Adopted by Generated by Claude Code |
维护者速读(终稿)· PR #23502 ·
|
Part of #23434. This PR is the first half of ruling C (comment 6165388570). PR-2 carries the closing keyword.
Clause-②: no
What changes
check:objectui-pin-citationsretires whole. This deletespackages/spec/scripts/check-objectui-pin-citations.ts(including its--verify-anchorsmode), itspackages/spec/package.jsonscript, thelint.ymlstep, the gate'sNO_GENERATORrow inpackages/spec/scripts/check-generated.ts, itsCENSUS_REFUSE_WIDErow and prose inscripts/pm/bare-root-worklist.mjs(the self-test was re-counted to 13 members and is green), and the prose that named the gate inscripts/pm/dispatch-gates.mjs,packages/spec/scripts/check-llms-txt.ts,packages/spec/src/ui/component.zod.tsandpackages/spec/src/ui/view.zod.ts. Nothing routes the family any more:dispatch-gateslearned the family only from the script's own watch hints.b9814b334and no longer claims to be "the pin this repo builds against". Only that spelling changed. No record is deleted by this step. The 49 sit incomponent.zod.ts,component.test.ts,functional-completeness.ts,view.zod.ts,action.zod.ts,action-outcome-messages.test.ts,dataset.zod.ts,api-methods-batch-conformance.test.ts, and thereasontext of six v18 semantic migration entries (kernel-runtime-config-timeout-unit-in-key,kernel-health-check-and-hot-reload-durations-unit-in-key,logging-durations-unit-in-key,system-metrics-jsdoc-durations-unit-in-key,system-tracing-otel-exporter-durations-unit-in-key,tenant-schema-cache-ttl-unit-in-key). After this PR, nothing inpackages/spec/srccarries that spelling: the retired gate's own--list, re-run from the base tree against this head, reports 0.noteof their ledger row, written asobjectui @SHA FILE#SYMBOL. Every symbol was resolved against/home/user/objectuiat the cited sha. No line numbers. The source keeps the claim in shortened prose and drops the per-hop re-read chains. The receiving rows:view.json:list.calendar,list.gantt,list.timeline,list.map(the completeness table inkernel/functional-completeness.ts; theListMapConfigSchemastrictness record with its seven quoted anchors;view.test.ts;view-overlay-options-bag.test.ts),list.chart(resolveListChartBinding),form.sections(form-rowspan/scale)action.json:outcomeMessages,onSuccess.navigate(action-on-success-executor.ts),aria(the tombstone comment)dashboard.json:widgets,widgets.values,widgets.chartConfig.ariareport.json:chart,blocksfield.json:options,scale(alsoshared/scale-ceiling.ts),inlineColumns(stack.zod.ts,inline-grid-columns.tsand its test,inline-grid-sort-fields.ts, the column-type case ofinline-grid-column-carriers.test.ts)translation.json:flows.screens,flows.label.describe()changed: the form-fieldspantext drops the commit it named.content/docs/references/ui/view.mdxis regenerated (check:generated --fixproved it stale and nothing else)..changeset/23434-objectui-read-points-to-ledger.md.No schema, type, export, default or refusal changed.
Census (re-measured on this branch's base,
d54e2393b)The ruling's "37 + 98 lines" counted grep lines. The real population is 179 citations in 63 tracked files: 49 asserting and 130 historical. Another 24 sit in the gitignored, generated
migrations/registry.ts. Group M had 43 citations in my first count. Three of those turned out to beComponentPropsMapread points (ui/page.zod.tsvisibleWhenroots, and theobject-master-detail-formdetail entry andrecord:line_itemskeys ininline-grid-column-carriers.test.ts), so they move to group C. Two more are held back for size (see Acceptance notes). That leaves 38 moved here. After this PR, the retired gate's--list(run from the base tree) finds 0 asserting and 100 historical: 66 in group C and 34 in group R.Acceptance notes
api-methods-batch-conformance.test.tsrecord (rowobject.jsonenable.apiMethods) and thedataset.zod.tsmeasureformatrecord (rowdataset.jsonmeasures.format). Both were moved on this branch and then reverted to keep the PR under 3,000 changed lines. Their asserting respell stays here. The moved form is kept as a patch in the session scratchpad for PR-2.ComponentPropsMapcitations, the three re-classified above included; its 33 asserting ones are already respelled here) goes topage.jsonpage.regionsin PR-2, per the seat reading. Group R (40 retirement-history citations; its 6 asserting ones are already respelled here) waits on the maintainer's answer to Q2.ui/view.zod.ts"inside the console pin from objectuib9814b334…ListView.tsx:5716", and mentions such as "at the.objectui-shapin" that name no sha (dashboard.zod.ts,view.zod.ts,i18n-resolver.ts). Neither is in ruling item 1's 37/98 count. Recorded, not changed.check:platform-checklistis red on this branch with 8 ABSENT SYMBOL findings, indocs/qa/platform-checklist/areas/{access-security,attachments-storage,search}.json. They point atpackages/metadata-protocol/src/protocol.tsandpackages/services/service-storage/src/attachment-access-hooks.ts. This diff touches none of those files. NOT judged as this PR's red.Verification (head
7fe6ffdde)pnpm --filter @objectstack/spec build: exit 0.check:generated: 1 of 14 stale (check:docs, thespandescribe), fixed with--fix.check:liveness,check:spec-changesandcheck:upgrade-guidere-run at head: exit 0.@objectstack/spectest(local project): 676 files, 20,580 tests passed.test:repo: 60 files, 1,029 passed. Both ran before the final hold-back commit. After it, the two reverted files' suites ran again at head: 3 files, 89 passed.@objectstack/linttests (the ledger's consumer): 139 files, 6,726 passed.node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --ran(with exit codes): 174 derived, 174 accounted, 166 run, 8 with exit 3 (prerequisite not built). Two of those 8,check:doc-formula-expressionsandcheck:doc-security-posture, re-ran green after building lint and formula. NOT MEASURED, because they need the CLI or a whole-repodist:check:skill-examples,check:docs-transcript-drift,check:dual-build-cjs-loads,check:i18n,check:i18n-walk-parity,check:lean-entry-closure. One non-zero ischeck:platform-checklist(see above). Every other derived gate exited 0, includingcheck:nul-bytes,check:issue-citations,check-spec-docblock-symbol-anchorsandbare-root-worklist --self-test.维护者速读(草稿)
改了什么:删掉门禁
check:objectui-pin-citations(脚本、package 脚本、lint.yml一步、相关登记)。spec 源码里 49 处"等于当前 objectui pin"的断言式引用,改写成"在 objectuib9814b334读到"的日期读数。38 处有台账行可对应的渲染端读点,从 spec 注释搬进packages/spec/liveness/*.json的 note,写法是"文件#符号",不写行号。协议本身(schema、类型、导出、默认值、拒收)一处没动。为什么改:裁决 C(「同意」)。以前每次 objectui 升级 pin,这道门禁都逼 spec 改写几十行注释,还要再做一次契约复核。这个 PR 落地后,升级 pin 不再碰
packages/spec/src,除非某个键的行为真的变了。风险与代价(含回滚):只改注释、台账 note 和一段 describe 文字,运行时行为不变。代价是以后没有门禁把这些读点钉在 pin 上。读点改用符号锚定,符号被改名或删除时才需要重测,这正是裁决要的。回滚就是整个 revert 这个 PR,门禁和原注释一起恢复。剩下两组(组件成员读点 99 处、退役历史 40 处)和两条暂缓的搬迁,放在 PR-2。
席位意见:
你要做的:审一遍,点 approve,让席位合并(
lint.yml改动属于 Tier H)。Generated by Claude Code