ANIMA

The ANIMA cognition framework

This page primarily introduces ANIMA, a domain-agnostic six-layer / five-factor cognition framework that turns upstream signals (text, voice, BCI, vision) into verifiable, dispatchable, recoverable robot actions. It ships as a standalone Python library at jeffliulab/anima (v0.1.0).

ANIMA
  • LLM-as-Parser, not LLM-as-Generator (forced tool-calling emits a TaskSpec JSON)
  • Test-and-Check gates before execution: JSON / intent / skill / params / safety / preconditions
  • Event-triggered five-factor self-assessment (not continuous logging): ITA / MQA / SQA / GOA / PEA
  • Three-stage time evaluation (Pre / Runtime / Post), orthogonal to the five factors
  • GOA composition is multiplicative: P(success) = ∏ Pᵢ (averaging is forbidden — it masks bottlenecks)
  • PEA retrieval is three-factor: recency × 0.5 + relevance × 3.0 + importance × 2.0
  • Behavior-tree runtime via py_trees, no ad-hoc state machines; Function-Calling + Affordance Scoring replaces RAG when the skill set is under 100
Overview

What ANIMA is, and what it is not

What it is

A shared cognition framework: six-layer stack (L0–L5) + six-gate Test-and-Check + five-factor self-assessment (ITA / MQA / SQA / GOA / PEA). Ships as a pip-installable standalone Python library at jeffliulab/anima starting with v0.1.0.

What it is not

Not a vision model, motion planner, or hardware driver; not locked to a single robot embodiment. The LLM acts only as a parser — it never emits motor commands directly.

Why keep it separate

Shipped as a standalone repo on 2026-04-21. Two application branches — soma-arm (tabletop chess) and soma-care (simulated-ward ADL) — share the same framework and only diverge at the L4 adapter layer.

Deep pages

Technical deep dives

These pages continue the story around architecture, validation, and skill boundaries without overloading the landing page.

Related robots

ANIMA is currently grounded through these robots