docs: add the North Star (the maintainer's text, verbatim) - #19134
Conversation
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BTeBejoPUvRHN8WdAJC6oF
维护者速读(终稿)· skills 席 · 2026-09-18T22:31Z这个 PR 做什么:把您在聊天里定稿的北极星原文放进 一件要您知道的事:仓里已经有一份 验收:ACCEPT 5736970442;派生门禁 11 / 11 绿;CI 17 成功 · 11 跳过 · 5 在跑、0 红(2026-09-18T22:30Z); 请您做的一件事:直接合并(您的手;这是法,不走席位落地)。要改哪一行,在 PR 里删换后再合。 Generated by Claude Code |
|
Landing provenance — the approver's hand (skills seat, os-zhuang APPROVED this PR at 2026-09-18T22:41Z (review 5253232181 on the head Generated by Claude Code |
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 inAGENTS.md/SKILL.md/PRIORITIZATION.mdand the governed register belong to #18489, which remains open.Governed by intent — this page is meant to sit above
AGENTS.mdas 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.
Two independent extractions were run — the
sedrange 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 setdocs/NORTH-STAR.md, one path, against merge base14a762f9f). All 11 derived families were run at37f1830fd; every exit code captured redirect-then-$?, never through a 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-expressionspnpm check:cross-package-test-inputspnpm check:doc-authoringpnpm check:driver-memory-censuspnpm check:nul-bytespnpm check:refd-timer-probepnpm check:watch-hint-literalReconciled 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-authoringis the gate that actually reads this file: its roots are.claude,docs,skills,content, so a hand-written top-level guide underdocs/is corpus. It reports 402 files clean — no bare metadata literals.check:doc-formula-expressionsfirst exited 3 (PREREQUISITE NOT MET —@objectstack/lintresolves to source but its compiled entry point was absent). That is not a finding and measures nothing.@objectstack/formulaand@objectstack/lintwere built throughscripts/pm/os-verify-lock.sh(VERDICTcommand-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 coverpackages/*, its seven nested roots,apps/*andexamples/*— none of them reaches repo-rootdocs/, 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:files:entry ineslint.config.mjstargets**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}or a narrower subset of those extensions. No config object matches Markdown.--format json:pnpm exec eslint --no-inline-config --format json docs/NORTH-STAR.mdreturns one entry witherrorCount: 0and the single message "File ignored because no matching configuration was supplied." — the diff contributes 0 linted files.eslint.config.mjsis not in this diff, and this repo runs one config that never enables type-aware linting for any file (noparserOptions.project, no typed rules — stated in the config's own header comment and true of everylanguageOptionsblock, each carrying onlyecmaVersionandsourceType). 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 --affectedis 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, anddocs/NORTH-STAR.mdsits outside every workspace package (globs above). Cross-checked from the other side — no package manifest inpackages/**,apps/**,examples/**orskills/**has afiles[]entry referencing adocs/path — and the repo-root manifest isprivate: true. Nothing published moves, so there is no released surface for a changeset to describe.Acceptance notes
AGENTS.mdPrime Directive Convert to monorepo with scoped packages #8 still sends readers tocontent/docs/concepts/north-star.mdx, so after this lands two north-star documents coexist until the pointers are rewired. That rewiring — AGENTS.md, the skill files,PRIORITIZATION.mdand the governed register — is explicitly the other card's scope, and skills(pm-dispatch): ADR-0136 D2 becomes the triage protocol —Journey:line, journey bands, cross-lane product-first order, journeys feed the queue #18489 remains open as its carrier. Not filed as a defect: nothing is broken today, and the successor is already queued.维护者速读(草稿)
改了什么:新增一个文件
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