Files
waggle-os/docs/analysis/agent-teams-ai-vs-waggle-2026-07-15.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

9.6 KiB

Agent Teams AI vs Waggle OS — Competitive Teardown & Steal List

Date: 2026-07-15 Target: https://github.com/777genius/agent-teams-ai (v2.1.2, HEAD 1e018a1f, pushed 2026-07-15) Method: shallow clone + 3 parallel deep-read agents (architecture/Kanban, runtime adapters, differentiators). Cross-corroborated; one hallucinated claim (a docs/product-analysis/WAGGLE-OS-PRODUCT-INTELLIGENCE.md) verified NOT to exist and discarded.

⚠ LICENSE: AGPL-3.0. Ideas and mechanism designs only. Zero code copy into Waggle (proprietary). Their copyleft is deliberate — likely SaaS-later moat.


1. What Agent Teams AI is

Electron 40 + React 19 + Zustand desktop app (pnpm, ~2,300 TS files) that orchestrates teams of external coding-agent runtimes through a Kanban board. "Manage agents like a CTO manages engineers." Free, local-first, zero telemetry (analytics functions are literally no-op stubs), single $0 pricing tier, Discord community, agentteams.live landing (Nuxt, ~30 locales).

Runtime reality vs marketing: the "9 supported tools" (Claude Code, Codex, OpenCode, Cursor, SuperGrok, Copilot, Z.AI, MiniMax, Kiro) are NOT 9 adapters. Two bundled sidecar binaries do everything:

  • claude-multimodel (from their closed 777genius/agent_teams_orchestrator repo) — one multi-provider runtime with anthropic | codex | gemini | opencode providers inside.
  • terminal-platform daemon — PTY/terminal workspace.

Cursor/Grok/Z.AI/MiniMax/Kiro are just model routes through OpenCode/OpenRouter plus provider-auth connections. The "free model no auth" hook = OpenCode's built-in opencode/big-pickle route (accessKind: 'builtin_free').

Notable: the actual teammate launcher + change-ledger writer live in the external closed-source orchestrator CLI, not in the AGPL repo. The open repo is the shell: board state engine (agent-teams-controller/), readers, review UI, MCP server (FastMCP, tool groups team/task/lead/kanban/review/message/process/runtime/workSync/crossTeam).

2. Category comparison

