From 244e3ae4f9e141d1ce8eb9047cbfcd85a6e4fe74 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 1 Sep 2026 05:58:16 +0000 Subject: [PATCH] =?UTF-8?q?docs(agents):=20PD=20#14=20=E2=80=94=20a=20gene?= =?UTF-8?q?rator-certified=20regeneration=20clears=20the=20queue=20with=20?= =?UTF-8?q?zero=20approvals?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The queue guard's `merge_group` leg now installs the generator toolchain, so the register's `verify` rows can actually recompute at queue time. PD #14's parenthetical still told every seat the opposite ("the queue-time leg installs no dependencies and never evaluates the byte-equality lift"), which reads as an instruction to pre-request a pinned maintainer approval for a pure regeneration that needs none. Reflowed at net zero (1162/1162 lines, every line within the 120-byte budget). Both unchanged facts stay: a hand-authored governed diff still needs an authorized approval pinned to the current head, and no agent seat submits it. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Msg17tAHJ3jVTYFgHydCm2 --- AGENTS.md | 18 +++++++++--------- scripts/pm/check-skill-line-ratchet.mjs | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d774affc2b..cc8a595a8d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -301,15 +301,15 @@ localStorage / auth gotchas. land, split the governed files into their own PR. **Those four lift only for an authorized approval pinned to the current head** (2026-08-27; guard 2026-08-28): APPROVED, by an account in `GOVERNED_APPROVERS` (`scripts/pm/check-governed-queue-guard.mjs`), `commit_id` = that sha — then the queue lands it, re-validating as - it merges, and any later push expires it. Even a **pure-regeneration** PR requests its pinned approval proactively, - before queueing — the queue-time leg installs no dependencies and never evaluates the byte-equality lift - (2026-08-29). Unpinned, the maintainer's bypass direct merge (人工直合) is the only landing. ⛔ **No agent seat - submits an approving review on a governed-surface PR, under any account** — an authorized account is - agent-operated too. Nothing else substitutes: under #13 an accepted ADR *is* the decision, so merging one is the act - of adopting a governance position — the one class of change about which "CI is green" carries no information at - all (a thorough, fully-green ADR draft has been closed by the maintainer on demand grounds no gate could evaluate). - The other surfaces are reserved for a reason of the same shape, spelled out in the audit header below; the published - catalog also lands in codebases this repo cannot see. + it merges, and any later push expires it. Hand-authored governed content needs that approval; a PR whose only + governed paths are register rows the queue leg regenerates byte-exact clears with zero approvals (2026-09-01) — an + uncertified recompute, drift or a hand-authored sibling keeps it governed. Unpinned, the maintainer's bypass direct + merge (人工直合) is the only landing. ⛔ **No agent seat submits an approving review on a governed-surface PR, + under any account** — an authorized account is agent-operated too. Nothing else substitutes: under #13 an accepted + ADR *is* the decision, so merging one is the act of adopting a governance position — the one class of change about + which "CI is green" carries no information at all (a thorough, fully-green ADR draft has been closed by the + maintainer on demand grounds no gate could evaluate). The other surfaces are reserved for a reason of the same + shape, spelled out in the audit header below; the published catalog also lands in codebases this repo cannot see. **Already armed or queued when you read this?** ⚠️ Converting the PR back to **draft** is the only action that reliably removes it from the merge queue; `disable_pr_auto_merge` alone drops the arming but **not** queue diff --git a/scripts/pm/check-skill-line-ratchet.mjs b/scripts/pm/check-skill-line-ratchet.mjs index 11201ab618..37eaffb336 100644 --- a/scripts/pm/check-skill-line-ratchet.mjs +++ b/scripts/pm/check-skill-line-ratchet.mjs @@ -403,10 +403,10 @@ export const CEILINGS = new Map([ // prose amended to the 2026-08-27 approve-gated queue ruling — the superseded // "Reviewed + approved + fully green does not override this" replaced by the // GOVERNED_APPROVERS pinned-approval landing path, the agent-never-approves - // prohibition, and the pure-regeneration proactive-approval line (the queue - // leg installs no dependencies, so the byte-equality lift never evaluates at - // queue time); § Skills' twin sentence reconditioned in place at net 0. All - // three PD #14 paragraphs measure 0 lossless-rewrap headroom under wrapLine + // prohibition, and the pure-regeneration proactive-approval line (the queue leg + // then installed nothing, so the byte-equality lift never evaluated; SUPERSEDED + // 2026-09-01/#14067); § Skills' twin sentence reconditioned in place at net 0. + // All three PD #14 paragraphs measure 0 lossless-rewrap headroom under wrapLine // and the card's seven-cut ledger was exhausted first: held draft +2, the // proactive-approval rider +2 (a 161-byte minimal variant still wraps to +2; // anything smaller drops ruled content), fold 0. Maintainer batch ruling