Objective
Design and implement the M1.3.1 Mimi State Machine — the orchestrator core lifecycle management component that governs the entire Mimi system lifecycle from receiving user instructions through routing, memory access, task execution, and graceful shutdown.
Requirements
- Define 10 core states (IDLE, LISTENING, PROCESSING, EXECUTING, RESPONDING, DEGRADED, RECOVERING, FAILED_COMPONENT, CRITICAL_ERROR, SHUTDOWN)
- Specify state transitions with guard conditions
- Integrate with message bus (Zenoh/NATS)
- Implement hybrid execution model (blocking + async callbacks)
- Ensure Odlaguna watchdog cooperation for timeout management
- Enable Pandora to filter and track state changes
- Support selective state persistence to Neo4j
Design Sections
Deliverables
- Design document:
docs/plans/2026-04-17-M1.3.1-state-machine-design.md
- Implementation plan:
docs/plans/2026-04-17-M1.3.1-state-machine-implementation.md
- Rust implementation:
crates/mimi-core/src/orchestrator.rs
- Integration tests:
crates/mimi-core/tests/state_machine_tests.rs
Blocked By
- M1.2.6 Message Routing (COMPLETE ✓)
Blocks
- M1.3.2 Task Queue & Executor
- M1.3.3 Error Handling & Recovery
Objective
Design and implement the M1.3.1 Mimi State Machine — the orchestrator core lifecycle management component that governs the entire Mimi system lifecycle from receiving user instructions through routing, memory access, task execution, and graceful shutdown.
Requirements
Design Sections
Deliverables
docs/plans/2026-04-17-M1.3.1-state-machine-design.mddocs/plans/2026-04-17-M1.3.1-state-machine-implementation.mdcrates/mimi-core/src/orchestrator.rscrates/mimi-core/tests/state_machine_tests.rsBlocked By
Blocks