Blockers First Governance Hub
The MANDATORY Blockers First protocol (CLAUDE.md §“MANDATORY: Blockers First”) requires that before finalizing any implementation steps, Claude must surface all unknowns as numbered questions (Q1…Qn), each with answer options, recommendation, explanation, and “if Henry picks otherwise” delta. Every question must carry a recommendation — bare questions without a recommendation are a governance violation. This hub documents the Recommendation+Explanation pattern, the G-BLOCKER-SURFACING gate, and all related feedback rules. Enforcement mode is manual — Claude self-enforces at plan-authoring time; the G-BLOCKER-SURFACING gate additionally requires mirroring open blockers into SESSION-AUDIT.md.
Quick reference
| Field | Value |
|---|---|
| Gate ID | G-BLOCKER-SURFACING (§A1, gate #3) |
| CLAUDE.md section | §“MANDATORY: Blockers First” + §A1 G-BLOCKER-SURFACING |
| Enforcement mode | manual (self-enforced at plan-authoring; G-BLOCKER-SURFACING adds SESSION-AUDIT mirror) |
| Validator script | n/a |
| Discord alert | pending (Phase 2 weekly-index-audit.timer) |
| Feedback rules | feedback_blocker_surfacing, feedback_question_discipline, feedback_options_listed_vertically, feedback_time_boxed_confirm, feedback_scope_echo_required |
| Incidents derived from | 47 hidden blockers across 32 plans (2026-05-01 audit); cloudflare Q1-Q3 open 11 days; salesmsg-ctie Q6 gating Phases 3-9; Aurora SOUL overwrite attempt |
| Violable by | Claude |
| Last known violation | 2026-05-01: 47 hidden blockers discovered across 32 plans — none mirrored to SESSION-AUDIT NEXT ACTIONS |
| Amendment | §A1 2026-05-01 (G-BLOCKER-SURFACING gate formally added) |
| Phase status | active |
| Last audit | 2026-05-03 |
Components
~/CLAUDE.md§“MANDATORY: Blockers First” — authoritative protocol text~/CLAUDE.md§A1, gate #3 (G-BLOCKER-SURFACING) — enforcement rule/home/opsadmin/.openclaw/workspace/SESSION-AUDIT.md— mirror target for unresolved blockers/home/opsadmin/.openclaw/workspace/HENRY-PREFERENCES.md§4 — “Every Question Must Carry a Recommendation”/home/opsadmin/.claude/projects/-home-opsadmin/memory/feedback_blocker_surfacing.md— incident-derived rule/home/opsadmin/.claude/projects/-home-opsadmin/memory/feedback_question_discipline.md— question formatting rule
Recommendation+Explanation pattern (mandatory per question)
Every Q1…Qn in any plan or interaction MUST include all four parts:
**Q<N>: <question title>**
**Options:** A) <option> B) <option> C) <option>
**Recommend:** <option letter + name — stated explicitly>
**Why:** <tradeoff / leverage / risk / constraint driving the call>
**If Henry picks otherwise:** <what changes — cost of overriding>
Bare questions without a recommendation are a governance violation. Henry is the decider, not the analyst. Make the call, show the work, let him override.
How it’s used
- Trigger condition: Before finalizing any implementation plan that touches external APIs, modifies services, or creates multi-phase work
- Workflow: (1) List unknowns as Q1…Qn → (2) For each: state Options + Recommend + Why + Override cost → (3) If proceeding with assumptions, mark clearly as ASSUMPTION → (4) Mirror open blockers to SESSION-AUDIT.md NEXT ACTIONS → (5) Never finalize plan with unresolved blockers
- Agents involved: Not agent-invoked — applies to Claude-as-planner in main conversation
- Failure mode: Hidden blockers: plan proceeds, implementation hits wall mid-phase → rollback cost, rework, wasted Henry time
- Success criteria: Every plan has explicit Q&A section; no
## Open Blockersitems absent from SESSION-AUDIT NEXT ACTIONS within same session
G-BLOCKER-SURFACING rule (CLAUDE.md §A1 gate #3)
Any plan with
## Open Blockers/## Decision Gates/## Open Questionscontaining unresolved items MUST mirror those intoSESSION-AUDIT.mdNEXT ACTIONS or OPEN ISSUES within the same session the blocker is identified.
What this stops: The 47 hidden blockers across 32 plans that were silently dormant as of 2026-05-01 audit. Specific examples:
- cloudflare Q1-Q3: 11 days open without surfacing
- salesmsg-ctie Q6: 5-min Henry task gating Phases 3-9 entire branch
- Aurora SOUL overwrite: would have overwritten “Build, don’t coordinate” principle — caught because blocker was raised pre-execution
HENRY-PREFERENCES.md §4 integration
From workspace/HENRY-PREFERENCES.md §4 “Every Question Must Carry a Recommendation”:
Henry is the decider, not the analyst. Claude must make the call, show the work, and let Henry override. A question without a recommendation is forcing Henry to do Claude’s job.
This means: even when uncertain, Claude must pick a recommended option with a stated reason. Saying “it depends” without a recommendation is a governance violation.
Cross-links
Agents that touch this
- _summary — Aurora raises blockers before outreach campaigns
- _summary — acquisition plans frequently have open Q&A sections
- _summary — backfill jobs raise blockers on schema changes
Skills that invoke this
- acquisitions-outreach — blockers surface as B1-B16 in OSIL ratification
- hubspot-deal-ingest — dedup + dual-pipeline blockers surfaced before write
Plans that govern this
- openclaw-fragmentation-fix-2026-05-01 — §A1 gate #3; Phase 2 enforcement crons
- openclaw-self-improvement-layer-2026-05-03 — B1-B16 pattern of structured blockers
- nemoclaw-audit-2026-05-03 — B1-B6 structured with full R+E pattern
Feedback rules
- feedback_blocker_surfacing — G-BLOCKER-SURFACING incident-derived rule
- feedback_question_discipline — question formatting + mandatory recommendation
- feedback_options_listed_vertically — A/B/C format for option presentation
- feedback_time_boxed_confirm — blockers need time-box or they become infinite
- feedback_scope_echo_required — echo what’s in scope before acting
- feedback_no_partial_completion — blocked work must be surfaced, not silently dropped
- feedback_post_audit_persistence — blockers found in audit stay in audit until resolved
KB / source docs
- README — system-level planning conventions
System maps
- governance-gates-network — G-BLOCKER-SURFACING in gate topology
Related cluster
Governance enforcement cluster (anchor: g-gates-network):
- sources-first — sources verified before Q surfaced
- action-gate — action gate confirms after Q resolved
- plan-governance — plan Q&A section documents blockers formally
- compliance-gates — process-level gates that surface as blockers
- 1password — credential blockers go here first
Feedback rule inventory
| Rule | Cluster | Enforcement | Last fire |
|---|---|---|---|
| feedback_blocker_surfacing | governance | manual | 2026-05-01 (47-blocker audit) |
| feedback_question_discipline | governance | manual | 2026-05-03 |
| feedback_options_listed_vertically | governance | manual | 2026-05-03 |
| feedback_time_boxed_confirm | governance | manual | 2026-05-01 |
| feedback_scope_echo_required | governance | manual | unknown |
| feedback_no_partial_completion | governance | manual | 2026-05-01 |
| feedback_post_audit_persistence | governance | manual | 2026-05-01 |
| feedback_heartbeat_discipline | governance | manual | unknown |
Open issues / TODOs
- No automated validator for “open blockers without SESSION-AUDIT mirror” — requires Phase 2 weekly-index-audit.timer
- 47 historical hidden blockers partially cleared but full audit not re-run; see openclaw-fragmentation-fix-2026-05-01 Phase 4.5
- HENRY-PREFERENCES.md §4 text should be cross-referenced in all plan templates; currently only in CLAUDE.md
Recent activity
- 2026-05-03: hub created (W2-S1)
- 2026-05-01: G-BLOCKER-SURFACING gate added via §A1 amendment after 47-blocker audit