Skip to content

fix(core): reject disabled semantic-node actions - #101

Draft
seonghobae wants to merge 19 commits into
feat/semantic-node-dispatch-revalidationfrom
fix/semantic-node-disabled-action
Draft

fix(core): reject disabled semantic-node actions#101
seonghobae wants to merge 19 commits into
feat/semantic-node-dispatch-revalidationfrom
fix/semantic-node-disabled-action

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, stacked on current #96.

Current stack

Exact live prerequisite #96 is b7ba8dd1433410cee43084a73e31816da841b2a2; exact #101 head is bc810b121bb0303f55afa8777a23cc0f9748c1db. The branch was advanced by a non-force merge after rechecking both refs. Its parent-relative core surface includes the bounded semantic-observation foundation required by SemanticNodeActionTarget and the disabled-action filter.

Contract

SemanticNodeActionTarget::from_observation fails closed when the requested node-local action was not advertised or when an interactive action is already known disabled. ScrollIntoView remains selectable because scrolling does not require enabled state. This retained observation is descriptive: it does not prove current Chromium state, authenticate the observation source, or grant dispatch authority. Fresh trusted observation and registry-owned revalidation remain later boundaries.

Exact-current evidence

At exact head bc810b121bb0303f55afa8777a23cc0f9748c1db, a test-first documentation RED established the missing non-transitive boundary. Local verification passed 144 Python contracts; locked Rust format, check, all-target tests, strict Clippy, and rustdoc; exact 100% production function, line, region, and branch coverage. Hosted exact-head checks remain non-passing until terminal success.

Keep Draft while #96 and its upstream stack remain active. No self-approval, force-push, destructive rebase, workflow/ruleset/secret mutation, gate weakening, release, or predecessor-evidence transfer is authorized.

@coderabbitai

coderabbitai Bot commented Aug 12, 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.

…lidation' into codex/restack-pr101

Signed-off-by: Seongho Bae <me@seonghobae.me>

# Conflicts:
#	crates/originweave-core/src/lib.rs
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
…lidation' into codex/restack-pr101

Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Restacked non-destructively on PR #96 exact head 9117aabd60f1504018f5a3393bfefb369395884c; new exact head is 5ebdbf519bf71bbf1ee115beb49e12538a23434e. The semantic diff is unchanged. Local verification: 139 Python contracts; fmt; strict Clippy; rustdoc; full locked workspace tests; and, from a fresh detached worktree at this exact commit, workspace LLVM function/line/region/branch coverage all pass at 100%. The reused worktree retained incompatible instrumented crate hashes even after llvm-cov clean; the clean worktree disproved a source coverage regression.

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

Copy link
Copy Markdown
Contributor Author

Restacked non-destructively on exact current #96 b7ba8dd1433410cee43084a73e31816da841b2a2; new #101 exact head is bc810b121bb0303f55afa8777a23cc0f9748c1db. A test-first documentation RED now preserves that known-disabled interactive actions fail as NodeNotEnabled, ScrollIntoView remains selectable, and retained observation state is neither current Chromium proof nor dispatch authority. Local exact-head verification passed 144 Python contracts, all locked Rust gates, and exact 100% production function/line/region/branch coverage. Hosted checks remain pending and are not claimed as passing.

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

Labels

bug Something isn't working priority: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant