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

1064 lines
82 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
4. **Add ContextScout** — New agent that discovers relevant context files (from new `context/` directory).
5. **Add model-core** — Extract provider priority/fallback logic from oh-my-openagent's model-core package.
### Week 2-3: Conductor upgrades
6. **Task state machine** — Add SCHEDULED/IN_PROGRESS/FAILED/COMPLETED states to flow steps.
7. **FORK_JOIN support** — Allow parallel branch execution in conductor flows.
### Week 3-4: Memory & context
8. **Boulder state** — Add cross-session work tracking/auto-resumption.
9. **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:**
```json
{ "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.ts``handleTaskTerminal` 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>/props``n_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.md``X-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).
---