V0.1 — ANIMA Five-Layer Loop Running Locally (mock skills)
The first milestone from the research-prototype era, which lived in the human-brain-interface-demo repo. The goal was straightforward: prove end-to-end that the ANIMA cognition framework can drive a full intent-to-action loop, but without a physics engine yet — robot actions are replaced by mock skills so the upper cognition stack can be validated first.
The entry scenario was "I want water." Everyday, typical, and naturally exercises all layers — perception / planning / execution / assessment.
A core decision: L0 is language, not neural decoding
This choice was locked in at v0.1: the L0 Signal layer does not pretend to decode BCI neural signals. The real input is text or voice, and it flows through an LLM-as-Parser (forced tool-calling) that emits a structured IntentToken.
A decorative 256-channel waveform animation still appears in the UI (seeded from a text hash), but the interface explicitly labels it "decorative only — intent derived from text via LLM parser." This honesty line has held from v0.1 through today's v0.4.
All five layers wired up
- L0 Input: text feature extraction + decorative waveform
- L1 Intent Parser: LLM forced tool-call →
IntentToken(35-word vocabulary) - L2 Planner:
py_treesSequence orchestration - L3 Skill: mock skill nodes as placeholders
- L4 Actuator: mock execution (no physics engine yet)
- L5 Assessment: event-triggered five-factor assessment (ITA / MQA / SQA / GOA / PEA), with PEA entries persisted to
pea_log.jsonlfor long-term learning
Every layer event is pushed to the frontend over a single WebSocket to drive the visualization.
Technical skeleton
Backend: FastAPI, uv + Python 3.12, :8765; DeepSeek as the default LLM provider (fully OpenAI-SDK compatible, leaving room to swap); Pydantic models TaskSpec / IntentToken / FiveFactors fixing the schema.
Frontend: Next.js 16 + Tailwind + zustand + ReactFlow, :3000. Seven key components visualize the full L0–L5 chain:
LayerStack(layer indicator, left column)IntentInput/SignalWaveform/TaskSpecPanel/IntentTokenStream(intent chain, center column)BehaviorTreeFlow(behavior-tree visualization)FiveFactorPanel(assessment dashboard, right column)
Acceptance
Two local processes (uv run uvicorn + npm run dev). Input "I want water" →
- L0 through L5 light up in sequence
TaskSpecemitsDRINK_WATERwith confidence > 0.8- Behavior-tree five nodes transition from sky → green
- Five-factor panel updates in real time
- A PEA event is persisted
This milestone proves the ANIMA cognition stack can close the full intent-to-action loop under pure language input — the foundation on which v0.2 could bolt a MuJoCo simulation into the skill layer.