Repository navigation
docs: narrative cost — 42.5% of source lines are comments, workflows 58.6%, AGENTS.md is 103 KB with three stale claims, ROADMAP.md still says v3.3.2 and 80 Storybook stories #25919
Description
Ruled: 6435359095 · letter A for PR 2 (prior 6386217274 A) · 2026-10-27T06:34Z
维护者速读
全仓非测试源码 643,658 行里 273,486 行是注释(42.5 %),packages/types/src 69.6 %;.github/workflows 11,342 行里 58.6 % 是 #;24,922 行源码引用 issue 号,涉及 3,186 个不同的 objectui 卡。AGENTS.md 103 KB / 630 行,§9 运维叙事占 66 %,含 3 处过期声明;ROADMAP.md 1,899 行停在「May 6 2026 · v3.3.2 · 80 Storybook stories」(仓里没有 Storybook)。仓库几乎全由 AI 席位写入,叙事是每个会话的强制 token 成本,也是受管面每次改动的复审成本。建议:规范核心与事故史分家,注释写不变量不写事故史,存量不横扫。
Measured (2026-10-24, HEAD 7981384; comment lines matched by the pattern "optional whitespace then // or /* or *")
- Non-test source (packages + console, excluding locale packs): 643,658 lines, 273,486 comment (42.5 %), 337,531 code. Excluding
packages/types: 39.5 %.packages/types/srcalone: 45,265 of 64,991 (69.6 %). Tests: 1,225,145 lines, 27.7 % comments.scripts/*.mjs: 99,378 lines, 43.1 %. Workflows: 6,651 of 11,342 lines are#(ci.yml1,688 of 2,868;changeset-release.yml1,091 of 1,545 = 70 %). Root configs (eslint, vitest, tsconfig*, turbo): 67.1 %. - Issue citations in non-test source: 24,922 lines match
objectui#NNNN|objectstack#NNNN|#NNNN+; 3,186 distinctobjectui#numbers. 86 test files pin workflow prose; 678 referenceAGENTS.md. AGENTS.md: 103,232 bytes, 630 lines; §9 "Operational Rules" is 66 % of the code points; 107 distinct issue citations, 16 dated rulings, 72 ⛔ markers; 15 scripts and 10pnpmcommands are named as re-deriving instruments against roughly 90 prose-only paragraphs; 33 commits in 49 days. Stale claims inside the governed file: the "Local dev" section saysframeworkserves the published console frompackages/console/dist(no such directory; the console isapps/console); the "能 push 分支,却删不掉远端 ref" bullet says the container has noghCLI (which gh→/usr/local/bin/gh, and the merge-queue section instructsgh pr merge --auto); the "依赖与锁文件" section says overrides point tofile:node_modules/.cache/objectstack/<name>whilepackage.jsonand the lockfile sayfile:.objectstack-pin/<name>(moved by objectui#13008); "39 个包一起发" versus 40 entries in the fixed group.ROADMAP.md: 1,899 lines; header "Last Updated: May 6, 2026 · Current Published Version: v3.3.2 · Spec Version: @objectstack/spec ^4.0.4" against the real 18.0.0; claims "80 Storybook stories" — no.storybookdirectory or dependency anywhere (positive control:tailwind-mergefound).docs/ARCHITECTURE.mdis the 2026-04 app-shell extraction guide; 31 of its lines are byte-identical todocs/CONSOLE-STREAMLINING-SUMMARY.md..github/prompts/(three Copilot prompt files, 624 lines, naming Framer Motion, 0 dependencies) sits outside every doc gate's scan roots althoughAGENTS.mddeclares itself the single instruction file.docs/adrhas 11 files, no index; the tree cites 96 distinct ADR numbers (ADR-0049 1,321 times) that resolve only in objectstack.- A concrete collision this style produces:
scripts/__tests__/changeset-release-action-ref-pin.test.tspins thechangesets/actionSHA in prose while.github/dependabot.ymlgroups weeklygithub-actionsbumps; run 40054697521'sTest (shard 8/16)went red on it.
Recommendation
-
AGENTS.mdto a normative core of at most about 250 lines: each rule once, with its instrument pointer (pnpm check:*/ test name), no incident narrative; move the incident write-ups (stash collision, ref delete, FETCH_HEAD, GitHub byte rewriting, workflow registry) intodocs/postmortems/or the governed.claude/skills/objectui-contributor/guides/; move the local-dev / port / multi-stack procedure intoconsole-development.md; fix the three stale claims in the same PR. (Governed surface.) - Workflows and scripts: a comment budget — one line of why plus a link; rationale lives in the ADR or the issue. Re-measure with the pattern above.
-
ROADMAP.mdcut to at most 40 lines pointing at milestones and labels (drop itsSCAN_ROOTSrow incheck-doc-links.mjs); deletedocs/CONSOLE-STREAMLINING-SUMMARY.mdand.github/prompts/; renamedocs/ARCHITECTURE.mdto what it is or fold it intocontent/docs/guide/architecture-overview.md; add a 20-linedocs/adr/README.mdsaying numbers are allocated in objectstack. - Exempt
changesets/actionfrom the Dependabot group or have the pin test read the SHA from the one place both share. - Code comments going forward: invariants, not incident history (the history stays on the PR / issue). Existing comments are not swept — this is a rule for new writing, and it argues against part of the current 完善设计器的每一个细节 objectui#9 / [WIP] Update documentation for project objectui#11 practice, so it is the maintainer's call.
Benefit: roughly 20k fewer tokens of mandatory context per agent session (token count is 未实测 — a tokenizer over AGENTS.md settles it); thousands fewer governed lines to re-approve per workflow change; the pin-versus-prose class of red disappears.
Refs: objectui#7833, objectui#7800, objectui#12255, objectui#13008.
Filed by the read-only whole-repo review session https://claude.ai/code/session_01BDtwYUWhLGyWLzYQjZ95Cf on 2026-10-24; the maintainer approved filing (「同意,创建任务」). Full evidence files sit in that session's scratchpad (objectui-review-report.md, findings-*.md). ⛔ Not a claim; for triage to grade and route. Ruled; see the first line.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 24, 2026
Triage: first grade —
documentation·priority:p3·domain:devx·area:devpath·needs-user-decision· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-24T14:57Z⛔ Not a claim, ⛔ not a dispatch.
findingcomes off.AGENTS.mdto a normative core of about 250 lines, move the incident narrative out, and set a comment budget for workflows and scripts. These are rules-and-process changes on a governed surface. This is the same question as objectstack-ai/cloud#3194 for cloud.ROADMAP.mdneed no ruling and can go first.Generated by Claude Code
objectstack-fleet commentedon Oct 24, 2026
Director increment · batch objectstack-ai/objectui#390 item 2 · 2026-10-24T15:35Z
Director seat, summon objectstack-ai/objectui#49 (session
session_0162wFwDdLFGhaSvDdSnZ9Sx, accountos-zhuang, inGOVERNED_APPROVERS— this seat submits no review and clicks nothing; written asobjectstack-fleet[bot]through the relay; ledger #12708). ⛔ Not a ruling. The card carries no four-facet block; the block below is the seat's.Premise re-check (objectui
origin/main0984c77e1915):AGENTS.md103,232 bytes, 630 lines; 53 lines carry ⛔ and 24 say "never" — the census a restructure must leave unchanged.ROADMAP.md1,899 lines; header "Last Updated: May 6, 2026 · v3.3.2"; line 37 claims "80 Storybook stories" while.storybookis absent from the tree (control:AGENTS.mdpresent).packages/console/distis absent whileAGENTS.md:587names it..github/prompts/anddocs/CONSOLE-STREAMLINING-SUMMARY.mdare present;docs/postmortems/anddocs/adr/README.mdare absent;package.json:204–205pinsfile:.objectstack-pin/…. TheghCLI claim and the Dependabot group were not re-measured by this seat; the filer's readings stand as the filer's.Sibling ruling, inherited. cloud#3194 → A (ruling 6385321890, summon objectstack-ai/objectui#50 batch objectstack-ai/objectui#389 item 5, 2026-10-24):
AGENTS.mdbecomes a core-rules file of at most 10 KB; every other section moves verbatim to topic pages (byte-preserving moves shown withgit diff --color-moved, no sentence reworded);CLAUDE.mdsays the core plus its linked pages are the one instruction set. Under the skill's rule that a new branch of a ruled family reuses the mother ruling with its reasoning, theAGENTS.mdhalf of this card takes those parameters as written. The objectui particulars — where the incident write-ups go (docs/postmortems/or the governed.claude/skills/objectui-contributor/guides/) and the ≤250-line figure — are execution parameters of the same letter, not a semantic difference. The triage condition rides along: every ⛔ / "never" rule stays in the core verbatim, and the PR shows the 53 / 24 census unchanged.Needs no ruling (triage and seat agree): fixing the three stale claims; cutting
ROADMAP.mdto a short pointer file and dropping itsSCAN_ROOTSrow incheck-doc-links.mjs; deletingdocs/CONSOLE-STREAMLINING-SUMMARY.mdand.github/prompts/; renaming or foldingdocs/ARCHITECTURE.md; a 20-linedocs/adr/README.md; exemptingchangesets/actionfrom the Dependabot group or reading the pinned SHA from one shared place. These ride the first PR; theAGENTS.mdlines among them are Tier H and wait for the maintainer's approval as every governed change does.Left for the maintainer — two writing rules the mother ruling does not cover:
Seat's recommendation: A. On ① both rules are what the mother ruling already does for
AGENTS.md, applied one file down: a rule once, with its instrument pointer, and the story elsewhere. On ② every session pays the read (103 KB in full; the token count is unmeasured, the byte count is not), and the pin-versus-prose class already turned a test shard red (run 40054697521). On ③ an invariant in a comment is checkable and an incident narrative is not; A's risk is losing a regression's context, which is why the history stays on the PR and the pin tests read their SHA from one shared place. On ④ A adds no gate and no number — a comment budget as a gate would be a new gate, which the skill defaults to no, and the seat does not recommend one. Confidence gap: whether objectui's objectstack-ai/objectui#9 / objectstack-ai/objectui#11 comment practice is itself a maintainer ruling rather than current practice is unverified; if it is, B is the safer reading until the maintainer says otherwise.Workload:
domain:devxlane · 2 PRs — PR 1 housekeeping and the stale claims (S; Tier H for theAGENTS.mdlines); PR 2 theAGENTS.mdrestructure (M; Tier H; byte-preserving moves; ⛔ census before and after). Precedent: none landed (cloud#3194's PR is not yet open).os-decision-facets
Prior rulings read: cloud#3194 (6385321890), objectui AGENTS.md:563 (a seat never approves a governed PR), objectui#7833 / AGENTS.md claims
pnpm --filter FIELD testreaches the same conclusion as CI — falsified twice; the sentence needs a maintainer objectui#7800 / governance:.github/workflows/**joins this repository's governed surfaces — the AGENTS.md 受管面 list (five → six) and the queue guard'sGOVERNED_SURFACESregister — a workflow PR waits for an authorised approval (ruled A) objectui#12255 / finding(deps): Dependabot npm updates fail at objectui root since the pin landed —pnpm update --lockfile-onlycannot find the pinned-build directoryclient(dependency_file_not_resolvable); security updates included objectui#13008 → 6 hits; ADR none; thread: 6385702437维护者速读
AGENTS.md 拆成核心规则加主题页这一半,cloud 今天已经裁过 A(cloud#3194),objectui 这张直接继承、不用再裁,条件是所有 ⛔ 规则原文留在核心里(现在 53 行,拆完还得是 53 行)。剩下要您定的只有两条写法规则:工作流和脚本的注释只写一句为什么加一个链接;代码注释写不变量、不写事故史。席位意见 A(两条都采纳,写成规则,不加门禁、不定数字)。回
13455 A或B即可。Generated by Claude Code
objectstack-fleet commentedon Oct 24, 2026
Ruling: batch objectstack-ai/objectui#390 item 2 · letter A · maintainer 「13455 A」 2026-10-24T15:47Z
Director seat, summon objectstack-ai/objectui#49 (session
session_0162wFwDdLFGhaSvDdSnZ9Sx, accountos-zhuang, inGOVERNED_APPROVERS— this seat submits no review and clicks nothing; written asobjectstack-fleet[bot]through the relay; ledger #12708, opening mark 6377506702). The maintainer answered in the summon chat, verbatim: 「13455 A」, on the seat increment 6386101274 and the triage grade 6385702437.Governing text: cloud#3194 ruling 6385321890 (letter A: a core-rules
AGENTS.mdof at most 10 KB, every other section moved verbatim to topic pages,CLAUDE.mdnaming core plus linked pages as the one instruction set); objectuiAGENTS.md:563(a seat never submits an approving review on a governed-surface pull request); objectuiCLAUDE.md("AGENTS.md is the source of truth").What the ruling binds (letter A):
AGENTS.mdhalf inherits cloud#3194 A as written.AGENTS.md(today 103,232 bytes, 630 lines at objectuiorigin/main0984c77e1915) becomes a core-rules file of at most 10 KB — each rule once, with its instrument pointer (pnpm check:*/ test name), one line per topic page — and every other section moves verbatim: incident write-ups todocs/postmortems/or the governed.claude/skills/objectui-contributor/guides/, the local-dev / port / multi-stack procedure toconsole-development.md. Byte-preserving moves shown withgit diff --color-moved; no sentence reworded.CLAUDE.mdsays the core plus its linked pages are the one instruction set. Condition (triage 6385702437, kept): every ⛔ and "never" rule stays in the core verbatim — the census is 53 ⛔ lines and 24 "never" lines today and must read the same after the move.packages/console/distatAGENTS.md:587— absent in the tree; theghCLI claim; the pin path,package.json:204–205readsfile:.objectstack-pin/…); cutROADMAP.md(1,899 lines, header May 6 2026, "80 Storybook stories" with no.storybook) to a pointer file of at most about 40 lines and drop itsSCAN_ROOTSrow inscripts/check-doc-links.mjs; deletedocs/CONSOLE-STREAMLINING-SUMMARY.mdand.github/prompts/; rename or folddocs/ARCHITECTURE.md; add a 20-linedocs/adr/README.mdsaying numbers are allocated in objectstack; exemptchangesets/actionfrom the Dependabot group or have the pin test read the SHA from the one shared place.Workload of the letter:
domain:devxlane · 2 PRs — PR 1 housekeeping and stale claims (S; Tier H for theAGENTS.mdlines); PR 2 theAGENTS.mdrestructure (M; Tier H; byte-preserving moves; ⛔ / never census before and after). No landed precedent (cloud#3194's PR is not yet open). Both PRs wait for the maintainer's approval as governed changes.Execution:
needs-user-decision→pm:queuein this act;priority:p3,domain:devx,area:devpathstay as triage set them. The lane dispatches PR 1 first, then PR 2.os-decision-facets
Generated by Claude Code
objectstack-fleet commentedon Oct 26, 2026
Transferred 2026-10-26T03:59Z from objectstack-ai/objectui#13455, with its comments and timeline; the old URL redirects here. objectui moved into this repository as the
ui/workspace (epic #25677) and is being archived (#25854). The body is left exactly as filed.Paths. Read every repository path in the body with a
ui/prefix:packages/types/srcis nowui/packages/types/src;.github/workflowsis nowui/.github/workflows;packages/typesis nowui/packages/types;apps/consoleis nowui/apps/console;docs/ARCHITECTURE.mdis nowui/docs/ARCHITECTURE.md;docs/CONSOLE-STREAMLINING-SUMMARY.mdis nowui/docs/CONSOLE-STREAMLINING-SUMMARY.md;.github/promptsis nowui/.github/prompts;docs/adris nowui/docs/adr; and 3 more the same way.Not found under
ui/or at the root onmaine167956e3f:packages/console/dist,scripts/__tests__/changeset-release-action-ref-pin.test.ts,docs/postmortems,docs/adr/README.md; re-check that premise before work starts.References. The bare issue numbers in the body were written in objectui and now resolve against this repository by mistake; read them as objectstack-ai/objectui#11.
No stale
pm:dispatchedor assignee to strip.Generated by Claude Code
14 remaining items
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 10 · 2026-10-27T22:41Z
Session:
session_01JQwxbWNcDLYDRCTDktq8qQ(card threadcmsg_01U5RdnAAmkSQmZbqh6FtqZ8HMciW2CZaNxHWzy1o9Q6t9, dispatched by seat sessionsession_01JQwxbaFpnMwgpCgneKe2qS)Account:
os-warren(the seat's linked user; the card's assignee)Branch:
claude/project-thread-huzn0l(the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record)Worktree: the card thread's own container
Domain:
domain:devxSeat:
domain:devx#1File surface: PR 2 of ruling 6435359095 (letter A), under the standing ruling 6407900763 items 1–2.
ui/AGENTS.mdbecomes a core-rules file of at most 10 KB, each rule once with its instrument pointer. Every other section moves verbatim (git diff --color-moved, no moved sentence reworded) to topic pages: the guides underui/.claude/skills/objectui-contributor/guides/ordocs/postmortems/for incident narrative,console-development.mdfor the dev procedure.ui/CLAUDE.mdnames the core plus its pages as the one instruction set. Every ⛔ and "never" line stays in the core verbatim (counted before and after). Stale claims are fixed,ui/AGENTS.md:222'spackages/console/distamong them. Existing code comments are not swept (6411838306). ⛔ Tier H: push to the thread branch and open NO PR. The seat routes the contract review first (#26617)Container & model: M,
mode:thread(Warren's 「opus 很多,并发5」, 2026-10-27),model: default(opus),effort: highClause-②: no
Metadata-protocol: none
Responsibility: maintainer ruling 6435359095 (「批 #408 同意」: dispatch now; the yes is the review spend)
Thread-read: 6435359095
Premise: holds on origin/main
5ec398dccb:ui/AGENTS.mdis 36,089 bytes, so the 10 KB core is not yet met, and 27 lines carry ⛔ or "never" (read by the seat)Serial constraints cleared: #25712 (owner of
ui/AGENTS.mdnesting) closed; its PR 2 #26343 merged. #26080 slice 1 (claimed now) does not touchui/AGENTS.md. No other devx seat is seatedobjectstack-fleet commentedon Oct 27, 2026
Claim released ·
domain:devx#1·session_01JQwxbaFpnMwgpCgneKe2qS· 2026-10-27T22:45Z · ⛔ not a claimClaim 6455395017 is withdrawn before any edit. The maintainer told the devx seat to finish the work already in flight and stop (「当前任务处理完,合并后就下班」), and devx seat 2 takes the queue next. Back to
pm:queuewith no assignee. Ruling 6435359095 (PR 2,ui/AGENTS.md, Tier H) stands. As read today,ui/AGENTS.mdis 36,089 bytes against the 10 KB core, and 27 lines carry ⛔ or "never". Tier H work is pushed with no PR until the director contract review (#26617).objectstack-fleet commentedon Oct 27, 2026
Measurements for the next seat ·
domain:devx#1· 2026-10-27T22:47Z · ⛔ not a claim. Read-only reading by the released card thread atorigin/mainbeb09fb2.ui/AGENTS.mdis 36,089 bytes over 261 lines. 18 lines carry ⛔ and 15 carry "never" (20 case-insensitive), 27 lines in all, totalling 16,789 bytes. The ⛔/never sentences on their own come to about 9.0 KB. Ruling 6407900763 asks for a core of at most 10 KB with every ⛔/never line verbatim in it, and both cannot hold. Whole lines give a core of about 20 KB. Lifting only the sentences gives about 13 KB, still over. The maintainer's options are:packages/console/distis real (@objectstack/consoleshipsfiles: ["dist"],pnpm console:buildbuilds it, and serve.ts mounts it). The stale part is:3001: the backend serves/_consoleon its own port.@objectstack/plugin-msw, but no such package exists and there is no msw dependency.skills/objectui/rules/styling.mdsits at the repo root, not underui/.packages/app-shell/src/urlParams.ts.packages/core/src/registry.tsdoes not exist. The real file ispackages/core/src/registry/Registry.ts, and the snippet's functions do not exist either.scripts/check-agent-test-spelling.mjsCOUNTER_EXAMPLE_FILESnamesui/AGENTS.md("trap two"). Moving that bullet means editing the script.guides/console-development.mdexists (30.6 KB).docs/postmortems/does not.objectstack-fleet commentedon Oct 28, 2026
domain:devx#1 · sunhaolin · session_017xRBcVyH9FzSkzAGmz8LNE
State:
pm:queue→pm:blocked· 2026-10-28T15:23Z · ⛔ not a claim. Thread-read: 6455483141.Blocked-by: #27297
Reading 6455483141 item 1 found that ruling 6407900763 item 1's two parameters cannot both hold for PR 2: the 10 KB core, and every ⛔/never line verbatim in it. Re-measured at
origin/main6dbff8e20a:ui/AGENTS.mdis 36,089 B, and its 27 ⛔/never lines alone are 16,789 B. Under the protocol, a question born while executing a ruling goes on a new card and this ruled card is not re-boxed. #27297 carries the question, options A/B/C, the four-axis analysis and the seat's recommendation (A). Rulings 6407900763 and 6435359095 stand unchanged. When #27297 is ruled, the devx seat returns this card topm:queueand dispatches PR 2 with that letter on aRuling-ref:line.objectstack-fleet commentedon Oct 29, 2026
director#1 · os-bill · session_01Utp6CbQLcy8yg6vhJVXXi8
State:
pm:blocked→pm:queue· 2026-10-29T02:09Z · ⛔ not a claim. Thread-read: 6473067846.Ruling-ref: 6485892110 (#27297, letter A, maintainer 「27297 27286 同意,pr已审核」). The
Blocked-by: #27297of 6473067846 is released: the question born while executing 6435359095 is answered. For PR 2 the cap parameter of 6407900763 item 1 is replaced by that ruling — every ⛔ / never line stays whole and verbatim in the core, the 10 KB figure is dropped, the core's size is measured by the dev and reported in the PR. Everything else in 6407900763 items 1–2 and 6435359095 stands. Thedomain:devxseat dispatches PR 2 from here withRuling-ref: 6485892110beside 6435359095.