Dimension Agent Teams AI Waggle OS
Core object Kanban task executed by external coding CLIs Workspace agent with persistent memory
Memory None (rides Claude's own JSONL; no substrate) FrameStore + HybridSearch + KG + Identity/Awareness — the moat they don't have
Agent runtime External CLIs (2 sidecar binaries) Own agent-loop + LiteLLM routing + personas
Multi-agent Lead-orchestrator + teammates, worktree isolation, runtime lanes WaggleDance signals, subagent-orchestrator, coordinator persona
Code change control Hunk-level review + content-addressed change ledger — their crown jewel Review-before-apply proposals (skills only, steal #3 arc)
External tool launch Detect/install/launch 2 runtimes; provider auth bridge Launcher: 7-tool cohort detect/launch + 6 hook packages (AI-OS arc)
Harvest/import None 10+ adapters, dedup, sticky erasure
Monetization $0 only, AGPL copyleft, no Stripe anywhere 4-tier, Stripe live, KVARK funnel
Compliance Nothing (no redaction, no audit trail in OSS repo) install_audit, execution traces, compliance/, GDPR erasure, EU AI Act story

Verdict: adjacent, not head-on. They orchestrate coding agents on repos; Waggle is a general workspace agent platform with memory. Overlap zone = our AI-OS/Launcher arc + subagent orchestration. Their memory-less design means every team relaunch starts cold — our substrate is exactly the gap they can't close without building one.

3. Steal list (mechanisms, not code — AGPL)

Tier 1 — high value, direct fit

  1. Post-compact context re-injection (TeamProvisioningService.injectPostCompactReminder + handleCompactBoundary). On compact_boundary stream event, re-inject standing rules + fresh task snapshot into the agent — strict one-shot flag, deferral guards (only when agent idle, no relay in-flight), re-arm on re-compact, and instruction "do NOT start new work this turn, reply one status line." We persist compaction summaries as memory frames (#12, just shipped); the active re-injection with idle guards is the missing half for our agent-loop long-runs.
  2. Rate-limit auto-resume (AutoResumeService.ts). Parse reset time out of provider error, setTimeout nudge ~30s after reset; guards: 12h ceiling, staleness, run-id capture (never nudge a session that advanced), re-check alive at fire. Pure-function plan (scheduled | manual{reason}) = testable. Fits agent-loop + ai_task scheduler (#17).
  3. Scheduler hardening trio for our cron-store/ai_task: (a) warm-up timer — pre-provision runtime N min before cron tick; (b) auto-pause after N consecutive failures (default 3); (c) interrupted-run recovery — on boot, mark prior-process running/pending runs failed_interrupted. Plus cwd-exclusion lock so two schedules never share a directory.
  4. Tool-approval coordinator patterns (RuntimeToolApprovalCoordinator.ts) to harden our confirmation.ts/permissions.ts: per-team timeout actions (allow|deny|wait), in-flight response claiming (no double-answer), stale-runId rejection, live reEvaluate() of pending approvals when settings change.

Tier 2 — strong, larger arcs

  1. Task-change ledger (content-addressed) — append-only JSONL events per task + sha256 blob store + precomputed summary bundles + freshness stamp (size+mtime+sha256 of 4KB journal tail) for validated-vs-degraded fast path. For Waggle this is a compliance asset: agent file-mutation audit trail with provenance/confidence tiers slots straight into our EU-AI-Act/install_audit story, and enables agent-change review UI later.
  2. Hunk-level review of agent edits (their crown jewel): accept/reject per hunk, decisions keyed by stable original indices + context hashes (replay-safe over recompute), reject applied via snippet reverse-replacement with diff3 fallback, stale-check before apply, 10-deep undo. Big arc; extends our review-before-apply from skills to file edits. Only worth it when Waggle agents do heavy multi-file work.
  3. Stall monitor + turn-settled control plane. Level-triggered scanner classifying "is agent actually progressing," alert dedupe journal; provider-neutral Stop-hook "turn settled" spool→drain→reconciler. We already ship Stop hooks (maybeEmitDiscovery, WAGGLE_SIGNAL_EMIT) — extending to turn-settled telemetry gives Mission Control real liveness.
  4. Provenance-tiered cost attribution — source-confidence enum (sdk_exact → gateway_exact → log_parsed → tokenizer_estimated → cost_estimated) + "API-equivalent cost" shown even on subscription/free runtimes (great free-tier framing: "Waggle saved you $X"). Budget evaluator engineering: single-flight drain queue, config fingerprint skip, per-period dedupe keys (threshold notifies once/month). Extends our cost-tracker.

Tier 3 — cheap wins / process

  1. Critical-coverage test config — separate vitest project gating ONLY security-boundary files (IPC guards, path decode) with hard thresholds, instead of blanket 80%. Cheap, high-leverage; we could scope one to injection-scanner, vault, channels SEC paths, erasure.
  2. Interactive shell-env resolver — spawn user's login shell → env -0 to capture real PATH (single-flight, 12s timeout, SIGTERM→SIGKILL, cooldown, best-effort background variant). Directly relevant to our tool-detection.ts/Launcher misses when Tauri inherits bare env.
  3. Board-as-DAG research note (adaptive-task-graphs-research-note.md) — tasks=nodes, blockedBy=edges, ready work = graph frontier; selective verification scaled to graph impact; straggler release as first-class action; coordination-metrics panel (idle rounds, straggler tail, wasted tokens). Feed into WaggleDance/subagent-orchestrator design when we do multi-agent task graphs.
  4. Agent-graph live viz (packages/agent-graph, d3-force + canvas, port/adapter isolated) — animated org-chart of running agents with message particles. Mission Control candy; concept only (AGPL).
  5. docs/research/ corpus (~65 files) — ready-made competitive/architecture lit review: ACP deep-dive, CLI-adapter exhaustive search, inter-agent communication standards, orchestrator competitor patterns. Worth one reading pass for the WaggleDance roadmap.

Explicitly NOT steal

  • Their runtime-adapter layer — we already own our agent runtime; wrapping external CLIs as workers is their category, not ours.
  • Kanban board as primary UX — wrong center of gravity for Waggle (memory/chat-first). Task DAG concepts (item 11) transfer without the board.
  • Their gap we already beat: no memory, no harvest, no secret redaction on agent output, no telemetry/product signal, no monetization rail.
  • Quick arc (days): #2 rate-limit auto-resume, #3 scheduler trio, #4 approval hardening, #9 critical-coverage config, #10 shell-env resolver. All bolt onto shipped Tier-3 steal infra (#17 ai_task, channels, confirmation).
  • Medium arc: #1 post-compact re-injection (pairs with shipped #12), #7 turn-settled liveness, #8 API-equivalent cost framing.
  • Strategic (separate proposal): #5 change ledger as compliance/audit feature — strongest differentiated fit (EU AI Act) — then #6 hunk review on top if/when agents do heavy file work.

5. Session-log note

Their repo is itself built by agent teams (guardrail file forbids testing team-launch on named real projects; .controller-compact-prompt broker re-prime prompt checked in). Test fixtures break Windows checkout (Filename too long under test/fixtures/team/task-change-ledger/) — their content-addressed fixture paths exceed MAX_PATH; if we build a ledger, keep blob dirs shallow.