chore(governance): add WG constitution, seats, and decision records (spec-guardian stage 1)#5808
Conversation
…spec-guardian stage 1)
Establishes the AAO Secretariat operating layer: a constitution and panel
seats that every review/triage desk consumes, plus governance/decisions/
with nine backfilled precedent records (DR-0001..DR-0009).
- Argus re-grounded on the constitution: persona clause ("voice of Brian
O'Kelley") retired; precedent citation + decision-class rules added;
Breaking-class changes are never auto-approved. ai-review.yml injects
the constitution from the base SHA so PRs cannot mutate the rules they
are reviewed under.
- Triage Flag outcome routes by decision class: Normative -> decision
memo + needs-wg-review (no maintainer ping); Breaking/security/disputed
-> @bokelley. Controlling decision records short-circuit re-litigation.
- specs/spec-guardian.md records the architecture, the personification
decision (GitHub identity = AAO Secretariat), and stage status.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
Argus is not auto-reviewing this PR because it modifies protected paths that require human review (.agents/playbook.md, .agents/routines/triage-prompt.md, .agents/wg/constitution.md, .agents/wg/seats.md, .github/ai-review/expert-adcp-reviewer.md, .github/workflows/ai-review.yml). A human reviewer should review and merge this PR; Argus will resume on subsequent PRs once these changes land on main.
…bridge design Slack carries load-bearing spec context the GitHub desks currently review blind to. Design rule: Slack knowledge enters through the secretary's distillation (.agents/wg/slack-context.md, produced by an Addie job), never as raw feed into a desk that can approve PRs — the distilled artifact is both the privacy filter and the prompt-injection boundary. Constitution codifies: never quote/attribute; Slack informs, GitHub decides; Slack-only load-bearing arguments become on-record info requests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Argus is not auto-reviewing this PR because it modifies protected paths that require human review (.agents/playbook.md, .agents/routines/triage-prompt.md, .agents/wg/constitution.md, .agents/wg/seats.md, .github/ai-review/expert-adcp-reviewer.md, .github/workflows/ai-review.yml). A human reviewer should review and merge this PR; Argus will resume on subsequent PRs once these changes land on main.
… queries are demand-driven The distilled slack-context file is the permanent mechanism, not a phase: it is the only Slack channel compatible with an approve-capable desk (base-SHA reviewability), it carries ambient context no targeted query surfaces, and it adds no runtime dependency or secret to pull_request_target CI. Live queries become "ask the secretary" — synthesized answers only, never raw messages, triage/secretary desks only — built if triage demonstrably misses context the file doesn't carry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Argus is not auto-reviewing this PR because it modifies protected paths that require human review (.agents/playbook.md, .agents/routines/triage-prompt.md, .agents/wg/constitution.md, .agents/wg/seats.md, .github/ai-review/expert-adcp-reviewer.md, .github/workflows/ai-review.yml). A human reviewer should review and merge this PR; Argus will resume on subsequent PRs once these changes land on main.
Summary
Stage 1 of
specs/spec-guardian.md: replace the "reviewer that pretends to be Brian" model with an institutional one — the AAO Secretariat, staff for the human AdCP Working Group. This PR creates the shared operating layer every automated desk consumes and re-grounds the existing desks on it. No new automation is introduced; the behavior changes are in what the existing desks cite and how they route decisions.What's new
.agents/wg/constitution.md— the operating rules for all review/triage/secretary agents: identity, the WG charter's decision classes made binding for machines (Editorial = autonomous, Normative = memo for human ratification, Breaking = humans always), an explicit escalation list, the spec-invariant review floor, design principles, precedent rules, and the amendment process. Extracted from the Argus prompt, the triage prompt, and the playbook — not invented..agents/wg/seats.md— the expert panel formalized: seat-selection table (unifying Argus's delegation triggers and triage's expert matrix) plus chair rules (synthesize by severity, record dissent, MUST FIX verdicts flow through).governance/decisions/— decision records (DR-NNNN), the WG's institutional memory. README defines the format/lifecycle; nine records backfilled from operative precedent, all refs verified:Behavior changes
.github/ai-review/expert-adcp-reviewer.md— Argus's persona clause ("in the voice of Brian O'Kelley") retired; Argus is now the Secretariat's review desk applying the constitution and citingDR-NNNNprecedent. New rule: contradicting a decision record is spec drift; Breaking-class changes are never auto-approved even with a correctmajorchangeset..github/workflows/ai-review.yml— the build-prompt step appends the constitution from the base SHA (same prompt-injection posture as the reviewer prompt; fail-soft when absent at base, e.g. maintenance lines). Bash block extracted andbash -nvalidated; YAML parse validated..agents/routines/triage-prompt.md— the Flag outcome now routes by decision class: Normative + expert consensus → decision memo in record format +needs-wg-review, no maintainer ping; Breaking/security-sensitive/governance-document/expert-disagreement →@bokelley, your callas before. Controlling decision records short-circuit re-litigation..agents/playbook.md— pointer to.agents/wg/andgovernance/decisions/under Cross-Agent Integration.specs/spec-guardian.md— full architecture (committed for reference), including the personification decision: GitHub identity = "AAO Secretariat" bot (new App preferred over renamingaao-release-bot; App creation +ARGUS_BOT_LOGIN/secret swap is an org-admin follow-up).Not in this PR (next stages)
Shadow-mode Normative ratification tracking, the 3.2 scope-gate pass (102 open issues), Addie's secretary tools (GitHub comment/label, info-request routing, weekly WG report), and the release-train jobs.
Testing
node scripts/check-changeset-protocol-scope.cjs origin/main— passed (policy/governance-only change, no changeset by design).node scripts/check-pr-title.cjs— passed.bash -nof the modified step.Touches sensitive paths (
.agents/*,.github/workflows/*) — Argus will abstain from approving; human review required, which is the intended posture for constitution changes.🤖 Generated with Claude Code