Repository navigation
docs(north-star): align the North Star to ontology-as-software — five edits - #22179
Merged
Merged
Conversation
… edits Five maintainer-specified edits to docs/NORTH-STAR.md, nothing else: the 「我们是什么」 line, a two-user sentence at the end of 「做出来的是什么」, a four-promises sentence at the end of 「唯一的度量,那条路」, a 「你拥有」 row at the end of step ④, and two phrase swaps in priority item 4. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VYToj6PQehTEKNrjGM9akg
…order Two text closures on the five-edit change, nothing else: - the 「你拥有」 row (step ④) now ends with the file's own marker for unwritten checklist items, 「清单项待写」 (line 13's convention), instead of 「待清单扫描建项」; - priority rule 4 moves the 「Agent 越权时被权限挡住并留痕」 clause to the end of its sentence, removing the double em-dash. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VYToj6PQehTEKNrjGM9akg
Contributor
Author
维护者速读(终稿)· PR #22179(#22172,北极星对齐「本体即软件」)项目总监席 · 改了什么(一个文件,五处,+5/−4):
按你的原话没改的: 不做「元数据」→「本体」全文替换;不加「核心优先于投影」的次序规则;能力清单不重排;「现在不做」「阶段姿态」「仪器为车队服务」「账本」不动。 为什么改: 定位 10 月 3–5 日已落在 README、文档首页、本体概念页与博客,北极星停在 10 月 1 日,AI 席位读到两套身份;「你拥有」此前没有任何一步、任何一条优先级、清单里也没有一项。你在聊天里的两句定案:「本体即软件,未来是 agent 操作,短期之内还是需要人操作,这些也重要吧?视图、仪表盘、应用、翻译」「采纳」。 风险与代价(含回滚): 纯文本,无代码、无 changeset( 席位意见: ACCEPT。建议批准。 你要做的: 审阅五处文字,同意则 APPROVE 并合并;或 APPROVE 后回一句,本席翻 ready 入队。 Generated by Claude Code |
os-zhuang
approved these changes
Oct 8, 2026
os-zhuang
marked this pull request as ready for review
October 8, 2026 05:38
os-zhuang
enabled auto-merge
October 8, 2026 05:38
This was referenced Oct 8, 2026
This was referenced Oct 8, 2026
akarma-synetal
pushed a commit
to akarma-synetal/framework
that referenced
this pull request
Oct 9, 2026
…bjectstack-ai#22205) Fixes objectstack-ai#22194 Clause-②: no ## What changes `docs/NORTH-STAR.md`, 「优先级」 item 4 gains one sentence: the maintainer's own text, inserted byte-for-byte as the card's "The one edit, and only this" section gives it, between the item's penultimate sentence and its final sentence 「写给 AI 的文档与 skills 说错一句,等于产品缺陷。」. No other byte of the file moves. Docs only; Tier H governed surface, so this PR stays draft and lands on an authorized APPROVED review or the maintainer's hand. The inserted sentence, copied programmatically out of the card body (never retyped) and compared byte-equal to the dispatch order's quotation: ```text 人用的那一半也有标准:作者不写一行界面代码,得到的界面要像设计师经手过——同一套设计系统、同一种版式;看着不对与渲染不出同样是缺陷,在「看到」那一步就被拒。 ``` **Insertion point.** The card's quoted context predates PR objectstack-ai#22179 (objectstack-ai#22172 is landed, merge `5d1d1aca6d`). On `origin/main` `13aea18959` the penultimate sentence ends 「……Agent 越权时被权限挡住并留痕。」 rather than 「……真能做的。」. The card's rule is applied as written (between the penultimate and the final sentence), and the 「,Agent 越权时被权限挡住并留痕」 clause objectstack-ai#22179 added stays exactly where it is. ### Item 4, before (`origin/main` `13aea18959`) ```text 4. 因为写的是 AI、用的也是 AI:本体既要 AI 能写——错的必须被响亮拒绝并给处方,永不静默落库;也要人与 Agent 能用——声明了的对象、动作、agent / tool / skill 元数据在运行时兑现,MCP 面暴露的就是应用真能做的,Agent 越权时被权限挡住并留痕。写给 AI 的文档与 skills 说错一句,等于产品缺陷。 ``` ### Item 4, after (this branch) ```text 4. 因为写的是 AI、用的也是 AI:本体既要 AI 能写——错的必须被响亮拒绝并给处方,永不静默落库;也要人与 Agent 能用——声明了的对象、动作、agent / tool / skill 元数据在运行时兑现,MCP 面暴露的就是应用真能做的,Agent 越权时被权限挡住并留痕。人用的那一半也有标准:作者不写一行界面代码,得到的界面要像设计师经手过——同一套设计系统、同一种版式;看着不对与渲染不出同样是缺陷,在「看到」那一步就被拒。写给 AI 的文档与 skills 说错一句,等于产品缺陷。 ``` ## Verification (head `40ae9bc4dd`) - `git diff --stat` against base `13aea18959`: 1 file, `docs/NORTH-STAR.md`, +1/-1; `git diff -U0` shows exactly one hunk (`@@ -117 +117 @@`, item 4). - `grep -c -F` of the full sentence in `docs/NORTH-STAR.md`: 0 at base, 1 at head. - Byte proof: deleting the sentence's 226 UTF-8 bytes from the head file reproduces the base blob `824f77668f` exactly, so the insertion is the whole diff. - The insertion ran as a script that refused to write unless the anchor (the sentence ending 「留痕。」 directly followed by 「写给 AI 的文档」) occurred exactly once, then checked the result on disk. - 「美观」 occurs 0 times in the file before and after; no section, number or per-screen rule added. - Punctuation: the sentence carries the card's bytes as-is. It uses ASCII comma, colon and semicolon (U+002C, U+003A, U+003B) with CJK 、。「」 and em dashes, which is the file's own convention (0 occurrences of the full-width U+FF0C, U+FF1A, U+FF1B before and after). - No raw control bytes (`grep -naP` over the file: no match). Gates: `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derives 13 families for this change set (5 by path, 8 whole-tree). All 13 run on head `40ae9bc4dd`, every one exit 0: ```text node scripts/check-ci-filter-parity.mjs :: exit 0 node scripts/check-closing-keyword-parity.mjs :: exit 0 node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0 node scripts/check-comment-mask-corpus.mjs :: exit 0 pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0 pnpm check:cross-package-test-inputs :: exit 0 pnpm check:doc-authoring :: exit 0 pnpm check:driver-memory-census :: exit 0 pnpm check:gitlink-declared :: exit 0 pnpm check:nul-bytes :: exit 0 pnpm check:pm-governed-merges :: exit 0 pnpm check:refd-timer-probe :: exit 0 pnpm check:watch-hint-literal :: exit 0 ``` `--ran` reconciliation over that record: "13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN" (a derived zero: all 13 carry an exit code, none is 3). `check:doc-formula-expressions` first exited 3 (PREREQUISITE NOT MET, the fresh worktree had no `@objectstack/formula` / `@objectstack/lint` dist; nothing measured); after `turbo run build --filter=@objectstack/formula --filter=@objectstack/lint` under the verify lock it ran and exited 0. Outside the derived 13 (artifact rosters, wide-population families, CI type-check lanes) is CI's. No changeset: `docs/NORTH-STAR.md` ships from no package. The root package is private, and no `package.json` `files[]` names the file (positive control: 69 package manifests with a `files[]` were read by the same grep). Hence `skip-changeset`. ## Acceptance notes - The dispatch order's mechanism assumption 3 expected "full-width punctuation as the file already uses". Measured: the file uses ASCII comma/colon/semicolon throughout, and so does the card's sentence, so the card's bytes already match the file; nothing was converted. - Three package files mention `docs/NORTH-STAR.md` in comments only (`packages/cli/src/utils/author-time-rules.ts`, `packages/cli/test/verify-author-time-stage.test.ts`, `packages/lint/src/validate-security-posture.runtime-surface.test.ts`); none reads the file, and the clause the lint test cites (「声明了的…在运行时兑现」) is unchanged. ## 维护者速读(草稿) ### 改了什么 北极星文件 `docs/NORTH-STAR.md` 的「优先级」第 4 条加了一句话,就是您在卡上同意的原文,一字不差:用户界面也有标准,作者不写一行界面代码,得到的界面也要像设计师处理过(同一套设计系统、同一种版式);界面看着不对,和渲染不出来一样算缺陷,在「看到」这一步就被拒。这句话放在「Agent 越权时被权限挡住并留痕」之后、「写给 AI 的文档与 skills 说错一句」之前。文件其他内容一个字节都没动。 ### 为什么改 在这个平台上,应用作者不写界面代码,也改不了平台自带的弹窗,所以每一个渲染出来的界面都是平台的责任。以前「渲染不出来」会在「本地跑起来、看到」这一步被拦下,「渲染得难看」却拦不住;这句话把两者放到同一个关口。它只承诺两件能检查的事(一套设计系统、每类界面一种版式),不写「美观」二字,避免变成没完没了的审美卡。 ### 风险与代价(含回滚) 纯文档改动,不影响任何发布的包,也不改变运行时行为,所以不需要 changeset。代价在后面:今后定级和复核时,「看着不对」的界面也会按缺陷排队,工作量会增加;具体检查哪些界面种类、怎么判定,由配套的测试清单卡负责,不写在北极星里。回滚:撤销(revert)这个 PR 即可,只涉及一行。 ### 席位意见 ### 你要做的 核对上面「before / after」两段,确认这句话的原文和位置无误后,在本 PR 上点 Approve。 --- _Generated by [Claude Code](https://claude.ai/code/session_01CXydFDyiQwNbGFkmwrcRQq)_ Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #22172
Clause-②: no
Docs-only. Five maintainer-specified edits to
docs/NORTH-STAR.md(the maintainer's own text); every other byte of the file is unchanged.docs/NORTH-STAR.mdis a Tier H governed surface: this PR stays draft and no seat readies, queues or merges it — the maintainer approves and merges by hand.The five edits (line numbers at
91854796c, base7ef50a4fb)轴 · 功能点(业务语言) · 清单区 · 项 id:- devpath · 你拥有:定义在你的仓库里可 diff,整个本体可导出、可在没有我们的情况下自托管跑起来 · platform-core + cli · ontology-export-roundtrip, artifact-reproducible-build, standalone-boot-no-cloud(待清单扫描建项)git diff -U0 7ef50a4fbshows exactly five hunks (@@ -3 +3 @@,@@ -7 +7 @@,@@ -11 +11 @@,@@ -95,0 +96 @@,@@ -116 +117 @@).git diff --statis one file, +5 / -4, and--ignore-all-space --statreads the same, so no whitespace or line-ending change rides along; the file keeps its trailing newline and carries no CR bytes.Premise check: every anchor the card quotes was present verbatim on
origin/mainat7ef50a4fb(the file's last landing is still78e3e3a62, no same-day churn), so there is no quote difference to report.Deliberately NOT changed (the maintainer's four)
Verification
Row grammar: every
-row in the file (80 after the edit) splits on·into exactly four fields, the new row at line 96 included; its 清单区 cellplatform-core + cliuses the sameA + Bshape line 91 already uses (cli + platform-core).Control bytes:
grep -naPover the control-character class on the file is clean (exit 1, no match).Gates: derived with
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackfrom the real changeset against merge base7ef50a4fb(13 commands, byte-identical to thedocs/NORTH-STAR.mdpath form), run on HEAD91854796c, each exit code captured before any pipe:node scripts/check-ci-filter-parity.mjsnode scripts/check-closing-keyword-parity.mjsnode scripts/check-closing-keyword-parity.mjs --self-testnode scripts/check-comment-mask-corpus.mjspnpm --filter @objectstack/lint run check:doc-formula-expressions@objectstack/formulaand@objectstack/lintnot built; nothing measured); afterpnpm exec turbo run build --filter=@objectstack/formula --filter=@objectstack/lintunder the shared verify lock (lock verdict exit 0, 88 s held): rerun exit 0pnpm check:cross-package-test-inputspnpm check:doc-authoringpnpm check:driver-memory-censuspnpm check:gitlink-declaredpnpm check:nul-bytespnpm check:pm-governed-mergespnpm check:refd-timer-probepnpm check:watch-hint-literalnode scripts/pm/dispatch-gates.mjs --ranover that record: exit 0 — 「13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN」, the zero derived from recorded exit codes (none is 3).Drift from the dispatch's gate snapshot (taken earlier the same day): the derived list carries
pnpm --filter @objectstack/lint run check:doc-formula-expressionswhere the snapshot namedpnpm --filter @objectstack/lint run check:doc-authoring, and it addspnpm check:watch-hint-literal; both derived commands were run.package.jsonhas nocheck:*script namednorth-star.NOT MEASURED locally, by design (CI owns them): the whole-tree
pnpm lint, the type-check lanes and the Test Core shards the derivation lists as CI-only. This diff touches no package source, so the dependency closure of affected packages is empty and no packagebuild,testortypecheckis owed by the diff itself; the one build run here (@objectstack/formula+@objectstack/lint, under the shared verify lock) was a declared prerequisite of the doc-formula gate, not a consequence of the change.Acceptance notes
ontology-export-roundtrip,artifact-reproducible-build,standalone-boot-no-cloud) do not exist yet indocs/qa/platform-checklist/. The row marks them 「待清单扫描建项」 per the maintainer's text, while line 13 of the file spells the convention for unwritten items as 「清单项待写」. Observation only, maintainer wording kept verbatim; no script underscripts/reads the row ids, so no gate is affected. Carrier: the checklist-author sweep that creates the three items. Noted, not filed.维护者速读(草稿)
改了什么
只改
docs/NORTH-STAR.md,五处,每处都是你在卡上给的原文:① 「我们是什么」整行换成「本体即软件」的定义与投影句;② 「做出来的是什么」段末追加「两类用户」一句,能力清单一字不动;③ 「唯一的度量」段末追加「四个承诺各由一步兑现」一句;④ 第 ④ 步清单末尾加一行「你拥有」(devpath · platform-core + cli,三个待建清单项);⑤ 优先级第 4 条两处措辞:「元数据既要 AI 能写」→「本体既要 AI 能写」,「也要 AI 能用」→「也要人与 Agent 能用——Agent 越权时被权限挡住并留痕」。其余字节不动;你点名不改的四项(不全文替换 元数据→本体、不加「核心优先于投影」、能力清单不重排不删、「现在不做」「阶段姿态」「仪器为车队服务」「账本」)都没碰。为什么改
北极星从「应用开发平台」对齐到「本体即软件」:把产品定义、两类用户、四个承诺与路的六步一一对应写进去,并把「你拥有」(可 diff、可导出、可自托管)列为路上的一个功能点。这是卡 #22172 的全部内容,不多不少。
风险与代价(含回滚)
纯文档,无代码、无发布面、无 changeset(
skip-changeset)。风险在措辞:第 ④ 步新行的三个清单项 id 还不存在,行尾已标「待清单扫描建项」;文件第 13 行对未写项的约定拼法是「清单项待写」,这里按你的原文保留,没有门禁读这些 id。回滚 = revert 这一个 commit,无副作用。席位意见
(留空,席位填)
你要做的
在本 PR 上 Approve 并合并(Tier H;席位不翻 ready、不入队)。若第 ④ 步新行的「待清单扫描建项」要改成文件既有的「清单项待写」拼法,请在评论里说一句,席位代改。
Generated by Claude Code