Relational software framework for Four-Directions inquiry, ceremony-aware development, narrative continuity, persistence, governance, and interactive tooling. The system keeps relational accountability visible across ontology, storage, orchestration, interfaces, and agent-facing surfaces.
Version: 0.6.3
Document ID: rispec-@medicine-wheel/system-v2
Parity Baseline: 2026-08-19
Users create relationally accountable software systems in which ontology, persistence, narrative, ceremony, inquiry, infrastructure, and interfaces can evolve without becoming disconnected islands.
The framework should make relations, consent, provenance, direction, ceremony, and uncertainty visible at the points where software would otherwise flatten them into generic records or invisible implementation detail.
The repository is no longer the fifteen-package system described by the earlier specification.
The current release line contains:
@medicine-wheel/app application and CLI;storage-provider abstraction with JSONL and Neon implementations;The system specification must therefore describe the architecture that exists now, not preserve an earlier package count as doctrine.
Desired state: each package can deepen one domain while still participating in a coherent relational system.
Current pressure: rapid experimentation naturally produces parallel vocabularies, duplicated persistence paths, stale package maps, and interfaces that lag behind engines.
Natural resolution: preserve small canonical contracts at the seams — ontology-core for shared relational meaning, storage-provider for persistence meaning, explicit phase vocabularies, and agent/UI surfaces that invoke rather than bypass the domain engines.
Workspace order is dependency-sensitive. The architecture is better read as layers than as one flat package list.
@medicine-wheel/ontology-core — relational types, schemas, kinship vocabulary, constants, queries, RDF interop.@medicine-wheel/infra — typed infrastructure facets and reconciliation over existing ontology nodes.@medicine-wheel/creative-orientation — distinguishes creative orientation from reactive problem solving.@medicine-wheel/session-reader — session parsing and reading utilities.@medicine-wheel/ceremony-protocol — ceremony state and governance framing.@medicine-wheel/storage-provider — canonical JSONL/Neon persistence contract and record registries.@medicine-wheel/data-store — Redis-specific data-access package; not the canonical cross-backend provider interface.@medicine-wheel/data-store-postgres — minimal pg/Postgres scaffold; not a competing provider architecture.@medicine-wheel/graph-viz — graph layout and visualization helpers.@medicine-wheel/importance-unit — epistemically weighted relational knowledge.@medicine-wheel/narrative-engine — narrative beat sequencing and cycle behavior.@medicine-wheel/narrative-cluster — clustering/derivation layer for narrative material.@medicine-wheel/perception-layer — perceptual/interpretive layer.@medicine-wheel/prompt-decomposition — Four-Directions decomposition and inquiry.@medicine-wheel/relational-index — relational/epistemic indexing.@medicine-wheel/relational-query — traversal and relational query behavior.@medicine-wheel/ui-components — reusable interface components.@medicine-wheel/brainstorming — generative exploration capability.@medicine-wheel/gap-analysis — reactive/problem-oriented gap analysis.@medicine-wheel/creative-problem-solving — orientation/signpost surface that routes users toward the appropriate creative or reactive capability.@medicine-wheel/community-review — ceremonial/community review.@medicine-wheel/consent-lifecycle — consent as a changing relationship.@medicine-wheel/fire-keeper — active relational gating and stewardship.@medicine-wheel/transformation-tracker — transformation and research-impact tracking.@medicine-wheel/ceremonial-diary — participant diary across its own five-phase ceremonial methodology.@medicine-wheel/github-ceremony — interprets GitHub events through ceremonial records.@medicine-wheel/mcp — agent-facing protocol/tools, released on its own 4.x version line.@medicine-wheel/app — root web/CLI serving surface around the packages.ontology-core is the shared relational grammar.
The top-level NodeType union remains six values: human, land, spirit, ancestor, future, knowledge. Domain-specific kinds such as production, infrastructure, and academic entities ride existing nodes through typed discriminators and bindings.
Relations remain first-class and can carry obligations, OCAP governance, Wilson accountability, ceremony context, authorization context, and governed kinship names.
storage-provider is the cross-backend runtime persistence contract.
Implemented provider behavior:
Historical Redis and Postgres packages remain useful boundaries but do not supersede the provider contract.
Narrative beats carry direction, act, ceremonies, learnings, relational honoring, optional cycle membership, telescoping lineage, and origin/provenance.
A surface that creates beats should pass through the narrative engine’s validation/authoring semantics rather than writing around them.
The system contains multiple legitimate phase vocabularies and must not collapse them:
Shared words do not imply one universal state machine.
Web, CLI, REST, MCP, and external consumers should expose domain capabilities without silently bypassing the rules those capabilities exist to enforce.
A feature is not complete merely because an internal engine exists. The serving surface is part of the system contract.
The current storage-provider contract includes more than generic graph records.
Core families:
Registered families:
Capture registration stores records and URIs, never media bytes. Family-specific filtering, merging, provenance, and refusal behavior should remain centralized instead of being reimplemented independently by each backend or route.
The current system distinguishes a page from a total. Collection reads can be limited; whole-store counts use dedicated provider operations.
Filtering must not silently ignore unsupported parameters. When a route claims to filter, either the requested filter is actually applied or the request fails visibly.
Mutation failures should preserve their meaning. A node that still holds relations is a relational refusal, not merely a generic storage error and never an invitation to cascade-delete silently.
East — vision, emergence, inquiry
South — relationship, learning, preparation
West — implementation, validation, embodied work
North — integration, reflection, wisdom
Different packages may apply direction at different altitudes. Ceremonial teaching constants and working-session guidance are related vocabularies, not interchangeable fields.
The system can track these relationally and aggregate alignment, but the numbers do not replace human or community judgement.
Ownership, Control, Access, and Possession are held as governance information on relations. Consent additionally carries current state and affirmation timing where available.
Creative advancement is represented through a desired outcome held together with current reality, producing action without replacing the tension with a problem-only frame.
Desired Outcome: Represent a new class of beings in a specialized domain.
Current Reality: The six core node kinds do not name that domain directly.
Natural Progression: Define a typed domain discriminator and binding onto existing node kinds; add specialized facets or relations outside the foundational enum.
Resolution: The domain becomes first-class enough to validate and query while the core ontology remains stable.
Desired Outcome: Move a working installation from local JSONL to hosted Postgres.
Current Reality: Application behavior already depends on provider-level operations.
Natural Progression: Select Neon through the canonical provider contract and validate observable parity.
Resolution: Location changes without rewriting domain semantics.
Desired Outcome: Let a user or agent actually perform a domain capability.
Current Reality: Internal package logic exists but no reliable CLI/REST/MCP/UI path reaches it.
Natural Progression: Add a serving surface that invokes the same engine/validation path rather than duplicating or bypassing it.
Resolution: The capability becomes operational without creating a second interpretation of its rules.
A RISE specification is not considered current because its prose remains philosophically aligned.
Parity requires checking at least:
Implementation evidence may be listed in an appendix so the main RISE contract remains re-implementable without confusing current file paths with the conceptual design.
package.jsonsrc/ontology-core/src/storage-provider/app/, lib/, dist/cli source inputs, and mcp/