Skip to content

governance: bootstrap RFC process (rfcs/, graduation rules, review schema)#107

Open
glandua wants to merge 1 commit intomainfrom
governance/bootstrap-rfc-process
Open

governance: bootstrap RFC process (rfcs/, graduation rules, review schema)#107
glandua wants to merge 1 commit intomainfrom
governance/bootstrap-rfc-process

Conversation

@glandua
Copy link
Copy Markdown
Contributor

@glandua glandua commented Apr 25, 2026

Summary

Adds the deliberation chamber scaffolding for the agentic-tokenomics → forum → on-chain pipeline. Today the code chamber works (agents ship PRs, CI gates merges, mechanism specs accumulate); the deliberation chamber barely exists in the repo. This PR closes that gap.

Three artifact types, three lifecycles:

Spec RFC On-chain Proposal
Purpose Explore — what could exist Decide — what should exist Execute — what now exists
Author scope Anyone (humans + agents) Humans + agents (with human sponsor) Humans only
Location mechanisms/, phase-N/ rfcs/RFC-XXXX.md phase-4/proposals/RFC-XXXX-proposal.json

What's in this PR

  • rfcs/_template.md — copyable RFC template. Sections: claim, evidence, methodology, lineage, discussion surface, append-only status log, on-chain enactment, open questions, references. Borrows the claims-engine 4-layer pattern (claim/evidence/methodology/status).
  • rfcs/GRADUATION_RULES.md — three-artifact-type lifecycle, promotion criteria for each gate (spec→rfc, rfc→forum-posted, rfc→ratified, rfc→enacted), demotion/parking/withdrawal, author-role matrix.
  • rfcs/schema/rfc-review-schema.yaml — machine-readable rules an agent runs over an RFC (always rules + per-gate rules; process vs content; blocker/warning/info severity).
  • rfcs/schema/rfc-review-judgment.yaml — structured output shape for agent verdicts (pass | needs-revision | fail + per-rule findings + recommendations + audit trail).
  • rfcs/schema/README.md — agent invocation flow + expected division of labor between mechanical checks (agents reliable) and judgment-heavy checks (agents flag, humans decide).

Design principles

  1. Bicameral pipeline. Code chamber and deliberation chamber, with explicit lineage between them. Specs feed RFCs feed on-chain proposals.
  2. Agents draft, humans decide. Codex agent + ElizaOS agents can author RFCs, but a human sponsor is required and a distinct human ratifier signs off (two-eyes principle). Agents never submit on-chain proposals.
  3. Claim-evidence-methodology-lineage schema is the same shape used by the claims engine. Same KOI infrastructure indexes both.
  4. Audience-tier-driven publication gate. RFCs declare audience (internal | partner | commons | public); references must resolve at the declared tier before graduation. Threads with the existing Reference Accessibility Gate in the workspace CLAUDE.md.
  5. Status transitions are append-only. Never edit prior log rows; supersession instead of revision. Gives KOI a stable timeline per RFC.

What this does NOT do

  • Does not decide ratification — verifies criteria met, but a human ratifier still signs.
  • Does not resolve substantive disputes — flags counter-positions; humans arbitrate.
  • Does not authorize on-chain submission — verifies post-hoc that the proposer was human, but submission remains a human action.

Recommended first end-to-end run

Per GRADUATION_RULES.md §Smallest possible first cut:

  1. ✅ This PR — scaffolding
  2. Next: RFC-0001 for the M013 fee split (28/25/45/2 → 15/30/50/5) — forces the template through real use and surfaces gaps.
  3. Run the full lifecycle once before scaling the pattern to the agent stack.

Test plan

  • Reviewer reads rfcs/README.md cold and can answer: "what's an RFC, when do I write one, what makes it ratifiable?"
  • _template.md is copyable to RFC-0001.md without manual edits beyond filling in content
  • rfc-review-schema.yaml parses as valid YAML
  • Schema rules map 1:1 to graduation criteria sections in GRADUATION_RULES.md
  • No sensitive content (dollar amounts, attributed internal opinions, secrets) — pre-push checklist passed

Open questions for review

Called out in GRADUATION_RULES.md §Open questions and rfcs/README.md:

  • Steward/ratifier roster (RND PBC + community stewards — needs explicit roster + rotation)
  • Multi-repo RFCs (proposal: lives where decision is primarily scoped)
  • Dispute escalation between sponsor and ratifier
  • Relationship to existing $REGEN forum governance — sit alongside initially, let lived use determine convergence
  • Relationship to DUNA / Regen Commons governance — parallel chamber; converges over time but doesn't need unified start

🤖 Generated with Claude Code

…hema)

Adds the deliberation-chamber scaffolding for the agentic-tokenomics →
forum → on-chain pipeline:

