docs: ADR-005 through ADR-013 (feedback, flags, knowledge, DoD, security, recovery, conflicts, knowledge stack, validation pyramid)#144
Conversation
ADR-012, ADR-013, and ADR-003 enforcement updates addedThis commit ( ADR-012: Operational knowledge stack (Decision → Guide → Skill)Establishes the three-layer pattern. Key addition: "Why prose alone fails" section documenting how an agent (in this very session) violated ADR-003 despite having it loaded in context. The agent:
This is the evidence that Layer 3 (executable skills with hard gates) is necessary — not just Layers 1 and 2 (prose + guides). ADR-013: Tiered validation pyramidAddresses the Tier 2 gap (local sandbox) that causes agents to waste 15+ minute cycles on remote CI feedback loops. Progressive build-out plan from LocalStack to full MicroVM sandbox. ADR-003 enforcement updates
Follow-up work (after this PR merges)These are tracked but not in scope for this PR:
|
daf33f1 to
744492d
Compare
…rity posture ADR-005: PR review feedback propagates upstream to issues and ADRs. Classification (nit/bug/design/architecture), pause-assess-propagate- resolve-resume protocol, stacked PR chain recovery. ADR-008: Progressive definition of done (Level 1-4). Default levels per issue type. Verification responsibility scales with risk. ADR-009: Development-time agent security. Role separation (planner/ implementor/reviewer/admin), blast radius classification, 2P review for high-risk changes, no self-approval. Refs #136, #139, #140 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rror recovery, ADR-011 conflict resolution ADR-006: Feature flags for concurrent development. When to use, lifecycle (proposed→introduced→active→verified→permanent), ownership, maximum lifetime enforcement. ADR-007: Knowledge acquisition through progressive failure. Zero-context execution attempts, failure capture protocol, maturity model (L0-L3), self-improvement loop. ADR-010: Error recovery and rollback. Decision tree (revert vs fix- forward), stacked PR chain recovery, things agents must never do. ADR-011: Conflict resolution. Escalation ladder (4 levels), decision criteria, merge conflict ownership, human vs agent disagreements. Refs #137, #138, #141, #142 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… rework - Predecessor validation now uses GitHub GraphQL blockedBy/subIssues as the machine-enforceable source of truth (hard gate) - Rename "Self-assignment" to "Assignments" — supports self-assignment, directed assignment, and priority-based pickup - Add dependency graph maintenance rules (addBlockedBy, addSubIssue) - Sync rule: graph is authoritative; prose explains rationale - Folds comment feedback from issue #134 discussion Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…lementation Adds two bullets to top of "Common mistakes": 1. Conversational approval ≠ governance approval — create issue first 2. Branch naming must include issue number Implements the "AGENTS.md directive" row from ADR-003's enforcement mechanisms table. Fixes #150 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1b8a8cf to
c0fc069
Compare
ADR-012: Operational knowledge stack (Decision → Guide → Skill) — three-layer pattern for executable governance. Documents observed failure mode where prose alone was insufficient. ADR-013: Tiered validation pyramid — addresses the missing Tier 2 (local sandbox) gap that causes agents to waste cycles on slow remote CI feedback loops. ADR-003: Adds "No branches without an issue" rule, "Conversational approval is NOT issue approval" section, and enforcement mechanisms table. These were lost during the rebase that consolidated the branch after PR #143 merged. Recovered from orphaned commit 8bb9407. Refs #148 Refs #149 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ADR-006: Add lifecycle metadata table (merge date, max lifetime, expected removal) and mechanism constraint (synth-time vs runtime). ADR-007: Add retrospective concept as first-class knowledge artifact. ADR-009: Expand role table (Planner adds vision, Reviewer adds suggest code, Implementor clarifies no CI/security config) and add "not the last committer" constraint to no-self-approval. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Great work on this ADR set — the intellectual framework is solid and the ideas (especially the three-layer stack in ADR-012 and the validation pyramid in ADR-013) represent genuine architectural thinking about executable governance for autonomous agents. The "Why prose alone fails" section in ADR-012 is particularly compelling as motivational evidence. That said, I have some concerns I'd like to see addressed before merge. I've organized them by severity. Critical: Aspirational content presented as factualThe ADR-003 enforcement mechanisms table uses present-tense language ("The following enforcement points prevent bypass") but comparing against the actual repo state, none of the six listed mechanisms exist today:
The only mechanism that exists is the AGENTS.md directive — which ADR-012 itself argues is insufficient. Could we add an "Implementation Status" column (Implemented / Planned / Proposed) to the table? Or rename the section "Planned Enforcement Mechanisms"? Future readers (especially agents) cannot distinguish between "we decided this" and "we built this." Critical: The PR's own branch violates the rules it introducesThe new AGENTS.md directive states branch names must follow
Important: The bootstrapping paradox in ADR-012ADR-012 states that ADRs "MUST NOT contain: Step-by-step procedures, checklists with >3 items, decision trees with branches, protocol sequences." Yet this same PR introduces ADRs that contain all of these (ADR-003's enforcement table, ADR-008's level checklists, ADR-010's decision tree, ADR-012's own migration plan). The "existing ADRs are updated incrementally" clause doesn't fully resolve this since these are new ADRs introduced alongside the rule. Suggestion: Add an explicit "Applies to ADRs created after Phase 2 is complete" scoping clause, or extract the operational content from 012/013 into companion documents to demonstrate the pattern. Important: ADR-012/013 circular dependency
Each defines half of the enforcement architecture. Could we either give them a clear dependency direction (013 depends on 012, not bidirectional) or merge them into a single "Agentic Enforcement Architecture" ADR? Important: ADR-003 (accepted) depends on ADR-012/013 (proposed)ADR-003's enforcement section references proposed ADRs as its foundation. If 012/013 are revised or rejected, ADR-003's enforcement section becomes incoherent. Suggestion: make the references conditional, e.g., "See ADR-012 (proposed) for the planned enforcement model." Moderate: ADR-012 scope creepAt 265 lines, ADR-012 contains the decision (~100 lines), a full ADR-003 decomposition example, a failure mode narrative, a 4-phase migration plan, and "Plugin marketplace (future)" speculation. The migration plan in particular belongs in tracked issues — without deadlines or milestone references, it will become stale within 3-6 months. Consider extracting Phases 1-4 into issues (one per phase) and the ADR-003 decomposition example into a guide document. Minor: ADR-013 Tier 1 characterizationADR-013 states Tier 1 is "not enforced as a push gate," but Suggested path forwardI'd feel comfortable approving if we could:
Bonus: implementing even one enforcement hook (e.g., a commit-msg hook checking for The thinking here is strong. One more pass on form and we're good to go. |
- Change ADR-005 through ADR-011 status from "accepted" to "proposed" (ADR-012/013 were already "proposed") - ADR-003 enforcement table: add Status column (Implemented/Planned), rename section to "Enforcement mechanisms (planned)", add transition clause for branch naming rules - ADR-012→013: make reference informational (013 depends on 012, not bidirectional) - ADR-013→012: mark as prerequisite dependency - ADR-003 references: mark 012/013 as "(proposed)" Addresses review from krokoko: critical items 1+2 (aspirational content labeled, transition clause added) and important item 4 (circular dependency broken with clear direction: 013 depends on 012). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Addressing review feedback (commit 5904ae3)Thanks for the thorough review. Here's what's addressed and what's deferred: Addressed in this commit
Deferred to follow-on (tracked in #186)
CI "no space left on device"The build job ( Dependency direction summaryNo cycles. If ADR-012 is rejected, ADR-013's agent interaction model needs revision. If ADR-013 is rejected, ADR-012 stands alone (its references to 013 are informational only). |
Stack position
PR 4 of 4 for #145 — ADR governance framework
Prior (PR 3 / #143): ADR-003 governance + ADR-004 tabula rasa documentation
This PR: ADR-005 through ADR-013 — the full process/operational ADR set
Remaining: Merge full stack to main once reviewed
Summary
Nine ADRs completing the autonomous agent operating system:
Plus ADR-003 enforcement updates:
ADR-012 and ADR-013 context
ADR-012 establishes the three-layer pattern for operational knowledge (ADR → Guide → Skill) and documents an observed failure mode where an agent violated ADR-003 despite having it loaded in context — proving that prose governance alone is insufficient for agents.
ADR-013 defines the four-tier validation pyramid (pre-commit → local build → local sandbox → remote CI) with emphasis on the missing Tier 2 that causes agents to waste cycles on slow remote feedback loops.
Dependency graph (all satisfied within the stack)
Changes
10 new/modified ADR source files + 10 generated Starlight mirrors = 20 files, all documentation.
Test plan
astro check— 0 errorsCloses #136
Closes #137
Closes #138
Closes #139
Closes #140
Closes #141
Closes #142
Closes #150
Closes #148
Closes #149
🤖 Generated with Claude Code