feat(contracts): add deterministic browser task signatures#1114
Merged
Conversation
Add a BrowserTaskSignature schema, validator, evaluator, and optional execute_plan boundary so task success, stop, loop, and tool-allow rules are machine-readable without adding LLM or DSPy runtime behavior. Constraint: Issue #1049 requires deterministic task boundaries, no server-side LLM judgment, and backward compatibility for no-signature execution. Rejected: Inferring task signatures from natural language | would add prompt-dependent behavior and violate the deterministic contract. Confidence: medium Scope-risk: moderate Directive: Keep signatures as explicit typed contracts; do not auto-generate or mutate them in production runtime. Tested: npm run build; npx jest tests/contracts/task-signature.test.ts tests/orchestration/plan-cache.test.ts --runInBand; npm run lint:tier. Not-tested: Full npm test suite; browser-level execute_plan fixture over HTTP MCP. Co-authored-by: OmX <omx@oh-my-codex.dev>
28 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Progress / Review status
Auto-refreshed 2026-05-13 — owner comments cleaned up to reduce review noise.
feat/1049-task-signature→develop3d246d4— Merge branch 'develop' into feat/1049-task-signatureOwner comment cleanup: 0 issue + 0 inline review comments deleted. Outstanding feedback from automated/external reviewers above is unchanged.
Summary
BrowserTaskSignaturetypes, batched validator, deterministic evaluator, allowed-tool preflight, and secret input redaction helper.execute_plan.taskSignaturehandling that preserves no-signature response shape while rejecting disallowed tools before execution and surfacing loop/budget status for signed plans.Direction / scope fit
src/contracts/**assertion validation instead of replacing it.taskSignatureis omitted.Closes #1049
Verification
npm run buildnpx jest tests/contracts/task-signature.test.ts tests/orchestration/plan-cache.test.ts --runInBandnpm run lint:tierValidation gap
execute_planis not included in this slice; the PR adds the deterministic contract and optional plan boundary needed for that follow-up fixture.