fix(daemon): show DSH usage attribution in execution diagnostics - #7076
Conversation
|
🧪 Queued for QA validation — this PR changes runtime diagnostics that can affect what users see when they inspect execution diagnostics, so it will go through a manual QA pass before merge. Nothing needed from the author right now; we will update here once it is validated. |
nettee
left a comment
There was a problem hiding this comment.
I reviewed the DSH runtime diagnostics fallback in apps/daemon/src/runtimes/runs.ts and its focused regression coverage. Lifecycle provider/model attribution still takes precedence, while the validated DSH usage metadata fills those fields when lifecycle events are unavailable. The live diff stays scoped to the intended daemon and test ranges.
Verification: 117 focused daemon tests, daemon typecheck, repository guard, and workspace typecheck all pass. Nice focused fix—thank you for pairing the runtime contract with a precedence regression test!
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.|
Successfully created backport PR for |
Why
A QA incident report showed that DeepSeek Harness usage frames already carried provider and model metadata, but the daemon execution diagnostics still reported both fields as not collected. The diagnostics summarizer only consulted assistant-message lifecycle diagnostics, which this runtime does not emit.
This focused fix preserves the runtime attribution already available on successful DSH runs without changing the DSH protocol, analytics pipeline, model selection, or message lifecycle accounting.
What users will see
Execution diagnostics for DeepSeek Harness runs now show the runtime-reported provider and resolved model instead of not collected. Assistant-message counts and durations remain explicitly unavailable when the runtime does not expose lifecycle events.
Surface area
Screenshots
Not applicable: this changes daemon-owned diagnostic values and introduces no UI surface.
Bug fix verification
Validation