docs: extend harness boundary decision to cover Crush as third harness
This commit is contained in:
+21
-14
@@ -4,24 +4,31 @@ Record *why* things are the way they are. Future-you will thank present-you.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-28 — hyperguild and agentsquad are separate harnesses, not competing implementations
|
||||
## 2026-05-28 — three active harnesses: hyperguild, agentsquad, Crush (extends earlier boundary decision)
|
||||
|
||||
**Context:** After a grill-me architecture review, the question arose whether `hyperguild`
|
||||
and `agentsquad` should be consolidated — they both involve agent orchestration and both
|
||||
use LiteLLM routing.
|
||||
**Context:** After wiring Crush to LiteLLM in May 2026, there are now three active harnesses.
|
||||
The earlier boundary decision only covered hyperguild vs agentsquad. Crush's role was undefined.
|
||||
|
||||
**Decision:** Keep separate. Different harnesses targeting different orchestration models.
|
||||
**Decision:** Three harnesses, three distinct roles, shared skills layer.
|
||||
|
||||
- **hyperguild** = Claude Code + MCP. Supervisor pattern. Skills as SKILL.md files invoked
|
||||
inside Claude Code sessions. Routing pod routes skill calls to local models. Brain MCP
|
||||
for knowledge accumulation. Target: disciplined solo coding sessions.
|
||||
- **agentsquad** = OpenCode + LiteLLM. Flat peer-to-peer executor/reviewer agents.
|
||||
Per-agent model routing via piguard virtual model names, risk-tiered approval middleware.
|
||||
Target: multi-agent task execution pipelines.
|
||||
| Harness | Engine | Primary use | Brain MCP? | Routing pod? | Skills? |
|
||||
|---------|--------|-------------|------------|--------------|---------|
|
||||
| **hyperguild** | Claude Code + MCP | Disciplined solo coding sessions, TDD/review/debug workflows | Yes | Yes | Yes (SKILL.md) |
|
||||
| **agentsquad** | OpenCode + LiteLLM | Multi-agent task execution, executor/reviewer pipelines | No | No (own routing) | Yes (SKILL.md) |
|
||||
| **Crush** | Charmbracelet TUI + LiteLLM | Interactive local coding, quick iterations on flamingo | No (not yet) | No (direct LiteLLM) | Yes (SKILL.md) |
|
||||
|
||||
Skills (`mathias/skills`) are shared — both harnesses consume the same SKILL.md files.
|
||||
**Crush specifics (as of 2026-05-28):**
|
||||
- Config: `~/.config/crush/crush.json` on flamingo (see brain: `homelab/facts/crush-litellm-wiring-2026-05`)
|
||||
- Connects directly to LiteLLM at `http://koala:4000/v1/` using `sk-local-123`
|
||||
- Auth type: `openai-compat` (not `openai`)
|
||||
- Does NOT go through the routing pod — model selection is manual in the Crush UI
|
||||
- Brain MCP not wired — Crush has no MCP client capability today; revisit if Crush adds MCP support
|
||||
|
||||
**Consequences:** No consolidation work. Both READMEs should state their harness explicitly.
|
||||
**Shared across all three:**
|
||||
- `mathias/skills` — any SKILL.md file works in all three harnesses
|
||||
- LiteLLM proxy on koala (`http://koala:4000/v1/`) — Crush and agentsquad both route through it; hyperguild does too for local model calls
|
||||
|
||||
**Consequences:** No consolidation needed. crush.json must be kept in sync when litellm_config.yaml model names change. The `crush.json` canonical location is `~/.config/crush/crush.json` on flamingo — not yet tracked in a dotfiles repo (track as tech debt).
|
||||
|
||||
---
|
||||
|
||||
@@ -58,7 +65,7 @@ as the top priority. As of 2026-05-28, `internal/skills/review/handlers.go` call
|
||||
Status of debug, retrospective, and trainer handlers is unverified.
|
||||
|
||||
**Decision:** Treat review as the reference implementation. Verify debug, retrospective,
|
||||
trainer against the same pattern before shipping new skill work.
|
||||
trainer against the same pattern before shipping new skill work. Tracked in issue #32.
|
||||
|
||||
**Consequences:** The April concern may be stale for review. A one-pass audit of the other
|
||||
three skill handlers closes this fully.
|
||||
|
||||
Reference in New Issue
Block a user