diff --git a/CHANGELOG.md b/CHANGELOG.md index af371de4..d1c5c97a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,17 @@ - Cookie import picker now returns JSON instead of HTML — `jsonResponse()` referenced `url` out of scope, crashing every API call - `help` command routed correctly (was unreachable due to META_COMMANDS dispatch ordering) - Stale servers from global install no longer shadow local changes — removed legacy `~/.claude/skills/gstack` fallback from `resolveServerScript()` +- Crash log path references updated from `/tmp/` to `.gstack/` ### Added +- **Diff-aware QA mode** — `/qa` on a feature branch auto-analyzes `git diff`, identifies affected pages/routes, detects the running app on localhost, and tests only what changed. No URL needed. - **Project-local browse state** — state file, logs, and all server state now live in `.gstack/` inside the project root (detected via `git rev-parse --show-toplevel`). No more `/tmp` state files. - **Shared config module** (`browse/src/config.ts`) — centralizes path resolution for CLI and server, eliminates duplicated port/state logic - **Random port selection** — server picks a random port 10000-60000 instead of scanning 9400-9409. No more CONDUCTOR_PORT magic offset. No more port collisions across workspaces. - **Binary version tracking** — state file includes `binaryVersion` SHA; CLI auto-restarts the server when the binary is rebuilt - **Legacy /tmp cleanup** — CLI scans for and removes old `/tmp/browse-server*.json` files, verifying PID ownership before sending signals +- **Greptile integration** — `/review` and `/ship` fetch and triage Greptile bot comments; `/retro` tracks Greptile batting average across weeks +- **Local dev mode** — `bin/dev-setup` symlinks skills from the repo for in-place development; `bin/dev-teardown` restores global install - `help` command — agents can self-discover all commands and snapshot flags - Version-aware `find-browse` with META signal protocol — detects stale binaries and prompts agents to update - `browse/dist/find-browse` compiled binary with git SHA comparison against origin/main (4hr cached) @@ -28,8 +32,10 @@ - Atomic state file writes: `.json.tmp` → rename (prevents partial reads) - CLI passes `BROWSE_STATE_FILE` to spawned server (server derives all paths from it) - SKILL.md setup checks parse META signals and handle `META:UPDATE_AVAILABLE` +- `/qa` SKILL.md now describes four modes (diff-aware, full, quick, regression) with diff-aware as the default on feature branches - `jsonResponse`/`errorResponse` use options objects to prevent positional parameter confusion - Build script compiles both `browse` and `find-browse` binaries, cleans up `.bun-build` temp files +- README updated with Greptile setup instructions, diff-aware QA examples, and revised demo transcript ### Removed - `CONDUCTOR_PORT` magic offset (`browse_port = CONDUCTOR_PORT - 45600`)