Files
boocode/docs/boocode-lift-analysis.md
indifferentketchup 6fde7002aa docs: boocode-lift-analysis, openspec change docs, codesight cache, deps
- Add boocode-lift-analysis.md: comprehensive 30-repo lift matrix across 25 domains
- Add openspec/ change docs: domain2-code-intelligence, domain3-multi-agent, impeccable-wave, streaming-codeblocks
- Update .gitignore: .impeccable/, .omo/, bun.lock, DESIGN.md, PRODUCT.md
- Update dependencies in package.json + pnpm-lock.yaml
- Update .codesight/ analysis cache
2026-06-08 03:49:26 +00:00

82 KiB
Raw Blame History

BooCode Lift Analysis — What Can We Lift Into BooCode?

Date: 2026-06-07 Scope: 30+ repos scanned across 2 passes. Pass 1 (14 repos): opencode, agentic, hcom, oh-my-openagent, oh-my-pi, OpenAgentsControl, Codex-CLI-Compact, conductor, measuring-ai-proficiency, boocontext, opencode-pty, pskoett-skills, paseo, additional-forks (openspec, codesight, tree-sitter-analyzer, etc.) Pass 2 (16 repos): bun, claudish, cline, goose, han, happy, openchamber, llama.cpp, unsloth, SkillOpt, subtask2, superset, pi-acp, qwen-code, opencode-background-agents, opencode-sentry-monitor, opencode-skillful, opencode-wakatime, opencode-worktree, opencode-zellij-namer


BooCode Architecture (for context mapping)

apps/server     — Fastify API + inference loop + file-read tools + MCP client + codecontext client
apps/web        — React 18 + Vite + Tailwind v4 + shadcn/ui
apps/booterm    — Fastify + node-pty + tmux (browser terminal panes)
apps/coder      — BooCoder: write tools + ACP/PTY dispatcher + provider snapshot + Arena + MCP server
packages/contracts — Cross-app wire contracts (WsFrame, provider-snapshot, message-metadata)
codecontext/    — Go sidecar (codegraph MCP server, v3.2.1)
conductor/      — 22 read-only Han flows via local Qwen
data/AGENTS.md  — 8 agent personas (Code Reviewer, Debugger, Refactorer, etc.)
data/skills/    — Skills system (SKILL.md + optional eval.yaml)
orchestrator    — Multi-agent conductor (Paseo-style run pane, evidence-disciplined reports)

LIFT MATRIX — Capability Domain × Source Repo × BooCode Target

Domain 1: Multi-Provider Model Routing & LLM Abstraction

Capability Source BooCode Target Effort Value
Route/protocol abstraction layer (4-axis: route=protocol+endpoint+auth+framing) opencode packages/llm/Route.make({provider, protocol, endpoint, auth, framing}) apps/server inference loop → replace hardcoded provider dispatch Large High
40+ provider plugins with model discovery + fallback chains oh-my-pi packages/ai/ apps/coder provider-registry.ts (currently 5 providers) Med High
Provider priority chains, capability detection, availability checking, model normalization oh-my-openagent packages/model-core/ → pure TS, no harness deps apps/coder provider-registry.ts → abstract model resolution Small High
Config-backed provider lifecycle with overrides opencode packages/core/src/plugin/provider/ apps/coder provider-registry.ts + data/coder-providers.json Med Med

Domain 2: Codebase Context & Code Intelligence

Capability Source BooCode Target Effort Value
Replace Go codecontext sidecar with TS boocontext (7 tools, session cache, wiki) boocontext (this fork boocontext/) codecontext/ sidecar → replace HTTP shim with MCP client Med Critical
Call graph analysis (callers/callees with depth) tree-sitter-analyzer via boocontext apps/server codecontext_client.ts → new tool Med High
Health grades (A-F per file, 7 dimensions) tree-sitter-analyzer via boocontext apps/server → new tool for Refactorer/Architect agents Med High
BM25-ranked symbol search tree-sitter-analyzer via boocontext codecontext_client.ts → replace search_symbols Med High
Impact analysis (symbol trace + file blast radius merged) boocontext src/tools/impact.ts apps/server → new tool for change planning Med High
Wiki mode (targeted articles: auth.md, database.md, etc.) codesight --wiki mode apps/server → generate persistent codebase wiki Med Med
Semantic codebase graph (info_graph + chat_action_graph) Codex-CLI-Compact bin/dual_graph_launch.sh (proprietary core) apps/server → build own dual-graph system Large High
Token-efficient scanning (7-12x reduction vs manual exploration) codesight codecontext/ → adopt codesight's scanner Small High

Domain 3: Multi-Agent Orchestration

