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_trees Sequence 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.jsonl for 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
  • TaskSpec emits DRINK_WATER with 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.