feat(core): add typed semantic node query contract - #57
Draft
seonghobae wants to merge 17 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
This was referenced Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partial implementation of #28.
Buyer-visible boundary
This Draft adds
SemanticNodeQuery, a bounded typed selector over already-authority-validated semantic observations. Queries require at least one reviewed selector and support exact semantic role, exact accessible name, and requiredNodeActionKind; attacker-controlled selector text is bounded. Matching is descriptive only and grants no browser/action authority, CSS/XPath/raw-DOM selector surface, or arbitrary JavaScript capability.Live dependency / stack state
feat/semantic-node-observation: exact headadcafe10003cd92bb1e094b052b63c26a4f2bfcf;feat/semantic-node-query: exact head0300473ed3266bad63b25520327903fa509856bd;main:0841d2ab3d8b5e60a03c0a8e818cf438e2716829.After #52 advanced, #57 had become diverged from its live prerequisite. The current head non-destructively reconstructs the query-only child delta on the exact live #52 tree while preserving the intervening parent security tightening for bare hexadecimal-prefix hosts. Fresh comparison from exact #52 to #57 is ahead 17 / behind 0, with merge base exactly
adcafe10003cd92bb1e094b052b63c26a4f2bfcf. The child delta remains exactly four paths:CHANGELOG.md,crates/originweave-core/src/lib.rs,crates/originweave-core/src/semantic_observation.rs, andcrates/originweave-core/tests/semantic_node_query.rs. No predecessor evidence transfers.Exact-current evidence
On unchanged exact head
0300473ed3266bad63b25520327903fa509856bd:32665102536: success;97257174340: repository contracts, canonical formatting, locked workspace/all-target checks, full tests, strict Clippy, and rustdoc/API documentation success;97257174419: exact owned-production function/line/region/branch enforcement success, with all four dimensions at 100%;9499812314, uploaded ZIP SHA-256f5f6baed02c716c1e77386068a5d38ec40c0aa0d7f66c5fa4f7fe9afa0643ad6;32665102706: success;0300473ed3266bad63b25520327903fa509856bd;Only workflows actually returned for this exact feature-base head are passing evidence. SAST/Security and other absent protected-main workflows remain absent evidence, not passing. No independent approval is claimed or inferred.
Scope boundary
No browser I/O, action execution, capability grant, policy authorization, persistence, secrets, network authority, model execution, workflow mutation, or release claim is added. Keep Draft while #52/#40 remain active.
This scheduled actor does not merge, self-approve, alter workflows, add secrets, weaken checks, tag, or publish.