Skip to content

docs: add the North Star (the maintainer's text, verbatim) - #19134

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-19131-north-star
Sep 18, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
claude/issue-19131-north-star

Conversation

@os-elon-musk

Copy link
Copy Markdown
Collaborator

Fixes #19131

Clause-②: no

One new file — docs/NORTH-STAR.md — carrying the maintainer's North Star text exactly as finalized in chat on 2026-09-18 (「同意,北极星定稿」 · 「其他同意」). Nothing else moves: the pointers in AGENTS.md / SKILL.md / PRIORITIZATION.md and the governed register belong to #18489, which remains open.

Governed by intent — this page is meant to sit above AGENTS.md as the fleet's law. Draft on purpose: the maintainer merges it by hand. No seat readies it, queues it, or arms auto-merge on it.

Byte-for-byte proof

The file's content is the fenced markdown block of #19131's body, extracted mechanically and compared byte for byte. Card body read through the REST proxy (4646 bytes); the extracted block is 3271 bytes over 25 lines, with no trailing whitespace on any line and exactly one terminating newline.

# 1 — read the card body through the REST proxy
curl -sS -H "Authorization: Bearer $GITHUB_TOKEN" \
     -H "Accept: application/vnd.github+json" \
     https://api.github.com/repos/objectstack-ai/objectstack/issues/19131 > card.json
node -e 'process.stdout.write(JSON.parse(require("fs").readFileSync("card.json","utf8")).body)' > card-body.md

# 2 — extract the fenced block, dropping both fence lines
sed -n '/^```markdown$/,/^```$/p' card-body.md | sed '1d;$d' > card-block.md

# 3 — compare
$ diff card-block.md docs/NORTH-STAR.md
$ echo $?
0

$ sha256sum card-block.md docs/NORTH-STAR.md
b94152a07b9fd81aa59e019875aa5a53a00a7c058e53e098bb1b6f65ac6f67a8  card-block.md
b94152a07b9fd81aa59e019875aa5a53a00a7c058e53e098bb1b6f65ac6f67a8  docs/NORTH-STAR.md

$ git show HEAD:docs/NORTH-STAR.md | sha256sum
b94152a07b9fd81aa59e019875aa5a53a00a7c058e53e098bb1b6f65ac6f67a8  -

Two independent extractions were run — the sed range above and a JSON-side split on the fence lines — and both produce the same sha256, so the proof does not rest on one parser. The card body itself was checked for sanitizer damage first: exactly one opening fence and one closing fence, no image-bracket sequence, complete Markdown.

Nothing was reworded, reformatted, translated or annotated: no added heading, date, number, provenance line, status line, table of contents or footer, and no trailing-whitespace "fix".

Gates

Derived, not guessed: node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack (change set docs/NORTH-STAR.md, one path, against merge base 14a762f9f). All 11 derived families were run at 37f1830fd; every exit code captured redirect-then-$?, never through a pipe.

command exit
node scripts/check-ci-filter-parity.mjs 0
node scripts/check-closing-keyword-parity.mjs 0
node scripts/check-closing-keyword-parity.mjs --self-test 0
node scripts/check-comment-mask-corpus.mjs 0
pnpm --filter @objectstack/lint run check:doc-formula-expressions 0
pnpm check:cross-package-test-inputs 0
pnpm check:doc-authoring 0
pnpm check:driver-memory-census 0
pnpm check:nul-bytes 0
pnpm check:refd-timer-probe 0
pnpm check:watch-hint-literal 0

Reconciled with dispatch-gates --ran: 11 derived families accounted for — 11 run, 0 NOT-MEASURED (a DERIVED zero — all 11 recorded an exit code and none of them is 3).

Two readings worth naming:

  • check:doc-authoring is the gate that actually reads this file: its roots are .claude, docs, skills, content, so a hand-written top-level guide under docs/ is corpus. It reports 402 files clean — no bare metadata literals.
  • check:doc-formula-expressions first exited 3 (PREREQUISITE NOT MET — @objectstack/lint resolves to source but its compiled entry point was absent). That is not a finding and measures nothing. @objectstack/formula and @objectstack/lint were built through scripts/pm/os-verify-lock.sh (VERDICT command-exit 0, both runs), after which the gate passed: 22 record-scoped formula examples across 439 files / 1378 TS blocks judged clean.

Outside the derivation, one extra docs audit was run for this doc-only diff: node scripts/docs-audit/check-affected-docs.mjs :: exit 0.

No package build or package test is owed: pnpm-workspace.yaml's globs cover packages/*, its seven nested roots, apps/* and examples/* — none of them reaches repo-root docs/, so this path belongs to no workspace package and there is no affected set to build or test.

Repo-wide lint, narrowed — with the three readings the narrowing needs

Instead of the farm-wide eslint . --no-inline-config, this diff's lint obligation is empty, and that is a measurement rather than a skip:

  1. Population, read off eslint's own config, not guessed: every files: entry in eslint.config.mjs targets **/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs} or a narrower subset of those extensions. No config object matches Markdown.
  2. File count, read off --format json: pnpm exec eslint --no-inline-config --format json docs/NORTH-STAR.md returns one entry with errorCount: 0 and the single message "File ignored because no matching configuration was supplied." — the diff contributes 0 linted files.
  3. Invariance for untouched files: eslint.config.mjs is not in this diff, and this repo runs one config that never enables type-aware linting for any file (no parserOptions.project, no typed rules — stated in the config's own header comment and true of every languageOptions block, each carrying only ecmaVersion and sourceType). A Markdown file outside the lint population therefore cannot move the verdict on any file this diff does not touch.

Readings 1–3 were taken at 37f1830fd, the final commit. turbo ls --affected is deliberately not cited: with no base to compare against in a fresh worktree it printed all 81 packages, which is a fallback, not a reading.

Changeset

skip-changeset, measured rather than assumed: an npm tarball can only contain files inside its own package directory, and docs/NORTH-STAR.md sits outside every workspace package (globs above). Cross-checked from the other side — no package manifest in packages/**, apps/**, examples/** or skills/** has a files[] entry referencing a docs/ path — and the repo-root manifest is private: true. Nothing published moves, so there is no released surface for a changeset to describe.

Acceptance notes

维护者速读(草稿)

改了什么:新增一个文件 docs/NORTH-STAR.md,内容就是你 2026-09-18 在聊天里定稿的那段北极星文本,逐字节照搬(sha256 与卡面 fenced block 一致,diff 为空)。没有第二个文件改动。

为什么改:把这段定稿从聊天记录落成仓库里的一页,让它能被引用、被门禁读到、被后续的指针改动挂上。文本本身没有任何加工——没加标题、日期、编号、来源行、状态行、目录或页脚。

风险与代价(含回滚):风险接近零——这是一页文档,不改任何代码或已发布产物,skip-changeset 已实测(不在任何包目录内)。回滚就是删这一个文件,无迁移、无依赖。唯一的暂态是:在 #18489 把指针改完之前,AGENTS.md 第 8 条仍指向旧的 content/docs/concepts/north-star.mdx,两页会并存一段时间。

席位意见:(留空,待席位定稿)

你要做的:读这一页,不同意的地方直接删行或改行——这是你的文本,不是我的草案,所以我没有替你改任何一个字。定稿后由你手动合并(按设计留作 draft:这页是 AGENTS.md 之上的法,没有任何 AI 席位会 ready、入队或武装它)。


Generated by Claude Code

@os-elon-musk os-elon-musk added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Sep 18, 2026 — with Claude
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

维护者速读(终稿)· skills 席 · 2026-09-18T22:31Z

这个 PR 做什么:把您在聊天里定稿的北极星原文放进 docs/NORTH-STAR.md,一字不改 —— 我做了字节级比对,与定稿完全一致(sha256 b94152a07b9fd81a…)。它是 AGENTS.md 之上的法;登记进受管面、AGENTS.md 与 SKILL.md 的指针、PRIORITIZATION.md 改指针,都在 #18489 那个 PR 里,不在这里。

一件要您知道的事:仓里已经有一份 content/docs/concepts/north-star.mdx(141 行,讲的是架构方向:Zod first、元数据即应用契约、运行时形状、环境产物),AGENTS.md 第 8 条 Prime Directive 指着它,ROADMAP 和 spec / formula 源码注释也引它。两份「北极星」会并存:新的这份管产品目标与优先级,旧的那份管架构原则。#18489 会把 AGENTS.md 的指针分清楚;要不要把旧的那份改名(比如「架构原则」)以免重名,请您在聊天里说一句。

验收:ACCEPT 5736970442;派生门禁 11 / 11 绿;CI 17 成功 · 11 跳过 · 5 在跑、0 红(2026-09-18T22:30Z);Fixes #19131Clause-②: no

请您做的一件事:直接合并(您的手;这是法,不走席位落地)。要改哪一行,在 PR 里删换后再合。


Generated by Claude Code

@os-zhuang
os-zhuang marked this pull request as ready for review September 18, 2026 22:41
@os-zhuang
os-zhuang enabled auto-merge September 18, 2026 22:41

Copy link
Copy Markdown
Collaborator Author

Landing provenance — the approver's hand (skills seat, session_01BTeBejoPUvRHN8WdAJC6oF) · 2026-09-18T22:42Z

os-zhuang APPROVED this PR at 2026-09-18T22:41Z (review 5253232181 on the head 37f1830fdf), flipped it ready and armed auto-merge in the same minute — the whole landing act by the approver, nothing for this seat to add. Readings at that moment: ACCEPT 5736970442 on #19131; --pair 19134 exit 0; check-governed-merges.mjs --pr 19134 → NOT governed by the register as it stands (the file joins Tier H through #19133 / #18489), so the queue guard has nothing to hold; CI 19 success · 9 skipped · 2 in progress, nothing red. The merge queue rebuilds and merges; residue on #19131 follows the merge. The file lands byte-identical to the maintainer's finalized text (sha256 b94152a07b9fd81a…, verified by the seat).


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 size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: docs/NORTH-STAR.md — the maintainer's North Star, verbatim (finalized in chat 2026-09-18)

3 participants