Ceremony lifecycle protocol — manages ceremony state, phase transitions, governance enforcement, and ceremonial review workflows for the Medicine Wheel ecosystem.
Version: 0.1.1
Package: medicine-wheel-ceremony-protocol
Document ID: rispec-ceremony-protocol-v1
Last Updated: 2026-02-23
Users create ceremony-aware development workflows where:
What this enables: Software teams naturally move through ceremonial inquiry cycles. The protocol surfaces governance warnings when protected paths are modified, ensures ceremony is conducted at phase boundaries, and provides phase-aware framing for tool outputs.
Structural Tension: Between standard git-based development (unrestricted file modification) and Indigenous governance requirements (certain knowledge requires ceremonial review, elder approval, or restricted access). The ceremony-protocol resolves this by checking paths against configurable governance rules.
interface CeremonyState {
currentCycle: string;
hostSun: SunName;
phase: CeremonyPhase;
startDate?: string;
endDate?: string;
}
// Load from RSIS config
loadCeremonyState(config: RSISConfig): CeremonyState | null
Four ceremony phases follow the Four Directions:
| Phase | Direction | Focus |
|---|---|---|
opening |
East | What wants to emerge? Intention and vision |
council |
South | Cross-Sun perspectives on code relationships |
integration |
West | Weaving insights into synthesis artifacts |
closure |
North | Reciprocity summaries and seeding observations |
nextPhase('opening') // → 'council'
nextPhase('council') // → 'integration'
nextPhase('integration') // → 'closure'
nextPhase('closure') // → null (cycle complete)
getPhaseFraming('council')
// → 'Council Phase — Cross-Sun perspectives on code relationships.'
checkGovernance(filePath, governanceConfig)
// Returns GovernanceProtectedPath | null
// Supports glob patterns in path (e.g., 'sacred/*.md') and prefix matching
// Example governance config:
{
protected_paths: [
{ path: 'ceremonies/', authority: ['elder', 'firekeeper'], access: 'sacred' },
{ path: 'teachings/*.md', authority: ['steward'], access: 'ceremony_required' }
],
ceremony_required_changes: ['ontology/*.ts', 'sacred/*'],
index_exclusions: ['private/', 'sacred/']
}
getAccessLevel(filePath, config): GovernanceAccess
// Returns: 'open' | 'ceremony_required' | 'restricted' | 'sacred'
isIndexExcluded(filePath, config): boolean
// True if path should not appear in search indexes
// Supports glob patterns and prefix matching
checkCeremonyRequired(filePath, config): boolean
// True if changes to this path need ceremonial review
// Supports glob patterns (e.g., 'ontology/*.ts')
formatGovernanceWarning(rule)
// → '⚠️ GOVERNANCE: Changes to [ceremonies/] require [elder, firekeeper] approval. Access level: sacred'
medicine-wheel-ontology-core ^0.1.1RSISConfig, CeremonyPhase, SunName, GovernanceConfig, GovernanceProtectedPath, GovernanceAccess