Community-based ceremonial review protocol — implements Wilson’s validation through Elder review circles, consensus-seeking, talking circle process, and relational accountability assessment.
Version: 0.1.0
Package: medicine-wheel-community-review
Document ID: rispec-community-review-v1
Last Updated: 2026-03-15
Users create community-validated knowledge systems where:
What this enables: Software teams and research communities move through ceremonial review processes where validation comes from community consensus rather than individual peer review. Every artifact—research, ceremony, knowledge, code, or narrative—receives community attention proportional to its relational significance.
Structural Tension: Between Western peer review (expert judgment, anonymous critique, individual authority) and Indigenous community review (collective wisdom, named voices, Elder blessing, directional perspectives). The community-review package resolves this by implementing talking circles, Elder validation, and consensus-seeking as first-class review primitives.
gathering → reviewing → deliberating → decided
| Status | Focus | Who Acts |
|---|---|---|
gathering |
Assembling the circle — adding reviewers with roles and directions | Circle initiator |
reviewing |
Talking circle active — voices being heard | All reviewers |
deliberating |
Elder validation requested — wisdom being sought | Elder validator |
decided |
Outcome determined — blessing or guidance given | Circle as whole |
type PersonRole = 'steward' | 'contributor' | 'elder' | 'firekeeper' | 'community-member' | 'youth';
type ArtifactType = 'research' | 'ceremony' | 'knowledge' | 'code' | 'narrative';
type ReviewCircleStatus = 'gathering' | 'reviewing' | 'deliberating' | 'decided';
type ReviewOutcomeType = 'approved-with-blessings' | 'deepen-required' | 'return-to-circle' | 'ceremonial-hold' | 'withdrawn';
interface ReviewCircle {
id: string;
artifactId: string;
artifactType: ArtifactType;
reviewers: Reviewer[];
elderValidator?: string;
status: ReviewCircleStatus;
outcome?: ReviewOutcome;
talkingCircleLog: TalkingCircleEntry[];
wilsonAlignment: number; // 0–1
ocapCompliant: boolean;
createdAt: string;
}
interface Reviewer {
id: string;
role: PersonRole;
direction?: DirectionName; // Perspective they bring
voice?: string; // Their review statement
accountableTo: string[]; // Who they represent
}
interface ReviewOutcome {
type: ReviewOutcomeType;
consensus: boolean;
voices: TalkingCircleEntry[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
elderBlessing?: string;
conditions: string[];
nextAction: string;
}
interface TalkingCircleEntry {
speakerId: string;
role: PersonRole;
direction?: DirectionName;
voice: string;
timestamp: string;
inResponseTo?: string;
}
createReviewCircle(artifactId, artifactType)
// Creates a new circle in 'gathering' status
addReviewer(circle, reviewer)
// Adds a participant (only while 'gathering')
submitForReview(circle)
// Transitions to 'reviewing' (requires ≥1 reviewer)
closeCircle(circle, outcome)
// Finalizes with outcome, transitions to 'decided'
circleStatus(circle)
// Returns: { status, reviewerCount, hasElder, voicesHeard, outcomeType? }
requestElderValidation(circle, elderId)
// Sets elderValidator, transitions to 'deliberating'
elderGuidance(circle)
// Returns: { artifactType, voicesHeard, directionsRepresented, wilsonAlignment, suggestions[] }
elderBlessing(circle, elderId, blessing)
// Records Elder's blessing in the talking circle log
seekConsensus(circle)
// Returns: { consensusReached, emergingOutcome, voiceCount, reviewerCount, allReviewersSpoken }
talkingCircle(circle, entry)
// Adds a voice to the talking circle (only during 'reviewing' or 'deliberating')
recordVoices(circle)
// Returns: { total, byDirection, byRole, unheardReviewers }
resolveDisagreement(circle, process)
// process: 'deeper-listening' | 'elder-mediation' | 'return-to-ceremony' | 'rest-and-return'
// Returns: { guidance, nextStatus, suggestedActions[] }
reviewerAccountability(reviewer)
// Returns: { reviewerId, role, accountableTo, direction?, accountabilityStatement }
reviewAgainstWilson(circle)
// Returns: { wilsonCheck, score, observations[] }
reviewAgainstOcap(circle)
// Returns: { compliant, issues[] }
relationalHealthReview(circle)
// Returns: { healthy, score, dimensions: { diversity, participation, accountability, elderPresence }, recommendations[] }
approveWithBlessings(circle, blessing)
// Produces 'approved-with-blessings' outcome with Elder blessing
requestDeepening(circle, areas)
// Produces 'deepen-required' outcome with specific areas to deepen
returnToCircle(circle, reason)
// Produces 'return-to-circle' outcome with revision reason
ceremonialHold(circle, reason)
// Produces 'ceremonial-hold' outcome — ceremony needed before proceeding
Every type has a corresponding Zod schema for runtime validation:
PersonRoleSchema, ArtifactTypeSchema, ReviewCircleStatusSchema, ReviewOutcomeTypeSchema
ReviewerSchema, TalkingCircleEntrySchema, WilsonCheckSchema
ReviewOutcomeSchema, ReviewCircleSchema
medicine-wheel-ontology-core ^0.1.1, medicine-wheel-ceremony-protocol ^0.1.0, zod ^3.23.0DirectionName, AccountabilityTracking, OcapFlags from ontology-coreWilson describes research validation not through peer review but through community review: