Adds focused regression coverage for residual high-risk seams on main that are still untested and not claimed by open coverage PRs #298–#305 (main tip still at fa5c0f68). Also refreshes canary mobile lockfile + research-readiness desktop bridge stabilizers, and unflakes a calendar-aged composer draft prune assertion.
createRunTurn wraps tool execute with assertCanMutate before the underlying tool runs; rejection blocks side effects.interruptTurn compatibility — prefers turn/cancel, falls back to turn/interrupt when cancel is missing, and rethrows the original cancel error when both fail.task/artifact/read recovers when concurrent baseline creation races, and rethrows when concurrent detail remains empty.expectedSha256.test/agent.mutation-gate.test.ts (new)test/providers/codex-app-server-client.interrupt.test.ts (new)test/providers/codex-app-server-resolver.concurrency.test.ts (new)test/jsonrpc.task-artifacts-route.test.tsapps/desktop/test/research-readiness.test.tsx (CI stabilizer)apps/mobile/bun.lock (canary lockfile)apps/desktop/test/composer-draft-thread-switch.test.ts (calendar-age flake fix)These paths sit on cancellation, install, mutation-permission, and artifact integrity boundaries. Silent breakage would leave turns uncancellable across Codex versions, duplicate managed installs under cold-start concurrency, allow cancelled/locked turns to mutate via tools, or overwrite/restore artifacts without SHA safety.
Deliberately avoided duplicating open #298–#305 seams (integrity mid-verify, send-queue, deferred sync timeout, MCP OAuth/retry, preflight Codex gates, etc.).
bun run lint / bun run typecheck / bun run docs:check cleanbun run test: all 675 files passed (Bun 1.4.0-canary)Cursor Agent and others added 4 commits ·
View commitsOnly the target repository owner can merge this pull request.
Sign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 2 months ago
test: cover mutation gate, Codex interrupt/install, and artifact races
#306 main ← cursor/missing-test-coverage-7cf8
Updated 19 hours ago