Capability Source BooCode Target Effort Value
Declarative workflow definitions (JSON DAGs) conductor schemas/WorkflowDef.json conductor/ orchestrator → flow format Med High
Task state machine (SCHEDULED → IN_PROGRESS → COMPLETED/FAILED/TIMED_OUT with retriable flag) conductor TaskModel.java conductor/ flows → step state model Small High
DO_WHILE loop for agent iteration conductor DoWhile.java conductor/ → loop support Med High
FORK_JOIN parallel execution with Join synchronization conductor Fork.java + Join.java conductor/ → parallel step execution Med High
SWITCH task for conditional branching conductor Switch.java conductor/ → conditional flow routes Small Med
Parallel execution with batch batching (independent tasks run concurrently) OpenAgentsControl .opencode/agent/subagents/core/task-manager.md conductor/ → parallel batch execution Small High
Subagent tool restriction schema (YAML frontmatter: read/grep/glob/bash bools) agentic agent/*.md frontmatter data/AGENTS.md + conductor/agents → tool permissions per agent Small High
Structured phased workflow lifecycle (ticket → research → plan → execute → commit → review) agentic command/ticket.md, command/research.md, etc. conductor/ or new workflow Med Med
Multi-agent orchestration hub daemon paseo (this fork paseo/) apps/coder → multi-agent lifecycle management Large Med

Domain 4: Inter-Agent Communication & Coordination

Capability Source BooCode Target Effort Value
Inter-agent messaging via shared DB + delivery hcom src/delivery.rs + src/db.rs apps/server → message queue between Orchestrator + BooCoder Large High
Per-tool hook normalization (10 tools: Claude, Codex, Gemini, etc.) hcom src/hooks/ apps/coder → normalized hook payload format Med Med
Event subscription system (agents subscribe to status/file-edit events) hcom src/commands/ (hcom events --wait --sql) apps/server → reactive event triggers Med High
Collision detection (two agents editing same file within 30s) hcom src/ (codex_file_edits.rs) apps/coder → concurrent edit warnings Small Med
Multi-agent topologies (worker-reviewer, ensemble, cascade pipeline) hcom docs/ 6 documented patterns conductor/ → expand beyond read-only Qwen flows Large High
Cross-device relay (MQTT with E2E encryption) hcom src/relay/ net-new network layer Large Low

Domain 5: PTY / Terminal

Capability Source BooCode Target Effort Value
Exit notifications (<pty_exited> with exit code, last line) opencode-pty (this fork) apps/booterm → notify AI on process completion Small High
Pattern-based log search with offset/limit pagination opencode-pty pty_read with regex pattern apps/booterm → grep within PTY buffer Small High
Per-session timeouts opencode-pty timeoutSeconds parameter apps/booterm → runaway process protection Small Med
Rich session metadata (title, description, parent agent) opencode-pty PTYSession metadata apps/booterm → AI context about background tasks Small Med
In-process native PTY (Rust bun-pty vs node-pty+tmux) oh-my-pi crates/pi-shell/ (embedded bash) apps/booterm → alternative PTY backend Large Med

Domain 6: Code Editing & Execution

Capability Source BooCode Target Effort Value
Hashline editing (content hash anchors, hash mismatch = reject) oh-my-openagent packages/hashline-core/ apps/coder edit_file → line anchors with content hashes Small High
AST-based structural editing (ast_edit with preview) oh-my-pi packages/coding-agent/ tools apps/coder → structural rewrite tool Med High
ast-grep pattern matching across 50+ language grammars oh-my-pi crates/pi-ast/ apps/coder → ast_grep_search/replace tools Med High
Built-in eval kernels (persistent Python + JS cells) oh-my-pi packages/coding-agent/ eval tool apps/coder → code execution sandbox Large Med
Fuzzy edit matching (exact → whitespace → unicode → Levenshtein ladder) Already in BooCode (apps/coder/src/fuzzy-match.ts) — (already shipped)

Domain 7: AI Proficiency & Metrics

Capability Source BooCode Target Effort Value
MCP server with 13 proficiency scanning tools measuring-ai-proficiency measure-ai-proficiency-mcp CLI apps/server MCP client → register as MCP server Small Med
Maturity level (1-8) scoring + recommendations measuring-ai-proficiency scanner.py apps/server → agent "skill level" awareness Small Med
2026 context-engineering signals (verification, hooks, primitive discipline, eval loops) measuring-ai-proficiency signals.py apps/server → track AI readiness Small Med
Validation warnings (STALE, TEMPLATE, BLOAT, MISSING REF) measuring-ai-proficiency scanner.py validation apps/server → alert on broken context files Small Low
Cross-session context store (decisions, tasks, blockers persist between sessions) Codex-CLI-Compact context-store.json pattern apps/server → project memory Med High
Token tracking dashboard (per-model, per-project costs) Codex-CLI-Compact dashboard/server.py apps/web → token usage UI Med Med

Domain 8: Context Engineering & Skills

Capability Source BooCode Target Effort Value
Two-loop continuous improvement (inner: detect→verify→recover, outer: inspect→encode→regress-test) pskoett-skills — 19 skills data/skills/ → architecture pattern Med High
Self-healing with mandatory verify-before-persist pskoett-skills skills/self-healing/ data/skills/ → add healing skill Small High
Verify-gate (compile → test → lint, fix loop on failure) pskoett-skills skills/verify-gate/ apps/server/conductor → add verify step Small High
Pre-flight check (session-start learning visibility) pskoett-skills skills/pre-flight-check/ apps/server → session initiation context Small Med
Context system with project-specific patterns (markdown files agents load proactively) OpenAgentsControl .opencode/context/ data/skills/ or new context/ dir Small High
ContextScout (discover relevant context files) + ExternalScout (live docs via Context7) OpenAgentsControl .opencode/agent/subagents/core/ apps/server → dual discovery Med High
Plugin hook system (chat params, tool execution, auth, provider, shell env) opencode packages/plugin/ apps/server → extensible hook architecture Large Med
Skills with embedded MCPs (per-session lifecycle, spun up on demand) oh-my-openagent src/features/skill-mcp-manager/ data/skills/ → MCP-per-skill Med High
Skill pipeline (task classifier: Trivial/Small/Medium/Large/Long-running/Batch) pskoett-skills skills/skill-pipeline/ conductor → depth-calibrated routing Med Med

Domain 9: Memory & Session Continuity

Capability Source BooCode Target Effort Value
System Context / Context Epoch model (typed context sources, immutable baselines, snapshots) opencode packages/core/src/system-context/ apps/server inference → context lifecycle Large High
Persistent cross-session memory (Supermemory: project habits, conventions) opencode-supermemory (this fork) apps/server → long-term agent memory Med Med
Hindsight memory (agent-curated between sessions) oh-my-pi packages/agent/ recall/retain tools apps/server → memory persistence Med Med
Boulder state (work tracking across sessions with automatic resumption) oh-my-openagent packages/boulder-state/ conductor → plan execution persistence Small Med
Context compression (range/message dedup, purge errors, turn protection) opencode-dynamic-context-pruning (this fork) apps/server inference → compaction Med High
Morph Fast Apply (10,500+ tok/s with lazy markers) opencode-morph-plugin, opencode-morph-fast-apply apps/coder edit_file → fast apply backend Med Med

Domain 10: Development Workflow

Capability Source BooCode Target Effort Value
Spec-first development (spec.md → tasks → implementation) openspec (this fork openspec/) Already partially in BooCode (openspec/ directory)
Context-driven dev lifecycle (Context → Spec → Plan → Implement → Revert tracks) opencode-conductor (this fork) conductor → structured dev tracks Med Med
Undo Shield (PreToolUse hook blocking destructive ops on high-attention files) Codex-CLI-Compact bin/undo_shield.py apps/coder → edit safety guard Small Med
Vibe Code Auditor (7 health checks: dead exports, coverage, circular deps, etc.) Codex-CLI-Compact audit.py apps/server → technical debt awareness Med Med

RANKED INTEGRATION RECOMMENDATIONS

Ordered by value/cost ratio for BooCode.

Tier 1: High Value, Low Effort (Do First)

# What Source BooCode Target Why
1 Replace Go codecontext with boocontext boocontext/ codecontext/ sidecar Direct drop-in. 7 tools instead of 5. Session caching. Call graph, health grades, impact analysis. Written in TS (BooCode's stack). Fixes 0% TypeScript recovery.
2 PTY exit notifications opencode-pty/ apps/booterm <pty_exited> structured messages on process completion. Low-effort, enables AI to react to long-running tasks.
3 Self-healing skill pskoett-skills/ data/skills/ Verify-before-persist discipline. HEAL entries to .learnings/. Pattern-Key dedup. Brings the two-loop inner loop to BooCode.
4 Verify-gate skill pskoett-skills/ conductor/ Compile → test → lint gate with auto-discovery. Fix loop on failure. Universal value for a dev chat app.
5 Subagent tool restriction schema agentic/ data/AGENTS.md + conductor/agents YAML frontmatter defining tool permissions per agent. Currently all BooCode agents have same tool set.
6 Hashline editing oh-my-openagent/ apps/coder Content hash anchors for edit targets. Rejects stale patches. Pure TS, no harness deps. Proven 10× success rate improvement.
7 Model resolution core oh-my-openagent/ packages/model-core/ apps/coder Provider priority chains, fallback chains, model normalization. Pure TS, no deps.
8 Fuzzy edit matching Already in BooCode apps/coder Already shipped in v2.7.1. Listed for completeness.

Tier 2: High Value, Medium Effort (Next)

# What Source BooCode Target Why
9 Context system (project patterns) OpenAgentsControl/ data/ or new context/ Learn project patterns proactively instead of relying on agent discovery. MVI principle (<200 line files, 80% token reduction).
10 ContextScout + ExternalScout OpenAgentsControl/ apps/server Discover relevant context files + fetch live library docs via Context7.
11 Task state machine + FORK_JOIN conductor/ conductor/ SCHEDULED → IN_PROGRESS → COMPLETED/FAILED state model. Parallel step execution with Join sync.
12 Session metadata for PTY panes opencode-pty/ apps/booterm Track title, description, parent agent per terminal pane. Enables AI context awareness.
13 Context compression (DCP) opencode-dynamic-context-pruning/ apps/server inference Range/message dedup, purge errors. More surgical than current compaction.
14 Boulder state (work tracking) oh-my-openagent/ packages/boulder-state/ conductor/ Cross-session plan execution with automatic resumption. Framework-agnostic.
15 AST-based editing (ast_grep + ast_edit) oh-my-pi/ crates/pi-ast/ apps/coder Structural code editing with AST patterns. 50+ language grammars.
16 Event subscription system hcom/ src/commands/ apps/server Reactive event triggers ("when file X changes, re-run flow Y").

Tier 3: High Value, Large Effort (Architecture Projects)

# What Source BooCode Target Why
17 Declarative workflow DAGs conductor/ conductor/ Replace procedural flow definitions with JSON DAGs. LLM-friendly. Versioned.
18 Inter-agent messaging hcom/ apps/server + apps/coder DB-backed message queue for Orchestrator → BooCoder messaging.
19 System Context model opencode/ apps/server Typed context sources, immutable epoch baselines, reconciliation. Foundation for long-session quality.
20 Multi-provider routing abstraction opencode/ packages/llm/ apps/server 4-axis route composition. Decouples provider selection from inference loop.
21 Plugin hook system opencode/ packages/plugin/ apps/server Extensible lifecycle hooks (chat params, tool execution, auth, provider).
22 Multi-agent topologies hcom/ conductor/ Expand beyond read-only Qwen flows to general multi-agent patterns.
23 Skills with embedded MCPs oh-my-openagent/ data/skills/ Per-skill MCP servers, spun up on demand, scoped per session.

BOOCODE'S CURRENT STATE — What's Already Strong

Before lifting, acknowledge what BooCode already does well that the forks don't:

BooCode Strength Not matched by
Postgres-backed session storage (queryable, indexed) hcom (SQLite), opencode (JSONL)
Multi-pane workspace (chat/coder/terminal/orchestrator) All forks — single-pane or terminal-only
Provider snapshot system (probe status, UI toggle, cold refresh) opencode (no status UI), oh-my-pi (no toggle)
Pending-changes queue + diff panel (approval gating) None of the forks have this UX
Arena (same task → N models → analysis) Unique to BooCode
Fuzzy edit matching (Levenshtein ladder) opencode (exact only), oh-my-openagent (hashline only)
Persistent agent sessions (warm ACP resumable) hcom (per-session only), opencode (cold per turn)
Codecontext sidecar (Go, containerized) boocontext (TS, but no container)

DEPENDENCY GRAPH — What Depends On What

Replace codecontext with boocontext (Tier 1)
  ├── Enables: Call graph → Impact analysis → Health grades
  ├── Enables: Wiki generation → Cross-session codebase knowledge
  └── Needs: tree-sitter-analyzer as child MCP server

PTY exit notifications (Tier 1)
  └── Enables: AI reaction to long-running task completion

Self-healing + Verify-gate (Tier 1)
  ├── Prerequisite: .learnings/ directory convention
  └── Enables: Full two-loop CI (with learning-aggregator → eval-creator)

Context system + ContextScout (Tier 2)
  ├── Prerequisite: MVI context file format
  └── Enables: ExternalScout → live doc fetching

Conductor flow enhancements (Tier 2)
  ├── Task state machine → Prerequisite for: DO_WHILE, FORK_JOIN, SWITCH
  └── Enables: Declarative DAGs (Tier 3)

System Context model (Tier 3)
  └── Prerequisite for: Plugin hook system → MCP-per-skill

IMMEDIATE NEXT ACTIONS (If we start today)

Week 1: Quick wins

  1. Swap codecontext — Replace Go sidecar HTTP client with boocontext MCP client. Adds 2 new tools (health, callgraph) with zero architectural change.
  2. Add PTY exit notifications — Extend booterm's WS protocol to send structured exit payloads.
  3. Add self-healing + verify-gate skills — Copy skill directories from pskoett-skills, adapt prompts to BooCode's agent format.

Week 2: Context system

  1. Add ContextScout — New agent that discovers relevant context files (from new context/ directory).
  2. Add model-core — Extract provider priority/fallback logic from oh-my-openagent's model-core package.

Week 2-3: Conductor upgrades

  1. Task state machine — Add SCHEDULED/IN_PROGRESS/FAILED/COMPLETED states to flow steps.
  2. FORK_JOIN support — Allow parallel branch execution in conductor flows.

Week 3-4: Memory & context

  1. Boulder state — Add cross-session work tracking/auto-resumption.
  2. Context compression — Integrate DCP patterns into inference loop compaction.

COMPLETE REPO REFERENCE

Repo Path Key Capability Lift Priority
boocontext /opt/forks/boocontext/ Code intelligence MCP (7 tools, health, callgraph, impact) Tier 1
opencode-pty /opt/forks/opencode-pty/ PTY exit notifications, log search, session metadata Tier 1
pskoett-skills /opt/forks/pskoett-skills/ Self-healing, verify-gate, two-loop skills Tier 1
agentic /opt/forks/agentic/ Subagent tool permissions, structured workflow lifecycle Tier 1
oh-my-openagent /opt/forks/oh-my-openagent/ Hashline editing, model-core, boulder state, skills+MCP Tier 1-2
oh-my-pi /opt/forks/oh-my-pi/ 40+ providers, AST editing, eval kernels, hindsight memory Tier 2
OpenAgentsControl /opt/forks/OpenAgentsControl/ Context system, ContextScout, ExternalScout, task manager Tier 2
conductor /opt/forks/conductor/ Workflow DAGs, task state machine, FORK_JOIN, DO_WHILE Tier 2
opencode /opt/forks/opencode/ System Context model, plugin hooks, LLM routing, MCP Tier 3
hcom /opt/forks/hcom/ Inter-agent messaging, event system, multi-agent topologies Tier 3
opencode-dynamic-context-pruning /opt/forks/opencode-dynamic-context-pruning/ Context compression Tier 2
opencode-supermemory /opt/forks/opencode-supermemory/ Persistent memory Tier 2
Codex-CLI-Compact /opt/forks/Codex-CLI-Compact/ Context store, undo shield, token dashboard, vibe audit Tier 2
measuring-ai-proficiency /opt/forks/measuring-ai-proficiency/ AI proficiency MCP, maturity scoring Tier 2
opencode-morph-plugin /opt/forks/opencode-morph-plugin/ Fast code editing, WarpGrep Tier 2
opencode-conductor /opt/forks/opencode-conductor/ Context-driven dev lifecycle Tier 3
paseo /opt/forks/paseo/ Multi-agent orchestration hub Tier 3
opencode-tokenscope /opt/forks/opencode-tokenscope/ Token usage analysis Low
opencode-skillful /opt/forks/opencode-skillful/ Skill system (SKILL.md, lazy load, model-aware formatting) Tier 1
llama.cpp /opt/forks/llama.cpp/ LLM inference engine (BooCode's inference backend) Tier 1
claudish /opt/forks/claudish/ Claude Code multi-provider proxy (580+ models) Tier 2
cline /opt/forks/cline/ Full agent platform (SDK, hub, connectors, cron) Tier 2
goose /opt/forks/goose/ Block's Rust agent (MCP, 15+ providers, desktop+CLI+API) Tier 2
han /opt/forks/han/ 18 skills + 23 agents (evidence-based planning, review, TDD) Tier 2
openchamber /opt/forks/openchamber/ OpenCode UI runtime (Electron, web, branching timeline) Tier 2
qwen-code /opt/forks/qwen-code/ Full coding agent (daemon mode, skills, hooks, subagents, cron) Tier 2
subtask2 /opt/forks/subtask2/ Enhanced subtask control (return, loop, parallel, $RESULT) Tier 2
opencode-background-agents /opt/forks/opencode-background-agents/ Async background delegation with persistence Tier 2
pi-acp /opt/forks/pi-acp/ ACP adapter for pi (structured diffs, terminal auth) Tier 2
opencode-worktree /opt/forks/opencode-worktree/ Git worktree + 15-terminal spawning + lifecycle hooks Tier 2
bun /opt/forks/bun/ JS/TS runtime, bundler, test runner, bun:sqlite, Bun.serve Tier 3
happy /opt/forks/happy/ Mobile remote control (E2EE, QR auth, voice) Tier 3
superset /opt/forks/superset/ "Code Editor for AI Agents" - Electron desktop app Tier 3
unsloth /opt/forks/unsloth/ Efficient LLM fine-tuning (2-5x faster, 70% less VRAM) Tier 3
SkillOpt /opt/forks/SkillOpt/ Skill document optimization training loop Tier 3
opencode-sentry-monitor /opt/forks/opencode-sentry-monitor/ Sentry observability (token usage, spans, metrics) Tier 3
opencode-wakatime /opt/forks/opencode-wakatime/ WakaTime coding activity tracking Tier 3
opencode-zellij-namer /opt/forks/opencode-zellij-namer/ AI-powered terminal session naming Tier 3

DEEP DIVE FINDINGS — 5 Audit Agents (2026-06-07)

This section captures the results of deep-dive audits across 5 focus areas: llama.cpp server features, boocontext architecture, conductor/agents/workflows, hooks/skills/prompt library, and inference configuration.


1. llama.cpp Server: 14 Feature Categories Not Used

BooCode uses llama-server via llama-swap (default) or llama-sidecar (per-agent flags). The sidecar base args are: -ngl 999 -c 32768 --flash-attn on --no-mmap. Here's what's available but not enabled:

High Impact (config only, no code changes):

Feature Flag Impact Activation
KV cache quantization --cache-type-k q4_0 ~4× VRAM savings for KV cache Sidecar baseArgs or unshadow in validator
Ngram speculative decoding --spec-type ngram-mod 2-3× tokens/sec, ~16MB memory, no draft model Sidecar baseArgs or unshadow in validator
Context checkpointing --ctx-checkpoints 32 Prevents overflow on long conversations Via llama_extra_args in AGENTS.md
Context shift --context-shift Infinite text generation Via llama_extra_args
Slot save/restore POST /slots/{id}?action=save|restore Persist KV cache across restarts New API call in compaction.ts
Prometheus metrics --metrics /metrics for token rates, latency, decode stats Add to sidecar base args
Sleep mode --sleep-idle-seconds 600 Auto-shutdown when idle, saves GPU memory Add to sidecar base args

Key Finding — Shadowing Architecture (both llama-args-validator.ts and sidecar validator.go):

  • denyFlags: model, listen, credentials, webui (hard blocked)
  • shadowFlags: context size, cache types, spec flags, template flags (auto-stripped from agent args)
  • acceptFlags: everything else passes through

To enable cache/spec features: remove from shadowFlags in BOTH files, or override via BASE_ARGS env var on the sidecar.

Medium Impact (via llama_extra_args):

  • LoRA adapters (--lora <path>)
  • Custom chat templates (--chat-template-file)
  • Reasoning budget (--reasoning-budget)
  • Multi-GPU tensor split (--tensor-split)
  • NUMA awareness (--numa)

Full API surface available at the inference endpoint: /v1/chat/completions (main), /v1/completions, /v1/embeddings, /v1/rerank, /v1/messages (Anthropic-compatible), /infill, /tokenize, /detokenize, /v1/audio/transcriptions


2. Boocontext Architecture: 20 Tools in 2 Layers

Integration target (codecontext_client.ts does not yet exist — must be created).

Option A (Recommended): MCP subprocess — zero code change:

{ "mcpServers": { "boocontext": { "command": "npx", "args": ["boocontext-mcp"] } } }

Architecture:

  • 13 codesight tools: scan, get_summary, get_routes, get_schema, get_blast_radius, get_env, get_hot_files, refresh, get_wiki_index, get_wiki_article, lint_wiki, get_events, get_coverage, get_knowledge
  • 7 boocontext tools: overview, map, health (A-F grades), symbols (BM25 search), callgraph (callers/callees), impact (trace + blast radius merged), types (TS type recovery)
  • VerdictEnvelope: SAFE/CAUTION/UNSAFE/INFO wrapper → { verdict, summary, details, metadata }
  • Child MCP servers: tree-sitter-analyzer (via uvx) + type-inject (via npx)
  • Session cache: in-memory, per-directory, clearCache() on project switch

Fixes needed before production integration:

  1. Hardcoded type-inject path (/opt/forks/type-inject/...) → switch to npx @nick-vi/type-inject-mcp
  2. Missing uvx requirement for tree-sitter-analyzer → document or bundle
  3. No request concurrency (serial processing flag) → enable parallel for independent tools
  4. No graceful degradation on child server failure → retry + fallback to codesight-only
  5. No tool result caching per-call → add memoization for expensive operations (health, callgraph)

3. Conductor/Workflows/Agents: Static Wave Scheduler

BooCode has TWO layers:

  • conductor/ — standalone CLI, deterministic wave scheduler, 22 flows, 23 agents
  • apps/coder/ — in-app orchestrator, DB-persisted flow runs, dispatcher with 4 execution paths
  • data/AGENTS.md — 9 personas (Code Reviewer, Debugger, Refactorer, etc.)
  • conductor/agents/ — 23 Han personas with frontmatter + tool permissions

Execution model (flow.ts):

while (done.size + skipped.size < total):
  ready = steps whose deps all satisfied
  await Promise.all(ready.map(s => s.run()))

Gaps to Claude Code's Dynamic Workflows/Sub-agents/Teams:

Capability Current Target Structural Change Needed
Step graph Static Step[] array Mutable FlowGraph with add/remove/loop flow.ts — Step[] → FlowGraph with WhileStep/UntilStep
Result streaming Promise<string> AsyncIterable<StepEvent> with partial results Step.run() signature change
Agent spawning Conductor calls dispatchAgent Steps call ctx.spawn(agent, prompt) New spawn protocol
Shared state Record<string, string> Structured SharedState with message-passing channels ctx.results → SharedState
Inter-agent comms None Mailbox pattern (send/receive by agent ID) New message transport
Human-in-loop None Pause-for-input mid-flow Flow runner → user prompt gate
Workflow composition None flow.invoke(subflow) New compose mechanism

Dispatcher (dispatcher.ts, 1726 lines): 4 execution paths (Native, PTY, ACP, OpenCode Server). Polls tasks table, LISTEN tasks_new. Per-session in-flight tracking prevents concurrent turns.

Worktree isolation: Per-task (/tmp/booworktrees/<taskId>) and session-persistent (/tmp/booworktrees/sess-<id>). Diff baseline from base_commit.

Agent pool (agent-pool.ts): Idle-TTL (30min default) + LRU cap (10 default). Busy backends never evicted. Periodic sweep.


4. Hooks System: 5 Events Defined, 0 Wired

Location: apps/coder/src/plugins/host.ts

State: Shipped dead code. The hook infrastructure exists (handler registry, stdin/stdout protocol, exit codes for allow/deny) but NO emitHook() calls exist in turn.ts, tool-phase.ts, or stream-phase.ts.

The 5 dead events: tool.execute.before, tool.execute.after, turn.start, turn.end, task.terminal

What BooCode DOES have (that's active):

  • broker.ts — in-memory pub/sub for WS frames (session + user channels)
  • lifecycle.ts — chat/session close/archive/delete handlers
  • flow-runner.tshandleTaskTerminal callback (the one wired hook)

Claude Code's hook architecture (target — 32+ events):

Category Events
Session SessionStart, SessionEnd, Setup
Turn UserPromptSubmit, Stop, StopFailure, PreCompact, PostCompact
Tool PreToolUse, PostToolUse, PostToolUseFailure, PostToolBatch
Permission PermissionRequest, PermissionDenied
Agent SubagentStart, SubagentStop, TeammateIdle
File FileChanged, CwdChanged, WorktreeCreate, WorktreeRemove
Config ConfigChange, InstructionsLoaded
MCP Elicitation, ElicitationResult
Notify Notification, MessageDisplay, TaskCreated, TaskCompleted

BooCode inference lifecycle points (from turn.ts runAssistantTurn):

  1. loadContext — session/project loaded
  2. Doom-loop check
  3. Budget check
  4. Compaction check
  5. Message payload build
  6. executeStreamPhase — LLM streaming
  7. executeToolPhase — tool execution
  8. MistakeTracker integration
  9. Step cap summary on exit

These are natural hook insertion points.


5. Prompt Library: None

Current state: No central prompt library. Skills contain prompts (41 files in data/skills/) but not organized as a user-facing library. openspec/ has per-batch docs. data/AGENTS.md has system prompts.

Target: 20-30 prompts organized by SDLC phase (discover, design, build, ship, operate), filterable by role, with fillable slots and "Why this works" explanations. Markdown files with YAML frontmatter in data/prompts/.


6. Inference Configuration: Two Paths, Shadowing Architecture

Default path: BooCode → LLAMA_SWAP_URL → llama-swap → llama-server Per-agent path: BooCode → LLAMA_SIDECAR_URL → llama-sidecar (proxy) → per-model llama-server process

Sidecar spawns per-agent llama-server processes via LRU pool (max 2, ports 8500-8599). Configuration env vars:

LLAMA_SERVER_BIN, MODEL_DIR_MAP_FILE, LLAMA_SIDECAR_BIND (127.0.0.1:8402),
MAX_SIDECARS (2), PORT_RANGE (8500-8599),
BASE_ARGS (["-ngl","999","-c","32768","--flash-attn","on","--no-mmap"]),
HEALTH_TIMEOUT_SECONDS (60), HEALTH_INTERVAL_SECONDS (30)

AI SDK integration: @ai-sdk/openai-compatible wrapping createOpenAICompatible({ baseURL: LLAMA_SWAP_URL/v1 }). Sampler options passed via providerOptions.openaiCompatible extraBody (top_k, min_p, top_n_sigma, dry_* family).

Model context discovery: GET /upstream/<model>/propsn_ctx from default_generation_settings. Cached forever on success, 60s on failure.

Task model: Non-streaming POST ${TASK_MODEL_URL}/v1/chat/completions with FAST_MODEL model name. Currently hardcoded to gemma-3-270m-it.

Key env vars: LLAMA_SWAP_URL, LLAMA_SIDECAR_URL, TASK_MODEL_URL, FAST_MODEL, DEFAULT_MODEL



PASS 3 — EXTENSION: Repos Missed in Initial Analysis (2026-06-07, evening)

After the original lift analysis was written, a second pass identified additional repos in /forks that were not covered. This section documents the findings from analyzing those repos for patterns liftable into BooCode.


Domain 11: Claude Code Plugin Architecture (Official)

Source: claude-code/plugins/ — 14 official Anthropic plugins

Capability Source BooCode Target Effort Value
Plugin packaging structure (.claude-plugin/plugin.json + commands/agents/skills/hooks/.mcp.json — standard layout) claude-code/plugins/plugin-dev/ data/plugins/ or enhance data/skills/ Small High
Parallel PR review agents (5 agents: bug-finder, comment-analyzer, test-analyzer, type-designer, code-simplifier — parallel execution) claude-code/plugins/pr-review-toolkit/ conductor/ — PR review workflow Med High
Feature dev workflow agents (3 agents: code-explorer, code-architect, code-reviewer — 7-phase structured process) claude-code/plugins/feature-dev/ conductor/ — feature development flows Med High
Self-referential agent loop (Ralph Loop: agent runs same task repeatedly until completion, Stop hook intercepts exit) claude-code/plugins/ralph-wiggum/ apps/coder/ralph-loop command Small High
Security guidance hook (PreToolUse scanning 9 security patterns: command injection, XSS, eval, pickle deserialization, os.system, etc.) claude-code/plugins/security-guidance/ apps/coder → PreToolUse security scan Small High
Hookify rule system (analyze conversations → auto-create hook rules to prevent unwanted behaviors) claude-code/plugins/hookify/ apps/coder → behavior prevention rules Med High
Agent SDK verifier plugins (Python + TS SDK validation agents) claude-code/plugins/agent-sdk-dev/ apps/coder → SDK compliance checking Med Med
Frontend design skill (production-grade UI design guidance, auto-invoked) claude-code/plugins/frontend-design/ data/skills/ → frontend design skill Small Med
PR toolkit type design analyzer (specialized agent for API design review) claude-code/plugins/pr-review-toolkit/agents/ conductor/agents/ → type review agent Small Med
Agent tool permission schemas (YAML frontmatter in agent .md files with tools: restrict list) claude-code/plugins/feature-dev/agents/*.md frontmatter data/AGENTS.md → tool restriction per agent Small High

Key insight: Claude Code plugin architecture is the most mature reference for how BooCode's skill/plugin system should work. The plugin.json → commands/agents/skills/hooks/ .mcp.json layout is the de facto standard. The code-architect.md agent frontmatter (name, description, tools, model, color) shows exactly how agent metadata should be structured.


Domain 12: Behavioral Compliance Engine (boocontext-audit)

Source: boocontext-audit/ — TypeScript audit + behavioral rules engine (Way more than just "audit extraction")

What it actually is: A full Parlant-inspired behavioral compliance engine ported to TypeScript, wrapping:

  • Guideline system: condition/action natural language rules with criticality (low/medium/high/critical)
  • Multi-batch matcher: observational, actionable, previously-applied, disambiguation, response analysis, low-criticality batches
  • Relational resolver: DEPENDS_ON, PRIORITIZES, ENTAILS, TAG_ALL, TAG_PRIORITIZES relationship types with iterative convergence loop
  • Schematic generator: abstract LLM batch caller for structured output per match type
  • Full audit trail: PostToolUse/Stop/UserPromptSubmit middleware, JSONL buffer, session lifecycle, graded context recovery (L0-L4)
Capability Source BooCode Target Effort Value
Guideline condition/action model (natural language rules with criticality, priority, labels, tags) boocontext-audit/src/guideline.ts apps/coder → behavioral rules engine Small Critical
Multi-batch matcher (6 batch types: Observational, Actionable, PreviouslyApplied, Disambiguation, ResponseAnalysis, LowCriticality — each with LLM structured output) boocontext-audit/src/matching.ts (371 lines) apps/coder → context-relevant rule matching Med High
Relational resolver (Dependency/Priority/Entailment resolution with iterative convergence, max 100 iterations) boocontext-audit/src/resolver.ts (299 lines) apps/coder → rule conflict resolution Med High
Relationship store (5 relationship kinds: DEPENDS_ON, PRIORITIZES, ENTAILS, TAG_ALL, TAG_PRIORITIZES) boocontext-audit/src/relationship.ts (190 lines) apps/coder → rule relationships Small High
Schematic generator (abstract LLM batch caller with temperature retry, structured output per batch type) boocontext-audit/src/generation.ts (183 lines) apps/coder → structured LLM calls Med High
Full audit middleware (PostToolUse, Stop, UserPromptSubmit hooks with JSONL buffer, session handoff, graded recovery) boocontext-audit/src/middleware.ts, buffer.ts, session.ts apps/coder → audit trail system Med High
User correction tracking (detect corrections in conversations, persist as priority records, load first on recovery) boocontext-audit/src/correction.ts apps/coder → learn from user corrections Small High
Anomaly detection (configurable alert rules with lambdas, CRITICAL/WARNING levels) boocontext-audit/src/anomaly.ts apps/coder → runtime monitoring Med Med
Ambient context via AsyncLocalStorage boocontext-audit/src/ambient-context.ts apps/server → parameter pollution reduction Small High
Graded context recovery (L0 index → L1 session → L2 corrections → L3 full → L4 cross-day) boocontext-audit/src/recovery.ts apps/server → context restoration Med High

Key insight: boocontext-audit is the single most undervalued repo in /forks. It's a complete behavioral compliance system already ported to TypeScript with zero external dependencies (only @modelcontextprotocol/sdk). The Guideline + MultiBatch + RelationalResolver stack is directly usable by BooCode's agent system to enforce agent behavior rules with structured LLM evaluation. The audit middleware is production-ready and can be wired into BooCode's inference lifecycle in days.


Domain 13: TypeScript Type Intelligence (type-inject)

Source: type-inject/ — TypeScript type context for AI coding assistants

Capability Source BooCode Target Effort Value
Type extraction pipeline (ts-morph-based: parse tsconfig, load files, extract types/signatures/JSDoc/import depth) type-inject/packages/core/lib/extractor.ts (1070 lines) apps/coder → type-aware editing Med High
Type lookup MCP tools (lookup_type + list_types — query types by name regex, source, kind) type-inject/packages/mcp/src/ apps/server → MCP type server Small High
Auto-type injection (PostToolUse hook on Read injects type signatures into file reads) type-inject/packages/claude-hook/ apps/coder → type context on file reads Small High
Type checking on write (PostToolUse hook on Write runs type checker, reports errors) type-inject/packages/claude-hook/ apps/coder → type error feedback Small High
Type prioritizer (rank types by relevance: used types first, direct imports over transitive, exported over private) type-inject/packages/core/lib/prioritizer.ts apps/coder → relevant type ordering Small Med
Token-budgeted type injection (configurable maxTokens, skipBarrelFiles, onlyUsed filtering) type-inject/packages/core/lib/config.ts apps/coder → context budget management Small Med
Svelte support (extract types from .svelte files via optional svelte compiler) type-inject/packages/core/lib/svelte-utils.ts apps/coder → Svelte type awareness Small Low
OpenCode plugin (full plugin with auto-injection on reads and MCP tools) type-inject/packages/opencode/ apps/coder → direct integration point Small High

Key insight: type-inject directly solves the "TypeScript type information is missing from context" problem that the lift analysis identified as codecontext's biggest gap (0% TS recovery). Instead of building it, BooCode can use type-inject as an MCP server or direct plugin. The @nick-vi/type-inject-mcp package is published and installable via npx. This is a direct port — add to BooCode's MCP servers config.


Domain 14: Claude Agent SDK (Official Anthropic)

Source: claude-agent-sdk-typescript/ — Anthropic's official Agent SDK

Capability Source BooCode Target Effort Value
Agent lifecycle as SDK (construct → generate → stream → saveSession — standard agent loop) claude-agent-sdk-typescript/ apps/server → standardized agent API Large Med
Session store abstraction (pluggable session persistence backends) claude-agent-sdk-typescript/examples/session-stores/ apps/server → session store interface Small High
Streaming agent results (structured stream events for tool calls, text deltas, results) claude-agent-sdk-typescript/ apps/coder → streaming agent pattern Med Med
Tool use with structured output (JSON schema enforcement for tool results) claude-agent-sdk-typescript/ apps/coder → structured tool results Small High

Key insight: The Claude Agent SDK is less valuable for direct code lift (it's a high-level API wrapper) than for its design patterns — the session store abstraction and streaming event protocol are clean references for BooCode's existing agent loop.


Domain 15: LLM Inference Sidecar Architecture (llama-sidecar)

Source: llama-sidecar/ — BooCode's own per-agent llama-server process pool (Go)

Capability Source BooCode Target Effort Value
Process pool with LRU eviction (max 2 sidecars, port range 8500-8599, LRU eviction of idle) llama-sidecar/internal/pool/ (pool.go, sidecar.go) (already BooCode's)
Flag validator (deny groups: model identity, network, auth/TLS, server UI — blocks security-critical flags) llama-sidecar/internal/validator/validator.go (156 lines) apps/coder → llama-args-validator.ts (already ported)
Arg hash for sidecar dedup (hash(modelID, flags) → reuse existing sidecar for same config) llama-sidecar/internal/pool/hash.go (already BooCode's)
Windows service support (NSSM integration for Windows daemon) llama-sidecar/internal/winsvc/ (already BooCode's)
Health check system (background health checks every 30s, 60s timeout) llama-sidecar/internal/pool/ (already BooCode's)
X-Agent-Flags header (per-request flag overrides via HTTP header) llama-sidecar/README.mdX-Agent-Flags: --top-k 20 apps/server → per-agent flag routing Small High
Slot management (coming soon?) (save/restore KV cache slots — not implemented yet) (potential) apps/server → cross-turn KV persistence Large High

Key insight: llama-sidecar is already BooCode's own code. The main lift opportunity is the X-Agent-Flags header pattern — enabling per-agent llama-server parameter overrides (top-k, temperature, cache types) without spawning new sidecar processes. Currently, all agent flags are compiled into the BASE_ARGS. Adding header-based per-request override would enable agent-specific inference tuning.


Domain 16: LangGraph Python Ecosystem (Supervisor + Swarm Patterns)

Source: langchain/langgraph-supervisor-py/ + langchain/langgraph-swarm-py/ (Python — patterns only)

Capability Source BooCode Target Effort Value
Supervisor agent pattern (central coordinator delegates to specialized agents via handoff tools) langgraph-supervisor-py/langgraph_supervisor/supervisor.py (469 lines) conductor/ → supervisor orchestration Med High
Swarm agent pattern (agents dynamically hand off control based on specialization, no central coordinator) langgraph-swarm-py/langgraph_swarm/swarm.py (289 lines) conductor/ → swarm orchestration Med High
Handoff tool mechanism (agents transfer control + context via create_handoff_tool(agent_name, description)) langgraph-supervisor-py/langgraph_supervisor/handoff.py conductor/ → agent-to-agent handoff Small High
Agent name normalization + routing (Literal-based active_agent enum for type-safe routing) langgraph-swarm-py/langgraph_swarm/swarm.py conductor/ → typed agent routing Small Med

Key insight: The supervisor and swarm patterns from LangGraph are the two canonical multi-agent architectures. LangGraph supervisor = central coordinator pattern (like BooCode's conductor but more structured). LangGraph swarm = distributed handoff pattern (agents choose who to delegate to). Both are well-specified <500-line Python modules. The create_handoff_tool() mechanism is the critical pattern — a tool that transfers context between agents with a description the source agent can reason about.


Domain 17: Sim Studio — Full AI Agent Workspace

Source: sim/ — SimStudio open-source AI agent workspace (Next.js + monorepo)

Capability Source BooCode Target Effort Value
Visual workflow builder (drag-and-drop block-based agent design with canvas) sim/apps/sim/blocks/ apps/web → visual agent builder Large High
Block execution engine (executor orchestrating block DAGs with variable resolution) sim/apps/sim/executor/ conductor/ → visual flow execution Large High
1,000+ tool integrations via standardized tool config pattern sim/apps/sim/tools/ + tools/registry.ts data/skills/ → integration framework Large High
Knowledge base (document upload, vector RAG, query from agents) sim/apps/sim/ (knowledge base feature) apps/server → RAG system Large High
Realtime collaborative canvas (Socket.IO, room-based multi-user) sim/apps/realtime/ apps/web → collaborative workspace Large Med
Workflow persistence layer (load/save/subflow, raw block state) sim/packages/workflow-persistence/ conductor/ → flow persistence Med High
Audit action recording (recordAudit + AuditAction + AuditResourceType) sim/packages/audit/ apps/server → audit framework Small Med
Better Auth shared session (cross-service auth via shared DB + secret) sim/packages/auth/ apps/server → multi-service auth Small High

Key insight: Sim is a full production AI agent workspace — orders of magnitude more complex than anything else in /forks. Its value for BooCode is primarily as a reference architecture for the visual workflow builder and block execution engine. The workflow-types/, workflow-persistence/, and workflow-authz/ packages are well-modularized and could provide patterns. The audit system and auth patterns are directly portable.


Domain 18: Vercel Ecosystem (Missed Repos)

Source: Various Vercel repos. See DEEP RESEARCH C for Vercel Workflow and DEEP RESEARCH E for Vercel Sandbox.

Capability Source BooCode Target Effort Value
Turborepo task scheduler (dependency graph, parallel execution, local+remote caching, task profiles) vercel/turborepo/ conductor/ → task dependency scheduling Med High
Vercel AI SDK provider pattern (model-provider abstraction with streaming, tool calling, structured output) vercel/ai/ apps/server → provider abstraction (already partially done) Large High
SWR stale-while-revalidate (data fetching cache: serve stale→revalidate→update, dedup, focus revalidation) vercel/swr/ apps/server → data caching layer Small High
Next.js server actions (RPC-style server functions called directly from client components) vercel/next.js/ apps/web → server action pattern Small Med
Vercel CLI platform API (deployment, environment variables, domain management) vercel/vercel/ apps/server → deployment integration Large Low
Styled-JSX (scoped CSS with zero runtime, compile-time transformation) vercel/styled-jsx/ apps/web → CSS-in-JS reference Small Low

Key insight: The most valuable Vercel patterns for BooCode are Turborepo's task scheduler (parallel dependency-graph execution maps to conductor workflow scheduling) and SWR's stale-while-revalidate (maps to BooCode's data caching for codecontext/boocontext results). Vercel AI SDK's provider pattern is already partially replicated in BooCode.


Domain 19: LangChain Example Apps (Not Individual Libraries)

Source: Various LangChain example repos (chat-langchain, open-canvas, deep-agents-ui, etc.)

These repos are example applications of LangChain/LangGraph, not libraries with independent patterns. They demonstrate usage of the core libraries already analyzed (langchain-core, langgraph, langmem).

Repo Assessment Value to BooCode
chat-langchain/ LangSmith-powered RAG chatbot example Low — LangChain-specific patterns
open-canvas/ Collaborative AI writing canvas (Next.js) Low — product concept, not liftable code
deep-agents-ui/ TypeScript UI for Deep Agents Low — React UI for langgraphjs
deepagents/ Python sub-agent framework Med — sub-agent spawning pattern (covered by harness-sdk & DeerFlow analyses)
deepagentsjs/ JS port of deepagents Low — same as Python version
local-deep-researcher/ Local research agent (Ollama) Low — simple agent example
open_deep_research/ LangChain deep research Low — report generation example
open-swe/ SWE-bench agent framework Low — benchmark-specific
opengpts/ GPTs clone with LangGraph Low — product concept
openwork/ LangGraph workflow platform Med — visual workflow patterns
langsmith-starter-kit/ LangSmith evaluation starter Low — LangSmith-specific
claude-workflow-v2/ CloudAI-X workflow definitions Med — workflow agent patterns
opencode-workflow/ CloudAI-X OpenCode workflows Med — OpenCode workflow configurations

Key insight: These are primarily example applications for LangChain's commercial products. They don't contain independently liftable patterns beyond what's already captured in the core LangGraph/LangMem analyses. Skip deep analysis — focus on the library-level repos already covered.


Domain 20: Strands Tools Library

Source: tools/ — Strands Agents tool library

Capability Source BooCode Target Effort Value
Tool library pattern (file ops, shell, memory, web, image, swarm tools as independent modules) tools/ data/skills/ → tool organization pattern Small Med
Tool module format (each tool = single directory with standardized interface) tools/ data/skills/ → tool packaging standard Small Med

Key insight: The strands tools library is a reference for how BooCode could organize its growing tool/skill collection. Each tool as an independent module with a standard interface is the right pattern.


Domain 21: Other Missed Repos — Quick Assessment

Repo Summary Worth Lift? Reason
amp-acp/ ACP (Agent Communication Protocol) adapter Med ACP is a standard, any implementation is useful. Reference for BooCode's ACP layer
qgn.app/ Electron desktop app (QuickGen — AI code generation UI) Low Features duplicated: screenshot→code, code editing UI. BooCode's web UI covers the same ground
agent-runtime/ Generic agent runtime Low Overlaps with harness-sdk analysis
ai-sdk-provider-opencode-sdk/ OpenCode provider for Vercel AI SDK Low Integration adapter, not independently valuable
memory_engine/ (Not analyzed — see langmem for LangChain memory) Low Covered by langmem + deer-flow analyses
parlant/ Already deeply analyzed in DEEP RESEARCH A Covered
audit-harness/ Already deeply analyzed in DEEP RESEARCH A Covered
Archon/ Already deeply analyzed in DEEP RESEARCH C Covered
harness-sdk/ Already deeply analyzed in DEEP RESEARCH B Covered
hive/ Already deeply analyzed in DEEP RESEARCH B Covered
CowAgent/ Already deeply analyzed in DEEP RESEARCH D Covered
deer-flow/ Already deeply analyzed in DEEP RESEARCH D+F Covered
ruflo/ Already deeply analyzed in DEEP RESEARCH F Covered
opencode-extras/*/ Already covered in original lift analysis Covered

