Conversation
… test Per review findings: - IMPORTANT: assertions like 'phase-status-rework' in content matched the CSS <style> block, not the rendered <span> elements. Changed to assert on the full class attribute string 'class="phase-status phase-status-rework"' which only appears in the dot <span>, not in the CSS selector definitions. Added negative assertion for rework/gen-1 tests to further guard against false-positives. - MINOR: added test_skipped_phase_has_skipped_dot to cover the pass-through path for skipped phases.
This was referenced May 15, 2026
11 tasks
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.
Summary
Fixes two issues in the HTML report's phase timeline visualization:
Phase ordering — Phases in the timeline were not sorted by their canonical pipeline position. A new
PHASE_ORDERconstant andsort_phases()helper ensure phases always appear in the order: triage → plan → implement → verify → review → submit → monitor. Apipeline_phasesoverride fromSessionMetais respected when available. Unknown phases sort to the end.Rework dot coloring — Phases that were repeated (generation > 1 and status
completed) previously showed the same green dot as first-run completions. They now render with an amber (#ffc107) dot using the new.phase-status-reworkCSS class, making rework visually distinct at a glance.Acceptance Criteria
PHASE_ORDERconstant defined inhtml_report.pywith canonical pipeline ordersort_phases(phases, pipeline_phases=None)helper sorts by position, then generationpipeline_phasesarg fromSessionMetaoverrides default order when providedsort_phases()when iterating phase dotsphase-status-completed)phase-status-rework,#ffc107)phase-status-failed)phase-status-skipped)TestSortPhases+ 4TestPhaseTimelineDotColoringtest_report_html.pytests pass; zero existing tests modifiedReview Results
python-specialist (IMPORTANT — fixed)
Assertions in
TestPhaseTimelineDotColoringwere vacuous:assert "phase-status-rework" in contentmatched the CSS<style>block (which defines.phase-status-rework) even when no phase dot was rendered. Fixed by asserting on the full class attribute stringclass="phase-status phase-status-rework", which only appears in rendered<span>elements, not in CSS selectors. Added negative assertions to guard against future false-positives.rag-specialist (MINOR — addressed)
No test for skipped phase dot coloring. Added
test_skipped_phase_has_skipped_dottoTestPhaseTimelineDotColoring.Refs #249
Assisted-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
Assigned-by: decko