Skip to content

feat(skills): decision-inbox standard four-facet block + pinned digest + batch adjudication; objectos repo:objectos seat A-upgrade - #9769

Merged
os-support-ai merged 1 commit into
mainfrom
claude/issue-9761-decision-inbox-digest
Aug 19, 2026
Merged

feat(skills): decision-inbox standard four-facet block + pinned digest + batch adjudication; objectos repo:objectos seat A-upgrade#9769
os-support-ai merged 1 commit into
mainfrom
claude/issue-9761-decision-inbox-digest

Conversation

@os-support-ai

Copy link
Copy Markdown
Collaborator

Fixes#9761
Fixes#9699

One PR closing the two-card bundle (same hot file, .claude/skills/pm-dispatch/SKILL.md — the ONLY file changed).

What landed (per the 2026-08-18 rulings quoted verbatim on the cards)

#9761 — decision inbox:

  1. Standard four-facet block (升级与决策 section): every needs-user-decision card carries at filing — a machine-findable fixed marker (<!-- os-decision-facets -->, written escaped, read back to verify survival; extraction greps the literal text so it does not depend on the comment shape surviving), the four facet lines, a one-line recommendation, lettered options (A/B/…), and a mandatory confidence-gap line ("what this analysis cannot see"). Case law recorded without card numbers (id-lint): on 2026-08-15 two four-facet-aligned, low-risk, green, reviewed PRs were voided for direction premises the analysis could not see — the recommendation is INPUT, never clearance; the human floor is unchanged.
  2. Pinned digest view: one pinned digest issue; the triage Routine refreshes its BODY (edit history = archive) via generic query + marker extraction, verbatim block paste, zero paraphrase; authority stays on the cards — the digest is a generated view, never a second tracker (one-board rule).
  3. Batch-adjudication channel: one maintainer comment on the digest may rule many cards; triage transcribes each ruling onto its card under the existing atomic four-stroke, quoting the batch comment as provenance.
  4. Triage duty line (分诊座位职责): block validation at inbox intake + low-frequency legacy backfill + digest refresh.
  5. Written script-upgrade trigger: inbox sustains >20 open, or refresh cadence reaches daily ⇒ freeze extraction into a scripts/pm/ rollup script — a recorded exit, not a redesign.

#9699 — multi-repo section: the stale 「⛔ 现在不铸 repo:objectos 座位」 sentence is replaced — the seat EXISTS (maintainer exercised the registered A-upgrade early, 2026-08-18); objectos execution moves from the devx fold-in to the repo:objectos execution seat under the same execution-seat discipline as the other repo:* seats (⛔ no domain:*/type/grading production); triage stays four-repo. The honest-machinery clause is updated: merge queue + required build + merge_group are LIVE as of 2026-08-18; no-changeset-flow / no-packages/ kept. The now-contradictory "objectos 执行虽折入 devx" parenthetical in the ACCEPT path-fork paragraph was trimmed in the same stroke (same stale premise, same file, zero net lines).

Ratchet payment table (682 ceiling; file lands at 681 — headroom 1; ⛔ no re-wrap used)

ChangeΔ linesPayment / surviving copy (named, full text survives there)
升级与决策: standard-block paragraph (7 → 12)+5
升级与决策: digest + batch + script-trigger paragraph+7
分诊座位职责: duty line+2
multi-repo objectos sentence (6 → 6)0in-row amendment
ACCEPT-fork objectos parenthetical0in-row amendment
复核 "PR 形态与范围" bullet (6 → 2)−4references/review-checklist.md (PR 形态 / Part-of 收口 / 范围检查+skip-changeset 分流 / 测试证据 bullets) + references/landing-operations.md §B (Part-of close-out strokes)
复核 "绿色输出" bullet (2 → 1)−1references/review-checklist.md (拒收用例 / N 包全绿方向与时序 / pin 翻转 / 边界后收益 bullets)
复核 "证伪是好运行" bullet (2 → 1)−1references/review-checklist.md (premise falsification + acceptance-criteria falsification bullets)
复核 "删除与二进制" bullet (2 → 1)−1references/review-checklist.md (dead-code deletion / +0−0 NUL / sweep grouping bullets)
入队 os-regen bullet (3 → 2)−1references/landing-operations.md §A (silent-drop mechanism, four-step order, both traps)
入队 "跟到 MERGED" bullet (6 → 3)−3references/landing-operations.md §B (flip 定点判据, two readings, subscribe/unsubscribe/archive rules, post-landing re-check)
入队 draft-parking + serial-relay bullet (5 → 2)−3references/landing-operations.md §C/§D (signature-level red list; per-leg full lap, semantic handoff, two-sided prose-interlock assignment)
云卡四课 (5 → 4)−1references/dispatch-runbook.md 云卡四课 items 1–4 (lesson titles kept in SKILL.md)
Net−1all cuts are true dedups; every referenced file's own ceiling untouched (all still at headroom 0, verified by the ratchet run below)

