UNPKG

@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

48 lines 2.13 kB
/** * @medicine-wheel/community-review — Storyteller Perspective Gate * * A runtime quality boundary: output that lacks the creator's storyteller * signature is rejected with a useful revision reason, so an agent revises * rather than ships voiceless output. * * Episode 066 (Jerry thread): "if there is no Miette perspective … in the * output, it's going to get rejected and the agent will have to revise." * Modeled on the existing `mw_enforce_gate` rejection pattern — accountability * at the interface layer, not model retraining. */ /** The creative signature an output must carry to be accountable to its author. */ export interface StorytellerSignature { /** * Markers that identify the creator's storyteller voice — names, glyphs, or * phrases (e.g. ['🌸', 'Miette', 'narrative resonance']). Matched * case-insensitively as substrings. */ markers: string[]; /** Minimum number of DISTINCT markers required to pass (default: 1). */ minMarkers?: number; /** Optional human label for the signature, used in the revision reason. */ label?: string; } export interface StorytellerGateResult { /** Whether the output carries enough of the storyteller signature. */ passed: boolean; /** Distinct markers found in the output. */ matchedMarkers: string[]; /** True when no signature marker at all was found. */ missingSignature: boolean; /** When rejected, a concrete instruction the agent can act on to revise. */ revisionReason?: string; } /** * Evaluate an output against a storyteller signature. * * @param output The produced text to evaluate. * @param signature The creative signature it must carry. */ export declare function storytellerGate(output: string, signature: StorytellerSignature): StorytellerGateResult; /** * Convenience: throw when the gate rejects, mirroring `mw_enforce_gate` * rejection semantics for call sites that prefer fail-fast over inspection. */ export declare function enforceStorytellerGate(output: string, signature: StorytellerSignature): void; //# sourceMappingURL=storyteller.d.ts.map