- 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
82 KiB
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
- Swap codecontext — Replace Go sidecar HTTP client with boocontext MCP client. Adds 2 new tools (health, callgraph) with zero architectural change.
- Add PTY exit notifications — Extend booterm's WS protocol to send structured exit payloads.
- Add self-healing + verify-gate skills — Copy skill directories from pskoett-skills, adapt prompts to BooCode's agent format.
Week 2: Context system
- Add ContextScout — New agent that discovers relevant context files (from new
context/directory). - Add model-core — Extract provider priority/fallback logic from oh-my-openagent's model-core package.
Week 2-3: Conductor upgrades
- Task state machine — Add SCHEDULED/IN_PROGRESS/FAILED/COMPLETED states to flow steps.
- FORK_JOIN support — Allow parallel branch execution in conductor flows.
Week 3-4: Memory & context
- Boulder state — Add cross-session work tracking/auto-resumption.
- 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 (vianpx) - Session cache: in-memory, per-directory,
clearCache()on project switch
Fixes needed before production integration:
- Hardcoded type-inject path (
/opt/forks/type-inject/...) → switch tonpx @nick-vi/type-inject-mcp - Missing
uvxrequirement for tree-sitter-analyzer → document or bundle - No request concurrency (serial
processingflag) → enable parallel for independent tools - No graceful degradation on child server failure → retry + fallback to codesight-only
- 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 agentsapps/coder/— in-app orchestrator, DB-persisted flow runs, dispatcher with 4 execution pathsdata/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 handlersflow-runner.ts—handleTaskTerminalcallback (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):
- loadContext — session/project loaded
- Doom-loop check
- Budget check
- Compaction check
- Message payload build
- executeStreamPhase — LLM streaming
- executeToolPhase — tool execution
- MistakeTracker integration
- 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/actionnatural 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
- type-inject MCP server — One-line config add. Fixes 0% TypeScript recovery.
- Security guidance hooks — Copy claude-code/plugins/security-guidance/ pattern. Days of effort.
- X-Agent-Flags header — Small change to inference routing for per-agent LLM parameters.
- SWR caching for codecontext — Stale-while-revalidate for MCP tool results. Days of effort.
Architecture Patterns Worth Studying
- claude-code plugin format —
.claude-plugin/plugin.json→ commands/agents/skills/hooks/.mcp.jsonis the de facto standard. BooCode should adopt a compatible format. - LangGraph supervisor pattern — Clean central-coordinator architecture with handoff tools.
- Sim's workflow-types package — Pure type definitions for BlockState, Loop, Parallel — reference for conductor flow types.
- 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).