feat(browser): fail closed on oversized Agent Task observation - #128
feat(browser): fail closed on oversized Agent Task observation#128seonghobae wants to merge 6 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 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 |
| semantic_observation_bytes = _measure_agent_task_semantic_observation_bytes( | ||
| semantic_observation | ||
| ) |
There was a problem hiding this comment.
📝 Info: Oversized observation fails closed via trial exception path
_measure_agent_task_semantic_observation_bytes raises ValueError on oversized or empty input; this propagates to the trial loop in main, which catches it and records a failed trial. The observation is built only from fixed short role/name strings, so the 4096-byte cap is defensive and cannot trigger with the controlled fixture.
Was this helpful? React with 👍 or 👎 to provide feedback.
Partial implementation of #28 on the live
test/agent-task-structured-value-evidenceprerequisite.Buyer/security boundary
The controlled pinned-Chromium Agent Task must not allow a role/name semantic-observation snapshot to become unbounded evidence. This branch makes that boundary executable and fail closed.
Implemented contract
The runner:
MAX_AGENT_TASK_SEMANTIC_OBSERVATION_BYTES = 4_096as a product-safety budget, not a protocol-validity claim;_measure_agent_task_semantic_observation_bytes; andThe evidence remains limited to reviewed browser-computed role/name fields for the controlled fixture. It does not authorize arbitrary page text, raw HTML, credentials, unrestricted JavaScript, or model-visible browser content.
TDD provenance
The original test-only head
71e78784332b2cbe34d3d704b6a03d0d69ff35c2produced the intended repository-contract RED before production support existed. Subsequent commits implemented and refined the bounded measurement path.Fresh exact-head truth
Current exact head:
f60771f7afb23ea4bf63f15d8c6a0d5b507cda5b.Current exact live base reported by GitHub:
43ea212770e5b9fb2a34da5196d6811036b396c5.On this unchanged head:
31942508997: success;31942509048: success;The current changed-file set now includes a truthful Unreleased
CHANGELOG.mdentry for the 4,096-byte semantic-observation contract. The older PR-body statement that release-note debt remained was stale and is superseded by this live branch state.No predecessor check, prerequisite result, synthetic merge result, bot status, comment, or model output is treated as current-head approval.
Stack / authority
This remains Draft while its prerequisite/descendant stack is active. No merge, approval, workflow, secret, ruleset, tag, release, or publication mutation is included.
Truth boundary
This lane bounds only controlled compatibility-runner semantic-observation evidence. A production browser adapter still requires its own reviewed structured-observation authority and product-wide budget.