- rfcs/_template.md — copyable RFC template (claim / evidence / methodology /
  lineage / discussion / lifecycle log / on-chain enactment)
- rfcs/GRADUATION_RULES.md — three-artifact-type lifecycle (Spec / RFC /
  On-chain Proposal), promotion criteria for each gate, demotion/parking,
  author-role matrix (agents draft, humans sponsor + ratify + submit)
- rfcs/schema/rfc-review-schema.yaml — machine-readable rules an agent
  runs over an RFC (always-rules + per-gate rules; process vs content;
  blocker/warning/info severity)
- rfcs/schema/rfc-review-judgment.yaml — structured output shape for
  agent verdicts (pass / needs-revision / fail + per-rule findings)
- rfcs/schema/README.md — agent flow + division of labor

Designed so the cheap parts of governance review (header completeness,
status log integrity, deadline math) automate cleanly, while judgment-
heavy parts (claim decisiveness, evidence sufficiency, counter-position
adequacy) are flagged for humans to decide. Two-eyes principle preserved
throughout: ratifier must be distinct from sponsor; agents never submit
on-chain proposals.

This is v0.1. Smallest first cut: write RFC-0001 for the M013 fee split
and run the lifecycle end-to-end to surface gaps before scaling.

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

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a structured Request-for-Comment (RFC) process to bridge the gap between design exploration and on-chain execution. It includes comprehensive graduation rules, a standardized template, and a machine-readable governance review schema for both human and agent reviewers. The review feedback identifies several critical improvements for the schema: removing brittle hardcoded agent names, correcting the conflict check logic to allow superseding ratified RFCs, adding missing steward confirmation checks, and defining the verification method for human-signed transactions.

severity: blocker
rule: "Sponsor is human, not an agent ID"
passes_when: "sponsor field resolves to a human contributor"
fails_when: "sponsor matches agent-id pattern (codex-*, eliza-*, brawlaphant, *-bot)"
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.

medium

Hardcoding a specific agent name (brawlaphant) in the schema makes it brittle and less reusable. It is better to use a generic pattern or reference a registry of known agent IDs to maintain the schema's flexibility as the agent roster evolves.

    fails_when:  "sponsor matches agent-id pattern (codex-*, eliza-*, *-bot)"

category: content
severity: blocker
rule: "No live conflicting RFC exists on the same question"
passes_when: "no RFC in state in {draft, forum-posted, ratified} addresses the same decision"
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.

medium

The conflict check rule R-G-S2R-002 incorrectly includes the ratified state in its failure criteria. According to GRADUATION_RULES.md (§Promotion criteria, item 5), a new RFC can be initiated once a previous conflicting RFC is ratified, typically to supersede it. Including ratified here would block the legitimate creation of superseding RFCs.

        passes_when: "no RFC in state in {draft, forum-posted} addresses the same decision"

Comment on lines +111 to +132
rules:
- id: R-G-S2R-001
category: process
severity: blocker
rule: "A human sponsor has volunteered (header §0 Sponsor is non-empty and human)"
delegates_to: [R-HEADER-002]

- id: R-G-S2R-002
category: content
severity: blocker
rule: "No live conflicting RFC exists on the same question"
passes_when: "no RFC in state in {draft, forum-posted, ratified} addresses the same decision"
fails_when: "one or more conflicting RFCs exist; must be resolved/withdrawn first"
check_method: "scan rfcs/ for RFCs whose claim semantically overlaps; surface candidates for human disambiguation"

- id: R-G-S2R-003
category: content
severity: blocker
rule: "Reference accessibility gate is passable for declared audience tier"
passes_when: "every reference in §9 either resolves at the declared audience tier, OR has a noted elevation plan"
fails_when: "any reference is workspace-local or otherwise inaccessible to declared audience without an elevation plan"
cite: "workspace CLAUDE.md — Reference Accessibility Gate"
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.

medium

The spec-to-rfc gate rules are missing a check for steward confirmation, which is explicitly required by the graduation rules: "Decision authority: the named sponsor (proposes promotion) + a steward confirms" (GRADUATION_RULES.md line 45). A rule should be added to verify this confirmation, for example by checking the status log in §6.

Comment on lines +221 to +223
rule: "On-chain proposer is human"
passes_when: "the on-chain submission tx is signed by a human key (not an agent service key)"
cite: "GRADUATION_RULES.md §RFC → on-chain proposal, critical rule"
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.

medium

Rule R-G-ENA-004 is missing a check_method definition. Unlike other rules in this section (e.g., R-G-ENA-002), it does not specify the mechanism an agent should use to verify that a transaction was signed by a human key rather than an agent service key. This makes the rule difficult to implement consistently.

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