How phuire-research/stratimux works
Stratimux is a TypeScript framework for composing stateful Concepts into an asynchronous action-driven runtime. Users create Concepts and Methods, combine them into a deck, then start a Muxium; it initializes loaded Concepts and routes actions through principles, selectors, and stage planning. Strategies compose actions into bounded workflows, while ownership arbitrates which pending actions may dispatch. The README also documents hot loading, prioritization, change detection, dialog output, and higher-order composition. The graph reflects the documented capabilities and sampled runtime paths; several internal connections are omitted where excerpts do not establish call ownership.
Main entry points: muxium.ts Muxium runtime · index.ts Public API · actionStrategy.ts Action strategies · action.ts Action model
Components 22
Public Composition
- Public API
src/index.ts - Concept model
src/model/concept/concept.ts - Concept composition
src/model/concept/conceptAdvanced.ts - Method factories
src/model/method/index.ts - Concept deck
src/model/deck.ts
Muxium Runtime
- Muxium runtime
src/model/muxium/muxium.ts - Muxium concept
src/concepts/muxium/muxium.concept.ts - Concept loading
src/concepts/muxium/muxium.principle.ts - Concept state
src/model/concept/concept.type.ts
Action Execution
- Action model
src/model/action/action.ts - Async controller
src/model/action/actionController.ts - Action strategies
src/model/action/strategy/actionStrategy.ts - Quality operations
src/model/quality.ts
Planning and Selection
- State selectors
src/model/selector/selector.ts - Stage planner
src/model/stagePlanner/stagePlanner.ts - Plan handlers
src/model/stagePlanner/stagePlannerHandlers.ts
Built-in Concepts
- Ownership concept
src/concepts/ownership/ownership.concept.ts - Ownership arbitration
src/concepts/ownership/ownership.principle.ts - Ownership ledger
src/model/ownership.ts - Counter example
src/concepts/counter/counter.concept.ts - Experiment concept
src/concepts/experiment/experiment.concept.ts
Other components
- Framework user
Connections 29
- Framework user → Public API: uses
- Public API → Concept model: exports
- Public API → Muxium runtime: exports
- Public API → Method factories: exports
- Framework user → Concept model: defines
- Framework user → Method factories: creates
- Concept model → Concept composition: composes
- Concept composition → Concept deck: builds
- Framework user → Muxium runtime: starts
- Muxium runtime → Muxium concept: initializes
- Muxium runtime → Concept state: maintains
- Concept loading → Concept deck: updates
- Concept loading → Action strategies: dispatches
- Muxium runtime → State selectors: creates
- Muxium runtime → Action model: routes
- Method factories → Async controller: controls async
- Async controller → Action strategies: fails expired
- Action strategies → Action model: composes
- Quality operations → Action model: handles
- Stage planner → Plan handlers: delegates
- Plan handlers → State selectors: maps selectors
- Stage planner → Action model: dispatches stages
- Ownership arbitration → Ownership ledger: checks readiness
- Ownership arbitration → Action strategies: dispatches ready
- Ownership arbitration → Ownership concept: reads state
- Ownership ledger → Ownership concept: updates ledger
- Counter example → Quality operations: defines qualities
- Experiment concept → Quality operations: defines qualities
- Concept loading → Async controller: subscribes methods