Skip to content

feat(pm): the governed register gains the six nested ui/ workspace rows - #25834

Merged
os-zhuang merged 3 commits into
mainfrom
claude/project-thread-6qe56u
Oct 26, 2026
Merged

os-zhuang merged 3 commits into
mainfrom
claude/project-thread-6qe56u

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Tesla · project thread

Part of #25712 (4b PR 2b: the governed register learns the ui/ workspace).
Part of objectstack#25677.

Clause-②: no
Metadata-protocol: none

维护者速读(草稿)

  • 改了什么: 受管面登记表新增 ui/ 工作区的六行(ui/docs/adr/**、ui/.claude/**、ui/skills/**、ui/AGENTS.md、ui/CLAUDE.md、ui/.github/workflows/**),全部 Tier H,只管 objectstack;CODEOWNERS 同加六行;AGENTS.md 第 14 条与 pm-dispatch 技能的路径分叉段写上这六个面。
  • 为什么改: objectui 合进 ui/ 之后,它原来自己的受管面不能落空;第 16 项裁决(ui/.claude/** 在并入根 .claude/** 之前保持 Tier H)。
  • 风险与代价(含回滚): 两个指令文件都在行数上限,本 PR 不加行、不抬上限,靠原地压缩措辞付账;回滚 = revert 本 PR。main 上还没有 ui/,这六行在 cutover 之前不命中任何路径。
  • 席位意见:(留空)
  • 你要做的: 批准本 PR(Tier H,因为改了 AGENTS.md)。

What changes

  • scripts/pm/check-governed-merges.mjs: six rows on GOVERNED_SURFACES. They are objectui's own register (every root row except the North Star) prefixed with ui/, scoped repos: ['objectstack'], and all Tier H. ui/.claude/** is included, because it stays Tier H until it folds into the root .claude/** (Tesla, 2026-10-25, director item 16).
  • scripts/pm/check-governed-queue-guard.mjs: the CODEOWNERS mirror pins move to the live rows. With the /ui/ lines removed, the file on disk is short exactly one line per row. The "13 surfaces govern objectstack" head is pinned.
  • .github/CODEOWNERS: six /ui/… lines routed to every GOVERNED_APPROVERS account.
  • AGENTS.md Prime Directive feat: Comprehensive CRM example demonstrating all ObjectStack protocol features #14 and .claude/skills/pm-dispatch/SKILL.md (the ACCEPT path fork) name the six globs, as check:pm-governed-prose requires.
    • Both files are at their ceiling (1117/1117 and 319/319 lines). No ceiling was raised; both stay at those line counts, every line at most 120 bytes.
    • In AGENTS.md the paragraph is re-wrapped over its own ten lines. To make room, four clauses come out, quoted as they stood:
      1. — this file is one — after `CLAUDE.md` (AGENTS.md is already in the list).
      2. ; a mixed diff is governed whole on one path hit. (the next paragraph says it again).
      3. When it reds, name the surface here. (the gate's own message says it).
      4. the and table around `GOVERNED_SURFACES`: "The register is the GOVERNED_SURFACES table in" now reads "The register is GOVERNED_SURFACES in".
    • In SKILL.md, one line is paid by joining the install-surface probe line onto the cross-repo unblock criterion two lines above it, which leaves that line's quoted wording intact.

Verification

Gate main + this PR sitting tree + PR 2a + this PR
pnpm check:pm-governed-merges (534 assertions) 0 0
node scripts/pm/check-governed-queue-guard.mjs --self-test (345 cases) 0 0
pnpm check:pm-governed-prose (13 surfaces, both regions) 0 0
pnpm check:pm-skill-ratchet (AGENTS.md 1117/1117, SKILL.md 319/319) 0 0
  • Derived gates (node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack): 54 families, all exit 0 at this head on main e2aaaf1c07 (after PR 2a fix(sdui): the lockstep and manifest gates judge the in-tree ui/ copy when .objectui-sha is absent #25833). --ran reconciles 54 run, 0 NOT-MEASURED, 0 UNRUN. check:doc-formula-expressions needs @objectstack/lint built first.

  • node scripts/pm/dispatch-gates.mjs --self-test (both tiers, run by hand because CI runs the slow tier only on push and schedule): 0, 2182 cases (fast 1917 in 291 s, slow 265 in 875 s), measured on b00fc55c7d + this change; the one commit between that and this base is PR 2a, whose three files this PR does not touch.

  • On main the six rows are inert, because no ui/ path exists there yet.

  • On the sitting tree (cutover c326d2fdf1 + 4a 50bd417d30 + main + PR 2a), node scripts/pm/check-governed-merges.mjs --test:

    • exits 3 (governed, landing tier H) for ui/.claude/x, ui/AGENTS.md, ui/CLAUDE.md, ui/docs/adr/0001-x.md, ui/skills/objectui/SKILL.md and ui/.github/workflows/ci.yml;
    • exits 0 (0 of 1 path governed) for ui/packages/x/src/y.ts.
  • On the sitting tree, check:pm-governed-merges, the queue-guard self-test, check:pm-governed-prose and check:pm-skill-ratchet all exit 0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01A6SEitNngAMugGbuJHWsDS

objectui's own register, carried under ui/ now that its tree is this
repository's ui/ workspace: ui/docs/adr/**, ui/.claude/**, ui/skills/**,
ui/AGENTS.md, ui/CLAUDE.md and ui/.github/workflows/**, all Tier H, scoped
to objectstack. What the register forces comes with them: six CODEOWNERS
lines, the six globs named in AGENTS.md Prime Directive #14 and in the
pm-dispatch ACCEPT path fork (both at their line ceiling, paid in place),
and the self-test fixture rows become pins on the live rows.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A6SEitNngAMugGbuJHWsDS
@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 25, 2026 23:40
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Seat verdict at head 021048c966ed: CLEAN

This head is main 2a61f080 (cutover #25825 + 4a #25745) merged into the 2b commit a2fec850, with no conflicts. The diff against main is still the five files, +73 / −60. This tree carries the real ui/ workspace, so the rows are live here: ui/docs/adr/** 11 files, ui/.claude/** 14, ui/skills/** 27, ui/.github/workflows/** 26, plus ui/AGENTS.md and ui/CLAUDE.md.

node scripts/pm/check-governed-merges.mjs --test <path> (every verdict line reads "13 surfaces govern objectstack"):

Path Exit Verdict
ui/.claude/x 3 governed, landing tier H
ui/AGENTS.md 3 governed, landing tier H
ui/CLAUDE.md 3 governed, landing tier H
ui/docs/adr/0001-x.md 3 governed, landing tier H
ui/skills/objectui/SKILL.md 3 governed, landing tier H
ui/.github/workflows/ci.yml 3 governed, landing tier H
ui/packages/x/src/y.ts 0 0 of 1 path governed
Gate Exit Reading
node scripts/pm/check-governed-merges.mjs --self-test 0 534 assertions; the live generator certified this tree
node scripts/pm/check-governed-queue-guard.mjs --self-test (the CODEOWNERS mirror) 0 345 cases
pnpm check:pm-governed-prose 0 both instruction surfaces name all 13 surfaces that govern objectstack
pnpm check:pm-skill-ratchet 0 AGENTS.md 1117/1117 and .claude/skills/pm-dispatch/SKILL.md 319/319 lines, headroom 0, no ceiling raised
  • The pre-push hooks passed, including check:commit-card-trailers.
  • node scripts/pm/dispatch-gates.mjs --commands on this head derives the same 54 families that all exited 0 at a2fec850 on e2aaaf1c (--ran 54 / 0 / 0). The full 54 sweep was not re-run on this base.

Part of #25712.


Generated by Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A6SEitNngAMugGbuJHWsDS
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Seat verdict refreshed at head f12a12e2134e: CLEAN

main 90a34e20 (PR B #25827) is merged into the previous head 021048c9 with no conflicts. The diff against main is still the five 2b files, +73 / −60.

  • node scripts/pm/check-governed-merges.mjs --self-test: 0, 534 assertions.
  • --test: exit 3 at landing tier H for ui/.claude/x, ui/AGENTS.md, ui/CLAUDE.md, ui/docs/adr/0001-x.md, ui/skills/objectui/SKILL.md and ui/.github/workflows/ci.yml; exit 0 for ui/packages/x/src/y.ts. Every verdict reads "13 surfaces govern objectstack".
  • check-governed-queue-guard --self-test 0 (345 cases), pnpm check:pm-governed-prose 0 (13 of 13), pnpm check:pm-skill-ratchet 0 (AGENTS.md 1117/1117, SKILL.md 319/319).
  • The pre-push hooks passed.

This supersedes the verdict at 021048c9 above.


Generated by Claude Code

@os-zhuang
os-zhuang merged commit e167956 into main Oct 26, 2026
45 checks passed
@os-zhuang
os-zhuang deleted the claude/project-thread-6qe56u branch October 26, 2026 00:24
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/m 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.

3 participants