2026.7.19
Pursuit grows up
The multi-day goal engine that landed in 2026.7.18 now becomes something you actually live with: a place to work, a window into what it's doing, a real sandbox around the tests it runs, and a hardening pass that closed seven cross-functional gaps found by adversarial review before any of them could reach you.
It's now where you work.
- A My Pursuits panel — list, detail, create — sits in the sidebar alongside your team.
- It notices: say a multi-day goal in chat ("keep the release notes current through Friday") and Karvy recognizes it, derives the goal and its done-test, and raises a single commit card for your call. It never auto-starts, shows you the exact verify command on the card, and if you say the same goal twice it answers "already on it" instead of stacking a second one.
It shows its working. Each pursuit opens into a plain-language status line, a round-by-round timeline (what ran, whether it worked, why it got stuck), and a "let Karvy explain" button that writes a short human summary on demand — built only from that pursuit's own history, never stored.
Its done-tests run inside a real sandbox. When a pursuit checks "is it finished?" by running a test command — which can come from a model or from you — that command now runs inside the same OS-level isolation that guards the rest of the runtime (writes confined to the project folder, no network, killed on timeout), not directly on your machine. Where no real isolation is available, the check refuses to run and tells you why rather than pretending. Security is the floor, not the billboard — applied to the one place a pursuit executes untrusted input.
Seven reliability gaps closed (each found by an independent adversarial pass, each fixed with a reproduction test):
- A finished pursuit is reported finished right away, not up to hours later.
- A paused pursuit is no longer a dead end — Continue and Drop give it a real exit, and restating a paused goal points you to continue it.
- A goal that keeps failing stops and asks after five straight misses instead of grinding on.
- Results file in the right place; template-placeholder paths can't crash it in a loop; a slow check no longer freezes the console; and when a check can't run for lack of a sandbox, the reason shows up on the pursuit itself, not buried in logs.
Full suite green (4,436 tests), five-leg CI passing (Linux/macOS/Windows · py3.11/3.12). The third cut and the reliability wave were each independently adversarially verified before shipping.