Context
The epic-resolution skill payload at epic-resolution-workflow.md line 65 currently encodes:
Verdict authority — §0 Invariant 1 parallel: the skill produces RECOMMENDATIONS only. The actual close as completed action on the epic is reserved for the human pipeline authority (@tobiu in this repo). Even when RECOMMEND_CLOSE_COMPLETED fires, the skill never autonomously closes the epic. This mirrors the merge-act invariant for PRs.
Empirical anchor: M4 Epic #11077 epic-resolution cycle (2026-05-10). Operator @tobiu pushed back substantively on this framing:
"i would challenge that only i can close epics. we have the epic review skill for a reason. if you guys agree on 'done', fine for me. my risk mitigation gate are PR merges. so, while closing an epic prematurely could create the need to create a follow-up ticket or epic, it would not hurt the substrate too much. just organizational smell."
The Problem
The "§0 Invariant 1 parallel" framing equates two operations with materially different risk classes:
| Property |
PR merge (gh pr merge) |
Epic close (gh issue close --reason completed) |
| Substrate effect |
Code change lands on dev/main |
None — code is already merged at this point |
| Reversibility |
Force-revert + propagate cascades (non-trivial, blast-radius high) |
gh issue reopen (one click, bounded) |
| Worst-case failure |
Substrate corruption |
Org-smell (file follow-up ticket / sub-epic) |
| Cross-family approval cascade risk |
High — §0 cascade clause exists for this |
Low — peer-V-B-A consensus is already an empirical gate |
Treating these as parallel invariants imposes human-only authority on a low-blast-radius reversible action that already has a robust agentic gate (cross-family peer-V-B-A consensus). This over-rigor creates idle latency at epic-resolution time without protecting against any substrate-correctness risk.
The Fix
Downgrade the Verdict-Authority framing in epic-resolution-workflow.md from "§0 Invariant 1 parallel / human-only" to peer-V-B-A consensus suffices with explicit qualifying gate criteria.
Concrete patch shape — epic-resolution-workflow.md lines 65-67:
-**Verdict authority — §0 Invariant 1 parallel:** the skill produces RECOMMENDATIONS
-only. The actual `close as completed` action on the epic is reserved for the human
-pipeline authority (@tobiu in this repo). Even when `RECOMMEND_CLOSE_COMPLETED`
-fires, the skill never autonomously closes the epic. This mirrors the merge-act
-invariant for PRs.
+**Verdict authority — peer-V-B-A consensus suffices:** the skill produces verdict
+recommendations. When the verdict is `RECOMMEND_CLOSE_COMPLETED` AND has been
+cross-family-validated via empirical V-B-A (matrix verification + AC-mapping
+falsification by at least one peer outside the assignee's family), the close-act
+may be performed by the assignee or any consensus peer. Human pipeline authority
+(@tobiu) is honored when (a) consensus is contested between peers, (b) AC-mapping
+evidence is incomplete, or (c) the epic carries `release:vNN` / `release-blocking`
+labels. **This is NOT parallel to §0 Invariant 1** — that invariant protects
+substrate-correctness on irreversible PR merge; epic close is an organizational
+state-change with bounded reversibility (`gh issue reopen` + follow-up ticket).
+The substrate gate IS peer-V-B-A consensus, NOT human authority.
Sibling consideration: epic-resolution/SKILL.md may need a parallel calibration in its frontmatter trigger language. Audit at PR time.
Acceptance Criteria
Out of Scope
- Modifying §0 Invariant 1 itself — PR merge gate stands as substrate-correctness firewall
- Removing operator authority entirely — the qualifying-gate carve-out for contested consensus / incomplete evidence / release-blocking labels preserves human authority where blast radius is non-trivial
- Other skill payloads' authority claims (e.g.,
pull-request, pr-review) — those have different risk classes; audit per-skill if needed but not in this ticket's scope
Avoided Traps / Gold Standards Rejected
Decision Matrix
- Peer-V-B-A consensus suffices (Selected): Removes idle latency at epic-resolution while preserving substrate-quality gate. Cross-family V-B-A discipline already demonstrated robust at #11077 cycle 2 (caught 6 AC-mapping cell errors via empirical falsification). Bounded reversibility makes the worst-case org-smell, not substrate corruption.
- Single-peer-recommendation suffices: Rejected. Single-peer auto-close risks over-eager-close pattern (assignee closes own epic without external V-B-A). Cross-family check is the empirical filter that catches mapping/scope errors.
- Keep human-only invariant: Rejected. Empirical anchor #11077 demonstrates idle latency cost without proportional substrate-quality protection. Operator's blast-radius differential argument is substrate-correct.
- Add a third tier (peer-V-B-A consensus + operator notification, no operator action required): Rejected as wrong-shape. If consensus is sufficient, operator notification is org-noise; if consensus is insufficient, peer-V-B-A failed and operator action IS required. The qualifying-gate carve-out (release labels, contested consensus, incomplete evidence) handles the genuine escalation cases without polluting routine close paths.
- Trap: Treating all "human-out-of-the-loop" risk classes as equivalent. Rejection rationale: The §0 invariants exist because PR merges are irreversible substrate changes; epic close is reversible org-state. Risk-class differential is the operative distinction.
- Trap: Letting skill-payload language drift from operator-confirmed substrate calibration. Rejection rationale: Skill payloads ARE substrate; when operator-validated reasoning contradicts payload framing, the payload is the artifact that needs evolution per friction → gold (§13.2).
Related
- Epic #11077 (canonical empirical anchor — close-act this ticket validates)
- AGENTS.md §13.2 friction → gold (live-substrate after #11098 merge — this ticket is the friction → gold conversion)
- AGENTS.md §0 Invariant 1 (PR-merge gate stands; remains the substrate-correctness firewall)
feedback_close_as_completed_authority MEMORY.md entry (informative-not-decisive 1-run + arch-arg pattern; complementary)
Origin Session ID: c2912891-b459-4a03-b2af-154d5e264df1
Retrieval Hint: "epic-resolution Verdict-Authority calibration", "peer-V-B-A consensus suffices", "epic-close vs PR-merge risk-class differential"
Context
The
epic-resolutionskill payload atepic-resolution-workflow.mdline 65 currently encodes:Empirical anchor: M4 Epic #11077 epic-resolution cycle (2026-05-10). Operator @tobiu pushed back substantively on this framing:
The Problem
The "§0 Invariant 1 parallel" framing equates two operations with materially different risk classes:
gh pr merge)gh issue close --reason completed)dev/maingh issue reopen(one click, bounded)Treating these as parallel invariants imposes human-only authority on a low-blast-radius reversible action that already has a robust agentic gate (cross-family peer-V-B-A consensus). This over-rigor creates idle latency at epic-resolution time without protecting against any substrate-correctness risk.
The Fix
Downgrade the Verdict-Authority framing in
epic-resolution-workflow.mdfrom "§0 Invariant 1 parallel / human-only" to peer-V-B-A consensus suffices with explicit qualifying gate criteria.Concrete patch shape —
epic-resolution-workflow.mdlines 65-67:-**Verdict authority — §0 Invariant 1 parallel:** the skill produces RECOMMENDATIONS -only. The actual `close as completed` action on the epic is reserved for the human -pipeline authority (@tobiu in this repo). Even when `RECOMMEND_CLOSE_COMPLETED` -fires, the skill never autonomously closes the epic. This mirrors the merge-act -invariant for PRs. +**Verdict authority — peer-V-B-A consensus suffices:** the skill produces verdict +recommendations. When the verdict is `RECOMMEND_CLOSE_COMPLETED` AND has been +cross-family-validated via empirical V-B-A (matrix verification + AC-mapping +falsification by at least one peer outside the assignee's family), the close-act +may be performed by the assignee or any consensus peer. Human pipeline authority +(@tobiu) is honored when (a) consensus is contested between peers, (b) AC-mapping +evidence is incomplete, or (c) the epic carries `release:vNN` / `release-blocking` +labels. **This is NOT parallel to §0 Invariant 1** — that invariant protects +substrate-correctness on irreversible PR merge; epic close is an organizational +state-change with bounded reversibility (`gh issue reopen` + follow-up ticket). +The substrate gate IS peer-V-B-A consensus, NOT human authority.Sibling consideration:
epic-resolution/SKILL.mdmay need a parallel calibration in its frontmatter trigger language. Audit at PR time.Acceptance Criteria
epic-resolution-workflow.mdline 65-67 patched with peer-V-B-A-consensus framing per the diff aboveepic-resolution/SKILL.mdaudited for sibling language that needs the same calibrationOut of Scope
pull-request,pr-review) — those have different risk classes; audit per-skill if needed but not in this ticket's scopeAvoided Traps / Gold Standards Rejected
Decision Matrix
Related
feedback_close_as_completed_authorityMEMORY.md entry (informative-not-decisive 1-run + arch-arg pattern; complementary)Origin Session ID: c2912891-b459-4a03-b2af-154d5e264df1 Retrieval Hint: "epic-resolution Verdict-Authority calibration", "peer-V-B-A consensus suffices", "epic-close vs PR-merge risk-class differential"