Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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