Governed-surface pre-flight (first live use of the --test predicate in a delivery)

node scripts/pm/check-governed-merges.mjs --test .claude/skills/pm-dispatch/SKILL.mdexit 3:

governed-surface predicate: 1 of 1 path(s) hit the register (5 surfaces, repo-agnostic).
⛔ GOVERNED — a human merge is the review record for this PR (#9495 regime).
No seat flips it ready, enqueues it, or arms auto-merge (AGENTS.md Prime Directive #14).
One hit governs the whole PR — 「混合 diff 一条命中即整 PR 分叉」; proportion is not a question.
.claude/** ×1 — the agent instruction tree (skills, agents, hooks, settings)

⇒ This PR stays DRAFT, human merge only. No seat flips it ready, queues it, or arms auto-merge.

Gates (all run at the final head, 78f9daa; clean working tree)

Derived with node scripts/pm/dispatch-gates.mjs (no paths — script took the changeset from the merge base itself; 1 path, 6 families named, matching the dispatch list):

GateResultExit
check:pm-skill-ratchet (node scripts/pm/check-skill-line-ratchet.mjs)SKILL.md 681/682, all references at their ceilings0
check:pm-skill-id-lint9 files clean0
check:skill-frame-sync4 copies isomorphic, 3 axes, 4 count mentions agree0
check:skill-frame-freshnessframe unchanged vs origin/main0
check:pm-governed-merges (CI form, --self-test)77 assertions pass0
check:doc-authoring377 files clean0
check:doc-formula-expressions (pnpm --workspace-concurrency=2 --filter @objectstack/lint run …, dependency closure built first)22 + 9 examples clean, self-test 24 cases0
node scripts/check-nul-bytes.mjs6237 files, no raw control bytes0

.claude/-only diff ⇒ nothing publishes ⇒ skip-changeset label (applied read-modify-write on the PR, then read back — this repo's real mechanism).

Sanitizer note: the marker literal appears in this body only in escaped form on purpose; in SKILL.md itself it is the raw literal inside a code span (a repo file, not a GitHub body).


Generated by Claude Code

…t block, pinned digest view, and batch-adjudication channel; objectos upgrades to a full repo seat
Implements the 2026-08-18 rulings on .claude/skills/pm-dispatch/SKILL.md:
- Standard four-facet block: fixed machine-findable marker, four facet
lines, one-line recommendation, lettered options, and a mandatory
confidence-gap line; recommendation is INPUT, never clearance.
- Pinned digest issue refreshed by the triage Routine (generic query +
marker extraction, verbatim paste, zero paraphrase); authority stays
on the cards (one-board rule); maintainer batch-adjudicates in one
comment; triage transcribes each ruling under the atomic four-stroke.
- Triage duty line: block validation at intake, low-frequency legacy
backfill, digest refresh.
- Written script-upgrade trigger: >20 sustained open or daily refresh
cadence freezes extraction into a scripts/pm/ rollup script.
- Multi-repo section: the repo:objectos execution seat EXISTS
(maintainer exercised the registered A-upgrade early); execution
moves out of the devx fold-in; triage stays four-repo; the honest-
machinery clause now records the live merge queue + required build +
merge_group.
Ratchet: 681/682 — additions paid by true dedups whose full text
survives in the named references files (payment table in the PR body).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WswfK2yNYT9hNnMH6TzAwL
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/sskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants

@os-support-ai@claude