Panel: B+ (v1) / 2.7 (v2) · Independent: C− ▼▼ · Role: teaching example only.
The most-starred candidate (1,475★ / 385 forks, vs the report’s “~1,400 / 372”), and the biggest gap between reputation and substance. Stalled 2026-02-08.
agent_id / agent_type, but the server drops them
(db.ts:127) — they survive only inside an opaque JSON blob, not as columns.events table: no parent column, and no graph library
anywhere (grep finds no d3 / cytoscape / dagre / reactflow).private:true, no license field → all-rights-reserved. A hard
OPCⁿ blocker.POST /events; CORS *.responseWebSocketUrl taken from the request
payload (index.ts:198-201)..env / key guard the report credited is commented out
(pre_tool_use.py:324-327).send_event.py (~180 lines) is the clearest teaching example of the whole
ingest pattern: hook → HTTP → SQLite → WebSocket → browser. Read it to learn the
loop; do not build on it.Popular, but hollow: no hierarchy, no tests, no license, stalled, and insecure. Learn the pattern from its hook script and move on. C−.