fix(core): reject disabled semantic-node actions - #101
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 |
…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>
|
Restacked non-destructively on PR #96 exact head |
Commit-Message-Assisted-by: Claude (via Claude Code) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Restacked non-destructively on exact current #96 |
Partial implementation of #28, stacked on current #96.
Current stack
Exact live prerequisite #96 is
b7ba8dd1433410cee43084a73e31816da841b2a2; exact #101 head isbc810b121bb0303f55afa8777a23cc0f9748c1db. 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 bySemanticNodeActionTargetand the disabled-action filter.Contract
SemanticNodeActionTarget::from_observationfails closed when the requested node-local action was not advertised or when an interactive action is already known disabled.ScrollIntoViewremains 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.