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

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