Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"name": "codingbuddy",
"source": "./packages/claude-code-plugin",
"description": "PLAN/ACT/EVAL workflow, specialist agents, and reusable skills for systematic TDD development",
"version": "5.6.0",
"version": "5.6.1",
"category": "development"
}
]
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [5.6.1] - 2026-04-11

Hotfix closing the remaining gaps in the v5.6.0 HUD Statusbar Wave cycle:
a stale-timestamp leak in the self-heal path, plus the four Wave modules
that shipped as dead code in v5.6.0 (imported but never wired into
`format_status_line`).

### Fixed
- 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.

### Added
- 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`:
- **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` → ◕ᴗ◕).
- **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.
- **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%).
- **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.

### Test Coverage
- 17 new Wave 3b integration tests across four classes (`TestWave2ABreathingFaceIntegration`, `TestWave2EContextBarIntegration`, `TestWave2DRainbowIntegration`, `TestWave1DAdaptiveLayoutIntegration`)
- 5 new Wave 1-B regression tests guarding the heal-timestamp contract
- 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
- Plugin test suite: 1077+ passed locally

## [5.6.0] - 2026-04-11

### Added
Expand Down
2 changes: 1 addition & 1 deletion apps/mcp-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codingbuddy",
"version": "5.6.0",
"version": "5.6.1",
"description": "Multi-AI Rules MCP Server - One source of truth for AI coding rules across all AI assistants",
"author": "JeremyDev87",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion apps/mcp-server/src/shared/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
* Single source of truth for the runtime package version.
* Updated automatically by scripts/bump-version.sh on each release.
*/
export const VERSION = '5.6.0';
export const VERSION = '5.6.1';
2 changes: 1 addition & 1 deletion packages/claude-code-plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codingbuddy",
"version": "5.6.0",
"version": "5.6.1",
"description": "PLAN/ACT/EVAL workflow with auto-detection, specialist agents, and reusable skills for systematic TDD development",
"author": {
"name": "JeremyDev87",
Expand Down
2 changes: 1 addition & 1 deletion packages/claude-code-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# CodingBuddy Claude Code Plugin

> Version 5.6.0
> Version 5.6.1

Multi-AI Rules for consistent coding practices - PLAN/ACT/EVAL workflow, specialist agents, and reusable skills for systematic development.

Expand Down
2 changes: 1 addition & 1 deletion packages/claude-code-plugin/namespace-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@
"namespaced": "codingbuddy:plan"
}
],
"generatedAt": "2026-04-11T14:34:02.760Z"
"generatedAt": "2026-04-11T16:03:33.849Z"
}
4 changes: 2 additions & 2 deletions packages/claude-code-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codingbuddy-claude-plugin",
"version": "5.6.0",
"version": "5.6.1",
"description": "Claude Code Plugin for CodingBuddy - PLAN/ACT/EVAL workflow, specialist agents, and reusable skills",
"author": "JeremyDev87",
"license": "MIT",
Expand Down Expand Up @@ -53,7 +53,7 @@
"test:coverage": "vitest run --coverage"
},
"peerDependencies": {
"codingbuddy": "^5.6.0"
"codingbuddy": "^5.6.1"
},
"peerDependenciesMeta": {
"codingbuddy": {
Expand Down
2 changes: 1 addition & 1 deletion packages/rules/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codingbuddy-rules",
"version": "5.6.0",
"version": "5.6.1",
"description": "AI coding rules for consistent practices across AI assistants",
"main": "index.js",
"types": "index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5735,7 +5735,7 @@ __metadata:
typescript: "npm:5.9.3"
vitest: "npm:4.0.17"
peerDependencies:
codingbuddy: ^5.6.0
codingbuddy: ^5.6.1
peerDependenciesMeta:
codingbuddy:
optional: true
Expand Down
Loading