fable-agent/ARCHITECTURE.md

12 KiB

Fable Agent — Architecture Reference

Thesis

Harness-agnostic, model-agnostic. The harness compounds. The model executes phases. Swap any executor, any model, any provider — the system accumulates regardless.


Layer 1: Safety Stack (Pre-loop)

Every task passes through these gates before reaching the feedback loop:

User Input
  │
  ├── ContentSafetyGate──────────── classify risk domain
  │     cybersecurity_exploit → BLOCK
  │     harmful_content      → BLOCK
  │     financial_advice     → REFORMULATE
  │     code_generation      → ALLOW
  │
  ├── DecompositionGuard ────────── detect multi-turn attacks
  │     3+ exploit stages in 5min window → BLOCK
  │     Unicode homoglyphs → normalized before matching
  │
  ├── PromptBoundaryAdapter ─────── stay within classifier boundaries
  │     exploit-adjacent verbs → defensive equivalents
  │     Mixed domains → split with safety framing
  │
  ├── SafetyBoundary ────────────── route to available model
  │     Fable 5 / Mythos 5 → BLOCKED (export control)
  │     Opus 4.8 → orchestrator
  │     Sonnet 4.6 → bounded subtasks
  │     Haiku → grading
  │
  └── HallucinationDetector ─────── verify output against known facts
        contradiction → BLOCK
        confabulation → BLOCK
        self-contradiction → BLOCK

Files: upgrades/content-safety-gate.ts, upgrades/decomposition-guard.ts, upgrades/prompt-boundary-adapter.ts, upgrades/safety-boundary.ts, upgrades/hallucination-detector.ts, upgrades/fallback-detector.ts


Layer 2: Foundation (Tier 1)

Module File Purpose
SessionEngine tier1-foundation/session-engine.ts Checkpoint/resume, heartbeat stall detection, days-long autonomy
ContextManager tier1-foundation/context-manager.ts Sliding window, priority summarization, token budget
ToolOrchestrator tier1-foundation/tool-orchestrator.ts Retry with backoff, timeout, validators

Layer 3: Primitives (Tier 2)

Loops

Module File Purpose
FeedbackLoop tier2-primitives/loops/feedback-loop.ts Plan → Execute → Observe → Reflect → Refine phase machine
StateAccumulator tier2-primitives/loops/state-accumulator.ts Append-only event log, aggregation, trends
ConvergenceCheck tier2-primitives/loops/convergence-check.ts Diminishing returns, quality plateau detection

Workflows

Module File Purpose
WorkflowGraph tier2-primitives/workflows/workflow-graph.ts DAG execution, topological sort, conditional branching
AdaptiveRouter tier2-primitives/workflows/adaptive-router.ts Epsilon-greedy branch selection, historical path scoring
RecoveryHandler tier2-primitives/workflows/recovery-handler.ts Retry, fallback, graceful degradation

Routines

Module File Purpose
SkillRegistry tier2-primitives/routines/skill-registry.ts CRUD, versioning, tagging, search
ExecutionEngine tier2-primitives/routines/execution-engine.ts Deliberate practice, timing, validation
RoutineEvolution tier2-primitives/routines/routine-evolution.ts Analyze history, auto-suggest improvements

Layer 4: Compounding (Tier 3)

Module File Purpose
StateRepository tier3-compounding/state-repository.ts Cross-session knowledge base, tagging, compaction
SkillSharpener tier3-compounding/skill-sharpener.ts Meta-review, quality gate, auto-apply improvements
MetaAgent tier3-compounding/meta-agent.ts Orchestrator: select → execute → sharpen → store → compound

Layer 5: Upgrades (Elite Patterns)

Pattern File Purpose
Dreaming upgrades/dreaming-system.ts Sleep → review → extract → codify → dream
Self-Validation upgrades/self-validator.ts Per-phase quality gates, auto-retry on failure
Multi-Agent upgrades/multi-agent.ts Orchestrator → specialists → collect → verify
Rubric Engine upgrades/rubric-engine.ts N-criteria evaluation, dynamic exit conditions
Persistent Memory upgrades/persistent-memory.ts Episodic + Semantic + Procedural partitions
Enhanced Meta upgrades/enhanced-meta-agent.ts Full Dream → Act → Validate → Codify loop
Vision Check upgrades/vision-self-check.ts Automated visual verification via vision model
Scheduler upgrades/routine-scheduler.ts Cron-like task scheduling
Goal Queue upgrades/goal-queue.ts Persistent priority queue
Daemon upgrades/daemon-engine.ts 24/7 autonomous loop, auto-resume, auto-benchmark
Benchmark upgrades/benchmark-runner.ts Measure compounding trends
Cost Tracker upgrades/cost-tracker.ts Per-call/per-model/per-session cost
Cost Cap upgrades/cost-cap.ts Hard budget limits, auto-pause
Skill Sync upgrades/skill-sync.ts Two-way SKILLS/ markdown ↔ TS registry
Exa Search upgrades/exa-search.ts Web search + company research
Env Loader upgrades/env-loader.ts .env loading, no dependencies
Fallback Detector upgrades/fallback-detector.ts Detect silent model fallback
Familiar Knowledge upgrades/familiar-knowledge.ts inbox → wiki processing pipeline
PAI Adapter upgrades/pai-adapter.ts PAIMM / TELOS / LifeOS mapping
AI SDK Adapter upgrades/ai-sdk-adapter.ts AI SDK v7 harness interface