UPDATED RANKED INTEGRATION RECOMMENDATIONS (Post-Extension)

New findings sorted into the existing Tier structure:

Tier 0: Immediate (New — higher value than existing Tier 1)

# What Source BooCode Target Why
0a Add boocontext-audit as behavioral rules engine boocontext-audit/ apps/coder + apps/server Complete TypeScript Parlant port: guideline model, 6-batch matcher, relational resolver, audit trail, ambient context, graded recovery. Zero external deps. Single most undervalued repo.
0b Add type-inject MCP server type-inject/packages/mcp/ apps/server MCP client Fixes 0% TypeScript recovery. Published as @nick-vi/type-inject-mcp. One-line config addition.
0c Add type-inject auto-injection hook type-inject/packages/claude-hook/ apps/coder Type injection on file reads + type checking on writes. Direct improvement to edit quality.

Tier 0.5: Plugin Architecture from claude-code

# What Source BooCode Target Why
0d Adopt claude-code plugin format claude-code/plugins/*/ data/plugins/ + apps/coder Standard plugin structure (.claude-plugin/plugin.json → commands/agents/skills/hooks/MCP). Proven 14-plugin ecosystem.
0e Security guidance hooks claude-code/plugins/security-guidance/ apps/coder PreToolUse 9 security pattern detectors. Stops command injection, XSS, unsafe deserialization before they happen.
0f Self-referential agent loop claude-code/plugins/ralph-wiggum/ apps/coder/ralph-loop Agent runs same task until completion. Stop hook intercepts exit.

Updated Tier 1 additions:

# What Source BooCode Target Why
1a Supervisor agent pattern langgraph-supervisor-py/langgraph_supervisor/ conductor/ Central coordinator delegates to specialized agents. Pattern-ported from 469-line Python module.
1b Handoff tool mechanism langgraph-supervisor-py + langgraph-swarm-py conductor/ Agent-to-agent context transfer via create_handoff_tool(agent_name, description).
1c X-Agent-Flags header llama-sidecar/ apps/server Per-agent LLM parameter overrides without spawning new processes.

Updated Tier 2 additions:

# What Source BooCode Target Why
2a Turborepo task scheduler turborepo/ conductor/ Dependency graph scheduling, parallel execution, caching. Maps directly to workflow execution needs.
2b SWR stale-while-revalidate cache swr/ apps/server Data caching layer for codecontext/boocontext results. Serve cached → revalidate → update.
2c Swarm agent pattern langgraph-swarm-py/langgraph_swarm/ conductor/ Dynamic agent handoff without central coordinator.
2d Sim workflow-types package sim/packages/workflow-types/ conductor/ Pure BlockState/Loop/Parallel types — reference for BooCode's own flow types.

Updated Tier 3 additions:

# What Source BooCode Target Why
3a Visual workflow builder sim/apps/sim/blocks/ + executor/ apps/web Drag-and-drop agent design. Large effort but high strategic value.
3b PR review agent team claude-code/plugins/pr-review-toolkit/ conductor/ → PR review flow 5 parallel agents for code review, bug finding, test analysis, type design, simplification.

REVISED DEPENDENCY GRAPH

boocontext-audit behavioral engine (NEW — Tier 0)
  ├── Guideline model → Multi-batch matcher → Relational resolver
  ├── Audit middleware → Graded context recovery
  └── Depends on: LLM backend for SchematicGenerator

type-inject MCP (NEW — Tier 0)
  ├── Type extraction → Type prioritization → Token-budgeted injection
  └── Independent — add as MCP server

claude-code plugin format (NEW — Tier 0.5)
  ├── Enables: Security hooks → Self-referential loops → PR review teams
  └── Prerequisite: plugin.json convention

LangGraph supervisor pattern (NEW — Tier 1)
  └── Enables: Handoff tool → Swarm pattern (Tier 2)

Turborepo scheduler (NEW — Tier 2)
  └── Enables: Task dependency graph → Parallel execution → Caching

REVISED COMPLETE REPO REFERENCE (Additions)

Repo Path Key Capability Lift Priority
boocontext-audit /opt/forks/boocontext-audit/ Behavioral compliance engine (guidelines, matching, resolution, audit, recovery) Tier 0
type-inject /opt/forks/type-inject/ TypeScript type extraction, lookup MCP, auto-injection hooks Tier 0
claude-code plugins /opt/forks/claude-code/plugins/ 14 official plugins: plugin format, security hooks, loop, PR review, feature dev Tier 0.5
langgraph-supervisor /opt/forks/langchain/langgraph-supervisor-py/ Supervisor agent pattern (central coordinator → specialized agents) Tier 1
langgraph-swarm /opt/forks/langchain/langgraph-swarm-py/ Swarm agent pattern (dynamic handoff, no central coordinator) Tier 2
turborepo /opt/forks/vercel/turborepo/ Task dependency graph scheduling, parallel execution, caching Tier 2
swr /opt/forks/vercel/swr/ Stale-while-revalidate data fetching cache Tier 2
sim /opt/forks/sim/ Full AI agent workspace: visual workflows, block engine, knowledge base Tier 3
claude-agent-sdk /opt/forks/claude-agent-sdk-typescript/ Session store abstraction, streaming agent pattern Tier 2
claude-agent-sdk-python /opt/forks/claude-agent-sdk-python/ Python version (same patterns as TS) Low
strands tools /opt/forks/tools/ Tool organization pattern Tier 3
amp-acp /opt/forks/amp-acp/ ACP protocol adapter Tier 2
llama-sidecar /opt/forks/llama-sidecar/ X-Agent-Flags header pattern Tier 1

KEY FINDINGS SUMMARY

Most Undervalued Repo

boocontext-audit/ — Not a simple audit extraction. A full Parlant-inspired behavioral compliance engine with:

  • Guideline condition/action model (Parlant port)
  • 6-batch multi-matcher (Observational, Actionable, PreviouslyApplied, Disambiguation, ResponseAnalysis, LowCriticality)
  • Relational resolver (DEPENDS_ON, PRIORITIZES, ENTAILS, TAG_ALL, TAG_PRIORITIZES with iterative convergence)
  • SchematicGenerator for structured LLM batch calls
  • Full audit middleware with graded context recovery (L0-L4)
  • Zero external deps (only @modelcontextprotocol/sdk)

The behavioral engine could enforce agent behavior rules (security policies, code style, tool restrictions) via structured LLM evaluation — far beyond simple CLAUDE.md guidelines.

Easiest Wins

  1. type-inject MCP server — One-line config add. Fixes 0% TypeScript recovery.
  2. Security guidance hooks — Copy claude-code/plugins/security-guidance/ pattern. Days of effort.
  3. X-Agent-Flags header — Small change to inference routing for per-agent LLM parameters.
  4. SWR caching for codecontext — Stale-while-revalidate for MCP tool results. Days of effort.

Architecture Patterns Worth Studying

  1. claude-code plugin format.claude-plugin/plugin.json → commands/agents/skills/hooks/ .mcp.json is the de facto standard. BooCode should adopt a compatible format.
  2. LangGraph supervisor pattern — Clean central-coordinator architecture with handoff tools.
  3. Sim's workflow-types package — Pure type definitions for BlockState, Loop, Parallel — reference for conductor flow types.
  4. Turborepo's task scheduling — Dependency graph with remote caching — maps to conductor's parallel execution needs.

PASS 4 — CORRECTED ASSESSMENTS (Deep Analysis Findings)

Several repos were initially assessed as "Low Value" in the extension. Deep analysis reveals they are much more significant.


Domain 22: Agent Runtime — Combined Eval + Sandbox + Pregel in TypeScript

Source: agent-runtime//home/samkintop/opt/forks/agent-runtime/

What it is: A pre-compiled TypeScript monorepo that combines three independent subsystems into one clean package:

  • @agent-runtime/eval — OpenEvals-style LLM evaluation framework
  • @agent-runtime/sandbox — Vercel Sandbox-style remote execution
  • @agent-runtime/graph — langgraphjs-style Pregel state graph engine

Why this matters: This is the exact combined system from DEEP RESEARCH E (OpenEvals + Vercel Sandbox + langgraphjs), already ported to TypeScript, already compiled to dist/, with zero LangChain dependencies. It's a direct-lift candidate.

Key Architecture (packages/graph/src/):

pregel/
├── index.ts      — Pregel class (compiled graph engine)
├── algo.ts       — _applyWrites, _prepareNextTasks
├── loop.ts       — PregelLoop (execution loop)
├── runner.ts     — PregelRunner (parallel task execution)
├── read.ts       — PregelNode (channel reads)  
├── write.ts      — ChannelWrite
├── io.ts         — mapInput, readChannels
└── types.ts      — Pregel types
channels/
├── base.ts       — BaseChannel (abstract)
├── last_value.ts — LastValue, LastValueAfterFinish
├── binop.ts      — BinaryOperatorAggregate
├── topic.ts      — Topic (publish/subscribe)
├── ephemeral.ts  — EphemeralValue
└── named_barrier.ts — NamedBarrierValue
graph/
├── graph.ts      — Graph class (untyped DAG)
├── state.ts      — StateGraph class (typed state machine)
└── annotation.ts — Annotation.Root helpers
stream/
├── index.ts      — StreamEvent protocol, GraphRunStream
state/
├── schema.ts     — State schema + channel builder
└── adapter.ts    — State adapter
interrupt.ts      — interrupt(), interruptMultiple() — HITL
constants.ts      — START, END, INTERRUPT, Command, Send
errors.ts         — NodeSpecError, GraphCycleError, ChannelError
Capability Source BooCode Target Effort Value
Pre-compiled Pregel engine (StateGraph, superstep execution, channels, streaming — zero LangChain deps) agent-runtime/packages/graph/dist/ conductor/ → workflow graph engine Small (import/adapt) Critical
LLM-as-judge evaluator (structured scoring, prompt templates, multi-turn simulation, trajectory evaluation) agent-runtime/packages/eval/dist/ apps/server → agent quality evaluation Small High
Remote sandbox abstraction (command execution, POSIX filesystem, snapshots, network policy) agent-runtime/packages/sandbox/dist/ apps/booterm → sandboxed code execution Small High
Human-in-the-loop interrupts (interrupt()/interruptMultiple() pattern — resumable execution) agent-runtime/packages/graph/src/interrupt.ts apps/coder → pause-for-input mid-workflow Small High
Channel types (LastValue, Topic, BinaryOperatorAggregate, Ephemeral, NamedBarrierValue) agent-runtime/packages/graph/src/channels/ conductor/ → typed state channels Small High
StreamEvent protocol (STREAM_MODES, GraphRunStream, customEvent) agent-runtime/packages/graph/src/stream/ apps/server → streaming workflow events Small High
Execution loop with checkpoint (PregelLoop → PregelRunner → _applyWrites → checkpoint cycle) agent-runtime/packages/graph/src/pregel/loop.ts + runner.ts conductor/ → structured execution lifecycle Small High

Key insight: agent-runtime is the #1 most undervalued repo. It's a pre-built, compiled TypeScript implementation of the most powerful patterns from DEEP RESEARCH E, ready for direct import. The @agent-runtime/graph package provides a complete Pregel state machine that could replace or augment BooCode's conductor flow runner. Zero LangChain deps, clean TypeScript, already built.


Domain 23: Memory Engine — Complete 3-Tier Memory System

Source: memory_engine//home/samkintop/opt/forks/memory_engine/

What it is: A standalone Python memory system combining LangMem's token-budget summarization, CowAgent's 3-tier architecture (Context→Daily→Core), and DeerFlow's memory update flow. Complete with SQLite FTS5 + vector search, Deep Dream consolidation, and management tools.

Why this matters: Unlike the other memory repos (LangMem = framework-coupled, CowAgent = complex, DeerFlow = LangChain-coupled), memory_engine is a clean, standalone Python package with a clear architecture that can be ported to TypeScript for boocode directly.

Key Architecture:

config.py               — MemoryConfig (Pydantic, all tunable params)
core/
├── store.py            — MemoryStore (SQLite + FTS5 + vector BLOB, 262 lines)
├── hybrid_search.py    — HybridSearchEngine (vector 0.7 + keyword 0.3)
├── schemas.py          — MemoryChunk, SearchResult, Fact (Pydantic + dataclass)
tiers/
├── context.py          — ContextTier (short-term, token-budget summarization, 205 lines)
├── core.py             — CoreTier (long-term SQLite + hybrid search, 132 lines)
├── daily.py            — DailyTier (Markdown files + MEMORY.md, 107 lines)
tools/
├── manage.py           — Memory management (create/update/delete)
├── search.py           — Search tools
background/
├── deep_dream.py       — Deep Dream LLM consolidation (like CowAgent)
├── queue.py            — Debounced background queue (like DeerFlow)
embedding/
extraction/
utils/
Capability Source BooCode Target Effort Value
SQLite FTS5 store with vector BLOB storage, WAL mode, thread safety memory_engine/core/store.py (262 lines) apps/coder → memory persistence Med High
3-tier memory (Context: token-budget summary → Daily: Markdown files → Core: SQLite+vectors) memory_engine/tiers/ (context.py, daily.py, core.py) apps/coder → structured memory hierarchy Med Critical
Hybrid search (vector 0.7 + keyword 0.3 with FTS5, temporal decay) memory_engine/core/hybrid_search.py apps/coder → memory retrieval Med High
MemoryConfig (typed, Pydantic, 21 tunable parameters with defaults) memory_engine/config.py apps/server → configuration pattern Small Med
Deep Dream consolidation (overnight LLM rewrite of MEMORY.md) memory_engine/background/deep_dream.py apps/coder → long-term memory consolidation Med High
Management tools (manage.py create/update/delete + search.py) memory_engine/tools/ apps/coder → memory CRUD tools Small High
Debounced background queue memory_engine/background/queue.py apps/server → async memory processing Small Med

Key insight: memory_engine is the cleanest reference implementation of the memory patterns identified in DEEP RESEARCH D. Where LangMem is framework-coupled (LangGraph) and CowAgent is feature-rich but complex (1500+ line files), memory_engine has clean <300-line files with clear separation of concerns. Best model for porting 3-tier memory to boocode.


UPDATED RANKED INTEGRATION RECOMMENDATIONS (Post-Correction)

New Tier 0 additions:

# What Source BooCode Target Why
0g Import @agent-runtime/graph Pregel engine agent-runtime/packages/graph/dist/ conductor/ → replace flow runner Pre-compiled TS StateGraph with Pregel execution, channels, interrupts, streaming. Zero deps. Direct lift.
0h Import @agent-runtime/eval evaluator agent-runtime/packages/eval/dist/ apps/server → agent quality eval LLM-as-judge, trajectory, code correctness, multi-turn simulation. Ready to use.
0i Port memory_engine 3-tier memory to TypeScript memory_engine/ (Python → TS port) apps/coder → structured memory Cleanest reference for Context→Daily→Core with SQLite FTS5 + vectors + Deep Dream.

Updated REVISED COMPLETE REPO REFERENCE

Repo Path Key Capability Lift Priority
agent-runtime /opt/forks/agent-runtime/ Pre-compiled Pregel engine + evaluator + sandbox (TypeScript, zero LangChain deps) Tier 0
memory_engine /opt/forks/memory_engine/ 3-tier memory: SQLite FTS5+vectors, Deep Dream, token-budget summarization Tier 0
deepagents /opt/forks/deepagents/ Sub-agent framework with filesystem, memory, skills, summarization middleware Tier 2
open-swe /opt/forks/langchain/open-swe/ Production coding agent: 11 middleware components, sandbox lifecycle, GitHub/Linear/Slack Tier 2

Domain 24: Deep Agents — Production Sub-Agent Harness

Source: deepagents/ — Python agent harness by LangChain

Corrected assessment: Initially assessed as "Med" due to being a LangChain-specific implementation. However, it contains a clean middleware architecture for sub-agent orchestration that is the reference implementation for boocode's sub-agent system.

Key patterns (deepagents/libs/deepagents/deepagents/):

graph.py             — create_deep_agent(): full agent assembly (866 lines)
middleware/
├── subagents.py     — SubAgent middleware (788 lines): spawn isolated agents with task() tool
├── async_subagents.py — AsyncSubAgent middleware: parallel sub-agent execution
├── filesystem.py    — Filesystem middleware: read/write/edit/ls with permission model
├── memory.py        — MemoryMiddleware: persistent cross-session memory
├── skills.py        — SkillsMiddleware: loadable skill behaviors
├── summarization.py — Token-budget context management
└── _tool_exclusion.py — Tool exclusion per middleware layer
backends/            — StateBackend, SandboxBackend, LangSmithSandbox
profiles/            — ProviderProfile, HarnessProfile (model-specific config)
Capability Source BooCode Target Effort Value
SubAgent middleware (task() tool spawns isolated agent with own model, tools, middleware, permissions) deepagents/middleware/subagents.py (788 lines) conductor/ → sub-agent spawning Med High
Filesystem middleware (permission model: allow/deny paths by pattern) deepagents/middleware/filesystem.py apps/coder → file access control Small High
Memory middleware (cross-session persistent state via BaseStore) deepagents/middleware/memory.py apps/coder → agent memory abstraction Med High
Skills middleware (loadable skills from directories) deepagents/middleware/skills.py data/skills/ → skill loading architecture Med Med
Summarization middleware (token-budget context management) deepagents/middleware/summarization.py apps/server → context window management Med High

Key insight: deepagents is the reference implementation for boocode's sub-agent middleware pattern. The SubAgent spec (name, description, system_prompt, tools, model, middleware, permissions) maps directly to boocode's agent configuration. The middleware chain architecture is the right abstraction for composable agent behavior.


Domain 25: Open SWE — Production Coding Agent Framework

Source: open-swe/ (at /opt/forks/langchain/open-swe/) — LangChain's open-source internal coding agent framework

Corrected assessment: Initially assessed as "Low" because it was grouped with example apps. In reality, it's a production coding agent framework used by companies like Stripe, Ramp, Coinbase. Has 10+ middleware components, sandbox lifecycle management, and multi-channel integration (Slack, Linear, GitHub) that directly relate to boocode's domain.

Key architecture (agent/):

├── server.py          — Main agent factory (607 lines): create_deep_agent with curated tool list + middleware stack
├── webapp.py          — FastAPI routes: webhooks for GitHub, Linear, Slack
├── middleware/        — 11 middleware components
│   ├── check_message_queue.py  — Mid-run message injection (Linear/Slack comments arrive mid-stream)
│   ├── model_fallback.py       — Transient failure → fallback model (Anthropic↔OpenAI)
│   ├── sandbox_circuit_breaker.py — Circuit breaker on repeated sandbox failures
│   ├── sanitize_thinking_blocks.py — Strip malformed Anthropic thinking blocks
│   ├── sanitize_tool_inputs.py — Normalize tool inputs before execution
│   ├── tool_error_handler.py   — Catch tool exceptions → tool messages
│   ├── notify_step_limit.py    — Post Slack reply when agent hits step cap
│   ├── refresh_slack_status.py — Keep Slack "typing" indicator alive
│   ├── ensure_no_empty_msg.py  — Guard against empty assistant messages
│   └── exclude_tools.py        — Tool exclusion per context
├── dashboard/         — Model profiles, team settings, OAuth, usage tracking
├── integrations/      — LangSmith sandbox with GitHub proxy
├── tools/             — Curated tool set (http_request, fetch_url, web_search, Linear, Slack, GitHub)
├── reviewer.py        — Read-only PR reviewer with findings model
├── analyzer.py        — Per-repo review style learner
├── utils/             — Auth, model resolution, sandbox state management
└── skills/            — Deep agents skills for bootstrap/continual learning
Capability Source BooCode Target Effort Value
Mid-run message injection (queue new messages mid-stream → inject before next LLM call) open-swe/agent/middleware/check_message_queue.py apps/coder → mid-conversation message injection Med High
Model fallback middleware (primary fails → retry with fallback provider) open-swe/agent/middleware/model_fallback.py (93 lines) apps/coder → provider failover Small High
Sandbox circuit breaker (consecutive sandbox failures → abort thread) open-swe/agent/middleware/sandbox_circuit_breaker.py (261 lines) apps/booterm → sandbox resilience Small High
Sanitize tool inputs middleware (strip/normalize before tool execution) open-swe/agent/middleware/sanitize_tool_inputs.py apps/coder → tool input safety Small Med
Middleware stack pattern (ordered chain: sanitize → limit → error → queue → status → breaker → fallback) open-swe/agent/middleware/ + agent/server.py conductor/ → middleware architecture Med High
Deterministic thread-id derivation (same issue/PR → same thread) open-swe/agent/utils/github_comments.py + utils/linear.py + utils/slack.py apps/server → session continuity Small High
Sandbox lifecycle (4 cases: cached→reconnect, creating→reset, missing→create, metadata→reconnect) open-swe/agent/utils/sandbox_state.py apps/booterm → sandbox lifecycle management Med High
GitHub proxy in sandbox (inject GitHub App token → sandbox uses gh dummy without real tokens) open-swe/agent/utils/github_comments.py, integrations/langsmith.py apps/booterm → authenticated git in sandbox Med High

Key insight: open-swe is the most production-relevant coding agent framework in the entire forks directory. Its middleware stack pattern (10 ordered middleware components) is a direct reference for boocode's inference lifecycle. The model fallback pattern (Anthropic↔OpenAI on transient errors) and sandbox circuit breaker are directly liftable. The mid-run message injection pattern solves a real boocode problem: "how to inject user messages that arrive while the agent is processing."


Corrected Assessment: LangChain Python Library

Source: langchain/langchain/libs/ + langchain/langchain/libs/core/langchain_core/

This is the LangChain Python framework itself. Not an example app. The core abstractions live in libs/core/langchain_core/:

Module Key Patterns Liftable?
agents.py Agent types, AgentExecutor protocol No — deeply coupled to LangChain's runnable framework
tools.py BaseTool, StructuredTool abstraction Concept only — boocode already has its own tool model
callbacks/ CallbackHandler, AsyncCallbackHandler (17 events) Inspiration — boocode's hook system needs this event set
caches.py LLM response caching Yes — pattern for boocode's LLM cache

Verdict: The LangChain library itself is too coupled to its own framework to lift individual patterns. The callback system (17 lifecycle events for tool start/end, LLM start/end, chain start/end) is a useful reference for boocode's hooks system but not directly liftable.


Corrected Assessment: LangGraph Python Core

Source: langchain/langgraph/libs/ — Python langgraph

Key differences from langgraphjs (already analyzed in DEEP RESEARCH E):

Feature Python JS BooCode Relevance
Checkpointer implementations SQLite, Postgres, Memory, Conformance tests Checkpoint interface only Med — checkpointer diversity is useful
Prebuilt agents create_react_agent createReactAgent Low — same concept
SDK sdk-py, sdk-js Platform clients Low — deployment-specific
CLI langgraph-cli (dev, deploy, test) None Low — dev tooling

Verdict: No significant liftable patterns beyond what was already covered in the langgraphjs Pregel analysis (DEEP RESEARCH E). The checkpointer implementations are the most useful reference.


Corrected Assessment: langchainjs

Source: langchain/langchainjs/

The JS port of LangChain. Same architecture, different language. Contains no independently liftable patterns beyond what the Python LangChain library provides.

Verdict: No liftable patterns. Focus on agent-runtime instead (which is the clean TS rewrite).