Skip to content

feat(core): restack bounded BiDi pointer click - #256

Draft
seonghobae wants to merge 12 commits into
feat/webdriver-bidi-teardown-transport-bindingfrom
repair/webdriver-bidi-pointer-click-restack
Draft

feat(core): restack bounded BiDi pointer click#256
seonghobae wants to merge 12 commits into
feat/webdriver-bidi-teardown-transport-bindingfrom
repair/webdriver-bidi-pointer-click-restack

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28. This Draft owns deterministic primary-button click serialization and remains inert until a trusted adapter binds current session/context/origin/document/policy authority.

Current non-force stack adoption

Current exact head is 881c7f09ee9161ce8664dd75226938ecf60b85e5, an ordinary tree-identical two-parent topology adoption over predecessor ced4a851ca66c08d895a098725c7f0ad3ecf0c38 and repaired parent #255 6865faa8185c5fe6a8b6aaba9535d774575b0061. No source, test, docs, workflow, dependency, gate or authority changed in this adoption. The predecessor pointer-click tree and its prior CI/MV3 successes remain evidence for that exact predecessor only.

The repaired parent skips the unsafe #253 caller-supplied operational-completion intermediate while preserving #253/#254 valid deltas and #255 connection-provenance repair. This child therefore keeps the safe successor chain without force-push or destructive rebase.

Fresh exact-head CI 34003259914 completed success and exact-head Manifest V3 Compatibility 34003259888 completed success on 881c7f09ee9161ce8664dd75226938ecf60b85e5. These results validate this exact adopted tree only; they do not establish browser action/post-condition evidence, protected-main integration, central review/security acceptance, or release readiness.

The existing pointer-click command remains inert transport data: successful serialization is not browser action, process/profile cleanup, navigation, or observed post-condition evidence. Keep Draft; parent-first protected integration and all required review/security/ruleset gates remain independent. No workflow/ruleset/secret mutation, self-approval, bypass, force update, merge, tag, release or publication was performed.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Parent/base reconstruction completed for exact head f4f5bb71b54f3df3887d79b52f361e5c8e2d30e7.

I merged the current #255 head (d60e98679f09cc067d46fae1170b464d53c0951f) without rewriting history. The bounded pointer-click slice remains inert: it serializes a fixed primary-button input.performActions sequence only from already admitted identifiers and does not bypass the still-required current session/context/origin/document, policy, approval, or transport binding. I added the missing buyer-visible changelog entry.

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 seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head parent refresh: bd1f5ac60a76d2edb35e63095d406e53bc43931f now adopts #255 f8edec38cf8ab7fde22b8d1de9305728c1a2f25b without conflict. Rustfmt, all-feature/all-target check, strict Clippy, rustdoc, 141 Python contracts, and CI-equivalent pinned-nightly 100% production coverage all passed. Hosted checks remain authoritative; the PR stays Draft.

Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Non-force restacked on PR #255 exact head a13de5f9321e72c1867974eb7a43230f031e58df; PR #256 is now exact head 9f2e6f29be46371762e3031a97c1cac04720694f. Verification: rustfmt, all-feature/all-target check, strict Clippy, rustdoc, 141 Python contracts, and CI-equivalent pinned-nightly production function/line/region/branch coverage at 100%. Fresh hosted exact-head checks and ordered parent integration remain required.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Adopt #255 6865faa as the current pointer-click parent without changing this branch tree. The parent now skips the unsafe caller-supplied completion intermediate while preserving its valid closure delta and connection-provenance repair.

This is an ordinary two-parent topology adoption; no source blob, test, workflow, dependency, gate, or authority changes.

Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae added a commit that referenced this pull request Sep 6, 2026
Adopt #256 881c7f0 without changing this branch tree. This carries the safe #255 teardown-successor topology forward while preserving the bounded pointer-click sender and all existing tests byte-for-byte.

Ordinary two-parent topology adoption only; no source, workflow, gate, or authority change.

Signed-off-by: Seongho Bae <me@seonghobae.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant