fix: harden routed preview recovery boundaries - #2103
Conversation
|
Security re-review changes are ready in Addressed:
Validation:
An unrelated baseline |
1eefc9a to
5ea1b62
Compare
|
Rebase follow-up complete. New head:
No merge, release, or deployment performed. |
5ea1b62 to
8af4397
Compare
|
Residual security/lifecycle review fixes are ready on head Completed:
Validation passed:
Branch is clean and GitHub reports |
8af4397 to
39dda74
Compare
|
Final rebase onto The overlap was resolved additively:
Validation passed:
Branch is clean, pushed with lease, and GitHub reports |
|
HIGH blocker fixed at head
Added a real probe-plus-actions intersection regression using an unresolvable
Passed:
Branch is clean, current with |
Summary
Post-merge hardening for #2094 and #2096.
Security hardening
Browser network records now redact query values and request failure text before entering
network.jsonl. The session result builder independently sanitizes requested, final, preview, topology, and network URLs before composing review, summary, artifact, and stdout projections. Regression coverage sends synthetic sentinels through the real serializers,BrowserArtifactSession, andBrowserProbeSessionResultBuilder, then proves absence from persisted network/errors/summary/review files, the artifact object, stdout, and stderr projections.Retry safety
GET,HEAD, andOPTIONSreceive bounded transient transport retriesPOSTfailures receive one attempt and are never replayed by recoveryRoute lifecycle
CI
test:browser-preview-routingis now included in both the required smokecheckgroup and the agent-task contracts workflow.Test results
npm run buildpassednpm run test:browser-preview-routingpassed (11 tests)npm run test:browser-accessibility-oraclespassed (47 tests)npm run test:browser-diagnostic-providerspassednpm run test:browser-artifact-sessionpassednpm run test:redactionpassednpm run test:production-boundary-enforcementpassedgit diff --checkpassednpm run checkexecuted and passed the newly required routing suite, then stopped at the unrelated pre-existing command-registry assertion tracked in command-registry-smoke fails on main: wordpress.collect-workload-result outputShape missing outputSchema id mention #1745