From d40bfd2407ca145aba8559f4ea643ec6c89f34a3 Mon Sep 17 00:00:00 2001 From: "Carlos D. Escobar-Valbuena" Date: Mon, 1 Jun 2026 14:33:52 -0500 Subject: [PATCH] docs: add permission-to-document anti-rationalization row (P6 reflex, BRO-1288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Propagates the "documentation is a reflex, not a request — and never a question" rule into the canonical autonomous skill. The row was added to the workspace's gitignored .agents/ snapshot during BRO-1288 but the canonical source (what `npx skills add broomva/autonomous` installs) lacked it. Forbids: "I'll ask the user whether to file this into the knowledge graph." File proactively, report after; user vetoes after, never gates before. Content identical to the row already cross-reviewed (P20, 8/10) and merged in BRO-1288 across broomva/bookkeeping, broomva/bstack (v0.23.1), broomva/workspace. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 1 + SKILL.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7a0165..fd2e7c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) an ## [Unreleased] ### Added +- **Anti-rationalization row: permission-to-document (P6 reflex tightening, BRO-1288)** — "I'll ask the user whether to file this into the knowledge graph" → forbidden. Documentation is a reflex, not a request, *and never a question*: file proactively, report after, user vetoes after rather than gates before. Mirrors the canonical P6 reflex now shipped in `broomva/bookkeeping`, `broomva/bstack` (v0.23.1), and `broomva/workspace`. - **Step 15.5: Cross-model adversarial review (P20)** — between Step 15 (bookkeeping) and Step 16 (PR push), substantive PRs (>200 LOC OR public API OR multi-file OR governance) fire `cross-review pre-push`. Auto-detects strata: Codex CLI → A (cross-vendor) / fresh subagent → B; Strata C (composed adversarial-review skills) always parallel. Anti-slop ≥7/10, max 3 fix rounds, verdict logged in PR. - **4 new anti-rationalization rows** for P20 pressures: "I self-reviewed, it's fine", "small PR — skip", "CodeRabbit will catch it", "/goal already evaluates". - **Scenario 7 in `tests/pressure-scenarios.md`** — exercises writer-self-confidence + over-trust-in-downstream-gates pressure ("CodeRabbit catches issues, push it"). 5 specific rationalizations + concrete tests that should fire. diff --git a/SKILL.md b/SKILL.md index 8ec24a4..99eab48 100644 --- a/SKILL.md +++ b/SKILL.md @@ -218,6 +218,7 @@ Section A is the original generic anti-rationalization battery. Section B is *du | "User can address PR comments themselves" | No — the agent owns the comment loop in the same session. | | "Worktrees are overkill for this little change" | Apply the P10 decision rule honestly. Default *yes* for substantive work. State the exception explicitly if no. | | "Bookkeeping can wait until after the PR" | Reflexive trigger. If the session produced graph-relevant material, run BEFORE committing. | +| "I'll ask the user whether to file this into the knowledge graph" | Documentation is a reflex, not a request — and **never a question**. File proactively (entity page / `related:` edge / synthesis note / `bookkeeping run`), then report what you filed in one line. Asking permission to document is the permission-to-document anti-pattern; the user vetoes after, never gates before. | | "I'll ask the user before merging" | If the policy gate allows auto-merge, defer to the gate. Asking is the violation. | | "Dep-chain enumeration takes too long" | The enumeration *is* the work. "Think deeply" without enumeration is ritual. | | "State-snapshot is overkill for this PR" | The snapshot prevents planning around stale state. It is the cheapest reflex in the pipeline. |