@medicine-wheel/community-review
Version:
Community-based ceremonial review protocol for Medicine Wheel — implements Wilson's validation through Elder review circles, consensus, and relational accountability
371 lines • 15.6 kB
TypeScript
/**
* @medicine-wheel/community-review — Zod Schemas
*
* Runtime validation schemas for community review types.
* Enforces data integrity at all boundaries.
*/
import { z } from 'zod';
export declare const PersonRoleSchema: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
export declare const ArtifactTypeSchema: z.ZodEnum<["research", "ceremony", "knowledge", "code", "narrative"]>;
export declare const ReviewCircleStatusSchema: z.ZodEnum<["gathering", "reviewing", "deliberating", "decided"]>;
export declare const ReviewOutcomeTypeSchema: z.ZodEnum<["approved-with-blessings", "deepen-required", "return-to-circle", "ceremonial-hold", "withdrawn"]>;
export declare const DirectionNameSchema: z.ZodEnum<["east", "south", "west", "north"]>;
export declare const ReviewerSchema: z.ZodObject<{
id: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodOptional<z.ZodString>;
accountableTo: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}, {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}>;
export declare const TalkingCircleEntrySchema: z.ZodObject<{
speakerId: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodString;
timestamp: z.ZodString;
inResponseTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}>;
export declare const WilsonCheckSchema: z.ZodObject<{
respectHonored: z.ZodBoolean;
reciprocityPresent: z.ZodBoolean;
responsibilityTaken: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}>;
export declare const ReviewOutcomeSchema: z.ZodObject<{
type: z.ZodEnum<["approved-with-blessings", "deepen-required", "return-to-circle", "ceremonial-hold", "withdrawn"]>;
consensus: z.ZodBoolean;
voices: z.ZodArray<z.ZodObject<{
speakerId: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodString;
timestamp: z.ZodString;
inResponseTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}>, "many">;
wilsonCheck: z.ZodObject<{
respectHonored: z.ZodBoolean;
reciprocityPresent: z.ZodBoolean;
responsibilityTaken: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}>;
elderBlessing: z.ZodOptional<z.ZodString>;
conditions: z.ZodArray<z.ZodString, "many">;
nextAction: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
}, {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
}>;
export declare const ReviewCircleSchema: z.ZodObject<{
id: z.ZodString;
artifactId: z.ZodString;
artifactType: z.ZodEnum<["research", "ceremony", "knowledge", "code", "narrative"]>;
reviewers: z.ZodArray<z.ZodObject<{
id: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodOptional<z.ZodString>;
accountableTo: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}, {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}>, "many">;
elderValidator: z.ZodOptional<z.ZodString>;
status: z.ZodEnum<["gathering", "reviewing", "deliberating", "decided"]>;
outcome: z.ZodOptional<z.ZodObject<{
type: z.ZodEnum<["approved-with-blessings", "deepen-required", "return-to-circle", "ceremonial-hold", "withdrawn"]>;
consensus: z.ZodBoolean;
voices: z.ZodArray<z.ZodObject<{
speakerId: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodString;
timestamp: z.ZodString;
inResponseTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}>, "many">;
wilsonCheck: z.ZodObject<{
respectHonored: z.ZodBoolean;
reciprocityPresent: z.ZodBoolean;
responsibilityTaken: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}, {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
}>;
elderBlessing: z.ZodOptional<z.ZodString>;
conditions: z.ZodArray<z.ZodString, "many">;
nextAction: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
}, {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
}>>;
talkingCircleLog: z.ZodArray<z.ZodObject<{
speakerId: z.ZodString;
role: z.ZodEnum<["steward", "contributor", "elder", "firekeeper", "community-member", "youth"]>;
direction: z.ZodOptional<z.ZodEnum<["east", "south", "west", "north"]>>;
voice: z.ZodString;
timestamp: z.ZodString;
inResponseTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}, {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}>, "many">;
wilsonAlignment: z.ZodNumber;
ocapCompliant: z.ZodBoolean;
createdAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: string;
status: "gathering" | "reviewing" | "deliberating" | "decided";
artifactId: string;
artifactType: "research" | "ceremony" | "knowledge" | "code" | "narrative";
reviewers: {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}[];
talkingCircleLog: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonAlignment: number;
ocapCompliant: boolean;
createdAt: string;
elderValidator?: string | undefined;
outcome?: {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
} | undefined;
}, {
id: string;
status: "gathering" | "reviewing" | "deliberating" | "decided";
artifactId: string;
artifactType: "research" | "ceremony" | "knowledge" | "code" | "narrative";
reviewers: {
id: string;
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
accountableTo: string[];
direction?: "east" | "south" | "west" | "north" | undefined;
voice?: string | undefined;
}[];
talkingCircleLog: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonAlignment: number;
ocapCompliant: boolean;
createdAt: string;
elderValidator?: string | undefined;
outcome?: {
type: "approved-with-blessings" | "deepen-required" | "return-to-circle" | "ceremonial-hold" | "withdrawn";
consensus: boolean;
voices: {
role: "steward" | "contributor" | "elder" | "firekeeper" | "community-member" | "youth";
voice: string;
speakerId: string;
timestamp: string;
direction?: "east" | "south" | "west" | "north" | undefined;
inResponseTo?: string | undefined;
}[];
wilsonCheck: {
respectHonored: boolean;
reciprocityPresent: boolean;
responsibilityTaken: boolean;
};
conditions: string[];
nextAction: string;
elderBlessing?: string | undefined;
} | undefined;
}>;
export type ValidatedReviewer = z.infer<typeof ReviewerSchema>;
export type ValidatedTalkingCircleEntry = z.infer<typeof TalkingCircleEntrySchema>;
export type ValidatedWilsonCheck = z.infer<typeof WilsonCheckSchema>;
export type ValidatedReviewOutcome = z.infer<typeof ReviewOutcomeSchema>;
export type ValidatedReviewCircle = z.infer<typeof ReviewCircleSchema>;
//# sourceMappingURL=schemas.d.ts.map