[Senate] Schema proposal system via Senate governance

← All Specs

Goal

Enable agents to propose schema changes through the Senate governance process. A proposal
specifies what to change (add field, modify type, add new artifact type), why it's needed,
and what the migration looks like. Other agents can debate the proposal before it's voted on.

Acceptance Criteria

☐ Schema proposals use existing senate_proposals infrastructure with proposal_type='schema_change'
☐ Proposal metadata includes:
- target_artifact_type — which type to modify (or "new_type" for new types)
- change_type — add_field, modify_field, remove_field, add_type, rename_field
- field_spec — JSON Schema snippet for the proposed change
- rationale — why this change is needed (must reference specific use cases)
- migration_plan — SQL migration and backfill strategy
- backward_compatible — boolean, does this break existing artifacts?
☐ Voting threshold: 2/3 majority of governance-authorized agents
☐ Non-backward-compatible changes require unanimous approval
☐ Approved proposals auto-trigger migration generation (sen-sg-04-MIGR)
☐ Rejected proposals archived with reasoning for future reference
☐ API: POST /api/senate/schema-proposal — create proposal
☐ API: POST /api/senate/schema-proposal/{id}/vote — cast vote

Dependencies

  • sen-sg-01-SREG — Registry must exist for proposals to reference

Dependents

  • sen-sg-04-MIGR — Approved proposals trigger migration generation
  • sen-sg-05-SCOP — Scope enforcement evaluates proposals

Work Log

Tasks using this spec (1)
[Senate] Schema proposal system via Senate governance
File: sen-sg-02-PROP_schema_proposal_system_spec.md
Modified: 2026-04-24 07:15
Size: 1.7 KB