test(browser): constrain semantic observation evidence schema - #129
Draft
seonghobae wants to merge 3 commits into
Draft
test(browser): constrain semantic observation evidence schema#129seonghobae wants to merge 3 commits into
seonghobae wants to merge 3 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Partial implementation of #28, stacked on exact PR #128 head
24446c9cacd05bab370d8a636552514d656fcf42.Buyer/security gap
PR #128 bounds the controlled Agent Task semantic-observation bytes, but the executable object shape was not independently machine-checked. A later runner change could add unreviewed raw page text, hidden prompt-injection content, or arbitrary instruction-like fields while staying under the byte ceiling. The controlled compatibility lane needs an exact reviewed evidence-schema contract without pretending that the generic byte-measurement helper is a semantic validator.
TDD / RCA
Exact test-only head
5791b650ccd7f1f9c40ea49ed565fc051d9f018ddeliberately attempted to require the generic_measure_agent_task_semantic_observation_byteshelper to reject extra/malformed fields. CI run31625916343, Rust contracts job94212118955, checked out that exact head and failed in Python repository contracts as expected.RCA then narrowed the first failing boundary: the helper is explicitly a canonical byte-measurement/boundary function, while the security property belongs to the one executable
semantic_observationconstruction feeding it. Widening the helper into a hard-coded fixture schema validator would conflate measurement with controlled-fixture semantics and would also invalidate #128's general exact-limit tests.The smallest root-cause-changing remedy therefore moved the contract to the actual executable call site. Head
46efc3d530494b41f84c25ae50bc8fd1e623e027parses the runner AST and requires exactly one controlledsemantic_observationconstruction containing only:inputandsubmitobjects;roleandnamefields for each object;input_role/input_nameandsubmit_role/submit_namevalues; andCI run
31626499432then proved the corrected contract on exact head46efc3d530494b41f84c25ae50bc8fd1e623e027: Rust contracts and Production coverage both succeeded, including Python repository contracts, formatting, locked workspace checks/tests, strict Clippy, rustdoc, and exact production coverage. Current documentation headd199a0d1f30746aafc67986bf9dbc3ca88d802c6adds only the Unreleased security changelog entry and requires fresh exact-head verification; predecessor evidence does not transfer.Dependency / truth boundary
Keep Draft while #128/#105/#100 and their prerequisites remain active. This lane hardens only the controlled pinned-browser compatibility evidence shape. It does not define the final product-wide semantic observation schema, authenticate browser semantics, make accessible names trusted instructions, authorize model context, expose raw HTML, grant capabilities, or complete the end-to-end browser adapter. No prerequisite check, review, status, artifact, coverage, or mergeability result transfers.