Skip to content

fix(core): revalidate semantic action against current observation - #102

Draft
seonghobae wants to merge 4 commits into
fix/semantic-node-disabled-actionfrom
fix/semantic-node-current-observation-revalidation
Draft

fix(core): revalidate semantic action against current observation#102
seonghobae wants to merge 4 commits into
fix/semantic-node-disabled-actionfrom
fix/semantic-node-current-observation-revalidation

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, stacked on exact PR #101 head bd75a43ddcd0a7afa4f032ecc2b930d742c3ece5.

Buyer/correctness gap

PR #101 prevents construction of an interactive semantic-node target from an observation already known to be disabled, but the resulting target can still outlive a later same-document semantic change. Before a trusted adapter uses that target, OriginWeave needs a bounded way to compare it with a freshly observed semantic node so a removed action, newly disabled state, or different node cannot silently reuse the old target.

Dependency

This Draft targets PR #101 branch fix/semantic-node-disabled-action and must remain Draft while #101/#96/#95/#93/#58/#57/#52/#40 remain active. No prerequisite check, review, status, mergeability, or coverage evidence transfers.

TDD / implementation

  1. Exact test-only head 992c346af20ee1882e03b8c7237a1f3d34b75c83 required SemanticNodeActionTarget::validate_current_observation to accept only the same exact node with the selected action still advertised and its current enabled-state contract still satisfied.
  2. Production now revalidates the exact OriginWeave-owned node handle first, then the selected supported action, then the current enabled-state requirement. A different same-authority node fails as typed ObservationAuthorityMismatch; a removed action remains UnsupportedAction; a newly disabled interactive node remains NodeNotEnabled; and non-enabled ScrollIntoView remains valid.
  3. Current exact head c751865412d5642357203f917f16c6c2bbd12324 also includes the focused regression coverage required by that public boundary.

Exact-head proof

On unchanged exact head c751865412d5642357203f917f16c6c2bbd12324 against unchanged exact prerequisite #101 head bd75a43ddcd0a7afa4f032ecc2b930d742c3ece5:

  • CI run 31554288115: success, including repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, rustdoc, and exact owned production function/line/region/branch coverage;
  • Manifest V3 Compatibility run 31554288335: success;
  • GitHub reports the Draft mergeable against its exact prerequisite base; and
  • no inline review threads are currently returned.

No predecessor-head or prerequisite result is transferred.

Truth boundary

This pure core slice does not observe Chromium, authenticate an adapter, decide when a DOM/AX mutation requires re-observation, rotate epochs, authorize policy, dispatch input, or prove a post-condition. A trusted runtime must supply the current bounded observation immediately before use; this method only prevents that newly observed state from being ignored after an older target was created.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 128ea126-6686-4b5c-bb93-f078975d6e58

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant