Afferent was built as a staged research project: each version unlocked one capability and
carried the previous layers forward. This repository is the v1.0 consolidation of that
arc — a single, clean project. The earlier per-version snapshots live in the
capability-unlocks research folder and are not part of this repo.
The through-line reads: perceive → audit → generate → compose → trust → verify → observe → self-heal → reuse → orchestrate.
| Version | Unlock | What it added |
|---|---|---|
| v0.1 | Senses | The core instruments and the FramePack format — the sensory layer. |
| v0.2 | Auditability | Kernel: planner, policy, provenance, receipts. Runs become inspectable. |
| v0.3 | Generativity | The forge — detect an unknown substrate and generate a fitting instrument for it. |
| v0.4 | Composition | A composition planner: goal + targets → a multi-instrument DAG with linked FramePacks. |
| v0.5 | Trust | Safe runtime + content-addressed registry — gate what may be installed and executed (supply chain). |
| v0.6 | Verification | Falsifiers + worldlines — adversarially test claims, and branch "what-if" experiments in isolated workspaces. |
| v0.7 | Observability | The Workbench — a browsable timeline/graph/search UI over all artifacts. |
| v0.8 | Resilience | Drift detection + conservative self-repair against golden snapshots. |
| v0.9 | Reusability | The capability compiler — package a successful workflow as a reusable skill/MCP/CLI/OpenAPI bundle. |
| v1.0 | Orchestration | The Universal Instrument OS — one loop that infers the senses a goal needs, plans, runs, synthesizes, falsifies, and receipts. |
Every earlier layer is retained and used by the capstone:
goal + targets
→ capability inference (which senses does this goal need?) [v1.0]
→ plan (ordered OS nodes + risk budget) [v0.4 + v1.0]
→ discover / sniff substrates (what am I looking at?) [v0.3]
→ render with best instrument (or forge a fallback) [v0.1 / v0.3]
→ synthesize one OS FramePack (link child packs) [v0.4]
→ falsifier hints (what would prove this wrong?) [v0.6]
→ optional Workbench (make it browsable) [v0.7]
→ optional capability package (make it reusable) [v0.9]
→ universal receipt + map (auditable record) [v0.2 / v1.0]
Side-effectful steps are always gated by the v0.5 safe runtime and registry; regressions are caught by the v0.8 drift layer.
The project is also a study — under the capability-unlocks theme — of how far a
deterministic, local-first "sensory layer" for agents can be pushed before it needs a model
in the loop. The answer at v1.0: perception, composition, verification, packaging, and
orchestration can all be done deterministically and auditably; only judgment (which goal
to pursue, which recommendation to accept) is left to the agent on top.
For where the project goes next, see docs/universal_roadmap.md.