Repository navigation
Commit 1418de4
Part of #23434. This PR is the first half of ruling C (comment
6165388570). PR-2 carries the closing keyword.
Clause-②: no
## What changes
1. **`check:objectui-pin-citations` retires whole.** This deletes
`packages/spec/scripts/check-objectui-pin-citations.ts` (including its
`--verify-anchors` mode), its `packages/spec/package.json` script, the
`lint.yml` step, the gate's `NO_GENERATOR` row in
`packages/spec/scripts/check-generated.ts`, its `CENSUS_REFUSE_WIDE` row
and prose in `scripts/pm/bare-root-worklist.mjs` (the self-test was
re-counted to 13 members and is green), and the prose that named the
gate in `scripts/pm/dispatch-gates.mjs`,
`packages/spec/scripts/check-llms-txt.ts`,
`packages/spec/src/ui/component.zod.ts` and
`packages/spec/src/ui/view.zod.ts`. Nothing routes the family any more:
`dispatch-gates` learned the family only from the script's own watch
hints.
2. **All 49 asserting citations are respelled as dated readings.** These
were the citations spelled with the pin file, an equals sign and a sha.
Each now says it was read at objectui `b9814b334` and 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 in `component.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 the `reason` text 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 in
`packages/spec/src` carries that spelling: the retired gate's own
`--list`, re-run from the base tree against this head, reports 0.
3. **38 group-M citations move into the `note` of their ledger row**,
written as `objectui @sha FILE#SYMBOL`. Every symbol was resolved
against `/home/user/objectui` at 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 in
`kernel/functional-completeness.ts`; the `ListMapConfigSchema`
strictness record with its seven quoted anchors; `view.test.ts`;
`view-overlay-options-bag.test.ts`), `list.chart`
(`resolveListChartBinding`), `form.sections` (form-row `span` / `scale`)
- `action.json`: `outcomeMessages`, `onSuccess.navigate`
(`action-on-success-executor.ts`), `aria` (the tombstone comment)
- `dashboard.json`: `widgets`, `widgets.values`,
`widgets.chartConfig.aria`
- `report.json`: `chart`, `blocks`
- `field.json`: `options`, `scale` (also `shared/scale-ceiling.ts`),
`inlineColumns` (`stack.zod.ts`, `inline-grid-columns.ts` and its test,
`inline-grid-sort-fields.ts`, the column-type case of
`inline-grid-column-carriers.test.ts`)
- `translation.json`: `flows.screens`, `flows.label`
4. **One `.describe()` changed:** the form-field `span` text drops the
commit it named. `content/docs/references/ui/view.mdx` is regenerated
(`check:generated --fix` proved it stale and nothing else).
5. Patch changeset `.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
be `ComponentPropsMap` read points (`ui/page.zod.ts` `visibleWhen`
roots, and the `object-master-detail-form` detail entry and
`record:line_items` keys in `inline-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
- **Moved in PR-2:** the `api-methods-batch-conformance.test.ts` record
(row `object.json` `enable.apiMethods`) and the `dataset.zod.ts` measure
`format` record (row `dataset.json` `measures.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.
- **Group C (99 `ComponentPropsMap` citations, the three re-classified
above included; its 33 asserting ones are already respelled here)** goes
to `page.json` `page.regions` in 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.
- Outside the retired gate's population: renderer citations that never
used the pin-file spelling are still in source, for example
`ui/view.zod.ts` "inside the console pin from objectui `b9814b334` …
`ListView.tsx:5716`", and mentions such as "at the `.objectui-sha` pin"
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-checklist` is red on this branch with 8 ABSENT SYMBOL
findings, in
`docs/qa/platform-checklist/areas/{access-security,attachments-storage,search}.json`.
They point at `packages/metadata-protocol/src/protocol.ts` and
`packages/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`, the `span` describe), fixed with `--fix`.
`check:liveness`, `check:spec-changes` and `check:upgrade-guide` re-run
at head: exit 0.
- `@objectstack/spec` `test` (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/lint` tests (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-expressions` and `check:doc-security-posture`, re-ran
green after building lint and formula. NOT MEASURED, because they need
the CLI or a whole-repo `dist`: `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 is `check:platform-checklist` (see above). Every other derived
gate exited 0, including `check:nul-bytes`, `check:issue-citations`,
`check-spec-docblock-symbol-anchors` and `bare-root-worklist
--self-test`.
## 维护者速读(草稿)
**改了什么**:删掉门禁 `check:objectui-pin-citations`(脚本、package 脚本、`lint.yml`
一步、相关登记)。spec 源码里 49 处"等于当前 objectui pin"的断言式引用,改写成"在 objectui
`b9814b334` 读到"的日期读数。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](https://claude.ai/code/session_01D6F9axfoPzR7t8G1J7Ytzz)_
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent f9b4217 commit 1418de4
46 files changed
Lines changed: 252 additions & 2647 deletions
File tree
- .changeset
- .github/workflows
- content/docs/references/ui
- packages/spec
- liveness
- scripts
- src
- data
- kernel
- migrations/entries/semantic
- system
- ui
- scripts/pm
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5649 | 5649 | | |
5650 | 5650 | | |
5651 | 5651 | | |
5652 | | - | |
5653 | | - | |
5654 | | - | |
5655 | | - | |
5656 | | - | |
5657 | | - | |
5658 | | - | |
5659 | 5652 | | |
5660 | 5653 | | |
5661 | 5654 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
354 | | - | |
| 354 | + | |
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
| |||
0 commit comments