feat(trace): classify run-state failures as PR check, verification, environment, or tool - #508
Merged
castrojo merged 2 commits intoSep 13, 2026
Conversation
projectbluefin#465) The trace rendered every run-state failure as a red ✘ that read like a PR check failure, so a workspace mismatch, an unavailable verification, or a cancelled review looked like the pull request's own checks went red. Add a TraceClass taxonomy (trace.ts) alongside the visual SpanStatus: the status still says 'failed', the class says *why*. classStatus() collapses the four failure classes to 'failure' and cancelled to 'skipped', so the icon vocabulary never changes — only the reason a span failed becomes distinct, rendered as a right-hand badge. - head_changed (projectbluefin#471) → environment / WORKSPACE, never pr-check - review_missing/incomplete/unparsable → verification / UNVERIFIED - mutation_failed → tool / TOOL - cancelled review or tool call → cancelled / CANCELLED, rendered skipped - the selected PR's failing checks → pr-check / CHECK on the root span, derived from PR state (ciStatus), not the run log Wire classifyRunState/classifyReviewEvent/classifyLanding into buildPipelineSpans and tool/turn endings in session.ts. A run-state failure now sits on its own span beside a real PR check, so the queue still carries the PR's checks. Adds 7 tests; all 60 pass. Signed-off-by: kylerankin <kylerankin@users.noreply.github.com>
# Conflicts: # image/extension/bluefin-review/state.ts # tests/omp-review-mode.test.ts
Contributor
|
Merged current
No rebase, no Over to CI. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trace failures all rendered as a red ✘ that read like the pull request's own
checks going red. A workspace mismatch, an unavailable verification, or a
cancelled review were indistinguishable from a real PR check failure (#465).
Add a TraceClass taxonomy beside the visual SpanStatus: status still says
"failed"; cls says why. classStatus() collapses the four failure classes to
failure and cancelled to skipped, so the icon vocabulary never changes — only
the reason becomes distinct, shown as a badge.
from PR state (ciStatus), not the run log
classifyRunState/classifyReviewEvent/classifyLanding wired into buildPipelineSpans
and the tool/turn endings in session.ts. A run-state failure now sits on its own
span beside a real PR check, so the queue still carries the PR's checks from GitHub.
Fixtures render a distinct label for every class; all 60 tests pass.
— hive: backend=pi model=lemonade/Ornith-1.5-35B-A3B-GGUF-Q6_K
🐝 Hive Agent:
contributor| SHA:c1cb116