diff --git a/CHANGELOG.md b/CHANGELOG.md index 9175eb9ad..428811863 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,223 +9,114 @@ breaking changes may land in a minor release. ### Added -- Add an epic-close `resolve` for tickets runs paused at `epic-boundary`: open - bmad-agent-po on the paused epic's closure check (`--no-interactive`: no session), - then resume only when the epic reads `done` or `dropped` and its epic folder has no - uncommitted change; never trust the session's exit code. Exit 1, still paused, on a - failed check (`epic-close-unverified`), a retrospective still owed, a missing - bmad-agent-po skill or a dev CLI with no interactive mode. Journal - `epic-close-session-start` / `-end` and `epic-close-verified`. TUI: `R`, and **Close - with bmad-agent-po** in the epic-closure viewer. -- Add `resolve --at-reset [--margin-min N]`: for a usage-limit pause the coding CLI waits - out, wait in the foreground until the recorded reset plus the margin (default 2 min), - then re-arm and resume as `--no-interactive --resume`. Refuse (exit 1) credit - exhaustion, an unresolved reset and a reset past `[limits] quota_wait_max_min`, and, - after the wait, a pause other than the one waited on; Ctrl-C leaves the run paused - (exit 130). Journal the wait as `at-reset-wait-start` / `-end`. -- Add the `adapter.launch-probe` check to `validate --probes`: for each distinct role - launch (roles with the same argv share one) whose `generic`-adapter profile declares - `parked_prompt_patterns`, launch the coding CLI once with no prompt, and fail when its - first screen shows a startup dialog an unattended session would park on. A profile - without patterns is reported and not launched; a screen the probe could not see is a - warning. -- Add `limits.quota_wait_max_min` (default 300; 0 = off): while the visible pane shows - Claude Code waiting out a usage-window reset and the transcript is idle, freeze the - session timeout and hold the stall nudge, so the session finishes after the CLI's own - auto-continue. Past the cap, or when the parsed reset lies beyond it, pause with a - usage-limit reason. Surface the wait and the reset time in `heartbeat.json` - (`quota_waiting`, `quota_wait_s`, `quota_resets_at`), `session-end` (`quota_wait_s`, - `usage_limit_resets`), the journal (`quota-wait-*`), the pause reason - (`; resets