v2.3.0 — the team you pick is the team that builds
v2.3.0 — the team you pick is the team that builds
You assemble a team of agents — so that exact team, with the exact prompts and models you chose, must be what executes the plan. A full code audit found the chain broke at several hops (a planner-invented role could silently execute, the QA-replan loop never fired for real team roles, system-injected nodes were invisible). This release welds the chain shut and makes every actor visible.
What's new
- Hard role validation. Plan generation validates every role against your stored team. If the planner invents a role it gets one corrective retry, then a clear "the planner used roles that are not in your team" error — a made-up agent can never silently execute again.
- Plan tampering is closed. Editing or locking a plan now re-normalizes it against your stored team: your specs win by role name, system roles are restored to their canonical server specs, unknown roles are rejected. A modified system prompt or tool list can't reach the agent launcher.
- You see who really ran each task. Every task card shows "Ausgeführt von … (Modell)" — the actual agent and effective model (project overrides visible) recorded at dispatch time.
- System badges. Harness-injected helpers (wire-up, runtime-verifier, lead) are clearly badged with a plain-language tooltip in the plan editor and run view — your tasks vs. system tasks at a glance. The planner can't spoof the badge.
- The QA quality loop actually runs. QA-driven replanning only fired for a role literally named
qa— real teams useqa-engineer. Fixed with token-based matching. - Human task titles. Tasks are named ("Set up the data model") instead of raw node ids.
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.3.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 (591) + web (205) + orchestrator (138) + schemas (65) unit tests; e2e green; CI (verify + e2e) green on the PR and on main. Built subagent-driven: 3 file-disjoint lanes → 2 adversarial reviewers who found and blocked on 6 real defects (including a plan-tampering bypass and an off-by-one in the retry budget) before anything was committed → live browser verification with dark + light screenshots.
🤖 Generated with Claude Code