Layer 6: Executors

Executor File Interface Model
Antigrav examples/executors/antigrav-executor.ts agy --print gemini-2.5-pro
Claude Code examples/executors/cc-executor.ts claude -p claude-sonnet-4-6
Codex examples/executors/codex-executor.ts codex or pi --provider codex codex
Composite examples/executors/composite-executor.ts multi-model routing per-phase
Fable5 examples/executors/fable5-executor.ts effort levels opus-4-8
Grok examples/executors/grok-executor.ts grok -m grok-3 -p grok-3
Kimi examples/executors/kimi-executor.ts Kimi API kimi-k2.6
Local examples/executors/local-executor.ts OAI-compatible Ollama/vLLM
OpenAI examples/executors/openai-executor.ts OpenAI API gpt-4.1 / o3
OpenCode examples/executors/opencode-executor.ts opencode -p via proxy :18901
Pi examples/executors/pi-executor.ts pi --print 324 models
Sonnet examples/executors/sonnet-executor.ts Anthropic API claude-sonnet-4-6
Weak-to-Strong examples/executors/weak-to-strong.ts bootstrap any

Layer 7: Bridges

Bridge File Connects
PAI-FA pai/pai-fa-bridge.ts PAI TELOS → FA rubric, PAI memory → FA memory
PAI-Pi pai/pai-pi-bridge.ts PAI Pi release (4035-char prompt, 9 skills) → FA
AI SDK upgrades/ai-sdk-adapter.ts Fable Agent ↔ AI SDK v7 harness ecosystem

Layer 8: Pre-existing Modules

Module Directory Contents
PAI pai/ TELOS bridge, ISA writer, memory progression, proxy client, skill sync
Fable5 fable5/ Model router, independent verifier, goal pattern, agent chains, meta-agent, agent teams, worktree isolation, state file, compound stack

Data Flow

                    ┌─────────────────────────────┐
                    │        User / CLI            │
                    └──────────┬──────────────────┘
                               │ task
                    ┌──────────▼──────────────────┐
                    │     SAFETY STACK (4 gates)   │
                    │  content → decomp → adapt →  │
                    │  route → hallucination check  │
                    └──────────┬──────────────────┘
                               │ safe task
                    ┌──────────▼──────────────────┐
                    │     FEEDBACK LOOP            │
                    │  plan → execute → observe →  │
                    │  reflect → refine            │
                    │  (rubric evaluates each iter)│
                    └──────────┬──────────────────┘
                               │ iteration results
                    ┌──────────▼──────────────────┐
                    │     ACCUMULATOR              │
                    │  store → aggregate → trend   │
                    └──────────┬──────────────────┘
                               │ converged?
                    ┌──────────▼──────────────────┐
                    │     DREAM CYCLE              │
                    │  every 3 goals: review →     │
                    │  extract → distill → codify  │
                    └──────────┬──────────────────┘
                               │ skill improvements
                    ┌──────────▼──────────────────┐
                    │     MEMORY                   │
                    │  episodic (what happened)    │
                    │  semantic (what it means)    │
                    │  procedural (how to do it)   │
                    └──────────┬──────────────────┘
                               │ accumulated state
                    ┌──────────▼──────────────────┐
                    │     KNOWLEDGE                │
                    │  state repo / familiar wiki  │
                    │  / STATE.md / SKILLS/        │
                    └─────────────────────────────┘

CLI Map

fable-agent run <task>           → Safety stack → Feedback loop → Memory
fable-agent demo                 → Exa search → Register skill → Loop → Sharpen
fable-agent daemon start --detach → 24/7 loop with auto-resume + auto-benchmark
fable-agent daemon queue <goal>  → Priority queue → Daemon picks → Execute
fable-agent familiar capture     → inbox/ .md
fable-agent familiar process     → inbox/ → wiki/ + auto git commit
fable-agent familiar graph       → [[wikilinks]] → knowledge graph
fable-agent benchmark run        → 3 benchmarks → Trend report
fable-agent learned              → Every storage layer → Full knowledge report
fable-agent exa search           → Exa API → Results → Knowledge base
fable-agent skills sync          → SKILLS/ markdown ↔ TS registry
fable-agent pai-pi run <goal>    → PAI Pi prompt + Pi executor → FA loop

File Inventory

~/fable-agent/
├── 86 source files     (src/ — all layers)
├── 5 test files        (43 tests)
├── 13 executors        (examples/executors/)
├── 25 upgrade modules  (upgrades/)
├── 7 pre-existing      (pai/ + fable5/)
├── 6 root docs         (README.md, AGENT.md, CONFIG.md, STATE.md, ARCHITECTURE.md, PHASES/)
├── 6 skill dirs        (SKILLS/)
├── 14 phase defs       (PHASES/)
├── Dockerfile          (deployable)
├── .github/            (CI/CD)
├── deploy/             (systemd + PM2)
└── .env.example        (all config vars)

Version

0.0.1 — architecture-complete. Every pattern from every source implemented. All 14 roadmap steps. All Fable 5 elite patterns. All safety layers. All executors. All bridges. Deployment ready. The harness, not the model.