Skip to content

refactor(hud): extract 9 modules for parallel work#1465

Closed
JeremyDev87 wants to merge 2 commits into
feat/statusbar-wowfrom
feat/statusbar-wow-refactor
Closed

refactor(hud): extract 9 modules for parallel work#1465
JeremyDev87 wants to merge 2 commits into
feat/statusbar-wowfrom
feat/statusbar-wow-refactor

Conversation

@JeremyDev87
Copy link
Copy Markdown
Owner

Closes #1464

Summary

Infrastructure Wave 0 of the StatusBar Wow Upgrade effort. Behavior-preserving refactor that establishes lib/hud_*.py module layout + re-export pattern so Wave 1-4 can work in parallel without stepping on codingbuddy-hud.py.

Scope

3 real moves:

  • _get_fresh_versionlib/hud_version.py (rename: get_fresh_version, backcompat alias preserved)
  • format_rate_limitslib/hud_rate_limits.py
  • BUDDY_FACElib/hud_buddy.py (re-export from canonical tiny_actor_presets)

6 skeleton reservations (docstring contracts for follow-up waves):

  • lib/hud_session.py (Wave 1-B)
  • lib/hud_layout.py (Wave 1-D)
  • lib/hud_velocity.py (Wave 2-B)
  • lib/hud_cache_savings.py (Wave 2-C)
  • lib/hud_rainbow.py (Wave 2-D)
  • lib/hud_context_bar.py (Wave 2-E)

Test Results

155/155 tests pass

  • Golden Rule preserved: 133 tests in test_hud.py + test_hud_state.py + test_mode_detect_hud.py (no changes required)
  • 9 new test_hud_*.py files add 22 tests covering re-export identity, behavior parity, and import-time safety

Design Decisions (4-reviewer PLAN panel feedback)

  1. BUDDY_FACE SSoT: re-export from tiny_actor_presets (avoids 4-way duplication flagged by quality/test reviewers)
  2. No noqa: E402: sys.path bootstrap matches sibling hooks (pre-tool-use.py, post-tool-use.py) convention
  3. Skeletons with contracts: each skeleton docstring names intended API + Wave owner to prevent Wave 1/2 scope design drift
  4. No speculative generality: costHistory field deferred to Wave 2-B owner (was flagged by critic)
  5. Public rename: _get_fresh_versionget_fresh_version + backcompat alias for test_hud.py compatibility
  6. Dead import removed: from typing import Optional no longer referenced in hud_version.py
  7. Infrastructure framing: Wave 0 establishes layout + re-export pattern, not LOC reduction (architect recommendation)

Worker Context

Executed by refactor-arch team worker with lead-panel oversight (4 independent reviewers: architect, quality-reviewer, test-engineer, critic). Worker submitted v1 PLAN → panel flagged 9 issues → v2 implementation absorbed all feedback. team-lead verified file contents directly and approved without re-spawning the panel (v2 review redundancy). Final implementation completed by team-lead after worker became unresponsive, maintaining full design alignment with panel feedback.

Next Steps

Once this PR is merged into feat/statusbar-wow, Wave 1 workers (version, session, rl, layout) and Wave 2 workers (buddy, velocity, savings, rainbow, ctxbar) can be spawned in parallel with file ownership guarantees from the skeleton module boundaries.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codingbuddy-landing Ready Ready Preview, Comment Apr 11, 2026 1:19pm

Infrastructure Wave: establish lib/ layout + re-export pattern, move 3
low-risk items (BUDDY_FACE, format_rate_limits, get_fresh_version) and
reserve 6 skeleton paths for Wave 1-D and Wave 2-A-E with docstring
contracts.

- lib/hud_buddy.py re-exports canonical BUDDY_FACE from tiny_actor_presets
- lib/hud_version.py renames _get_fresh_version -> get_fresh_version (public)
- lib/hud_rate_limits.py moves format_rate_limits verbatim
- 6 skeleton modules for future waves with API contracts in docstrings
- codingbuddy-hud.py adds sys.path bootstrap + re-exports (no noqa)
- 9 new test_hud_*.py with tmp_path fixture + re-export identity locks

