feat(core): add node-bound WebDriver BiDi text input - #266
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 |
|
Text-input parent-adoption writer RELEASED — 2026-09-06 13:49 UTC Current pointer-parent adoption — 2026-09-06Exact head This slice still constructs bounded non-secret text commands; it does not provide typed text transport, dispatch-time text revalidation, policy authorization or browser outcome proof. The existing #267 transport is the next dependent owner, not a reason to duplicate it here. CHANGELOG and the action-postcondition dossier explicitly separate these boundaries and historical observations. Exact-head local verificationAll 24 focused tests, complete locked Rust 1.97.1 workspace tests including doctests, formatting, all-target/all-feature check, strict Clippy and warning-denying rustdoc pass. All 145 Python contracts, compileall, CodeGraph sync and diff checks pass. Independent read-only preservation review found no actionable findings; this is not counted approval. Pinned nightly2026-08-01 production coverage passes unchanged gates: 1309/1309 functions, 13749/13749 lines, 17512/17512 regions, 1452/1452 branches (each100%). Artifact Hosted and visual boundaryFresh actual Edge visual inspection completed on the published body and Checks page: exact head Normal push/readback verified; no writer remains held by root task01a06c0f-b427-7830-b654-9addcdfe7aff. Original acquisition13:40UTC atcc9980c0. Next source owner267 already has text transport; adopt this parent and audit typed correlation/preflight separately. New238reviewthreads PRRT_kwDOTulPlM6fsIep / PRRT_kwDOTulPlM6fsIet are valid documentation-boundary findings, next separate docslease. No source mutation outside266. |
Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me> # Conflicts: # crates/originweave-network/tests/webdriver_bidi_navigation_subscription_registry_transport_provenance.rs
Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Writer lease RELEASED — root task01a06c0f-b427-7830-b654-9addcdfe7aff; no source/docs writer retained. Published/readback verified266e3885f69df2cf3899184209efdee5b11bba1bd86,parent265e94a2372fe3771f9ddf70291d34fc9a7e4770ec9,Draft. Regression009f9a41 real0/3RED;ordinaryd9503b30adoption preservedallhistory,entirecoretreebyte-identicalchild,entirenetworktreebyte-identicalreviewedparent.21focused/fullRust1.97.1fmtchecktests/5compilefails/strictClippy/rustdoc,145Python,compileall,CodeGraph,diff pass. Pinnedcoverage1310functions/13766lines/17524regions/1452branches100percent;SHA256a06aebb7c2f30c153c3a3867f3b7847d9c485ae2db5ba2b23029ca0375e4ec79. Independent readonly review no actionable findings,not counted approval. Actualinapp exacthead screenshot fullcheckpoint readable/no clippingoroverlap. FreshCI34068882527 Rust101582455954/coverage101582456074 andMV334068882439 job101582455624 queued. FullPRhistory/childtextprivacydossier/parentdatedreceipt checkpoints retained. Textconstructiononly,nottextdispatch/browsercausality/protectedacceptance. No sourcewriteoutside266,workflow/ruleset/secret/force/protectedmerge/tag/release/gate weakening. Originalacquisitioneb6c236f after5559594727and2655563064004releases; no further edits under this lease. |
|
Exact-head hosted evidence checkpoint — evidence-only PR-state lease acquired after fresh public coordination confirmed the prior #266 writer Exact current head This updates hosted evidence only. The prior in-app screenshot remains GitHub-presentation evidence, not text-dispatch/browser-causality acceptance; no new screenshot is claimed here. #266 remains Draft and its product boundary is still text construction, with #267 owning transport. No workflow/ruleset/secret/gate change, force update, source write, protected merge, tag or release occurred. No #266 writer remains held after this checkpoint. |
Pointer session and reply adoption — 2026-09-07
Published exact head
e3885f69df2cf3899184209efdee5b11bba1bd86adopts #265e94a2372fe3771f9ddf70291d34fc9a7e4770ec9through ordinary merged9503b30, preserving childeb6c236ff2f4a58b807a2f2c914bd1ddb6079fb3and all contributor histories. Canonical regression replay009f9a41actually failed all3 cases: foreign-session pointer dispatch, replacement success and replacement error consuming the original request. The repair reuses parent node/session validation, typed monotonic dispatch, connection registration and sealed response admission. The entire core tree is byte-identical to the child predecessor, and the entire network tree is byte-identical to the reviewed parent; all8text/privacy tests and6navigation-postcondition tests remain intact.All21 focused tests and full locked Rust1.97.1 formatting, all-target/all-feature check,workspace tests including5compile-fail doctests, strictClippy, warning-denying rustdoc,145Python contracts,compileall,CodeGraph and diff checks pass. Unchanged pinned nightly2026-08-01 coverage passes:1310/1310functions,13766/13766lines,17524/17524regions,1452/1452branches,each100%. Artifact
coverage-receipt-e3885f69.jsonSHA-256a06aebb7c2f30c153c3a3867f3b7847d9c485ae2db5ba2b23029ca0375e4ec79; experimental branch instrumentation warning retained.Independent read-only preservation review found no actionable findings, not counted approval. Actual in-app screenshot of the published new checkpoint verifies readable hashes, wrapping and full scope caveats without observed clipping or overlap. This is GitHub presentation evidence, not product-browser acceptance. Fresh CI
34068882527(Rust101582455954,coverage101582456074) and MV334068882439(job101582455624) are queued; no new-head hosted pass claimed.The child's rewritten issue-28/text/privacy dossier and parent's dated receipt history are both retained. This slice constructs bounded non-secret text commands; it does not implement typed text dispatch, dispatch-time text authority, policy authorization, browser authentication or causal page effects. Existing #267 is the next transport owner. Keep Draft pending parent-first protected integration, required checks/review and runtime/release acceptance. No force rewrite,workflow/ruleset/secret change,protected merge,tag or release.
Historical text-command checkpoints — evidence applies only to named heads
Current pointer-parent adoption — 2026-09-06
Exact head
eb6c236ff2f4a58b807a2f2c914bd1ddb6079fb3adopts current #2657147893c96ca95c9b5b275d8011c5bfe99aab065through ordinary merge5a722867, preserving original childcc9980c0and both contributor histories. Actual socket RED18a64573reproduced inherited foreign-session dispatch before adoption. Parent session provenance, current-node pointer authority, typed dispatch, deadline safeguards and all four restored postcondition tests are retained. Text-input source and all eight existing tests, including privacy-safe diagnostics, are byte-identical to the original child.This slice still constructs bounded non-secret text commands; it does not provide typed text transport, dispatch-time text revalidation, policy authorization or browser outcome proof. The existing #267 transport is the next dependent owner, not a reason to duplicate it here. CHANGELOG and the action-postcondition dossier explicitly separate these boundaries and historical observations.
Exact-head local verification
All 24 focused tests, complete locked Rust 1.97.1 workspace tests including doctests, formatting, all-target/all-feature check, strict Clippy and warning-denying rustdoc pass. All 145 Python contracts, compileall, CodeGraph sync and diff checks pass. Independent read-only preservation review found no actionable findings; this is not counted approval.
Pinned nightly2026-08-01 production coverage passes unchanged gates: 1309/1309 functions, 13749/13749 lines, 17512/17512 regions, 1452/1452 branches (each100%). Artifact
coverage-text-eb6c236f.json, SHA256596097f5545490f6a4bd29a7b718a61aeb43f0ef738e02a61f372232ecd64543. The unstable branch-instrumentation warning remains explicit; no exclusions or skipped security evidence.Hosted and visual boundary
Fresh actual Edge visual inspection completed on the published body and Checks page: exact head
eb6c236f, Draft state, readable wrapping and no observed clipping or overlap. CI34037184023 jobs101497284111/101497284304 and MV334037183844 job101497283496 are queued and match the API. This is GitHub presentation evidence only, not OriginWeave product-browser acceptance. Local GREEN is not hosted acceptance. Keep Draft pending parent-first protected delivery, required reviews/checks and real Chromium acceptance. No force push, protected merge, self-approval, workflow/ruleset/secret change, tag or release.Preserved historical report at cc9980c
Partial implementation of #28, stacked directly on PR #265 branch
fix/webdriver-bidi-pointer-click-node-authorityexact headffa70ee0f499b86ff51837fb95733fd5cf57ff89.Buyer-visible boundary
This slice implements node-bound WebDriver BiDi text input through one deterministic
input.performActionscommand. Construction revalidates the registry-issued browser session, exact browsing-context identifier, canonical origin, current document epoch, registry provenance, and admittedsharedIdbefore serializing any action. The command focuses the exact admitted element with an element-origin primary-button pointer sequence before emitting bounded keyboard key-down/key-up pairs. Text is non-empty, limited to 512 UTF-8 bytes, and rejects control, non-space whitespace, and reviewed Unicode format characters. This public typing path remains non-secret; secret material must use the separately governed broker/fill boundary.Test-first privacy repair
A current-source privacy defect was repaired test-first on this same canonical branch. At exact RED head
11ada2a54fc3f9fc3225e654670319bc5fa6f0b2, the new diagnostic regression causedRust contractsto fail atRun testsbecause derivedDebugexposed the complete serialized wire command, including buyer-provided typed text. The production repair replaces derivedDebugwith a metadata-only implementation retaining onlycommand_id, method, andtext_bytes; typed text, browsing-context identifiers, admitted node identifiers, and the serialized JSON payload are omitted. Wire serialization and authority checks are unchanged.The source repair first passed exact native CI and Manifest V3 evidence at
1958720a2f0f7e33e40bcea0073c486f37ad278d. That predecessor evidence is retained only as repair lineage and is not promoted to the current head.Canonical traceability repair
The same branch also refreshes
docs/traceability/action-postcondition-evidence.md, which had stale active-PR claims: it still named merged PR #44 as canonical owner, used an old protected-main baseline, treated merged PR #65 as active, and omitted the current #261–#266 WebDriver BiDi stack. The dossier now distinguishes protected-main fixture/evidence truth from active-stack evidence, names issue #28 as the owning product gap, records the current navigation/pointer/text authority stack, and preserves the non-transitive rule that protocol acknowledgement or serialization is not successful action completion.CHANGELOG.mdnow also records the node-bound non-secret text-input boundary and its privacy-safe diagnostic contract on the current head.Exact-current evidence
Current exact head is
cc9980c095577e968014908aeb7c9fda06e516f3against unchanged live baseffa70ee0f499b86ff51837fb95733fd5cf57ff89. GitHub reports the PR open, Draft, and mergeable.Exact native CI run
33452452534completed success on this unchanged head:99685153032: exact checkout, repository contracts, canonical formatting, workspace check, full tests, strict Clippy, and API documentation/rustdoc success;99685153215: exact owned-production function/line/region/branch measurement, diagnostics upload, and exact enforcement success.Manifest V3 Compatibility run
33452452537, job99685153070, also completed success on the same exact head.Fresh formal reviews and inline review comments are empty at the current exact-head sweep; no independent approval is claimed or inferred. Organization-required workflow results absent from the exact-head inventory remain absent evidence rather than passing evidence.
No predecessor, skipped, pending, cancelled, stale, synthetic, model-only, author-only, or status-only evidence is promoted to this exact head.
Stack / authority boundary
Keep Draft while #265 and its ancestors remain Draft. Protected-main
AGENTS.mdand the live organization ruleset remain authoritative. This scheduled writer does not merge, self-approve, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.