Maintainers own roadmap direction, review standards, release decisions, and enforcement of repository policies.
- Small changes: maintainers decide through normal PR review.
- Architectural changes: record decision in
docs/adrs/. - Contract changes: update
specs/contract/and runtime tests in the same PR.
- Linked approved issue (
ready-for-proraccepted). - Clear user value and scoped implementation.
- Passing CI (tests, lint, security checks).
- Compliance with
CONTRIBUTING.mdandCODE_OF_CONDUCT.md.
Maintainers cut releases and publish release notes/changelog updates.
Proposal Governance (ADR 0025)
Proposal artifacts are the only machine path from awareness to potential runtime mutation.
proposed: created by runtime/user tooling with evidence refs.approved: maintainer accepts proposal for apply.rejected: maintainer declines proposal.applied: approved proposal enacted by maintainer.
A proposal must include:
- clear target (
tool,role_profile, orpolicyidentifier), - concrete evidence refs (
trace,scorecard, or incident log), - concise diff summary describing expected behavioral impact,
- rollback note (or explicit statement that no rollback path is required).
- Maintainer authority is required for
approve,reject, andapply. - Standard proposals require one maintainer approval.
- Policy-tuning proposals require one approving maintainer plus one additional maintainer acknowledgment in PR/discussion notes before release.
- Proposal actor identity must be preserved in artifact
last_action.
- Every applied proposal must have a rollback strategy documented in the same change set.
- If regression appears, maintainer reverts behavior by:
- rejecting follow-up proposal attempts that reintroduce failing behavior,
- applying corrective proposal or lifecycle override,
- recording incident outcome in maintenance notes.
# List proposals
bin/recurgent-tools proposals [--status proposed] [--limit 25]
# Review decision
bin/recurgent-tools approve-proposal <proposal_id> --actor <maintainer> --note "evidence reviewed"
bin/recurgent-tools reject-proposal <proposal_id> --actor <maintainer> --note "insufficient evidence"
# Enact approved proposal
bin/recurgent-tools apply-proposal <proposal_id> --actor <maintainer> --note "rollout phase 1"Role profile update proposal:
- verify continuity drift evidence (
state_key_consistency_ratio, trace failures), - approve with note referencing target profile version,
- apply in controlled rollout, then run calculator + assistant validation.
Policy tuning proposal:
- verify false-hold/false-promotion trends and sample size,
- collect second maintainer acknowledgment,
- apply, monitor shadow/effective decisions, and document rollback trigger.
Promotion gate changes must be versioned (for example solver_promotion_v1 -> solver_promotion_v2).
Required for policy version bumps:
- ADR update describing motivation and threshold deltas.
- Implementation plan update with rollout and rollback controls.
- Shadow-mode evidence showing impact vs previous policy.
Threshold changes must include explicit evidence for all of:
- false-promotion rate trend,
- false-hold rate trend,
- fallback frequency trend,
- user-correction impact trend.
Specialized capability-class thresholds are allowed only when class misfit (false-hold or false-promotion) is consistently >2x the global baseline over a meaningful sample.
Maintainers may temporarily:
- disable enforcement globally,
- force lifecycle overrides for specific checksums (
durableordegraded), - rollback to prior policy version.
All emergency actions must be auditable in artifact lifecycle metadata and summarized in follow-up notes.