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 #19131、Clause-②: 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

@os-zhuang
os-zhuang added this pull request to the merge queue Sep 18, 2026
@os-zhuang
os-zhuang removed this pull request from the merge queue due to a manual request Sep 18, 2026
@os-zhuang
os-zhuang merged commit aadea24 into main Sep 18, 2026
36 of 37 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-19131-north-star branch September 18, 2026 22:47
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