Skip to content

Releases: firstbatchxyz/watchmen

v0.6.7

22 May 10:48

Choose a tag to compare

What's Changed

  • Add semantic skill distillation flow by @andthattoo in #74
  • codex adapter: ingest 0.133.0 session_meta.source for subagent telemetry by @aktasbatuhan in #79
  • Fix chatgpt provider kwarg translation for Responses API by @aktasbatuhan in #80
  • feat(goals): codex 0.133.0+ goal lens — schema, sync, CLI by @aktasbatuhan in #81

New Contributors

Full Changelog: v0.6.6...v0.6.7

v0.6.6

20 May 21:58
5315311

Choose a tag to compare

What's Changed

  • feat(prune): LLM-judge skill review queue (v0.6.1) by @aktasbatuhan in #64
  • feat: native Windows support — Task Scheduler backend + PowerShell hook by @italodeandra in #35
  • Fix API model price normalization by @anandghegde in #63
  • feat(lifecycle): watchmen up/down + unified status + auto-reinstall (v0.6.2) by @aktasbatuhan in #65
  • Bump model pricing API timeout to 5s by @anandghegde in #67
  • fix(up): verify launchd loaded the service before declaring success (v0.6.3) by @aktasbatuhan in #66
  • Add Windows support to CI configuration by @italodeandra in #69
  • feat(adapters): add support for OpenCode session ingest (v0.6.3) by @anandghegde in #70
  • feat(subagents): surface subagent usage across CLI + web viewer (v0.6.5) by @aktasbatuhan in #71
  • feat(dashboard): add Subagent sessions KPI card to Mission Control (v0.6.6) by @aktasbatuhan in #72

New Contributors

Full Changelog: v0.6.0...v0.6.6

v0.6.0

19 May 13:31
60bb404

Choose a tag to compare

