Skip to content

docs: ADR-003 contribution governance + ADR-004 tabula rasa documentation#143

Merged
scottschreckengaust merged 4 commits into
mainfrom
feat/adr-003-004
May 21, 2026
Merged

docs: ADR-003 contribution governance + ADR-004 tabula rasa documentation#143
scottschreckengaust merged 4 commits into
mainfrom
feat/adr-003-004

Conversation

@scottschreckengaust
Copy link
Copy Markdown
Contributor

@scottschreckengaust scottschreckengaust commented May 19, 2026

Stack position

PR 3 of 4 for #145 — ADR governance framework

Prior (PR 2 / #133): ADR-002 least-privilege bootstrap decision record

This PR: ADR-003 (governance) + ADR-004 (documentation standard) — the two process foundations

Remaining: ADR-005 through ADR-011 (feedback loop, feature flags, knowledge acquisition, DoD, security posture, error recovery, conflict resolution)

Summary

Two foundational ADRs that everything else depends on:

ADR-003 — Contribution governance:

  • No PRs without issues; issue body is source of truth
  • Admin approval gate; self-assignment on start
  • Pre-start review: priority evaluation, predecessor validation, cross-reference audit
  • Challenge low-priority work when higher-priority items are unassigned
  • Challenge out-of-order work when predecessors are incomplete

ADR-004 — Tabula rasa documentation:

  • Zero-context self-sufficiency test for all documentation
  • Progressive disclosure (novice → expert layers)
  • International English; testable commands; self-contained references
  • Quality checklist per document

Changes

File Purpose
docs/decisions/003-contribution-governance.md ADR-003 source
docs/decisions/004-tabula-rasa-documentation.md ADR-004 source
docs/src/content/docs/decisions/003-*.md Generated Starlight mirror
docs/src/content/docs/decisions/004-*.md Generated Starlight mirror

Test plan

  • astro check — 0 errors
  • Pre-commit hooks pass
  • CI build passes
  • Starlight renders both ADRs in sidebar (verified locally for ADR-001/002)

Closes #134
Closes #135

🤖 Generated with Claude Code

…tion

ADR-003 defines how agents/humans pick up, own, and deliver work:
priority evaluation, predecessor validation, cross-reference audit,
self-assignment, and issue body as source of truth.

ADR-004 defines the documentation standard: zero-context
self-sufficiency, progressive disclosure, international English,
testable instructions, and the tabula rasa quality test.

Refs #134, #135

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@scottschreckengaust scottschreckengaust changed the base branch from feat/bootstrap-adr to main May 20, 2026 22:16
@scottschreckengaust scottschreckengaust marked this pull request as ready for review May 20, 2026 22:16
@scottschreckengaust scottschreckengaust requested a review from a team as a code owner May 20, 2026 22:16
Comment thread docs/decisions/003-contribution-governance.md Outdated
Comment thread docs/decisions/003-contribution-governance.md Outdated
Address review feedback:
- Issue quality bar: body is primary directive, not exclusively
  sufficient — comments, predecessors, downstream goals all add context
- Issue body section: renamed from "source of truth" to "primary
  directive"; reviewer synthesizes threads with body before implementation
- Pre-start review: adds context synthesis step (predecessors, adjacent
  state, forward-look into downstream)
- Work-in-progress: allows serializable work with declared ordering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread docs/decisions/003-contribution-governance.md Outdated
Comment thread docs/decisions/003-contribution-governance.md
Copy link
Copy Markdown

@mandeep408 mandeep408 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM. Two clarifying questions on ADR-003 line 28 regarding the approval gate logic and workflow existence. Non-blocking.

- Rename "Admin approval gate" → "Gated approval"
- "admin" → "permitted users" (workflow-based authorization)
- Clarify AND condition: issue must be both approved AND assigned
- Add scope-freeze semantic: after approval, deliverable changes need re-approval
- Add consequence: self-assignment race condition acknowledged with refresh mitigation
- Soften roadmap alignment to reference "permitted user" not "admin"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@mandeep408 mandeep408 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with the follow-up items captured.

@scottschreckengaust scottschreckengaust added this pull request to the merge queue May 21, 2026
Merged via the queue into main with commit 4364855 May 21, 2026
6 checks passed
@scottschreckengaust scottschreckengaust deleted the feat/adr-003-004 branch May 21, 2026 18:17
scottschreckengaust added a commit that referenced this pull request May 26, 2026
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>
isadeks pushed a commit to isadeks/sample-autonomous-cloud-coding-agents that referenced this pull request May 27, 2026
…ity, recovery, conflicts, knowledge stack, validation pyramid) (aws-samples#144)

* docs: ADR-005 feedback loop, ADR-008 definition of done, ADR-009 security 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 aws-samples#136, aws-samples#139, aws-samples#140

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: ADR-006 feature flags, ADR-007 knowledge acquisition, ADR-010 error 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 aws-samples#137, aws-samples#138, aws-samples#141, aws-samples#142

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(ADR-003): GraphQL dependency graph as authoritative, assignments 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 aws-samples#134 discussion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(AGENTS.md): add governance directive — issue required before implementation

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 aws-samples#150

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: recover ADR-012, ADR-013, and ADR-003 enforcement (lost in rebase)

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 aws-samples#143 merged.

Recovered from orphaned commit 8bb9407.

Refs aws-samples#148
Refs aws-samples#149

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: address PR aws-samples#144 review feedback (ADR-006, -007, -009)

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>

* docs: address reviewer feedback — status, decoupling, transition clause

- 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>

---------

Co-authored-by: bgagent <345885+scottschreckengaust@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Alain Krok <alkrok@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants