feat(core): restack bounded BiDi pointer click - #256
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 |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head repair review: predecessor 172a18a... produced a real repository RED, not a queue artifact. Rust contracts were GREEN while exact production coverage failed on the sole impossible success + missing command id branch. This head removes that representable-invalid state by retaining validated routing structurally (CommandSuccess { command_id }, nullable-id CommandError, Event) and exposes the routing only crate-privately for correlation. Public envelope behavior and browser/policy authority are unchanged. Fresh CI/MV3 on this exact head is still required; no predecessor result is transferred.
seonghobae
left a comment
There was a problem hiding this comment.
Parent #255 has advanced by normal fast-forward from 626026c5037ee23e5b435bd864e7ad4280da5643 to exact 88e68f37d655ae62dae6a38a50c12b30e2801160 after hosted exact coverage exposed the common-envelope success/missing-id representation defect. This #256 head is therefore stale-parent evidence even though it already contains a compatible structural routing repair plus its unique pointer-click delta. Do not transfer #256 checks or reconstruct descendants yet. Keep Draft; after #255 88e68f37... reaches terminal exact-head verification, non-destructively restack #256 onto that verified parent and preserve only its unique PointerClick command slice and still-valid evidence, without reintroducing duplicate parent repair.
Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Parent/base reconstruction completed for exact head I merged the current #255 head ( Exact-tree local evidence: documentation contracts 22 passed / 177 subtests; rustfmt clean; strict all-target/all-feature Clippy clean; full workspace tests passed; rustdoc with warnings denied passed; pinned-nightly LLVM production functions, lines, regions, and branches are 100% covered. Hosted exact-head checks remain authoritative. |
seonghobae
left a comment
There was a problem hiding this comment.
Current-head lineage review: live PR metadata is base=d60e98679f09cc067d46fae1170b464d53c0951f, head=f4f5bb71b54f3df3887d79b52f361e5c8e2d30e7, with 8 ahead / 0 behind and five unique semantic paths. The earlier d24b8dc... CI/MV3 GREEN is predecessor evidence after this non-destructive parent refresh and must not be promoted to current-head GREEN. Current CI 33898817836 and MV3 33898817825 remain non-terminal. #247 has also moved again to the no such client window test-only generation, so parent-first reconstruction remains required after that canonical ancestor reaches exact GREEN.
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 #255 exact head |
seonghobae
left a comment
There was a problem hiding this comment.
Reviewed the five-file parent-relative change at 9f2e6f2 against a13de5f. No additional defect found in this bounded pointer-click serialization change. It reuses the existing JSON string encoder and protocol-text validation, enforces the js-uint command-id and context byte bounds, and emits one fixed mouse move/down/up sequence. The element origin/sharedId and performActions envelope agree with the current W3C Working Draft (3 September 2026), §§7.9.2.1 and 7.9.3.1: https://www.w3.org/TR/2026/WD-webdriver-bidi-20260903/#command-input-performActions .
Rust 1.97.1 formatting, all four focused pointer-click tests, strict core Clippy with all targets/features, and warning-free core rustdoc passed locally. This inert serializer grants no policy authority, performs no browser input and proves no click post-condition. Keep Draft: parent #255's connection-evidence finding remains unresolved, and current hosted checks, complete coverage, ordered parent integration and policy gates remain independent requirements. This COMMENT is not an eligible non-author approval.
seonghobae
left a comment
There was a problem hiding this comment.
Current-parent repair finding on exact 9f2e6f29be46371762e3031a97c1cac04720694f: live #255/base branch has advanced to 3e7057443d7c9532ff526acb5eefe8cd4778c767. Fresh comparison is 10 child commits ahead / 61 parent commits behind, with merge base a13de5f9321e72c1867974eb7a43230f031e58df. The valid child delta remains five paths. Two paths overlap with the parent generation: CHANGELOG.md and crates/originweave-network/src/webdriver_bidi_command_correlation.rs. The latter must retain #255's connection-generation provenance machinery and add only the child-owned PointerClick command kind; the pointer-click CHANGELOG record must also survive. This is a repair/restack finding, not authorization to close or discard the child. Current 9f2e... CI/MV3 success is predecessor-tree evidence and cannot transfer to the future current-parent adoption. Keep Draft; ordinary non-force adoption of exact #255 is required before #257 follows this branch.
Retain the complete pointer-click serialization delta and inherit the verified connection-bound response and closure repair. Observe native release-contract discovery RED before integration and full local GREEN afterward; preserve hosted and operational acceptance boundaries. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Partial implementation of #28. This Draft owns bounded WebDriver BiDi
input.performActionsprimary-button click serialization and remains stacked onfeat/webdriver-bidi-teardown-transport-binding.Buyer-visible boundary
The command remains inert transport data: session/context/origin/document-epoch authority, policy/approval, TypedInput capability, authenticated transport, response correlation and observed post-condition remain separate boundaries. No transport I/O, node minting, retry/fallback, ambient authority inheritance or policy decision is introduced here.
Executed RED and causal repair
Exact predecessor
172a18a03343757dbb6334654edff128e09cd945ran CI33662670447. Rust contracts100356737441passed; Production coverage100356737137failed the exact 100% gate on the impossible success-response-without-command-id branch inwebdriver_bidi_command_correlation.rs. Artifact9882273428(sha256:e1599cbe5c9009936785433d1ac97d4c09201a152e3e04b1a9f8100da0e08467) records that RED.Causal repair
d24b8dc627b088811cc8b04938ff770203a79d16structurally represents validated routing asCommandSuccess { command_id },CommandError { command_id: Option<u64> }, orEventand removes the impossible success-without-id branch rather than excluding it from coverage. Exact CI33770584008and Manifest V3 Compatibility33770584067subsequently completed success on that predecessor generation.Current-parent integration and fresh verification
Current exact head is
ced4a851ca66c08d895a098725c7f0ad3ecf0c38, an ordinary two-parent merge preserving predecessor9f2e6f29be46371762e3031a97c1cac04720694fand current #2553e7057443d7c9532ff526acb5eefe8cd4778c767. The pointer-click implementation, core exports and four command tests are byte-identical to the predecessor. The child correlation delta remains only its documentedPointerClickkind. Current parent source and regression fixtures are inherited without duplicating their fixes.The predecessor's native release-contract discovery collected zero tests and failed the expected-one assertion. After integration it executes one passing contract. Fresh local checks pass: four pointer-click command tests, 13 connection-bound message/response/teardown tests, all 142 Python contracts, compileall, complete Rust 1.97.1 format/check/workspace tests/strict all-target all-feature Clippy/rustdoc, and numerical 100% coverage of 1088 functions, 11077 lines, 14146 regions and 1210 branches. The pinned branch-instrumentation warning remains visible.
Current CI
33965138401and Manifest V3 Compatibility33965138418are queued. Local verification is not hosted security acceptance, counted approval or protected-main delivery. The prior response/closure-substitution repair now exists in this integrated source; browser-process exit, profile removal and actual click post-condition still require their independent runtime evidence.The previous 10-ahead/61-behind drift comparison applied to
9f2e6f29...against current #255 before adoption. That predecessor's CI33944891677and Manifest V3 Compatibility33944891650successes remain historical and are not the new head's hosted proof.Keep Draft. Direct child #257 must follow the repaired #256 generation with its own freshly verified ordinary parent adoption. Do not force-push, destructively rebase, duplicate ancestor repairs, weaken coverage, or treat protocol serialization as browser-action/post-condition evidence.
Protected-main
AGENTS.mdand live GitHub governance remain authoritative. This scheduled writer does not merge, self-approve, bypass, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release or publish.