Skip to content

v2.4.0 — runs build on the existing app

Choose a tag to compare

@Samuel0101010 Samuel0101010 released this 10 Jun 15:17
· 15 commits to main since this release
v2.4.0
7942b0a

v2.4.0 — runs build on the existing app

Run 2 must not rebuild what run 1 shipped. With this release the planner and every executing agent know the code that already exists, iterating is one robust action instead of three fragile steps, and two crews can no longer race the same repository.

What's new

  • The planner sees your repository. Every plan on a non-empty repo includes the file tree, architecture.md, and the previous plan's task list, with an explicit "plan changes ON TOP of this code" instruction — initial plans, iterations, and QA replans alike.
  • Agents see the codebase. Every agent prompt carries a compact "Existing codebase" section ("MODIFY the existing code; do NOT scaffold a new project") plus a fuller .wisp/repo-map.md in the worktree — no more re-discovering the repo on every task.
  • One-call iteration. POST /api/projects/:id/iterations plans, locks, starts, and links your change requests server-side, with real rollback: a failed plan leaves nothing behind; a failed run start keeps your change requests queued. The dashboard's "Run Iteration" now uses this single call.
  • Concurrent runs are blocked. A per-project guard (409 run_already_active) prevents two crews from building and merging the same repository at once.
  • Robustness: verified runs without docs/project-state.md no longer block future iterations; repository file names can't break the prompt's fenced tree block; Insights keeps a single h1 per page (a11y + flaky-test fix).

Update (existing install)

/plugin marketplace remove wisp-local
/plugin marketplace add Samuel0101010/wisp-orchestrator
/plugin install wisp@wisp-local

Then /wisp-dashboard. The version chip reads v2.4.0. (If you see Permission denied (publickey), run once: git config --global "url.https://github.com/.insteadOf" "git@github.com:".)

Verification

All 8 local gates green; server (636) + web (211) + orchestrator unit tests; full e2e 54/54 green; CI (verify + e2e) green on the PR and on main. Built subagent-driven with adversarial reviews that executed the gates and ran live experiments (git worktree exclude semantics, hostile-filename fence escape — found and fixed, concurrency race — found and guarded), plus a live mock-mode end-to-end check of the new iteration endpoint.

🤖 Generated with Claude Code