feat(core): observe typed-text postconditions without ambient script authority - #269
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 |
Record the active-stack authority boundary for the fixed text-value observation and keep its browser-I/O and outcome-verification limits executable in the documentation contract.\n\nCommit-Message-Assisted-by: Claude (via Claude Code) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Documentation-completeness repair on exact head
Hosted CI and MV3 checks for this exact head are queued. Predecessor-head runs remain historical only; the PR stays Draft behind #268. |
|
OriginWeave hourly writer acquires one bounded #269 PR-state/evidence-only slice at verified exact head Exact-current hosted evidence is already terminal GREEN: CI |
|
#269 PR-state/evidence writer RELEASED. Exact head remains |
|
Writer lease RELEASED — root task 01a06c0f-b427-7830-b654-9addcdfe7aff. Published/read back269head3df2a631bacd7109b3982fdd7ac599d0bd92a589 on268ff27220cb5eb4d11ca1dc5614a4181e1a397a3f1, Draft. Actual canonical socket RED658fb676 failed0/1 before ordinary mergef883fd6f;18focused tests,147Python contracts,compileall,fullRust1.97.1 formatting/check/tests incl5compilefail/strictClippy/rustdoc,CodeGraph/diff pass. Fixed observation implementation and8testfile byte-identical78543942; entire networkcrate matchesparent. Independent read-only review nofindings,notapproval. Coverage1338/14025/17843/1460all100percent; artifact coverage-parent-adoption.json SHA2561e203e6c0801bedbbcdbeb1be500b533a3d68e0ac842de221f7f470c5e742c66; unstablebranchwarning retained. CI34073733364 Rust101595772085/coverage101595772133 andMV334073733355 job101595772211QUEUED,notpassing. Actual isolatedEdge screenshots /tmp/pr269-dossier-3df2a631.png and /tmp/pr269-published-3df2a631.png inspected: readable exacthead/base,Draft,current/historical separation andevidence,no visibleclipping/overlap at1440px. Documentationpresentation only,notproduct-runtimeacceptance. PriorfullPRbody preserved/readback. Worktree/private/tmp/originweave-pr269-review.ejWpbF anduntrackedcoverage artifact retained; noactiveverification/browserprocess orwriter remains. Nextsafequeue238datedevidenceupdate then270parentadoption,statusreceipts,protectedfoundation. No force,workflow,ruleset,secret,approval,merge,tag orrelease mutation. |
|
Fresh exact-head receipt for Hosted acceptance is still incomplete, not failed product code: CI |
Current fixed-observation parent adoption — 2026-09-07
Published head
3df2a631bacd7109b3982fdd7ac599d0bd92a589adopts current #268ff27220cb5eb4d11ca1dc5614a4181e1a397a3f1through ordinary content-aware mergef883fd6f. Both histories remain intact. The fixed observation implementation and entire eight-test child file are byte-identical to78543942; the entire network crate matches the parent. No source copy, generic scripting surface or new authority is introduced.Actual RED
658fb676reused the canonical real-socket regression and failed because a click for registry session A was dispatched to foreign transport session B. After adoption, that regression and nine pointer/text response tests pass, together with all eight fixed-observation tests. The source remains a request-construction primitive: it neither performs I/O nor proves the field changed.Full Rust1.97.1 formatting, locked all-target/all-feature workspace check, complete workspace tests including five compile-fail doc tests, strict Clippy and warning-denied rustdoc pass. All147 Python contracts,compileall,healthy CodeGraph and diff checks pass. Production functions1338/1338,lines14025/14025,regions17843/17843 andbranches1460/1460 are100% covered. Artifact
coverage-parent-adoption.jsonSHA2561e203e6c0801bedbbcdbeb1be500b533a3d68e0ac842de221f7f470c5e742c66; the pinned nightly unstable branch warning remains explicit. Independent read-only review found no actionable findings, not formal approval.Exact-head hosted checks and actual visual inspection are tracked separately in the publication receipt. Keep Draft. Prior CI/MV3 success below applies only to its historical head. Descendant #270 needs its own content-aware adoption and fresh verification; response acceptance, observed values, authorized action completion, protected-main delivery and release evidence remain separate. No force, workflow, ruleset, secret, approval, protected merge, tag or release change.
Preserved predecessor evidence
Partial implementation of #28, still recorded against the historical #268 parent snapshot
8d4027e40b790d28d866051ba741db12927ec22c. Current exact #269 head is7854394266d3f292e779193c01413a34f6798d7c; keep Draft.Buyer-visible boundary
This Draft adds a fixed, sandboxed WebDriver BiDi
script.callFunctioncommand for observing the exact admitted text field after node-bound non-secret text input. It is deliberately not a generic JavaScript facility: the method, function declaration (node => node.value), sandbox, argument shape, andresultOwnershipare product-owned constants. Callers can provide only the command id plus already admitted browser/node authority.Construction revalidates the exact registered browser session, external browsing context, canonical origin, current document epoch, registry-issued node provenance, and exact admitted WebDriver BiDi
sharedIdbefore serialization. Cross-registry handles, stale document authority, changed origins, wrong external contexts, unadmitted node identifiers, and out-of-range command ids fail closed. The customDebugrepresentation omits browsing-context and node identifiers and the serialized wire payload.The command performs no I/O and is only an observation primitive. It does not authorize the preceding text-input action, prove transport success, accept model/page supplied script source, grant browser/policy/destination/secret authority, or establish buyer-visible post-condition success. A later transport/response boundary must independently correlate the remote result and compare the observed value with the intended non-secret text.
Test-first lineage
Exact RED head
a928037a89314bf9002762964b436f47fb3470aeadded a realistic admitted-node regression referencing the missing typed command and fixed constants before production support existed. The canonical branch then added the fixed command, authority/error contracts, public exports, hostile authority regressions, deterministic escaping, and privacy-safe diagnostics. Formatting and exact-coverage findings were repaired on this same branch rather than transferring predecessor evidence.Exact-current evidence
Exact current head
7854394266d3f292e779193c01413a34f6798d7cis open, Draft and mergeable. Repository-native CI33936879003is terminal success on this unchanged head:101226426137completed exact owned-production measurement, diagnostics upload and enforcement successfully.101226426297completed repository contracts, canonical formatting, workspace check, full tests, strict Clippy and API documentation successfully.Manifest V3 Compatibility
33936879026, job101226426179, is also terminal success on this exact head. The job enforced hardened-runner egress, downloaded the exact Chrome for Testing pair, executed the real MV3 compatibility fixture and uploaded bounded evidence.The documentation contract added at this same head also passed locally before publication: focused 1/1, complete Python suite 140/140, full Rust workspace tests/Clippy/rustdoc/formatting and
git diff --checkpassed. No formal independent approval is inferred from these checks.Current parent-convergence boundary
These exact-head GREEN results validate only the existing
785439...tree. The PR's recorded #268 base snapshot remains8d4027e40b790d28d866051ba741db12927ec22c, while live #268 has advanced toe567af9e678fd4791776df795e89ed666975e6c2. A fresh compare shows that live parent is 329 commits ahead of the recorded snapshot and the intervening parent delta touches command correlation, sealed received-message handling, type-text transport/response, registry/session provenance and related tests/docs.Accordingly this branch is not parent-converged. Do not perform an ancestry-only merge that preserves the stale child tree, and do not promote the current GREEN as evidence for a future restacked head. A source writer must later perform an ordinary content-aware non-force adoption of the released current #268 lineage, preserve this PR's fixed observation-command semantics, rerun realistic regressions, and regenerate exact-head CI/coverage/MV3 evidence.
Stack / authority boundary
Keep Draft while #268 and its ancestors remain Draft. Existing descendant #270 owns transport of this fixed observation command and cannot inherit this head's checks after any future parent convergence. No predecessor, skipped, queued, cancelled, stale, synthetic, model-only, author-only, or status-only evidence is promoted to another head.
Protected-main
AGENTS.mdand live GitHub governance remain authoritative. This scheduled writer does not merge, self-approve, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.