feat(network): send bounded WebDriver BiDi session.end command - #251
feat(network): send bounded WebDriver BiDi session.end command#251seonghobae 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 #250 head ( Test-first evidence: the invalid-timeout regression failed with outstanding count 1 before the change and passed with 0 afterward. Exact-tree local verification: docs 22 passed / 177 subtests; rustfmt clean; strict all-target/all-feature Clippy clean; full workspace tests passed; rustdoc with warnings denied passed; real socket reused-mask-key regression passed; pinned-nightly LLVM production functions, lines, regions, and branches are 100% covered. Hosted exact-head checks remain authoritative. |
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 #250 exact head |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head focused review for stacked child 86e8ad76838f2a64aa7e0cd56ba1f931c8d0c3dc over #250 0eab23d5e388c5c8b984c0021a58316680c9ba8b: no actionable teardown or correlation defect found. session.end is a concrete static command, binds its id to the distinct SessionEnd kind before I/O, rejects invalid deadlines before registration, retires only a proven preflight failure, and does not claim session completion after a successful frame write. Local exact-head evidence: rustfmt passed; all 5 focused sender/failure tests passed; strict all-target/all-feature Clippy passed. Keep Draft and parent-first; its two hosted checks remain queued.
Preserve the session.end sender, exports and both child Rust integration tests while adopting #250 ec433b8. Resolve the changelog-only conflict by retaining both release records. Native release contract: 0 discovered RED to 1 executed GREEN. Full 142 Python tests, compileall, Rust fmt/check/test/Clippy/rustdoc and enforced 100% coverage pass (1037 functions, 10647 lines, 13681 regions, 1192 branches). The pinned branch instrumentation still warns that its option is unstable; this is not warning-free or hosted acceptance. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Refresh live inventory to 125 open PRs, 12 Ready and 113 Draft after the external temporary synthesis closed. Preserve historical lossy-integration evidence and record the restored six tests with two remaining forced-close injection failures. Record #251 current-parent verification and queued hosted CI without claiming warning-free instrumentation or protected delivery. Eight stale marker/count assertions failed before the documentation update; all169 repository contracts and compileall now pass. Historical snapshots and existing source-owned quality evidence remain intact. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
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>
|
Writer lease RELEASED — root task 01a06c0f-b427-7830-b654-9addcdfe7aff. Published #251 exact head 924ad97 on current #250 bbdc6ac by non-force push; head/base/body read back. Test-first replacement status-reply rejection and original receipt recovery passed; child sender/tests and parent production safeguards preserved. 11 focused Rust tests, 142 Python contracts, full stable checks and warnings-denied dependency-inclusive rustdoc passed. Coverage functions/lines/regions/branches all 100%. Rendered API visually inspected in Edge. CI 34085877650 queued, not acceptance. No merge/release or policy changes. Existing coverage artifacts preserved. No source/docs writer active in this worktree. |
Require pending-state preservation and acceptance of the original connection reply after rejection. Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Adopt bbdc6ac with both histories and retain all child sender and failure-test blobs. Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Require exact replacement-connection rejection without claiming stream liveness or end-response provenance. Co-Authored-By: OpenAI Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Evidence-only current-head checkpoint — prior source/docs writer |
|
Exact-head hosted evidence update only; no source/branch mutation. CI |
Boundary
Draft child of #250. This slice owns one typed WebDriver BiDi
session.endoutbound command over an established RFC 6455 stream. Registration precedes frame emission; successful writing does not prove remote completion, process exit, profile deletion or browser authority.Current exact head is
924ad97551750d4a901ded38b89488cc5438e54fon exact #250bbdc6ace7a5932adf24836700f806850e6b230bc, adopted by ordinary merge. The original child sender and its two integration-test files are byte-identical to the previous child head; parent status-response production safeguards are preserved.Current-head evidence
The new regression failed on the previous child when a replacement connection's status reply consumed the original pending request. It now checks the exact connection-mismatch error, preserves the pending request and completes it with the original retained receipt. The server fixtures have finished: this is receipt/correlation recovery evidence, not a live-original-stream or same-endpoint replacement test.
Passed 11 focused Rust tests, 142 Python contracts, compileall, Rust 1.97.1 fmt/check/full workspace tests/strict Clippy and dependency-inclusive warnings-denied rustdoc. Nightly coverage is 1057/1057 functions, 10840/10840 lines, 13873/13873 regions and 1194/1194 branches, all 100%; the known unstable branch-option warning remains. Coverage artifact SHA-256:
5cbb52b50b5740a22d269490f6296380d4b53bbe61ceae632376f6de63ff1054.Rendered session-end command API inspected visually in installed Edge at this exact head. Documentation states that sending does not establish remote completion. Independent read-only agent review found no actionable findings; this is not a counted approval.
Exact-current CI 34085877650 is terminal success on this unchanged head. Production coverage job
101629699750completed successfully, including exact coverage enforcement; Rust contracts job101629699915completed 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 acceptance.Historical evidence and limits
Previous head
f02af6d0dd01708d495cc08dec785675f3d58898on parentec433b844a121f8554c062f92267991af9cacb6fpassed local coverage 1037 functions / 10647 lines / 13681 regions / 1192 branches and hosted CI 33959168801. That success does not apply to the current head.Keep Draft and parent-first integration. Session-end reply provenance belongs to the separate response consumer; session termination, process/profile cleanup, central security/review, protected integration and release acceptance are not established. No merge, self-approval, bypass, force update, destructive rebase, workflow/ruleset/secret mutation, tag, release or publication was performed.