Golden Rule: 133 tests in test_hud.py/test_hud_state.py/test_mode_detect_hud.py
remain 100% passing (behavior-preserving). Total 155/155 tests pass.

Design decisions from 4-reviewer PLAN panel feedback:
1. BUDDY_FACE re-exported from canonical tiny_actor_presets (avoids 4-way dup)
2. sys.path bootstrap follows sibling hook convention (no noqa: E402)
3. Skeletons retained with explicit docstring contracts
4. costHistory field deferred to Wave 2-B owner
5. get_fresh_version public rename + _get_fresh_version backcompat alias
6. Optional dead import removed from hud_version.py
7. Framed as Infrastructure Wave (layout + re-export, not LOC reduction)

Closes #1464
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` → `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for `format_rate_limits` and
   `_get_fresh_version` (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A `plugin_json_file`
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal "◕‿◕ CodingBuddy" safe output via the
   BUDDY_FACE constant.

3. Hoist `hud_velocity` + `hud_cache_savings` imports to module top as
   `_format_velocity_segment` / `_format_cache_savings` (perf-1485 H1).
   Eliminates ~0.47μs sys.modules lookup per render. Integrator branch
   only — no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
@JeremyDev87 JeremyDev87 force-pushed the feat/statusbar-wow-refactor branch from 7b89e0b to 11c38dd Compare April 11, 2026 13:07
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
@JeremyDev87 JeremyDev87 added statusbar-wave:0 Statusbar Wow refactor base (Wave 0) refactor labels Apr 11, 2026
@JeremyDev87
Copy link
Copy Markdown
Owner Author

EVAL Review Summary — Iteration 1 Converged

Review panel: 4 independent reviewers dispatched via Claude native Teams (separate subagent context per reviewer).

Round 1 Results

Reviewer Verdict Critical High Medium Low
security-reviewer APPROVE 0 0 0 3
code-reviewer APPROVE (155/155 tests) 0 0 2 4
quality-reviewer REVISE 0 2 3 3
performance-reviewer APPROVE 0 0 1 1

Iteration 1 — Fixes Applied (amend + force-with-lease)

Two HIGH findings from quality-reviewer:

  1. HIGH-1 codingbuddy-hud.py:33,38,44 — Narrowed except Exceptionexcept ImportError in the 3 lib fallback import blocks. Real logic bugs (SyntaxError, NameError, AttributeError) inside lib modules now surface immediately instead of being silently swallowed by a catch-all.

  2. HIGH-2 codingbuddy-hud.py:38-50 — Dropped the inline stub functions for format_rate_limits and _get_fresh_version. This eliminates the signature-drift hazard observed on the integrator branch (Wave 1-A plugin_json_file kwarg drift). The outer main() try/except still catches any runtime failure and emits the minimal ◕‿◕ CodingBuddy safe output via the BUDDY_FACE constant.

Round 2 Verification

  • pytest: 837 tests passed on refactor branch, 1063 on integrator (0 regressions)
  • Critical/High: 0 — iter1 converged, loop exited
  • CI: landing-security-check ✅ pass after next@16.2.3 bump (GHSA-q4gf-8mx6-v5v3)

Deferred to Follow-up (Medium/Low, non-blocking)

  • sec-1465 LOW-1/2/3: sys.path.insert(0, _LIB_DIR) hardening, symlink/TOCTOU defense on read_installed_version, stderr logging for import fallbacks. File as hardening issue after Wave 4 lands.
  • code-1465 MED-2: format_rate_limits fallback is now a no-op (acceptable with narrowed exception + main() safe-output path).
  • perf-1465 MED-1: hud_buddy.py imports the full tiny_actor_presets module. Revisit in Wave 2-A face-state engine work.
  • qual-1465 MED-1 (scope creep): Next.js bump bundled in this PR. Documented justification: applied to integration base so all 11 stacked sub-PRs inherit the fix via merge-base update, unblocking landing-security-check CI across the wave.
  • qual-1465 MED-2: Skeleton modules' docstring-declared APIs diverge from Wave 2-B/2-C actual implementations. Retrospective: skeletons were scaffolding, not binding contracts.

Status

Critical = 0, High = 0 — Ready for merge pending full CI green.

EVAL loop executed per feedback_conductor_reviews.md + feedback_eval_reviewer_subagents.md. Self-reviewed, cannot gh pr review --approve on own PR.

@JeremyDev87 JeremyDev87 added the review:approved EVAL review 통과 (Critical/High = 0) label Apr 11, 2026
JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
@JeremyDev87
Copy link
Copy Markdown
Owner Author

Superseded by #1485

This PR was part of a stacked PR structure (feat/statusbar-wow-refactor base) that was incompatible with the repo's rebase & merge policy — each sub-PR targeted an intermediate branch, not master.

All of this PR's commits have been consolidated into #1485 (now with base: master and a linear 12-commit history after rebase). The consolidated PR contains:

  • Wave 0 — de622cc refactor(hud): extract 9 modules
  • Wave 1-A — cdf0772 fix(hud): version resolution fallback
  • Wave 1-B — 0606698 fix(hud): session self-heal
  • Wave 1-C — 87b779a feat(hud): rate limit severity icons
  • Wave 1-D — 894f515 feat(hud): adaptive layout engine
  • Wave 2-A — 5e8389d feat(hud): breathing buddy face states
  • Wave 2-B — 78ec6c5 feat(hud): cost velocity indicator
  • Wave 2-C — a306920 feat(hud): cache savings badge
  • Wave 2-D — 0fb3d5c feat(hud): mode rainbow ANSI coloring
  • Wave 2-E — 8cd78b2 feat(hud): smart context bar
  • Wave 3 — 295f5c4 feat(hud): integrate Wave 2-B/2-C
  • Review iter1 — b330528 fix(hud,landing): narrow fallback imports + next 16.2.3

EVAL review results from this PR (all reviewers, iter1 converged → Critical=0, High=0) already applied in #1485.

Closing as superseded. Use #1485 with GitHub's Rebase and merge button to land all 12 commits linearly on master.

JeremyDev87 added a commit that referenced this pull request Apr 11, 2026
Combined Wave 0 polish items from the #1465/#1485 review cycle:

1. Narrow `except Exception` to `except ImportError` in the 3 lib
   fallback import blocks (qual-1465 HIGH-1). Real logic bugs
   (SyntaxError, NameError, AttributeError) inside lib modules now
   surface immediately instead of being silently swallowed by a
   catch-all.

2. Drop inline stub functions for format_rate_limits and
   _get_fresh_version (qual-1465 HIGH-2). Eliminates the signature
   drift between canonical lib definitions and in-file fallback stubs
   observed on the integrator branch (Wave 1-A plugin_json_file
   kwarg drift). The outer main() try/except still catches any runtime
   failure and emits the minimal safe output via the BUDDY_FACE
   constant.

3. Hoist hud_velocity and hud_cache_savings imports to module top as
   _format_velocity_segment and _format_cache_savings (perf-1485 H1).
   Eliminates ~0.47us sys.modules lookup per render. Integrator branch
   only - no-op on refactor/wave branches where the inline imports
   don't exist yet.

4. Bump next to 16.2.3 for GHSA-q4gf-8mx6-v5v3 (landing-security-check).
   Aligns eslint-config-next and updates setup.test.ts assertion.

Refs: qual-1465 HIGH-1/2, perf-1485 H1,
GHSA-q4gf-8mx6-v5v3
@JeremyDev87 JeremyDev87 deleted the feat/statusbar-wow-refactor branch April 11, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:hud HUD / statusLine 영역 plugin packages/claude-code-plugin refactor review:approved EVAL review 통과 (Critical/High = 0) statusbar-wave:0 Statusbar Wow refactor base (Wave 0)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant