Skip to content

v0.8.0

Choose a tag to compare

@vzwjustin vzwjustin released this 27 May 01:11
· 132 commits to main since this release

What's new in 0.8.0

Real-time dashboard feed. Previously the web dashboard only showed historical findings and prospective cost estimates — a /advisor run in
progress was invisible from the browser. Now there's a Live tab that polls a new ephemeral event stream the team-lead Claude session emits
at three checkpoints. Strictly additive — no existing endpoint, tab, or schema changed.

Added

  • advisor live record / tail / clear — new CLI subcommands that append/inspect/remove events in /.advisor/live/events.jsonl. The
    /advisor skill invokes record via Bash at each pipeline checkpoint; tail is for ad-hoc terminal inspection. JSON output via --json.
  • advisor.live module exposes append_event, load_recent_events, latest_seq. JSONL file format, one {schema_version, ts, seq, kind, data}
    record per line, cursor-based polling (?since=) so the dashboard advances without losing events under burst load.
  • GET /api/events endpoint returning {schema_version, target, count, events, next_token}. Idle polls still advance next_token so the client
    cursor never resets to zero when activity resumes after a quiet gap.
  • Live tab in the optional web dashboard (advisor ui). Live-pill with idle/active/paused/error states. Per-event row renders core kinds
    (run_start, runner_spawn, report_relay, fix_dispatch, run_end) with a short summary; unknown kinds fall through to a raw JSON payload.
    FIFO-trimmed at 500 rows. New rows flash, respecting prefers-reduced-motion.
  • SKILL.md now documents the three live-event checkpoints with the exact advisor live record ... || true invocations. Always best-effort: a
    failed write must NOT halt the pipeline. Users who haven't started advisor ui see no behavior change.
  • 36 new tests in tests/test_live.py.

Why a minor bump

history.jsonl and live/events.jsonl are deliberately separate stores with different semantics — history is the authoritative
CONFIRMED-findings log feeding the ranker, SARIF, and analytics; live events are advisory and never consulted by the orchestrator. Separate
files prevents either side from accidentally landing in the wrong place.