Skip to content

feat(hud): integrate all Wave 1/2 modules in format_status_line (Wave 3) #1484

@JeremyDev87

Description

@JeremyDev87

Summary

Wave 3 integrator: merges all 9 parallel sub-branches (Wave 0 refactor + Wave 1-A/B/C/D + Wave 2-A/B/C/D/E) into a single branch, adds format_status_line cost suffixes for Wave 2-B velocity and Wave 2-C cache savings, and locks the integration with regression tests.

Merged Branches

  • feat/statusbar-wow-refactor (Wave 0)
  • feat/statusbar-wow-version (Wave 1-A)
  • feat/statusbar-wow-session (Wave 1-B)
  • feat/statusbar-wow-rl (Wave 1-C)
  • feat/statusbar-wow-layout (Wave 1-D)
  • feat/statusbar-wow-buddy (Wave 2-A)
  • feat/statusbar-wow-velocity (Wave 2-B)
  • feat/statusbar-wow-savings (Wave 2-C)
  • feat/statusbar-wow-rainbow (Wave 2-D)
  • feat/statusbar-wow-ctxbar (Wave 2-E)

All merges completed clean with the ort strategy — zero conflicts.

format_status_line Integration

Added defensive try/except imports of format_velocity_segment and format_cache_savings, appending both as suffixes to the cost segment:

$1.23 → $1.23↗$0.08/m💰$4.56 saved

Helpers return empty string when no data is available, preserving the existing cost-only output in common cases.

Tests

381/381 pass

5 new integration tests in TestWave3Integration:

  • velocity suffix present when cost+duration available
  • savings suffix present when cache_reads exist
  • velocity suffix omitted when cost missing
  • savings suffix omitted when cache_reads zero
  • all 9 Wave modules importable through lib/

Follow-up Work

The following Wave 2 modules are merged and available via lib/ but not yet wired into format_status_line:

  • Wave 2-A: hud_buddy.select_face_from_state (dynamic face per phase)
  • Wave 2-D: hud_rainbow.render_mode_rainbow (mode label ANSI coloring)
  • Wave 2-E: hud_context_bar.format_context_bar_segment (visual progress bar)
  • Wave 1-D: hud_layout.fit_segments (adaptive width truncation)

These integrations would require test_hud.py expectation updates and are deferred to a follow-up PR.

Part of

#1464 Wave 0 statusbar refactor — closes the Wave 3 integrator task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions