Feat: janus auto capture#1
Conversation
Adds Claude Code SessionEnd hook (scripts/hooks/claude-autocapture.py) that records token/duration/files/ticket per session, a 'query coverage' command, and a GCR insufficient-data guard (grey when <10 stories).
There was a problem hiding this comment.
Code Review
This pull request introduces an automated session capture hook for Claude Code (claude-autocapture.py) and adds a new coverage query command to harness-cli to track adoption and instrumentation metrics. Feedback on the changes highlights a potential TypeMismatch error in the Rust SQLite query when retrieving token sums, and suggests using Python's built-in sqlite3 module instead of calling the external CLI to avoid SQL injection risks and noisy errors. Additionally, improvements were suggested to handle non-dictionary message objects defensively and optimize transcript scanning performance on large files.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Built-in sqlite3 (parameterized, no CLI dep) for already_captured + new story_exists guard; defensive non-dict message check; drop per-line upper(); CAST SUM to INTEGER for rusqlite type safety.
No description provided.