An experimental TypeScript framework for relational healing, ceremonial inquiry, and Indigenous-aligned software development — grounded in the Four Directions, Wilson’s three R’s (Respect, Reciprocity, Responsibility), and OCAP® data sovereignty principles.
[!WARNING] Experimental alpha. APIs change between patch versions, packages appear and their boundaries move, and storage shapes are still settling. Published in the open so the work can be examined and improved — pin exact versions, and read ALPHA.md before depending on any of it.
The suite now includes an interactive app, CLI, MCP server, and PostgreSQL/Neon storage alongside its composable libraries.
@medicine-wheel/ontology-core ← Foundation (types, schemas, RDF vocabulary)
├── @medicine-wheel/ceremony-protocol ← Ceremony state & governance
├── @medicine-wheel/fire-keeper ← Ceremony coordination agent
├── @medicine-wheel/community-review ← Elder review & consensus
├── @medicine-wheel/consent-lifecycle ← Relational consent lifecycle
├── @medicine-wheel/narrative-engine ← Beat sequencing & arc validation
├── @medicine-wheel/importance-unit ← Relational unit of knowledge
├── @medicine-wheel/relational-index ← Four-source epistemic indexing
├── @medicine-wheel/transformation-tracker ← Wilson validity tracking
├── @medicine-wheel/graph-viz ← Circular layout & visualization
├── @medicine-wheel/relational-query ← Query, traversal & audit
├── @medicine-wheel/prompt-decomposition ← Intent extraction & PDE
├── @medicine-wheel/ui-components ← React components
├── @medicine-wheel/data-store ← Shared data access
└── @medicine-wheel/session-reader ← Session event data reader
@medicine-wheel/creative-orientation ← The question asked before the work
├── @medicine-wheel/creative-problem-solving ← Signpost — re-exports the above
├── @medicine-wheel/gap-analysis ← The fire path
└── @medicine-wheel/brainstorming ← Idea → design, through human gates
Is there a prior state you are restoring? Named one — this is a fire, and gap analysis is the right instrument. Named none — you are creating, and structural tension is.
mw orient "<outcome>"asks it from the command line.
This project utilizes the RISE methodology:
The sections below introduce the core building blocks. The root
package.json workspace list is the current inventory of the
full suite.
Core ontology layer — 50+ TypeScript types, Zod validation schemas, RDF vocabulary (6 custom namespaces), canonical constants (Ojibwe names, seasons, direction colors), and semantic query helpers (Wilson alignment, OCAP® compliance, relational traversal).
zodCeremony lifecycle protocol — manages ceremony state, four-phase transitions (opening → council → integration → closure), governance enforcement for protected paths, and ceremony-required change detection.
@medicine-wheel/ontology-coreFire Keeper coordination agent — tends the ceremony fire, ensures relational integrity through gating conditions, permission tier escalation, and maintains Wilson alignment as an active agent that evaluates, gates, routes, and escalates.
@medicine-wheel/ontology-core, @medicine-wheel/ceremony-protocolCommunity-based ceremonial review protocol — implements Wilson’s validation through Elder review circles, consensus-seeking, talking circle protocol, and relational accountability assessment.
@medicine-wheel/ontology-core, @medicine-wheel/ceremony-protocol, zodOngoing relational consent lifecycle — consent as a living relational obligation with lifecycle tracking, renewal, renegotiation, withdrawal cascades, and community-level consent protocols.
@medicine-wheel/ontology-core, @medicine-wheel/ceremony-protocol, zodBeat sequencing, cadence validation, arc completeness scoring, timeline building, cycle orchestration, and RSIS narrative generators. Tracks four-directional balance and ceremony coverage.
@medicine-wheel/ontology-coreImportanceUnit — the relational unit of knowledge in Wilson’s epistemology. Carries epistemic weight, source dimensions (Land/Dream/Code/Vision), circle depth tracking, and accountability links. Dream-state knowledge starts at 0.85+ weight; rational-filtered inputs start lower.
@medicine-wheel/ontology-core, zodFour-source epistemic dimensional indexing — Land, Dream, Code, Vision traversal with cross-dimensional mapping, convergence/tension detection, and spiral depth metrics.
@medicine-wheel/ontology-coreResearch transformation tracking — Wilson validity criterion: “If research doesn’t change you, you haven’t done it right.” Tracks researcher growth, community impact, relational shifts, reciprocity balance, and seven-generation sustainability.
@medicine-wheel/ontology-core, @medicine-wheel/ceremony-protocol, zodMedicine Wheel circular graph visualization — four-direction node positioning, ceremony-aware edges, OCAP® indicators, SVG path generation, data converters, and RSIS visualization utilities (kinship graphs, reciprocity flows, Mermaid export).
@medicine-wheel/ontology-corereactQuery builder for relational webs — node/edge filtering, ceremony-bounded BFS traversal, OCAP®-compliant path walking, accountability auditing, shortest path, neighborhood discovery, and KuzuDB Cypher query builders.
@medicine-wheel/ontology-coreOntology-enriched prompt decomposition — Four Directions classification, implicit intent extraction from hedging language, dependency mapping, ceremony guidance, action stacking, and narrative beat generation.
@medicine-wheel/ontology-coreReact UI component library — DirectionCard, BeatTimeline, NodeInspector, OcapBadge, WilsonMeter. All components use ontology-core types for type-safe, culturally grounded interfaces.
@medicine-wheel/ontology-corereactShared Redis data-access layer — connection management (Upstash, Vercel KV, local), Node/Edge/Ceremony/Accountability CRUD, session-ceremony linking, and generic Redis helpers.
@medicine-wheel/ontology-core, redisSession event reader — JSONL parsing, session summaries, analytics extraction, and search across agent session data. Zero external dependencies.
The orientation question, asked before the work: is there a prior state you are restoring? Yes — this is a fire, route to gap analysis. No — you are creating, route to structural tension. Reads the claim the caller supplies; advises where phrasing and situation disagree, and never refuses.
Signpost package — re-exports @medicine-wheel/creative-orientation and adds THE_QUESTION. Holds no logic of its own. It exists because “creative problem solving” is the name people look for, and a signpost carrying the traveller’s name is how they find the door.
@medicine-wheel/creative-orientationProblem-solving built properly for when something worked and stopped — evidenced baseline, observation, difference, verifiable elimination steps. Root cause, incidents, regressions, troubleshooting. The baseline requirement is what separates a fire from a creating act.
@medicine-wheel/creative-orientationIdea into committed design through approval gates a human holds — explore → clarify → approaches → design → spec → review → plan. Every outcome it emits, including its own multiple-choice questions, passes the orientation question before it is spoken.
@medicine-wheel/creative-orientationRISE framework specifications are in rispecs/. Start with medicine-wheel.spec.md for the system overview.
| Package | Spec |
|---|---|
| System Overview | medicine-wheel.spec.md |
| ontology-core | ontology-core.spec.md |
| ceremony-protocol | ceremony-protocol.spec.md |
| fire-keeper | fire-keeper.spec.md |
| community-review | community-review.spec.md |
| consent-lifecycle | consent-lifecycle.spec.md |
| narrative-engine | narrative-engine.spec.md |
| importance-unit | importance-unit.spec.md |
| relational-index | relational-index.spec.md |
| transformation-tracker | transformation-tracker.spec.md |
| graph-viz | graph-viz.spec.md |
| relational-query | relational-query.spec.md |
| prompt-decomposition | prompt-decomposition.spec.md |
| ui-components | ui-components.spec.md |
| data-store | data-store.spec.md |
| session-reader | session-reader.spec.md |
llms.txt — Quick navigation for LLMsllms-full.txt — Exhaustive reference with code samplesThis is a monorepo using npm workspaces.
# Build all packages
npm run build:packages
# Start development server (Next.js)
npm run dev
# Install individual packages (from registry when published)
npm install @medicine-wheel/ontology-core
npm install @medicine-wheel/narrative-engine
# Install the published app package
npm install -g @medicine-wheel/app
# Start the server against the current directory's .mw/store
mwsrv -D ./
# Start the server in Docker with the published image
mwsrv --docker -D /src/myapp
# Talk to the running server
mw status
mw directions
mw node list
The mw CLI uses HTTP against the running server by default; MCP fallback is
available via a local MW_MCP_PATH.
MIT see LICENSE