Skip to content

docs(spec): 七项 description-surface truth sweep —— 一 PR 七条 Fixes,逐项清单评审 (#6243) - #6288

Merged
qq9340100 merged 4 commits into
mainfrom
claude/issue-6243-description-truth-sweep
Aug 7, 2026
Merged

docs(spec): 七项 description-surface truth sweep —— 一 PR 七条 Fixes,逐项清单评审 (#6243)#6288
qq9340100 merged 4 commits into
mainfrom
claude/issue-6243-description-truth-sweep

Conversation

@qq9340100

Copy link
Copy Markdown
Collaborator

首次 sweep 打包试点(#6243):七条同类 —— spec 的 description 面在说谎或漂移 —— 一 dev、一 PR、七条 Fixes 齐关,评审按逐项清单。零行为变更;每一项要么是真相还原,要么是既有裁决的执行。

七项之外零改动(试点成败判据):git diff --stat origin/main...HEAD = 13 个文件,逐一对应下表,无 rider。

逐项清单

# 落点 before after
#6085 spec/src/shared/expression.zod.ts 方言表(逐字进已发布参考页) 表列 js(配 isolated-vm / quickjs 引擎、用途写 "mapping, hook bodies"),缺真实成员 template js 行、补 template 行,并写明「本表即 12 行下的 ExpressionDialect 枚举」;procedural JS 走 ScriptBody { language: 'js' },不是 L1 dialect(#3278 / ADR-0058 addendum,ExpressionSchema 当场拒收)
#6081 spec/src/stack.zod.ts skills JSDoc 「…declares its agent surface affinity (…), trigger phrases for intent matching, and trigger conditions…」—— 照抄即写出 retiredKey() 拒收的键 改指现拼法:triggerConditions(context field/operator/value 的 AND)∩ agent allowlist;自然语言意图写进 description / instructions。措辞复用 #3896 的退役处方(那是一次 SPLIT,不是改名)
#6161 docs/audits/2026-07-unknown-key-strictness-ledger.md 分类表 no gate 用两个范例现在时定义该类,并称其为「the largest class in ui/」—— 两个范例都已接通 parse 改判离开(#5020 / #5068) 范例保留为形状定义,补记两处改判出处 + 该类当前人口为零(…counts.md 全局与五个目录小计全是 0)。⛔ 不删 no gate 判定词:空类不是缺陷,是等下一个同形站点的词(#5249covered 立的同一个理)
#6137 spec/src/ui/theme.zod.ts:11-22chart.zod.ts:13-18 两段 // 警告:「本块之上不得出现 JSDoc 块」+「即使写在 // 行里,字面两星记号也会命中」 两段删除。#5059 后两条危险都不存在了 —— 取块规则要求 /**第 0 列、位于首个声明之前、且其后不紧跟声明,而 // 行被扫描直接跳过。已实读 scripts/lib/file-description.ts 逐条核实,非按 issue 转述
#6065 spec/src/api/endpoint.zod.ts ×3 .describe() + runtime/src/api-mapping.ts 逐字镜像表 type / target / ApiMapping.transform 的文案在向作者推销 publish 门整键拒绝的能力 按 2026-08-07 裁决 B:三处各自点明 17.x 不执行、publish 会拒,措辞复用门的拒绝文案。⛔ 词表仍冻结(#5040),门的判定行为零字符变化 —— 只是把门在拒绝时说的话,搬到作者正在写的地方。api-mapping.ts 声明自己是这五条 describe 的 MINIMAL faithful reading,故同批更新其 transform
#5676 spec/src/cloud/environment.zod.ts JSDoc + 新 pin 两个枚举描述同一概念,零引用关系:discovery 3 成员 vs EnvironmentType 7 成员。正向引用已随 #4828 落地,反向零处 补反向回指(点明 staging 在这边一等、在 discovery 侧被拒,必须走 resolveDiscoveryEnvironment)+ 新增子集 pin api/discovery-environment-subset.pin.test.ts。⛔ 明确不改契约:两个枚举的成员一个没动
#5886 spec/src/data/hook.test.ts insert/update fixture 按旧契约表input: { doc: … } —— 旧表被 PR #5668(#5273)证伪并改为 data 七处 fixture 按引擎真值改拼为 data(insert { data, options }、update { id, data, options }),连带两处 context.input.doc 断言。fixture 只喂开放形状的 z.record,故这是纯 re-spell,零行为影响 —— 也正因如此它才能一直错着

正文表点名 hook.test.ts:422 一处;实读同文件另有六处同形(五处 insert、两处 update),按该单「及同文件如有同形处」一并 re-spell。update 侧的真值同样是 data(hook.zod.ts 的 input 形状表:update (single id): { id, data, options })。

验证

串行提示(给评审 / 合并者)

PR #6224(#5553 / #6136)改的是 scripts/lib/file-description.ts 的渲染行布局,并重写了全部 ~170 张参考页 —— 包含本 PR 重生成的 shared/expression.mdxapi/endpoint.mdx 两者源文件不冲突,只在生成物上相撞;后落地的一方按 §10 走「merge main → 重建 → check:generated --fix → 断言邻居条目存活」即可。#6094(flow.zod.ts 墓碑)按 #6243 正文仍排除在外,等 #4415 后进下一轮 sweep;#4415 目前仍是 open issue、无在飞 PR,其 resync 条款本轮未触发。

Changeset

#6243 与仓内惯例走 skip-changeset(纯 description / 散文面,零行为、零 API surface、零 authorable key 变化)。⛔ 一条如实上报、不自行定级:#6065 的三段 describe 会随发布包的 JSON Schema description 一起出货,严格说这是消费者可见的文案变更 —— 若维护者认为它该在 CHANGELOG 留痕,改走 @objectstack/spec 的 patch changeset 即可,该判断留给维护者而非本 PR 自定。

范围外发现(已单开,⛔ 未夹带)

#6287 —— preview / trialEnvironmentTypeSchema 的一等成员,但 NODE_ENV_TO_DISCOVERY_ENVIRONMENT 没有条目,靠 ?? 'development' 兜底折叠。今天答案仍是对的(两者都非生产),但折叠方向没被声明,下一个新桶不会让任何门变红。查重已核:与 #5673(已 closed,讲未设置时的默认)、#5676(本 sweep,讲子集关系)均不重复 —— 子集 pin 钉的是「三个在七个里」,钉不到「七个各自折向哪里」,这是收编之后剩下的唯一一条隐式边。

Fixes #6085
Fixes #6081
Fixes #6161
Fixes #6137
Fixes #6065
Fixes #5676
Fixes #5886


Generated by Claude Code

claude added 2 commits August 7, 2026 12:56
…6137 #6065 #5676 #5886)

First bundled-trivia sweep: seven same-class corrections to spec description
surfaces that lied or drifted. No behaviour changes — every item is either
truth-restoration or the execution of an existing ruling.

- #6085 `shared/expression.zod.ts` dialect table: drop the retired `js` row
  (#3278 / ADR-0058 addendum — `ExpressionSchema` rejects it), add the real
  member `template`, and state that the table IS the enum. New pin
  `expression-dialect-docs.pin.test.ts` compares the two so neither can drift.
- #6081 `stack.zod.ts` skills JSDoc: stop selling `triggerPhrases` (retired at
  #3896, now a `retiredKey()` tombstone) — point at `triggerConditions` plus
  `description`/`instructions`, which is #3896's own prescription.
- #6161 strictness-ledger classification table: the `no gate` row still defined
  the class with two exemplars that have since had their parse wired and left it
  (#5020 / #5068). Record that the bucket's population is zero tree-wide, and
  that the verdict stays in the vocabulary regardless.
- #6137 `ui/theme.zod.ts` / `ui/chart.zod.ts`: delete the two "nothing above
  this block may be a JSDoc block" warnings. #5059 made both hazards impossible
  — block selection now requires column 0, the header zone and no immediately
  following declaration, and a `//` line can no longer match.
- #6065 (direction B) `api/endpoint.zod.ts` ×3 `.describe()`: `type`, `target`
  and `ApiMapping.transform` stop advertising what the publish gate rejects
  whole-key. The frozen vocabulary (#5040) is unchanged; the copy now says at
  authoring time what the gate says at rejection time. The verbatim mirror table
  in `packages/runtime/src/api-mapping.ts` is updated in the same pass.
- #5676 `cloud/environment.zod.ts`: back-reference to the coarser 3-member
  `DiscoverySchema.environment` (the forward reference landed with #4828),
  plus `discovery-environment-subset.pin.test.ts` pinning the subset relation.
  No contract change — neither enum's membership moves.
- #5886 `data/hook.test.ts`: re-spell the `input: { doc: … }` fixtures to the
  engine's real shape (`data`), the spec half of #5671. The old contract table
  was corrected at #5273; these fixtures still taught the disproved spelling.

`content/docs/references/{shared/expression,api/endpoint}.mdx` regenerated —
`check:generated` proved exactly those two stale and `--fix` regenerated only
them.

Fixes #6085
Fixes #6081
Fixes #6161
Fixes #6137
Fixes #6065
Fixes #5676
Fixes #5886

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011M7UwH25Unfi73UHim7ajY
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 7, 2026 1:15pm

Request Review

@github-actions github-actions Bot added the size/m label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 2 package(s): @objectstack/runtime, @objectstack/spec.

118 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/agents.mdx (via @objectstack/spec)
  • content/docs/ai/skills-reference.mdx (via @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via packages/runtime, @objectstack/spec)
  • content/docs/api/environment-routing.mdx (via @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/api/wire-format.mdx (via @objectstack/runtime)
  • content/docs/automation/approvals.mdx (via @objectstack/spec)
  • content/docs/automation/connectors.mdx (via @objectstack/spec)
  • content/docs/automation/flows.mdx (via @objectstack/spec)
  • content/docs/automation/hook-bodies.mdx (via @objectstack/runtime, packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via @objectstack/spec)
  • content/docs/automation/workflows.mdx (via @objectstack/spec)
  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via @objectstack/runtime, packages/spec)
  • content/docs/concepts/north-star.mdx (via packages/runtime, @objectstack/spec)
  • content/docs/data-modeling/analytics.mdx (via @objectstack/spec)
  • content/docs/data-modeling/drivers.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/data-modeling/external-datasources.mdx (via @objectstack/spec)
  • content/docs/data-modeling/field-types.mdx (via @objectstack/spec)
  • content/docs/data-modeling/fields.mdx (via @objectstack/spec)
  • content/docs/data-modeling/formulas.mdx (via @objectstack/spec)
  • content/docs/data-modeling/index.mdx (via @objectstack/spec)
  • content/docs/data-modeling/objects.mdx (via @objectstack/spec)
  • content/docs/data-modeling/queries.mdx (via @objectstack/spec)
  • content/docs/data-modeling/schema-design.mdx (via @objectstack/spec)
  • content/docs/data-modeling/seed-data.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation-rules.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation.mdx (via @objectstack/spec)
  • content/docs/deployment/cli.mdx (via @objectstack/spec)
  • content/docs/deployment/index.mdx (via @objectstack/runtime)
  • content/docs/deployment/production-readiness.mdx (via @objectstack/runtime)
  • content/docs/deployment/single-project-mode.mdx (via @objectstack/runtime)
  • content/docs/deployment/tenancy-modes.mdx (via @objectstack/spec)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/deployment/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/deployment/vercel.mdx (via @objectstack/runtime)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/common-patterns.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-reference.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/kernel/cluster.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/kernel/contracts/auth-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/cache-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/index.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/data-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/examples.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sharing-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/services-checklist.mdx (via @objectstack/spec)
  • content/docs/kernel/services.mdx (via @objectstack/spec)
  • content/docs/permissions/authentication.mdx (via @objectstack/runtime)
  • content/docs/permissions/authorization.mdx (via packages/runtime, @objectstack/spec)
  • content/docs/permissions/permission-sets.mdx (via @objectstack/spec)
  • content/docs/permissions/permissions-matrix.mdx (via @objectstack/spec)
  • content/docs/permissions/positions.mdx (via @objectstack/spec)
  • content/docs/permissions/rls.mdx (via @objectstack/spec)
  • content/docs/permissions/sharing-rules.mdx (via @objectstack/spec)
  • content/docs/plugins/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/plugins/development.mdx (via @objectstack/spec)
  • content/docs/plugins/index.mdx (via @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/protocol/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/protocol/diagram.mdx (via packages/spec)
  • content/docs/protocol/kernel/config-resolution.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/http-protocol.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/protocol/kernel/i18n-standard.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/index.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/releases/implementation-status.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/spec)
  • content/docs/releases/v13.mdx (via @objectstack/spec)
  • content/docs/releases/v16.mdx (via @objectstack/spec)
  • content/docs/releases/v17.mdx (via @objectstack/runtime, @objectstack/spec)
  • content/docs/releases/v9.mdx (via @objectstack/spec)
  • content/docs/ui/actions.mdx (via @objectstack/spec)
  • content/docs/ui/apps.mdx (via @objectstack/spec)
  • content/docs/ui/create-vs-edit-form.mdx (via @objectstack/spec)
  • content/docs/ui/dashboards.mdx (via @objectstack/spec)
  • content/docs/ui/field-grouping-and-order.mdx (via @objectstack/spec)
  • content/docs/ui/forms.mdx (via @objectstack/spec)
  • content/docs/ui/index.mdx (via @objectstack/spec)
  • content/docs/ui/public-data-collection.mdx (via @objectstack/spec)
  • content/docs/ui/setup-app.mdx (via @objectstack/spec)
  • content/docs/ui/translations.mdx (via @objectstack/spec)
  • content/docs/ui/views.mdx (via @objectstack/spec)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@github-actions github-actions Bot added documentation Improvements or additions to documentation protocol:data tests protocol:ui labels Aug 7, 2026
@qq9340100 qq9340100 added skip-changeset PR has no user-facing published change; bypasses the changeset gate domain:spec and removed size/m protocol:data tests protocol:ui labels Aug 7, 2026 — with Claude
claude added 2 commits August 7, 2026 13:10
PR #6224(#5553 / #6136)改了 build-docs 的模块描述行布局与裸路径链接改写,
并重写了全部参考页。本分支是后落地方,故按四步走:merge main → 重建 →
check:generated 判定 → --fix 只重生成被证实陈旧的一项。

落点仍是本 sweep 的两张页(os-regen 合并驱动把它们记进 os-regen-pending):
shared/expression.mdx 与 api/endpoint.mdx。新渲染器收掉了行间空行,方言表
因此首次渲染成一张真正的 markdown 表,而不是被空行拆散的六行。

内容核对:方言表 = cel / cron / template(无 js);endpoint 的 type /
target / ApiMapping.transform 三行描述完整存活。

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011M7UwH25Unfi73UHim7ajY
@qq9340100
qq9340100 marked this pull request as ready for review August 7, 2026 13:54
@qq9340100
qq9340100 added this pull request to the merge queue Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

ACCEPT —— sweep 打包试点逐项清单评审(spec 车道 PM,session_011M7UwH25Unfi73UHim7ajY)

逐 job 结论亲读:24 checks 全 completed,22 success + 2 预期 skipped(Console Pin Gate;Check Changeset 按 skip-changeset),ESLint / TypeScript 均 success。按 #6243 试点判据逐项过:

判据 结果
一 dev、一 PR、七条 Fixes ✓(#6085/#6081/#6161/#6137/#6065/#5676/#5886)
七项之外零改动 ✓ 13 文件与逐项表一一对应,无 rider
逐项 before/after 可核 ✓ 每项落点+依据在表;#6137 实读 file-description.ts 核实、#6065 按裁决 B、#6161 保留判定词只清零人口 —— 三处判断面全部按裁决/实测而非转述
反向验证 ✓ 两处事先声明方向、按预告变红、带反空断言
生成物纪律 ✓ 恰一项陈旧、--fix 重生成、邻居条目存活、未手改;#6224 串行提示已写明(后落地方重跑 gen)
范围外不夹带 #6287 单开且查重在案

一处维护者否决窗(dev 如实上报、不自定级,本席维持现状):#6065 的三段 describe 会随发布包 JSON Schema description 出货 —— 当前按 #6243 规格走 skip-changeset;若维护者认为该留 CHANGELOG 痕,改挂 @objectstack/spec patch changeset 即可,一行事。

已翻 ready + auto-merge。试点结论:跑顺 —— 按维护者 2026-08-07 指令,SKILL 的「发现分诊轮 sweep 打包」条款将起草(排在 #6301 出队后,同分支串行)。


Generated by Claude Code

Merged via the queue into main with commit 0261016 Aug 7, 2026
25 checks passed
@qq9340100
qq9340100 deleted the claude/issue-6243-description-truth-sweep branch August 7, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation domain:spec protocol:data protocol:ui size/m skip-changeset PR has no user-facing published change; bypasses the changeset gate tests

Projects

None yet

2 participants