What's Changed

  • feat: Codex CLI adapter + adapter pattern for corpus scan by @aktasbatuhan in #4
  • Land stale stacked PRs (#5, #6, #7) into main by @aktasbatuhan in #8
  • feat(cli): noun-verb subcommands with deprecated aliases by @aktasbatuhan in #10
  • feat(curator): content-addressable cache for all 3 stages by @aktasbatuhan in #12
  • feat(curator): parallelize Stage 2 per-skill curators by @aktasbatuhan in #13
  • feat(analyst): filter trivial sessions before they reach the LLM by @aktasbatuhan in #14
  • feat(corpus): incremental scan — skip files whose mtime is unchanged by @aktasbatuhan in #16
  • feat(onboard): parallelize per-project pipelines by @aktasbatuhan in #18
  • feat(cli): banner + api-key management; fix(launchd): noun-verb plist args by @aktasbatuhan in #17
  • watchmen insights — cross-repo deep digest pipeline by @aktasbatuhan in #20
  • fix(corpus): auto-migrate agent column on every CLI startup by @aktasbatuhan in #21
  • feat: remove macOS notification briefs + add release-notes detector (v0.2.0) by @aktasbatuhan in #22
  • feat(curate): harness-aware candidate finder + approval queue (v0.3.0) by @aktasbatuhan in #23
  • feat(viewer): HTML insights page with richer stats + charts (v0.4.0) by @aktasbatuhan in #24
  • Polish CLI ergonomics and runtime paths by @aktasbatuhan in #25
  • Phase 1-4 partial: handover foundation (Kai scrub, package layout, CI, correctness, hardening) by @aktasbatuhan in #26
  • cli.py split (Phase 3.5): util + commands.{control,inspect,insights} by @aktasbatuhan in #27
  • feat(service): add Linux daemon backend (systemd --user) by @aktasbatuhan in #28
  • refactor(cli): extract commands.pipeline (status/analyze/curate/runs/learn/metrics) by @aktasbatuhan in #30
  • test: migrate to pytest + add adapter/agent coverage by @aktasbatuhan in #31
  • release: prepare 0.5.0 — first PyPI release by @aktasbatuhan in #32
  • release: rename PyPI dist to dria-watchmen (follow-up to #32) by @aktasbatuhan in #33
  • refactor: agent-agnostic framing + AGENTS.md mirror + bundles cleanup by @aktasbatuhan in #34
  • feat(metrics): per-coding-agent breakdown + Metrics/Insights de-dup by @aktasbatuhan in #36
  • feat(viewer): shadcn-inspired aesthetic upgrade by @aktasbatuhan in #37
  • fix(hooks): self-heal stale settings.json entries by basename match by @aktasbatuhan in #38
  • feat(viewer): /card profile page (FIFA-style spider stats) by @aktasbatuhan in #39
  • Phase 7.5: Codex watchmen plugin + dual-host hooks install by @aktasbatuhan in #40
  • Phase 7.6: Cross-agent comparison panel — facts + LLM narrative by @aktasbatuhan in #41
  • fix: plugin layouts + viewer rendering bugs caught during E2E by @aktasbatuhan in #42
  • feat(viewer): replace SVG charts with shadcn-themed ECharts by @aktasbatuhan in #43
  • feat(viewer): skill provenance + pin/drop controls by @aktasbatuhan in #45
  • feat(viewer): next-best-action banner + web-triggered runs by @aktasbatuhan in #49
  • feat(viewer): web doctor + settings UI by @aktasbatuhan in #47
  • fix(viewer): visual feedback pass — drop em-dashes, clock icon, badge dot, fix sparklines + scope toggle by @aktasbatuhan in #48
  • feat(viewer): Watchmen comic theme — restrained pulp brand layer by @aktasbatuhan in #50
  • feat(viewer): theme switcher — comic / doomsday / rorschach by @aktasbatuhan in #51
  • feat(viewer): doomsday polish, per-theme brand marks, English tagline by @aktasbatuhan in #52
  • feat(viewer): mission-control homepage by @aktasbatuhan in #53
  • chore: ship mission-control homepage to main by @aktasbatuhan in #54
  • feat(viewer): per-project Impact card by @aktasbatuhan in #55
  • docs(readme): launch positioning + recent feature visuals by @aktasbatuhan in #56
  • [codex] Tighten launch readiness by @aktasbatuhan in #58
  • feat: multi-provider auth (OpenRouter / OpenAI / Anthropic) + interactive settings + reset by @aktasbatuhan in #59
  • feat: OAuth credential reuse — Claude Pro + ChatGPT subscriptions by @aktasbatuhan in #60
  • fix(viewer): impact card treatment date reads from runs table by @aktasbatuhan in #61
  • feat(providers): v0.6.0 — startup banner + subscription-quota visibility by @aktasbatuhan in #62

Full Changelog: v0.1.6...v0.6.0

v0.1.6 — efficiency metrics: tokens, cost, suggestion uptake

12 May 08:43

Choose a tag to compare

Daily efficiency dashboard. The new /p/<project>/metrics viewer route + watchmen metrics <project> CLI surface measurable proof of what the plugin is (or isn't) doing. See d44ece6 for the full picture.

v0.1.5 — plugin: brief + statusLine + skill suggestions + diff view

12 May 08:18

Choose a tag to compare

First shippable plugin release. Install via /plugin marketplace add firstbatchxyz/watchmen then /plugin install watchmen@watchmen inside any Claude Code session, after running watchmen onboard for engine setup.

What's in the plugin

  • /watchmen:brief — pull the latest curator state for the workspace you're in. Claude summarizes what changed, asks before loading any suggested skill. Pull-based; never injects context unless you invoke it.
  • 💡 statusLine indicator — passive, bottom-right of the Claude Code TUI. Shows pending brief or an in-flight skill suggestion. Acknowledges via /watchmen:brief. Selectable terminal text.
  • In-flight skill suggestions on UserPromptSubmit — FTS5-matches your prompt against indexed when_to_use triggers (+ when_not_to_use as a negative signal). On strong match: statusLine refreshes after the assistant's response with "💡 you could have used / to save time & tokens on this task". Sub-ms match query; never writes to stdout so the agent's context stays untouched.
  • Side-by-side diff view per curator run — each run becomes a git commit in kai_claude/<project>/; viewer renders the diff via diff2html. Baseline commits get a banner explaining the snapshot caveat.

What's in the engine

  • watchmen onboard — guided setup wizard for new installs (prompts for API key, ingests history, picks projects, runs analyze + curate with live progress, installs daemon + viewer)
  • _publish_watchmen_state() writes ~/.watchmen/state/<project>.json + ~/.watchmen/projects.json after each curator run
  • _build_skill_index() rebuilds ~/.watchmen/skill_index.db (FTS5) from every tracked project's skill bundles
  • _git_commit_artifacts() initializes per-project git in kai_claude/<project>/ and commits each curator run
  • New CLI commands: update-plugin, install-statusline, uninstall-statusline, plugin-status

Design constraints (won't change)

  • Inform the user, never manipulate the agent. Hook outputs go to state files, not the agent's context.
  • No macOS notifications. Tried it, removed it — write-only banners aren't a real interaction.
  • Pull-based brief, passive indicator. You're always in control of which skill loads.