You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump the workspace version from 5.6.0 to 5.6.1 and publish the CHANGELOG
entry for the HUD hotfix cycle.
v5.6.1 is a hotfix closing the remaining gaps in the v5.6.0 HUD
Statusbar Wave cycle:
- Wave 1-B heal timestamp leak (#1487) — heal_stale_state preserved
sessionStartTimestamp for "audit / forensics", but resolve_duration
read the same field as a fallback when stdin lacked
total_duration_ms. A manual-fix marker + stale timestamp therefore
rendered enormous durations like 322h52m for brand-new sessions.
The timestamp is now relocated into _healedFromSessionStartTimestamp.
- Wave 3b — complete Wave 3 integration (#1488) — commit bd78195
wired Wave 2-B velocity and 2-C cache savings into
format_status_line but left four sibling Wave modules as dead
code: hud_buddy, hud_rainbow, hud_context_bar, and hud_layout.
Their unit tests passed, but format_status_line never called
them. v5.6.1 hoists all four as top-level imports and refactors
format_status_line to build (name, priority, text) segments
consumed by fit_segments, finally delivering the Wave 2-A
breathing face, Wave 2-D rainbow coloring (opt-in via
CODINGBUDDY_HUD_RAINBOW=1), Wave 2-E smart context bar, and
Wave 1-D adaptive layout features that v5.6.0 advertised.
Bump surface:
- apps/mcp-server/package.json, src/shared/version.ts
- packages/rules/package.json
- packages/claude-code-plugin/package.json (+ peerDependencies),
.claude-plugin/plugin.json, README.md, namespace-manifest.json
- .claude-plugin/marketplace.json
- yarn.lock
- CHANGELOG.md (new [5.6.1] section)
Copy file name to clipboardExpand all lines: CHANGELOG.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [5.6.1] - 2026-04-11
9
+
10
+
Hotfix closing the remaining gaps in the v5.6.0 HUD Statusbar Wave cycle:
11
+
a stale-timestamp leak in the self-heal path, plus the four Wave modules
12
+
that shipped as dead code in v5.6.0 (imported but never wired into
13
+
`format_status_line`).
14
+
15
+
### Fixed
16
+
- HUD heal timestamp leak (Wave 1-B, [#1487](https://github.com/JeremyDev87/codingbuddy/pull/1487)) — `heal_stale_state` preserved `sessionStartTimestamp` for "audit / forensics", but `resolve_duration` read the same field as a fallback when stdin lacked `total_duration_ms`. A manual-fix marker + stale timestamp therefore rendered enormous durations like `322h52m` for brand-new sessions. The timestamp is now relocated into `_healedFromSessionStartTimestamp` so forensic/debug value is preserved while the render fallback path no longer sees it. Idempotent — re-healing an already-healed state keeps the forensics field stable.
17
+
18
+
### Added
19
+
- Wave 3b — Complete Wave 3 integration ([#1488](https://github.com/JeremyDev87/codingbuddy/pull/1488)) — commit `bd78195` ("integrate Wave 2-B/2-C in `format_status_line`") wired velocity and cache-savings into the cost segment but left four sibling Wave modules as dead code: `hud_buddy`, `hud_rainbow`, `hud_context_bar`, and `hud_layout`. Their unit tests passed, but `format_status_line` never called them. This hotfix hoists all four modules as top-level imports and refactors `format_status_line` to build `(name, priority, text)` segments consumed by `fit_segments`:
20
+
-**Wave 2-A — Breathing Buddy Face** now actually breathes: the buddy face reflects `hud_state.phase` / `blockerCount` (`ready` → ◕‿◕ idle, `planning` → ◔‿◔ thinking, `executing` → ◕◡◕ active, blockers → ◕︵◕ error, `lastEvent=victory` → ◕ᴗ◕).
21
+
-**Wave 2-D — Mode Rainbow Coloring** now actually colors: opt-in via `CODINGBUDDY_HUD_RAINBOW=1` because Claude Code statusLine ANSI support is environment-dependent. Default OFF keeps existing terminals clean. Transitively honours the `NO_COLOR` standard (https://no-color.org). Only real modes (PLAN/ACT/EVAL/AUTO) are colored — the "Ready" fallback label stays plain. Coloring is applied post-`fit_segments` so ANSI escapes don't break layout width accounting.
22
+
-**Wave 2-E — Smart Context Bar** now actually renders: `Ctx:NN%` is replaced with `[████░░░░░░] 42%`. Dark shade `▓` marks the trailing full block above the danger threshold (85%) and a `⚠` suffix is appended above the warning threshold (80%).
23
+
-**Wave 1-D — Adaptive Layout** now actually adapts: the final `" | ".join(segments)` is replaced with `fit_segments(layout_segments, terminal_width())`. Low-priority segments (`worktree`, `rate_limits`, `model`, `cache`, `ctx`) drop first on narrow terminals; `face_version` and `mode_health` are sacred and always render. `shorten_model_label` trims the `"(1M context)"` suffix so Opus display names fit mid-width terminals without being dropped.
24
+
25
+
### Test Coverage
26
+
- 17 new Wave 3b integration tests across four classes (`TestWave2ABreathingFaceIntegration`, `TestWave2EContextBarIntegration`, `TestWave2DRainbowIntegration`, `TestWave1DAdaptiveLayoutIntegration`)
27
+
- 5 new Wave 1-B regression tests guarding the heal-timestamp contract
28
+
- 3 existing tests updated for the Wave 2-E `[bar] NN%` format; `test_full_telemetry` hardened with `COLUMNS=300` so the "all segments render" assertion no longer flakes against the pytest 80-col default now that adaptive layout actually runs
0 commit comments