feat(token-events): auto-capture real token counts via PostToolUse hook

- Add PATCH /token-events/{id} endpoint to correct heuristic events
- Add `note` filter to GET /token-events/ list
- Add TokenEventPatch schema
- Add task_token_hook.py: PostToolUse hook that reads the Claude Code
  session transcript, computes per-task token delta, and replaces the
  heuristic token event with real measured counts (note="measured")
- Register hook in ~/.claude/settings.json on mcp__state-hub__update_task_status
  Covers both interactive sessions and ralph-workplan loops

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-01 22:38:45 +02:00
parent 29fca2a0c6
commit 21b6a410c2
3 changed files with 163 additions and 1 deletions

View File

@@ -52,6 +52,14 @@ class TokenSummary(BaseModel):
by_agent: dict[str, int]
class TokenEventPatch(BaseModel):
tokens_in: int | None = None
tokens_out: int | None = None
note: str | None = None
model: str | None = None
agent: str | None = None
class RepoTokenSummary(BaseModel):
repo_id: uuid.UUID
repo_slug: str