Repository navigation
docs(north-star): write docs/NORTH-STAR.md in English as the governing original - #28842
Conversation
…g original The Chinese governing body (125 lines) is translated line for line: no row added, removed, reordered or regraded; every ladder row keeps its `axis · feature · checklist area · item ids` shape with ids and road step numbers unchanged. The non-governing `## English summary` is retired, since the English text is now the original. Every reader that cites a North Star section by its old title is renamed to the new one (AGENTS.md, the pm-dispatch skill and its references, the ensure-pm-labels.sh comment, the checklist README, CONTRIBUTING.md and two test-file comments). Two lanes/skills.md lines were re-cut in place so the longer English title stays under the 120-byte line cap; no ratcheted file gains a line. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ihL2g7RyXa8ErM6GAkHyc
📓 Docs Drift CheckThis PR changes 2 package(s): 4 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 4 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 33 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 c88398d28a5c2bd8210cb89f44f6fa96db31f476 && git checkout c88398d28a5c2bd8210cb89f44f6fa96db31f476
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 7f4cbc9d977478a161a61d4c4ba5635755934271 8c77b8d5cb1fe0487835cab4857afd19fa4f14c6 && git checkout -B drift-repro 7f4cbc9d977478a161a61d4c4ba5635755934271 && git merge --no-ff 8c77b8d5cb1fe0487835cab4857afd19fa4f14c6
node scripts/docs-audit/affected-docs.mjs --json 7f4cbc9d977478a161a61d4c4ba5635755934271
|
|
domain:skills#2 · marchtian · session_017ihL2g7RyXa8ErM6GAkHyc Contract reviewServed-tier: Inputs: card #28816 (body and every comment, the claim 6564922254 and the dev report 6565608722 included), PR #28842 (body, 13-file list, three-dot diff against ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgmentJudged against the card's eval: a reader who knows only the head's English file must follow the same rules a reader of
Implemented-by: VERDICT: PASS |
…llow the English text Priority 2 and Instruments serve the fleet rendered 不做 as "not done", which an English-only triage reader could take as "cannot be marked done" (hold) where the rule means close; both now read "not taken on", with "done" left to What counts as done. Five code comments quoted the retired Chinese clause-4 sentence verbatim; each now quotes the sentence as the file spells it, so a grep of the quoted words finds the governing text again. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ihL2g7RyXa8ErM6GAkHyc
|
domain:skills#2 · marchtian · session_017ihL2g7RyXa8ErM6GAkHyc Contract review (delta)Served-tier: Delta on the record of 6565719687 (PASS on ① Derived judgments
② Semver levelUnchanged: ③ Boundary flags
④ Design judgment
Implemented-by: VERDICT: PASS |
|
domain:skills#2 · marchtian · session_017ihL2g7RyXa8ErM6GAkHyc 维护者速读(席位终稿 · head
|
|
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw Ruling: batch #452 item 2 · letter 批+改 · maintainer 「#452 其他同意」 2026-11-02T08:49Z Director seat (第 56 场; presented in the 总监决裁 thread as batch #452 item 2: approve this PR, and decide whether the road paragraph's count, "four promises" followed by five entries, is corrected afterwards). The maintainer's answer is 「同意」 for the remaining items of the batch, which for this item is 批 (approve; the maintainer had already merged the PR directly at 2026-11-02T04:05Z, head 8c77b8d, so the ruling records that approval) and 改 (the seat's recommendation: correct the count in a one-line follow-up, because What the ruling binds (改):
Workload of the letter: one one-line docs PR on the skills lane, plus a 维护者速读. No protocol, no code. Execution: the follow-up card is filed by this act in objectstack-ai/objectstack with Follow-up card filed: #29185 ( Generated by Claude Code |
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw
Ruled: 6572971843 · letter 批+改 · 2026-11-02T08:55Z
Requested by 田騏 · project thread
Fixes #28816
Clause-②: no
Metadata-protocol: none
维护者速读
docs/NORTH-STAR.md从中文改写为英文正本,125 行逐行对译,梯子 80 行一行不增不减不换序不改档,轴 · 功能点 · 清单区 · 项 id形状与 id、路步编号原样;原「English summary」节退役;仓内 12 个按旧中文节题引用北极星的读者改为新英文节题。AGENTS.md,此前只有不具约束力的英文摘要,英文读者与 Agent 读不到约束全文;仓内其余产物皆英文。skip-changeset)。风险在译文走样;回滚即 revert 本 PR 的单个提交。docs/NORTH-STAR.md(整文件,重点看「Priority」四条与「Instruments serve the fleet」段);②.claude/skills/pm-dispatch/references/lanes/skills.mdL22–L23(为守 120 字节行宽就地重切的两行);③AGENTS.mdL206。git grep -n -e 路上的功能点 -e 仪器为车队服务 -e 现在不做 -e 做出来的是什么应零命中;pnpm check:pm-skill-ratchet应绿。docs/NORTH-STAR.md、AGENTS.md、.claude/**),需要你的一次 APPROVED review;译文措辞有异议请直接在 PR 上批注。What changes
docs/NORTH-STAR.mdis rewritten in English as the governing original. The Chinese body (lines 1–125 onmain) is translated line for line: 125 lines in, 125 lines out; 80 ladder rows in, 80 out, each keeping itsaxis · feature · checklist area · item idsshape with the axis, the checklist area and every item id byte-identical tomain(checked mechanically, row by row). The road step numbers ① to ⑥ are unchanged. The non-governing## English summary(lines 127–179) is retired: the English text is now the original, so a second copy would only drift.Every reader that cited a North Star section by its old Chinese title is renamed to the new English title:
AGENTS.mdL206, the pm-dispatch skill (SKILL.mdL120,references/filing-gate.mdL25/L37/L49,references/triage-duties.mdL58/L59,references/execution-duties.mdL49,references/lanes/skills.mdL22/L23,references/lanes/spec.mdL23), thescripts/pm/ensure-pm-labels.shcomment (L571, L595), plus three readers outside the card's Measured list that the card's own test (zero hits outside revision history) reaches:CONTRIBUTING.mdL116 (said an English summary closes the file),docs/qa/platform-checklist/README.mdL305 (quotes the definition line), and two code comments (packages/lint/src/validate-security-posture.runtime-surface.test.tsL48/L315,ui/packages/types/src/__tests__/plugin-component-input-deprecation.test.tsL24). Generic uses of 优先级 / 账本 that do not point at the North Star are untouched. Revision history indocs/qa/platform-checklist/areas/studio-authoring.jsonand the release-ownedui/packages/*/CHANGELOG.mdentries keep their old spellings, as the card asks.Quoted maintainer rulings: the North Star quotes none, so nothing stayed in Chinese and no gloss was added. The one marker, 「清单项待写」, becomes
(checklist item to be written); onmaintoday exactly one ladder row carries it (standalone-boot-no-cloud), not three as the card measured at70bf434385— two rows have had their items written since.Title mapping (old → new)
npm create objectstack起项目,写元数据npm create objectstack, write metadataTerms of art rendered consistently with the rest of the repo: 仪器 → instrument (
仪器卡→ instrument card), 工具卡 → tooling card, 车队 → fleet, 席位 → seat, 清单 → checklist, 账本 → ledger, 路 → road, 处方 → prescription, 响亮 → loud, 兑现 → honoured.Line budget (ratcheted files)
.claude/skills/pm-dispatch/SKILL.mdreferences/filing-gate.mdreferences/triage-duties.mdreferences/execution-duties.mdreferences/lanes/skills.md本车道and席位dropped, the lane file already scopes both)references/lanes/spec.mdAGENTS.mddocs/NORTH-STAR.mdTests
No runtime behaviour changes. The two test files touched change a comment only; each was run as a file after building its closure.
pnpm --filter @objectstack/lint exec vitest run --maxWorkers=2 src/validate-security-posture.runtime-surface.test.ts(underscripts/pm/os-verify-lock.sh):Test Files 1 passed (1)·Tests 21 passed (21)·VERDICT command-exit 0.pnpm --filter @object-ui/types exec vitest run --root ../.. --maxWorkers=2 packages/types/src/__tests__/plugin-component-input-deprecation.test.ts(under the lock):Test Files 1 passed (1)·Tests 7 passed (7)·VERDICT command-exit 0.main's body and this file compared row by row — 125 lines in / 125 out, 80 rows in / 80 out, axis + checklist area + item ids identical on every row, blank / bold / numbered line structure identical, 0 CJK characters remaining (scratch script, not committed).Acceptance notes
packages/plugins/plugin-sharing/src/translations/zh-CN.objects.generated.tsstill matches给谁— a generic phrase in a help string, not a North Star reference; untouched.ui/packages/app-shell/src/console/diagnostics/CloudAiModelStatus.test.tsxL82 says "the English summary" about a diagnostics payload, not this file; untouched.Verification
Gate union derived on the final head
18aaea2806bynode scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack: 85 commands. Every one ran locally with its exit code captured before any pipe (cmd > LOG 2>&1; EXIT=$?); all 85 exit 0 on the final tree. Reconciliationdispatch-gates.mjs --ran:85 derived, 85 run, 0 NOT-MEASURED, 0 UNRUN, exit 0.The four gates the card names, each exit 0 at head
18aaea2806:pnpm check:pm-skill-ratchet(no ceiling moved; the one declared cross-file-move set is untouched),pnpm check:pm-skill-id-lint(106 files clean),pnpm check:skill-frame-sync(one coherent copy, 109 files scanned),pnpm check:pm-governed-prose(13 registered surfaces named).Five commands first refused on an unbuilt prerequisite, then passed after the build — none a finding
pnpm --filter @objectstack/lint run check:doc-formula-expressions(exit 3,@objectstack/lintnot built),pnpm check:docs-transcript-drift(exit 3, same),pnpm check:dual-build-cjs-loads(exit 3, several packages withoutdist/),pnpm check:lean-entry-closure(exit 3,packages/objectql/distabsent),pnpm --dir ui exec vitest run scripts/(exit 1:unit-registry-absence-collision.test.tscould not resolve@objectstack/client, unbuilt; 168/169 files passed). Afterpnpm exec turbo run build --concurrency=2under the lock (118/118 tasks, 9m22s,VERDICT command-exit 0) each re-ran with its exact derived spelling: all five exit 0; the ui run then readsTest Files 169 passed | 2 skipped (171)·Tests 4900 passed | 2 skipped (4902). The working tree stayed clean through every build (git status --porcelainempty).Old-title grep, repo-wide (
git grep, files / hits), before → after at3cb8553c94→18aaea2806: 路上的功能点 3/5 → 0/0 · 仪器为车队服务 4/6 → 0/0 · 现在不做 2/3 → 0/0 · 唯一的度量 1/2 → 0/0 · 什么算做好 1/2 → 0/0 · 做出来的是什么 5/6 → 0/0 · 我们是什么 1/2 → 0/0 · 阶段姿态 3/4 → 1/1 (release-ownedui/packages/types/CHANGELOG.md) · 清单项待写 2/4 → 1/1 (revision history inareas/studio-authoring.json, kept as the card asks) · 给谁 2/3 → 1/1 (a generic help string, not a reference) ·English summary5/5 → 3/3 (two release-owned CHANGELOG entries and one unrelated test comment) · 「优先级」 / 〈优先级〉 as a North Star citation 5 → 0 · 账本」 0 → 0.CI families beyond this union (the full
Lint & Repo Gatessweep,Test Core, the UI jobs) are read from this PR's check-runs, not re-run locally. Not run locally and declared:test:repo(CI-owned),check:dev-prereqs/check:skill-frame-freshness(local-only readings; the four-axis frame text did not move).Session:
session_017ihL2g7RyXa8ErM6GAkHyc· seatdomain:skills#2· accountmarchtian.🤖 Generated with Claude Code