Skip to content

v6.1.0-beta.10 — Verify-after-write, assertion counter, SSE stream, small-viewport polish

Pre-release
Pre-release

Choose a tag to compare

@Djtony707 Djtony707 released this 16 May 17:33
· 64 commits to main since this release

v6.1.0-beta.10 — 2026-05-16 — Verification stuck-loop detector + live event stream

Two follow-ups on the beta.9 verify-after-write foundation:

Driver-loop assertion-failure counter

When a specialist's spawn produces an artifact that fails its
post-write check (byte-count drift, magic-header mismatch, partial
write), the driver loop now increments a per-subtask
consecutiveAssertionFailures counter. Three failures in a row on
the same subtask force a verify_fail block — preventing the
"specialist keeps reporting success but the artifact never matches"
stuck-loop pattern. A passing verification resets the counter.

Pairs with the existing consecutiveIdenticalErrors (catches
repeated tool throws) and consecutiveNeedsInfoCount (catches empty
needs_info loops) — three independent termination paths now defend
the driver from different stuck-loop shapes.

GET /api/verification/stream (Server-Sent Events)

New SSE endpoint that pushes every verification event as it happens
(file_write / file_append / file_edit / image_download /
browser_fetch). On connect the server replays the last 32 events
as a snapshot frame so a fresh subscriber sees current state
without polling. Heartbeat every 15 s keeps proxies from reaping
the connection.

Subscribed by the Mission Canvas trust line in a follow-up UI ship.

Tests

  • 5 new tests in tests/verification.test.ts (24 total) for
    verificationEventsSince time + kind filtering and for
    subscribeVerification fan-out, unsubscribe, and listener
    isolation (a thrown listener does not break the recorder).
  • 57 driver-state tests continue to pass with the new branch.

No API contract changes. No schema changes. No new dependencies.