03 — Competitive, Alternative and Open-Source Foundation Analysis
2026-07-18. Re-tests the 01-initial-recommendation.md verdict (“adopt existing OSS + build one thin layer, local-first docker-compose”) against everything found in R1 (OSS observability), R2 (session managers), R3 (buy/SaaS + control-room UX), R6 (Claude Code telemetry ground truth), and R7 (prior-research constraints). Evidence labels per packet: VERIFIED-TODAY (dated 2026-07-18, live source), PRIOR-RESEARCH (from research/12 or earlier, not rechecked this pass), ASSUMPTION (no source, stated as such). Where evidence contradicts 01-initial-recommendation.md, that is called out, not smoothed over.
Headline: the verdict survives, but its OSS anchor shifts. research/12’s pick (ColeMurray/claude-code-otel as the compose skeleton, disler/claude-code-hooks-multi-agent-observability as the architecture template) is now partly stale — the disler repo has a confirmed license blocker that either didn’t exist or wasn’t checked when research/12 was written. Nothing found across four independent research passes covers the actual gap: task-level factory metrics joined to a work-ledger, multi-host fleet aggregation, or Zaruba’s CI/deployment stream. That gap is still all Groupon’s to build.
1. Landscape matrix
Columns: does it cover the needs-input list (the primary attention-router surface)? Aggregate cost/token (Grafana-tier metrics)? Task-level factory metrics (rework rate, cost/merged-unit — requires ledger join, nothing has this)? Multi-host (cross-machine/cross-operator fleet, not single-box)? License? Activity (last push, as of 2026-07-18)? Confidentiality-safe (self-hostable, no code/prompt leaves Groupon’s network)?
| Candidate | Needs-input list | Aggregate cost | Task-level factory metrics | Multi-host | License | Activity (2026-07-18) | Confidentiality-safe |
|---|---|---|---|---|---|---|---|
First-party: Agent View (claude agents) |
Yes, native | No | No | No — local machine only | N/A (built-in) | Shipped 2026-05-11, research preview, active | Yes (local) |
| First-party: Agent Teams | Partial (in-session only) | No | No | No | N/A (built-in) | Experimental, opt-in, active | Yes (local) |
| First-party: claude.ai/code cloud sessions | Yes (cloud UI) | Partial | No | Yes, but Anthropic-hosted | N/A (SaaS) | Research preview, active | No — Anthropic-managed cloud infra |
| ColeMurray/claude-code-otel | No | Yes (single-host) | No | No | MIT | Stale — last commit 2025-06-17 (13mo) | Yes (self-hosted) |
| Grafana dashboard 25255 (rockdarko) | No | Yes (panel layer) | No | No (panel only, host-agnostic if fed) | N/A (dashboard JSON) | Confirmed live, no date shown | Yes (self-hosted Prom) |
| Grafana dashboard 25052 (1w2w3y) | No | Yes | No | No | N/A | Updated 2026-05-01 (docs fix) | No — requires Azure Monitor ingestion, Groupon is GCP |
| disler/claude-code-hooks-multi-agent-observability | Partial (per-source-app tagging) | Yes | No | No (single Bun server) | None — LICENSE 404s, license.spdx_id: null |
Push stale 5mo, issues active to 2026-07-16 | Yes if self-hosted, but legally encumbered |
| sniffly | No | Yes (single-user) | No | No | MIT | Stale — last commit 2025-08-08 (~11mo) | Yes |
| ccusage | No | Yes (cost-math only) | No | N/A (CLI, not a service) | MIT (verified by reading file) | Very active — pushed today | Yes (local parsing) |
| Maciek-roboblog/Claude-Code-Usage-Monitor | No (burn-down, not queue) | Yes (terminal) | No | No | MIT | Active, last commit 2026-06-27 | Yes |
| tombelieber/claude-view | Yes (closest positioning match) | Yes | Unknown (untested) | Unknown — paid tiers hint at multi-device sync, not confirmed multi-host fleet | MIT core, paid SaaS tiers above it | Pushed today, 6mo old | Free tier: yes (local-first). Paid tiers: cloud relay — untested |
| hoangsonww/Claude-Code-Agent-Monitor | Partial (Kanban status board) | Yes | No | No (single-machine) | MIT | Pushed today | Yes (self-hosted) |
| AMUX (mixpeek/amux) | Partial (web dashboard) | Unknown | No | Unclear — “multiplexer,” not confirmed cross-host | NOASSERTION (unclear) | Pushed today | Yes if self-hosted |
| claude-squad (smtg-ai) | No (tmux session list, not triage queue) | No | No | No — tmux is per-host | AGPL-3.0 | Active, last push 2026-06-17 | Yes (local) |
| claude_code_agent_farm | No | No | No | No | NOASSERTION | Alive, quiet — last push 2026-04-06 (~3.5mo) | Yes (local) |
| Vibe Kanban | No (task board, not agent-status queue) | No | No (generic kanban, no cost join) | No | Apache 2.0 (relicensed) | Dead — Bloop shut down, no dominant fork, ~3mo stale | Yes (self-hosted) |
| Conductor | Yes (macOS native) | Partial | No | No — single-machine app | Closed source | Active (funded startup) | Unclear — closed source, not self-hostable |
| Crystal → Nimbalyst | Unknown (renamed product) | Unknown | No | Unknown | Was MIT | Crystal itself stale 5mo; successor not evaluated | Unverified |
| omnara | Yes (multi-client control plane) | Unknown | No | Yes — explicit multi-device design | Old CLI-wrapper repo: Apache 2.0 (archived). New SaaS platform backend: unconfirmed open source | New platform active; old repo archived 2026-02-02 | Unclear — new platform is hosted, self-host status unconfirmed |
| recon (gavraz) | No (tmux table/visual view) | No | No | No | MIT | Active, last push 2026-07-17 (yesterday) | Yes (local) |
| Langfuse (self-hosted, MIT core) | No (LLM trace/eval tool, not agent-fleet queue) | Yes (session/trace level) | No (no ledger concept) | Yes, in principle — it’s a hosted service you point sessions at | MIT core, EE gate on SSO/audit only | Active; acquired by ClickHouse Jan 2026 | Yes (self-hosted, OTLP-native) |
| AgentOps | No | Yes | No | Unclear | MIT | Not independently dated this pass | Partial — cloud-default SDK init, self-host requires care |
| Helicone | No | Yes (proxy-level) | No | Yes (proxy sits inline) | Apache 2.0 | Stalled — acquired by Mintlify Mar 2026, maintenance mode | Yes (self-hosted) |
| Braintrust | No | Yes | No | Yes | Hybrid: data plane self-host, control plane SaaS | Active | Partial — SaaS control plane touches account continuously |
| Datadog LLM Obs / AI Agents Console | No | Yes | No | Yes | Proprietary | Active | No — pure multi-tenant SaaS |
| Grafana Cloud “Claude Code” integration | No | Yes (packaged dashboards) | No | Yes | Proprietary hosted | Shipped v1.0.0 March 2026 | No — Grafana Cloud multi-tenant, not self-hosted OSS Grafana |
| self-hosted OSS Grafana + Prometheus | No | Yes | No (needs custom panels) | Yes, if fed by a collector on each host | AGPL/Apache | Active (mature project) | Yes |
| GitHub Actions status / CI signal (native) | N/A | N/A | N/A | Yes (repo-scoped, cross-host by nature) | N/A (GitHub-hosted) | Active | Depends on repo visibility, not a tool per se |
Sources: R1, R2, R3, R6 (all dated 2026-07-18 in the packets). Table entries carry the VERIFIED-TODAY/PRIOR-RESEARCH split implicitly by row — every OSS star count/activity date above is VERIFIED-TODAY per its packet; the “task-level factory metrics” column is all “No” across every row — that is the load-bearing fact of this whole matrix and is elaborated in §5.
2. Per-candidate verdicts
Classification: STRONG-FOUNDATION / USEFUL-COMPONENT / PROTOTYPE-ONLY / DESIGN-DONOR / HIGH-RISK / NOT-RECOMMENDED.
First-party candidates
- Agent View (
claude agents) — STRONG-FOUNDATION for the single-machine needs-input list. VERIFIED-TODAY (R6): native, JSON output (--json), session status incl. Needs-input/Working/Completed, peek/reply inline. Adopt directly, do not rebuild. Ceiling: local-machine only, no documented cross-machine enumeration API (R6 §7) — this is exactly the delta the thin layer must fill for a multi-host fleet. - Agent Teams — USEFUL-COMPONENT, in-session coordination primitive only, not a fleet dashboard. Experimental, opt-in. Ignore for fleet-monitor v1; it solves a different problem (teammates talking to each other, not an operator watching many sessions).
- claude.ai/code cloud sessions — NOT-RECOMMENDED as a foundation for this build (confidentiality: Anthropic-managed infra runs the code; billing gate per
01-initial-recommendation.md’s existing exclusion of cloud deploy). Worth watching per §3 — this is the most likely thing to grow into fleet coverage Groupon didn’t have to build.
OSS observability (R1)
- ColeMurray/claude-code-otel — USEFUL-COMPONENT. MIT, 469★, but 13 months stale (PRIOR-RESEARCH pick in
research/12, VERIFIED-TODAY still true). Steal the docker-compose skeleton (OTel Collector→Prometheus→Grafana wiring) as a frozen starting point; do not track upstream. - Grafana dashboard 25255 (rockdarko) — USEFUL-COMPONENT. Prometheus/VictoriaMetrics-compatible, matches local-first stack. Import the panel JSON once the collector pipeline exists.
- Grafana dashboard 25052 (1w2w3y) — NOT-RECOMMENDED. Azure Monitor ingestion only; Groupon’s org is GCP. Dead end for this stack specifically, independent of dashboard quality.
- disler/claude-code-hooks-multi-agent-observability — HIGH-RISK. Architecturally the best match to fleet-monitor’s hook→bus→UI shape (VERIFIED-TODAY, R1) and was the implicit reference pattern behind
research/12’s prior pick, but has no license file —LICENSE404s, GitHub’s ownlicense.spdx_idis null. This is a contradiction withresearch/12: that doc treated the hook→bus→UI pattern as adoptable; it is not, as-is, without either an explicit grant from the author or a clean-room reimplementation of the (simple) pattern. Recommendation: do not depend on this repo’s code; the pattern itself (hooks POST → local server → SQLite → WebSocket → UI) is not novel enough to need it — reimplement directly. - sniffly — PROTOTYPE-ONLY. Frozen (11mo stale), single-user, single-machine. Steal the error-taxonomy classification logic only.
- ccusage — STRONG-FOUNDATION for the cost-math layer specifically. MIT confirmed by reading the file (not trusting GitHub’s mis-flagged NOASSERTION label), very active (pushed today), Rust CLI. Shell out to it or port its pricing table rather than reimplementing Anthropic’s cost math by hand — this is the “hardest 10%” (R1) and there is no reason to redo it.
- Claude-Code-Usage-Monitor — USEFUL-COMPONENT. Good burn-down/prediction UX pattern (5-hour window warnings) to imitate for a stall-detection confidence signal; not a fleet dashboard itself, terminal-only, single-account.
New entrants (R1 Part 2)
- tombelieber/claude-view — STRONG-FOUNDATION candidate, closest product-market-fit match found anywhere in this pass (“10 Claude sessions running. What are they doing?” — exactly the fleet-monitor pitch). MIT core, local-first, pushed today. Risk is youth (6mo, 96★) not staleness. Recommend a hands-on trial before committing code to a from-scratch build — if its free tier already does 50%+ of the needs-input-list job, adopt/fork rather than build that layer. This was not in
research/12at all — it’s a genuine new finding this pass, and the single strongest reason to slow down before writing the thin layer’s UI from zero. - hoangsonww/Claude-Code-Agent-Monitor — STRONG-FOUNDATION, the license-clean alternative to disler’s repo. Same general architecture (SQLite + Node/Express + React + WebSockets), real MIT license, larger community (815★ vs disler’s 1494★ but growing), pushed today. Worth a direct bake-off against claude-view before deciding a UI foundation.
- Grafana Cloud “Claude Code” integration — NOT-RECOMMENDED (Cloud-only, fails confidentiality per R3). But it is evidence the underlying OTel schema (
gen_ai.*) is stable enough that Grafana Labs shipped an official integration against it — design the custom collector against that schema, not any one dashboard repo. - KB1SLN-Labs/agent-observability — PROTOTYPE-ONLY. Too new (created 2026-06-07), too small (11★), unlicensed. Note only: cross-vendor framing (Claude Code + OpenAI Codex) worth remembering if Groupon ever mixes agent vendors — not currently a requirement.
Session managers (R2)
- claude-squad — USEFUL-COMPONENT for live-terminal supervision (tmux+worktree isolation), not a monitoring UI. Active (8,137★, last push 2026-06-17). AGPL-3.0 — note the copyleft license if any code is vendored, not just invoked as a separate process.
- claude_code_agent_farm — USEFUL-COMPONENT, same category as claude-squad (tmux grid orchestration across 34 stack configs), quiet but alive. NOASSERTION license — same caution as above if code is reused rather than shelled out to.
- Vibe Kanban — NOT-RECOMMENDED as living upstream (Bloop shut down 2026-04-10, no dominant fork exists — every fork checked sits at 0-1 stars, identical
pushed_atto origin). DESIGN-DONOR only, and even that is now overridden:01-initial-recommendation.mdexplicitly removes “a kanban board” from the concept (“the ledger already owns state — a board duplicates it”). Per §(e) contradiction #1 in R7, this supersedesresearch/12’s use of Vibe Kanban as a UI-shape donor — treat that prior pointer as dead. - Conductor — NOT-RECOMMENDED. Closed-source, macOS-only, single-operator scope; doesn’t fit a 2-operator cross-host need even before the closed-source problem.
- Crystal / Nimbalyst — NOT-RECOMMENDED. Crystal itself is deprecated/renamed; Nimbalyst not evaluated this pass (out of scope, flagged not verified).
- omnara — NOT-RECOMMENDED for adoption, DESIGN-DONOR at most. Old CLI-wrapper repo (Apache 2.0) is archived and admits it couldn’t keep up with Claude Code CLI churn — a direct cautionary data point against building tightly coupled to CLI internals. New SaaS platform’s open-source status is unconfirmed (ASSUMPTION flag in R2) — do not rely on marketing claims of “entirely open source” without an independent repo check.
- Terragon — NOT-RECOMMENDED. Dead, frozen snapshot, zero fork continuation.
- AMUX (mixpeek/amux) — USEFUL-COMPONENT, worth a closer look (single-file Python + tmux, web dashboard, mobile PWA, self-healing rate-limit watchdog, pushed today). Was flagged unverified in prior research; now confirmed alive. License is NOASSERTION though — same caution as claude_code_agent_farm.
- happy (slopus) — USEFUL-COMPONENT at most; this is a mobile/web remote-control client (E2E encrypted), not a fleet-status aggregator. 22,720★, very active, MIT. Relevant if Robert ever wants phone-based reply-to-agent, out of scope for MVP (
01-initial-recommendation.mdexplicitly excludes mobile). - recon (gavraz) — USEFUL-COMPONENT, small but current tmux TUI (table + “Tamagotchi” view). DESIGN-DONOR for the board surface’s visual language, not adoptable as infrastructure (no web UI, no cost data).
Buy/SaaS (R3)
- Langfuse (self-hosted, MIT core) — STRONG-FOUNDATION for the session/trace layer specifically, stronger than hand-rolling that slice on raw Prometheus. Purpose-built for LLM session/trace UX, OTLP-native, MIT core is genuinely unlimited (only SSO/SCIM/audit-log gated). This sharpens
01-initial-recommendation.md’s stack choice — the doc’s “Adopt” line (01-initial-recommendation.md§“Simplest useful version” (a)) names only Agent View + Grafana; Langfuse self-hosted for the trace/session slice is a real candidate the initial doc didn’t consider, surfaced by R3 answering open question 5 directly. Caveat: acquired by ClickHouse Jan 2026 — re-check licensing periodically, not a reason to avoid today. - AgentOps — NOT-RECOMMENDED for this stack. MIT, technically self-hostable, but SDK defaults toward cloud phone-home and thinner self-host docs than Langfuse — higher misconfiguration risk for 2 operators with a hard confidentiality bar.
- Helicone — NOT-RECOMMENDED. Self-hostable and Apache 2.0, but acquired by Mintlify (March 2026) and now in maintenance mode — longevity risk for a tool meant to run for the life of a multi-year rebuild.
- LangSmith, W&B Weave, Braintrust — NOT-RECOMMENDED. All fail the “zero budget-approval process” or “2-operator ops burden” bar (R3 Part A): enterprise sales conversations, K8s clusters, or “running it is a part-time job” per community consensus.
- Datadog LLM Observability, Grafana Cloud — NOT-RECOMMENDED. Hard confidentiality fails — multi-tenant SaaS, Groupon prompts/code would transit third-party infra. Self-hosted OSS Grafana (a different product from Grafana Cloud) remains valid and is unaffected by this verdict.
3. First-party trajectory: what to deliberately NOT build
Anthropic already ships, VERIFIED-TODAY (R2, R6):
- Agent View /
claude agents— the needs-input list, natively, with JSON output, peek/reply, background sessions surviving terminal close. This is the single-machine core of the “attention router” concept in01-initial-recommendation.md. Do not rebuild a needs-input list from hook events whenclaude agents --jsonalready produces one. The thin layer’s job on this axis is narrower than the initial doc implies: aggregate the already-existing per-machine Agent View state across hosts, not reconstruct triage logic from raw events. - Agent Teams — in-session multi-agent coordination (task list + mailbox). Not a monitoring surface; irrelevant to fleet-monitor’s job, but relevant if fleet-monitor later wants to read team task-list/mailbox files as a signal source rather than parsing transcripts.
- claude.ai/code cloud sessions + Routines — cross-repo, cross-session cloud orchestration with mobile monitoring and scheduled automations, actively expanding (Routines launched 2026-04-14). This is the feature area most likely to eventually cover a “multi-host fleet view,” which would obsolete part of the custom layer — but it requires Anthropic-managed cloud execution, which fails Groupon’s confidentiality bar today. Watch this, don’t build against the assumption it stays server-side-only forever — if Anthropic ships a genuinely local/self-hosted variant of cross-machine session enumeration, that’s the trigger to shrink the thin layer, not before.
Obsolescence risk assessment: LOW near-term, MEDIUM 12-month. R6 confirms no documented API exists today for cross-machine session enumeration outside a single user’s local jobs directory (~/.claude/jobs/) — this is the concrete technical reason the thin layer is still necessary, not a hedge. But Anthropic is visibly moving in this exact direction (Agent View shipped 2026-05, Routines 2026-04, cloud sessions expanding) — the specific thing NOT to build is a bespoke session-status polling/enumeration protocol that duplicates what claude agents --json or a future first-party fleet API will do; build the thin layer’s ingestion to prefer first-party JSON output wherever it exists per-host, and reserve custom hook-event capture for what only hooks expose (cost/token attribution via OTEL_RESOURCE_ATTRIBUTES, tool-decision events, active-time plateaus for stall detection).
4. Buy analysis: why SaaS fails the bar
Constraint set (R3, restated precisely): 2 operators, CONFIDENTIAL Groupon code/prompts, no budget-approval process, local-first mandate already decided in 001-factory-apps-validation.
Every pure-SaaS or enterprise-gated product fails on at least one of two axes:
- Confidentiality — Datadog LLM Observability/AI Agents Console has no self-host option; any trace containing Groupon code/prompts routes through Datadog’s multi-tenant cloud. Grafana Cloud (the hosted product, not self-hosted OSS Grafana) is the same failure mode. claude.ai/code cloud sessions is the same failure mode for the first-party option (§3).
- Ops/budget fit — LangSmith self-hosting is Enterprise-plan-only, needs a sales conversation and a 16+ vCPU/64GB K8s cluster; W&B Weave production features need a sales-gated license and “running it is a part-time job” per community consensus; Braintrust’s control plane stays SaaS even when the data plane self-hosts, and requires real platform-engineering lift (Terraform, cloud infra management) disproportionate for 2 operators.
Where SaaS does not fail: Langfuse’s core is genuinely MIT and self-hosted via one docker compose up (web+worker+Postgres+ClickHouse+Redis+MinIO) — this clears both bars and is the one buy-adjacent product this analysis recommends actually adopting for the trace/session slice (§2). Helicone and AgentOps clear the license/self-host bar technically but fail on maintenance-mode staleness and cloud-default misconfiguration risk respectively — usable in principle, not recommended in practice.
Verdict: the “local-first, self-hosted, no SaaS” constraint from 001-factory-apps-validation is re-confirmed, not weakened. The one adjustment R3 forces onto 01-initial-recommendation.md: add self-hosted Langfuse as a named component for the trace/session slice, rather than treating Prometheus+Grafana as covering that layer alone.
5. The gap table: what nothing covers
This is the build justification. Every row below was checked against all 25+ candidates in §1 — none cover it.
| Capability | Any first-party coverage? | Any OSS coverage? | Why nothing covers it |
|---|---|---|---|
| Task-level factory metrics joined to a work-ledger (rework rate, cost/merged-unit) | No | No | Requires a concept — “unit,” “merged,” “reopened” — that only exists in Groupon’s own work-ledger (decided but not yet built, per R7 §(d)). No generic Claude Code observability tool has a ledger to join against; this is inherently bespoke to Groupon’s factory-app architecture. |
| Cross-host fleet aggregation (Robert’s fleet across multiple machines, one view) | No — claude agents is explicitly local-machine-only (R6 §7, confirmed no cross-machine enumeration API) |
No — every OSS candidate checked is single-host (claude-squad, agent_farm, disler’s Bun server, hoangsonww’s monitor, sniffly, ColeMurray’s stack). claude-view and omnara’s new platform gesture at multi-device via cloud relay, but that’s cloud-mediated, not a local cross-host aggregator, and unconfirmed for claude-view specifically. | Multi-host fleet monitoring for a local-first, no-cloud-relay constraint is a niche nobody in this landscape has targeted — the OSS ecosystem assumes one developer, one laptop. |
| Rework rate (unit reopened post-merge) | No | No | Same ledger dependency as above — no tool tracks “reopened” as a concept without a ledger’s state machine. |
| Stall detection with an honest confidence signal (not a binary “stuck” flag) | Partial-adjacent: Claude-Code-Usage-Monitor’s burn-down prediction is the closest analog, but it’s rate-limit-window prediction, not per-agent activity-plateau detection | No | claude_code.active_time.total (R6) exists as raw telemetry but no tool interprets “active time flat while wall-clock climbs” as a confidence-scored stall signal — this is genuinely unbuilt anywhere found. |
Zaruba CI/deployment watch (GitHub Actions status, groupon2 workflow signals) |
No — none of the Claude-Code-specific tooling has any concept of external CI | No | Out of category entirely — every candidate in §1 is scoped to Claude Code session/cost telemetry, not repo CI state. This is not a Claude Code observability gap at all; it needs a GitHub Actions status feed as a wholly separate ingestion source, which R7 §(e) contradiction #5 already flags as unaddressed by any prior doc, not just unaddressed by the OSS landscape. |
Precise scope of the gap: it is not “build a Claude Code dashboard” — plenty of those exist, several are license-clean and active as of today. The gap is specifically the join (session/cost telemetry × Groupon’s own ledger semantics), the span (across hosts, across two operators, without a cloud relay), and the domain (CI/deployment state, which is a different signal category than agent telemetry entirely). All three are absent from every candidate checked across four independent research passes (R1, R2, R3, and the earlier research/12 sweep).
6. Would building from scratch be strategically irrational? — No, with one clarification
Answer: no, building the thin layer is not strategically irrational — but “from scratch” is the wrong description of what’s being built. Nothing in this landscape review found a tool that does the join/span/domain work in §5, so there is no adopt-and-be-done option. What would be irrational is building the parts that already exist for free: a needs-input list (Agent View does this), single-host cost/token dashboards (five-plus license-clean OSS options do this), or LLM session/trace UX (Langfuse does this, self-hosted, MIT). The rational shape is a thin aggregation/join layer sitting on top of adopted components, not a ground-up observability stack.
This directly reaffirms 01-initial-recommendation.md’s framing (attention router, not analytics suite) while correcting its bill of materials: the initial doc’s “Adopt” line named only Agent View + Grafana dashboard 25255; the evidence this pass adds Langfuse self-hosted as a third adopted component for the session/trace slice, and demotes disler’s repo (implicit architecture reference in research/12) to unusable-as-is due to the license blocker.
Final split:
| Layer | Disposition | Component | Rationale |
|---|---|---|---|
| Needs-input list (single-host) | ADOPT | claude agents --json (Agent View) |
Native, already does the job; rebuilding it is the exact waste this analysis exists to prevent |
| Cost math / pricing table | ADOPT | ccusage (shell out or port pricing logic) |
MIT, very active, “hardest 10%” already solved correctly |
| Aggregate cost/token dashboard (single-host reference) | FORK | ColeMurray/claude-code-otel compose skeleton, pinned not tracked |
13mo stale but MIT and structurally correct; freeze it rather than rebuild the OTel Collector→Prometheus wiring |
| Dashboard panel layer | ADOPT | Grafana dashboard 25255 (rockdarko), imported JSON | Prometheus-native, matches local-first stack, zero build cost |
| LLM session/trace UX | ADOPT | Langfuse, self-hosted (MIT core) | Purpose-built, OTLP-native, stronger than hand-rolled Prometheus panels for this slice |
| Hook→bus→UI architecture pattern | STEAL (pattern only, not code) | Reimplement disler’s/hoangsonww’s hook-POST→server→SQLite→WebSocket shape directly | disler’s repo is license-blocked; hoangsonww’s is license-clean but unvetted — the pattern itself is simple enough to write clean-room rather than accept either repo’s dependency risk |
| Error taxonomy | STEAL | sniffly’s error classification categories | Frozen but useful reference, no dependency needed |
| Live-terminal tmux supervision (if kept as a surface at all) | STEAL / defer | claude-squad or claude_code_agent_farm pattern | Named but not chosen between per R7 §(a); not core to the queue/board UI decision |
| Kanban/board UI | IGNORE | — | 01-initial-recommendation.md explicitly removed this from concept; Vibe Kanban is dead upstream anyway (§2) |
| Ledger join, cross-host aggregation, rework rate, cost/merged-unit, stall-confidence signal, Zaruba CI watch | BUILD | Custom thin layer (Encore service + hook-event ingest + ledger join) | §5 — nothing anywhere covers this; this is the actual product |
One line before checking further: evaluate tombelieber/claude-view and hoangsonww/Claude-Code-Agent-Monitor hands-on before writing the queue UI from zero — both are new findings this pass (not in research/12), both are license-clean and pushed today, and claude-view in particular is the closest positioning match to “fleet monitor” found across all four research passes. If either already delivers 50%+ of the needs-input/queue surface for free, the BUILD row shrinks to the ledger-join and Zaruba-CI parts only. This has not been tested hands-on by any packet in this run — flagged as the next concrete step, not assumed.