fix(worker-logs): Claude Code 2.1.283, resultregel los van sleutelvolgorde, alleen init is system-init #276
No reviewers
Labels
No labels
severity/s2
severity/s3
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Ops-dashboard!276
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/claude-code-stream-2-1-283"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sinds de Claude Code-upgrade van 2.1.197 naar 2.1.283 (±2026-09-27) hebben afgeronde Claude-runs in Worker Logs geen
num_turns,total_cost_usdenclaude_code_versionmeer. Het gaat om 58 runs op max2 en srv. Worker Insights telt daardoor de kosten te laag.Oorzaak
Beide oorzaken zitten in
lib/parse-worker-log.ts:summarizeRunLogherkende die alleen metstartsWith('{"type":"result"'). In 2.1.283 begint de regel met{"duration_api_ms":…, dustypestaat niet meer vooraan.type: system-regel werd een system-init-event, en de ingest neemt het eerste. 2.1.283 schrijft vóór de echteiniteencommands_changed, en daarnapermission_denieden per denkstapthinking_tokens. Het eerste event was dus leeg, en de detailpagina toonde 11 system-init-kaarten.Fix
"type":"result"is een goedkope voorcheck; het top-leveltypevan de geparste regel beslist. Het eerste resultaat telt nog steeds.subtype: init(of geen subtype, voor oudere logs) is een system-init. Andere systeemregels worden éénraw-regel, bijvoorbeeldsystem commands_changed · 56 commands,system permission_denied · <tool>: <melding>ofsystem thinking_tokens · ~50 tokens.lib/ingest-worker-log.ts, en de Codex- en harness-paden.Verificatie
73fb60e4…6b8e).test/parse-worker-log.test.tsis 105/105 groen ennpm run typecheckis groen. Innpm testfalen alleen de twee bekende macOS-platformbestanden.thinking_tokens,task_*) zijn geen system-init-kaart meer maar een raw-regel. Hun samenvatting, en dus deWorkerRun-kolommen, is identiek.Na de merge
update_ops_dashboard) en max2 (redeploy_ops_dashboard).in_progress = true, zodat de gewone ingest-tick ze opnieuw leest en weer afsluit. De rij-id's en gekoppelde insights blijven staan.Uitgesteld (optioneel, uit de review)
subtypedienull, leeg of een getal is; zo'n regel wordt nu een raw-regel.subtypeentool_namein de raw-regel zijn niet afgekapt.🤖 Generated with Claude Code
Verdict: REQUEST_CHANGES
Findings
test/fixtures/worker-logs/claude-2.1.283-idea-chat.log:21, 30, 37, 39: de fixture is een ongewijzigde productietranscriptie en bevat volledige interne MCP-toolresultaten, productdocumentinhoud, gebruikers-/token-ID's en sessie-/hostmetadata. Daardoor wordt operationele en mogelijk vertrouwelijke informatie blijvend in de repository opgenomen. Vervang dit door een minimale, gesynthetiseerde en geanonimiseerde fixture die alleen de voor de parser relevante logvorm behoudt.Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
117a9f122ac6f8d07047APPROVED
Findings
De parser herkent nu een top-level Claude-
resultonafhankelijk van sleutelvolgorde en classificeert uitsluitendsystem/initals sessie-initialisatie. De toegevoegde 2.1.283-fixture en gerichte randgevaltests dekken de regressies af.