feat(network): admit correlated WebDriver BiDi session.end response - #252
feat(network): admit correlated WebDriver BiDi session.end response#252seonghobae wants to merge 17 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Parent/base RCA completed for exact head I merged the current #251 head ( Exact-tree local evidence: documentation contracts 22 passed / 177 subtests; rustfmt clean; strict all-target/all-feature Clippy clean; full workspace tests and rustdoc with warnings denied passed after one retry of the existing macOS socket-timeout cleanup race. Two pinned-nightly coverage attempts were both interrupted by the separate existing revoked-loopback |
Commit-Message-Assisted-by: Claude (via Claude Code) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Exact-head parent refresh: |
Commit-Message-Assisted-by: Claude (via Claude Code) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Non-force restacked on PR #251 exact head |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head focused review for stacked child 2015259529ada99af836989079cc85a15779a2d8 over #251 86e8ad76838f2a64aa7e0cd56ba1f931c8d0c3dc: no actionable completion or correlation defect found. The result proves only a correlated protocol acknowledgment, explicitly not process exit/profile deletion/resource release; malformed, event, null-id, unknown-id, and wrong-kind responses cannot consume unrelated state, while both success and correlatable remote error retire exactly the SessionEnd id. Local exact-head evidence: rustfmt passed; all 4 focused response tests passed; strict all-target/all-feature Clippy and warnings-denied rustdoc passed. Keep Draft and parent-first; its two hosted checks remain queued.
Ordinarily integrate #251 f02af6d and retain both changelog records. Preserve the response implementation, exports and four loopback response tests byte-for-byte. Native release contract: zero discovered RED to one executed GREEN. All142 Python tests and compileall, full Rust1.97.1 fmt/check/tests/Clippy/rustdoc and enforced100% coverage pass:1044 functions,10699 lines,13751 regions,1192 branches. Pinned branch instrumentation remains explicitly unstable; this is not hosted, warning-free or operational teardown acceptance. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Record #252 current-parent verification and #147 test-only reconciliation while retaining the preceding lossy-integration and two-failure evidence. Keep ordinary-pass deadlines, instrumentation warning, hosted checks and protected delivery separate. Four missing current-evidence assertions failed before this update; all 169 repository tests, compileall and diff checks now pass. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Ordinarily integrate #252 6569bf4 and retain both release records. Preserve child assessment source, exports and loopback tests while inheriting the canonical native contract and fixture repairs. Native release-contract RED: zero tests discovered. GREEN: one executed contract, all 142 Python tests, compileall, complete Rust 1.97.1 gates and numerical 100% coverage (1054 functions, 10747 lines, 13787 regions, 1194 branches). Branch instrumentation warning remains explicit. The raw caller-boolean operational-completion review finding remains unresolved in this intermediate layer. Preserve the later #255 owner repair; local gates do not prove evidence authenticity, security acceptance or protected delivery. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Retarget PR #255 directly to the verified #252 session.end response prerequisite so the unsafe caller-supplied teardown assessment in #253 is not a protected-main prerequisite. The tree is intentionally unchanged: #255 already contains #253/#254 valid deltas and the connection-provenance repair. This marker binds fresh exact-head checks to the repaired PR topology without force-pushing or discarding ancestor history. Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Writer lease RELEASED — root task 01a06c0f-b427-7830-b654-9addcdfe7aff. #252 published 363a78e on #251 924ad97 by non-force push; exact head/base/body read back. RED 6aaf7f3 reproduced replacement end reply acceptance; ordinary parent merge e9d6794 retained failure. Existing sealed reader and connection-aware registration/correlation now enforce rejection before state consumption. 12 focused Rust tests, 142 Python contracts, compileall, full stable checks and dependency-inclusive warnings-denied rustdoc passed; coverage F1064/L10898/R13947/B1194 all100%. Actual Edge response API and linked sealed type visually inspected. Independent review no findings, not approval. CI34087239755 queued, not hosted acceptance. Original sender tests and parent safeguards preserved; receipt fixtures do not establish same-endpoint/live-stream/browser-shutdown proof. Worktree /private/tmp/originweave-pr252-parent-adoption.AIR7Cm and coverage artifacts preserved. No source/docs writer remains active here. No merge/release/gate mutation. |
Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Exact-head hosted evidence update only; no source/branch mutation. CI |
Ordinarily integrate current #252 exact 363a78e into #255 without rewriting either history. Preserve #255's stronger connection-bound session.end acknowledgment, teardown assessment, and transport-closure provenance while adopting the parent's current session.status connection binding, public-boundary fixture, replacement-connection regressions, and active test-strategy contract. Overlapping correlation/end-response implementation remains on the stronger #255 representation: connection mismatch is rejected before outstanding correlation is consumed, and protocol/transport evidence still does not prove browser-process exit or profile cleanup. Signed-off-by: Seongho Bae <me@seonghobae.me>
Boundary
Draft child of #251. This slice owns typed
session.endresponse admission after complete bounded-envelope validation and exact command-kind/received-connection correlation. Remote protocol errors remain failures. An acknowledgment is not browser-process exit, profile deletion or operational teardown proof.Current exact head is
363a78e36e7690e9ed5bf49829567e00e2ec5d59on exact #251924ad97551750d4a901ded38b89488cc5438e54f, adopted by ordinary two-parent merge.Test-first repair and exact-head evidence
Regression
6aaf7f3freproduced acceptance of a replacement connection's end reply. Ordinary parent adoptione9d67949retained the failure. The sender now reuses connection-bound registration before frame writing, and the parser reuses sealed received text and shared connection-aware correlation. Original sender preflight retirement and ambiguous-write logic are unchanged; both original sender integration-test files and parent status/reader/correlation production safeguards are preserved.Tests reject replacement success and error replies with exact connection-mismatch errors, retain the original pending request and complete it using the original receipt. Unbound registrations, events and null-id errors also preserve pending state. These fixtures use separate listeners and retained receipts after server completion: they do not prove same-endpoint replacement rejection or live-original-stream recovery.
Passed 12 focused Rust tests, 142 Python contracts, compileall, Rust 1.97.1 fmt/check/full workspace tests/strict Clippy and dependency-inclusive warnings-denied rustdoc. Production coverage: 1064/1064 functions, 10898/10898 lines, 13947/13947 regions and 1194/1194 branches, all 100%, with the known unstable branch-option warning. Artifact SHA-256:
9f2249637f31916acf9874baec724ddedfe621e5b14fdb6f4bd850620e89f307.Actual Edge visual inspection confirmed the rendered response API and its linked sealed-reply API. Independent read-only review found no actionable findings; it is not counted approval.
Exact-current CI 34087239755 is terminal success on this unchanged head. Production coverage job
101633511320completed successfully through exact coverage enforcement; Rust contracts job101633511589completed successfully through repository contracts, canonical formatting, workspace checks/tests, strict Clippy and rustdoc. This repository-native GREEN validates only this exact tree; it does not establish browser/process/profile teardown, central security/review acceptance, protected-main integration or release readiness.History and successor
Previous head
6569bf40b6595ac74c2f0a997d202137f07ba1dbon parentf02af6d0dd01708d495cc08dec785675f3d58898passed 142 Python contracts, local coverage 1044/10699/13751/1192 and hosted CI 33959789688. Those results do not apply to this new head.The safe successor #255 targets this branch directly, preserving #253/#254 valid deltas while avoiding their unsafe intermediate evidence claims. #253/#254 remain open until successor delivery proves complete inheritance. The successor must adopt and verify this new parent without losing its stronger closure-provenance safeguards.
Keep Draft and parent-first integration. No merge, Close, self-approval, bypass, force update, destructive rebase, workflow/ruleset/secret mutation, tag, release or package publication was performed. Browser teardown, protected-main integration and release acceptance remain unverified.