extractToolExecutionErrorMessage and shouldAddInvalidToolCallFormatReminder across PI, OpenAI Responses, Google, and Codex. Content-text wins over error/message; unknown XML/marker names (tool<read>, arg_key, tool_call) remind; a valid unknown name plus a generic not-found error does not; known tools remind only for empty args plus schema-looking errors.$ref/pattern/minimum, empty anyOf, non-object roots, nested array $ref, and cyclic graphs before attaching constrainedSampling.allMessages; unsupported hosts keep the current messages. Blank responseId values are dropped.buildRequestFingerprint omits apiKey and signal.renderCoworkRuntimeInstructions stays off until COWORK_RUNTIME_NODE_MODULES is present (case-insensitive).test/runtime.pi-invalid-tool-call.test.ts (new)test/runtime.constrained-sampling.test.ts (new)test/runtime.pi-step-state.test.ts (new)test/shared/provider-continuation-schema.test.ts (new)test/coworkRuntime.ensureReady.fail-closed.test.ts (new)These gates sit on shared turn/runtime paths: a wrong reminder heuristic either hides malformed tool XML or spams recovery; a loose schema visitor can attach constrained sampling to optional/defaulted tools; a continuation mismatch can replay the wrong history or persist a blank response id; a checksum skip can install an unsigned runtime archive. The tests are deterministic unit checks with no production behavior changes.
Skipped as already covered or low-signal: code-mode pipe close (9662ee32), lease/archive validation (fb997910), CI systemd expansion (267f926d), and the open #331 task/backup/import/workflow schema PR. Known production holes (startup {ready:true, error}, Codex absolute rollout paths, sync action() throw, accountId unused in continuationMatchesTarget) were not locked as intended.
test/platform-boundary.test.ts: passbiome check on touched files: cleanbun run typecheck, bun run check, bun run docs:check: passbun run test: new files that reached the runner passed in-suite. Host reproduced the known ipc-files rewritten-mtime reauth failure; not introduced here.Sign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 4 months ago
test: cover tool-call recovery, continuation, and runtime bootstrap gates
#332 main ← cursor/missing-test-coverage-a7b4
Updated 3 weeks ago