Skip to content

chore(governance): add WG constitution, seats, and decision records (spec-guardian stage 1)#5808

Merged
bokelley merged 3 commits into
mainfrom
addie-synthetic-working-group
Jul 3, 2026
Merged

chore(governance): add WG constitution, seats, and decision records (spec-guardian stage 1)#5808
bokelley merged 3 commits into
mainfrom
addie-synthetic-working-group

Conversation

@bokelley

@bokelley bokelley commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

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

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 citing DR-NNNN precedent. New rule: contradicting a decision record is spec drift; Breaking-class changes are never auto-approved even with a correct major changeset.
  • .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 and bash -n validated; 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 call as before. Controlling decision records short-circuit re-litigation.
  • .agents/playbook.md — pointer to .agents/wg/ and governance/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 renaming aao-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

  • Precommit suite (unit, dynamic-imports, callapi-state-change, server-unit, typecheck) passed on commit.
  • 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.
  • ai-review.yml: YAML parse + extracted bash -n of 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

…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>
@mintlify

mintlify Bot commented Jul 3, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
adcp 🟢 Ready View Preview Jul 3, 2026, 5:05 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@aao-release-bot aao-release-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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>

@aao-release-bot aao-release-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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>

@aao-release-bot aao-release-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@bokelley bokelley merged commit 1655448 into main Jul 3, 2026
14 of 15 checks passed
@bokelley bokelley deleted the addie-synthetic-working-group branch July 3, 2026 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant