diff --git a/CHANGELOG.md b/CHANGELOG.md index a83f70b..682c1b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to fixbuddy are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project aims to follow [Semantic Versioning](https://semver.org/). +## [0.7.0] - 2026-06-12 + +### Added +- **`--notify-cmd `** (repeatable) and additive config key `notify_cmd` — + a run-summary notification hook for unattended runs. Commands run in the + launch directory after the final summary (including after a crash-abort), + receive `FIXBUDDY_*` env vars (counts, `FIXBUDDY_ABORTED`, log dir) plus a + human-readable summary on stdin, and are operator-trusted (same model as + `--check-cmd`). A failing command warns but never changes fixbuddy's exit + code. Not fired for `--dry-run`, empty queues, or Ctrl-C. + +### Changed +- README Roadmap retired: notifications shipped here, and explicit resume mode + is intentionally not built — the label system already resumes interrupted + runs (documented in a new FAQ entry). + ## [0.6.0] - 2026-06-12 Google retires the Gemini CLI on 2026-06-18; its successor is the Antigravity @@ -81,5 +97,6 @@ to existing flags. Predate this changelog. See the git history and the `v0.4.0` / `v0.3.2` tags. +[0.7.0]: https://github.com/Codevena/fixbuddy/compare/v0.6.0...v0.7.0 [0.6.0]: https://github.com/Codevena/fixbuddy/compare/v0.5.0...v0.6.0 [0.5.0]: https://github.com/Codevena/fixbuddy/compare/v0.4.0...v0.5.0 diff --git a/NEXT_SESSION.md b/NEXT_SESSION.md index 3edfc1e..0eacd94 100644 --- a/NEXT_SESSION.md +++ b/NEXT_SESSION.md @@ -1,24 +1,19 @@ # Next session -**v0.6.0 is released** (2026-06-12): the retired `gemini` agent was replaced by -`agy` (Antigravity CLI — Gemini CLI shuts down 2026-06-18), the read-only -pipeline stages got deterministic guards, and an offline integration test suite -landed. PR #9, merged to `main`. +v0.7.0 is implemented on branch `feat/notify-cmd-v0.7.0`: the `--notify-cmd` +run-summary notification hook (additive config key `notify_cmd`), plus the +roadmap cleanup — explicit resume mode is intentionally not built (the label +system already resumes interrupted runs; documented in a new FAQ entry). ## Status snapshot -- `main` is at the v0.6.0 merge; tags `v0.6.0` and floating `v1` both point at - it. GitHub release published; CI green; install one-liner verified end-to-end - against the fresh tag (checksums OK, `fixbuddy.sh --version` → 0.6.0). -- Spec: `docs/superpowers/specs/2026-06-12-agy-agent-and-integration-tests-design.md` - (includes verified agy CLI facts: no read-only mode, `--sandbox` = terminal - restrictions only, `--print-timeout` default 5m with **exit code 0** on timeout). -- Plan: `docs/superpowers/plans/2026-06-12-agy-agent-and-integration-tests.md`. -- Tests: `tests/integration.sh` — 14 offline scenarios (stub `gh`/agent CLIs, - local bare-repo origin, real git pushes). Runs as the CI `integration` job. -- Audit history: `docs/audit/2026-06-10-findings.md` (all 18 findings fixed). +- Branch `feat/notify-cmd-v0.7.0`, awaiting DoD gate / merge / tag. +- Spec: `docs/superpowers/specs/2026-06-12-notify-cmd-design.md` +- Plan: `docs/superpowers/plans/2026-06-12-notify-cmd.md` +- Tests: `tests/integration.sh` — 19 offline scenarios, runs in CI. +- v0.6.0 (agy migration + read-only-stage guards) is released and tagged. -## Release checklist (for the NEXT release) +## Release checklist (per release) 1. Bump `VERSION` in `fixbuddy.sh` (+ header), wizard header/banner, `install.sh` `DEFAULT_REF`, README one-liners; update `CHANGELOG.md`. @@ -26,12 +21,11 @@ landed. PR #9, merged to `main`. SHA256SUMS`) — `install.sh` verifies fail-closed. 3. Merge via PR; then `git tag vX.Y.Z && git push origin vX.Y.Z` and `git tag -f v1 vX.Y.Z && git push origin v1 --force`. -4. `gh release create vX.Y.Z` (the repo has release pages; "Latest" should - track the newest tag). Smoke-test the install one-liner against the tag. +4. `gh release create vX.Y.Z` ("Latest" should track the newest tag) and + smoke-test the install one-liner against the fresh tag. -## What's next (README Roadmap) +## What's next -- Optional notifications for run summaries -- Explicit resume mode for interrupted runs - -Pick one and run it through the brainstorm → plan → DoD-gate flow. +The README roadmap is empty — pick new goals next session. Ideas raised but +not committed: notify-cmd input for the GitHub Action, log retention/pruning +for `~/.fixbuddy/runs`, more agents as they appear. diff --git a/README.md b/README.md index e375cb6..bb07601 100644 --- a/README.md +++ b/README.md @@ -57,15 +57,15 @@ VERIFY -> FIX -> REVIEW -> PUSH/PR -> optional auto-merge Install with the one-liner (macOS and Linux, including WSL2): ```bash -curl -fsSL https://raw.githubusercontent.com/Codevena/fixbuddy/v0.6.0/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/Codevena/fixbuddy/v0.7.0/install.sh | bash ``` -This downloads the pinned `v0.6.0` scripts into `~/.local/bin` (or `/usr/local/bin`), makes them executable, and prints a PATH hint if needed. Override the location with `| bash -s -- --prefix /custom/bin` or track the latest commit with `--ref main`. +This downloads the pinned `v0.7.0` scripts into `~/.local/bin` (or `/usr/local/bin`), makes them executable, and prints a PATH hint if needed. Override the location with `| bash -s -- --prefix /custom/bin` or track the latest commit with `--ref main`. **Prefer to read before you run?** The installer is short — inspect it first, then run it: ```bash -curl -fsSL https://raw.githubusercontent.com/Codevena/fixbuddy/v0.6.0/install.sh -o install.sh +curl -fsSL https://raw.githubusercontent.com/Codevena/fixbuddy/v0.7.0/install.sh -o install.sh less install.sh # read it bash install.sh # then run it ``` @@ -142,6 +142,7 @@ These agent invocations are intentionally powerful. Run fixbuddy only against re | `--base ` | PR base branch | auto-detect | | `--issue ` | Process only this issue number. Repeatable; dedup filters and `--label`/`--severity` still apply. Warns for requested numbers that are not found, closed, or already labeled non-actionable | none | | `--check-cmd ` | Shell command to run as a test gate after each fix commit and before review. Repeatable. A non-zero exit is treated as a review rejection: output is fed back to the fix agent and the attempt is retried; if the retry budget is exhausted the issue is labeled `fix:rejected`. Because review and PR are only reached after all checks pass, checks also gate auto-merge. Commands run in `$PROJECT` and are operator-trusted (same trust level as CLI flags) | none | +| `--notify-cmd ` | Run-summary notification hook. Repeatable. Runs in the **launch** directory after the final summary (also after a crash-abort), receiving `FIXBUDDY_*` env vars (counts, `FIXBUDDY_ABORTED`, `FIXBUDDY_LOG_DIR`) and a human-readable summary on stdin. A failure warns but never changes the exit code. Not fired for `--dry-run`, empty queues, or Ctrl-C. Operator-trusted (same trust level as CLI flags) | none | | `--auto-merge` | Enable auto-merge, overriding a config `auto_merge = false` | off | | `--no-auto-merge` | Open PRs without requesting auto-merge | off | | `--skip-label