Releases: firstbatchxyz/watchmen
Releases · firstbatchxyz/watchmen
v0.6.7
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
- @andthattoo made their first contribution in #74
Full Changelog: v0.6.6...v0.6.7
v0.6.6
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
- @italodeandra made their first contribution in #35
- @anandghegde made their first contribution in #63
Full Changelog: v0.6.0...v0.6.6
v0.6.0
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
agentcolumn 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
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
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 indexedwhen_to_usetriggers (+when_not_to_useas 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.jsonafter 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 inkai_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.