feat(extension): identify reduced-assurance attached tabs - #83
Draft
seonghobae wants to merge 17 commits into
Draft
feat(extension): identify reduced-assurance attached tabs#83seonghobae wants to merge 17 commits into
seonghobae wants to merge 17 commits into
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 11, 2026
This was referenced Aug 11, 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 #27, stacked on live PR #82 (
feat/native-messaging-host-authority).Buyer/security gap
Issue #27 requires attached human-tab sessions to be identified as reduced-assurance when existing extensions can influence page state. The extension/native-host authority work separates Chromium extension permissions and native-host grants from OriginWeave Agent capability, but protected main has no typed classification for the weaker assurance of an attached human tab whose page state can be modified by existing extensions.
Current dependency / stack state
The independently resolved live prerequisite is exact #82 head
c639cd78e3acad235be4cbbfdef67b84ce7ddbfa. Current exact #83 head is2412fb1f7eefd61f4e71985ece378a5604ac77b6.Another actor already reconciled this child after #82 moved; this scheduled writer inspected and adopted that current topology instead of racing it. Fresh exact comparison reports ahead 17 / behind 0, with merge base exactly
c639cd78e3acad235be4cbbfdef67b84ce7ddbfa. No prerequisite/predecessor check or review transfers. Keep Draft while #82 remains active.Test-first implementation and correction
The original test-only head
eeec42404d2b2135f5550e1fbc71456594d513c2established the missing reduced-assurance classifier before production implementation.A later API-truth audit found that the public variant name
NoExtensionInfluenceoverstated what the documented boundary could prove: absence of trusted positive evidence is not proof that extensions are absent or unable to interfere. Exact correction test-only head292736fc8a697292e4ec49224b4c43f673ac1de9therefore required the uncertainty-safe public nameNoKnownExtensionInfluence. CI run31489921146, Rust contracts job93773720465, passed repository contracts and formatting and then failed at the workspace check as intended because production still exposed the old variant.The production classifier returns
ReducedAssuranceReason::AttachedTabExtensionInfluenceonly when both facts are present: the control surface is an attached human tab and trusted adapter evidence says an extension can influence page state.NoKnownExtensionInfluenceand isolated profiles are not labeled by this specific reduction rule.Current exact-head evidence
On unchanged exact head
2412fb1f7eefd61f4e71985ece378a5604ac77b6against exact prerequisitec639cd78e3acad235be4cbbfdef67b84ce7ddbfa:32026567690: success;95377095086: repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc success;95377094947: exact owned-production function/line/region/branch measurement and enforcement success;32026567744: success;Security/SAST/central OpenCode/Noema/Strix gates not generated for this stacked feature-base head are absent, not passing. Skipped formatting-diagnostic helpers are not promoted as success. No predecessor-head, prerequisite-head, synthetic-merge, queued, pending, skipped, cancelled, absent, stale, status-only, or model-only evidence is promoted as current proof.
Truth boundary
The API records one specific reduction reason.
NoneandNoKnownExtensionInfluencemust never be interpreted as proof of full trust, extension absence, inability to interfere, or high assurance. This lane does not detect installed extensions, inspect Chrome policy, prove extension absence, attach to a real browser, grant Agent authority, execute actions, or replace the separate managed-extension/native-messaging boundaries. A future trusted Chromium adapter must supply the attachment and extension-influence evidence.This PR does not close #27. Passing automation is not independent approval, and this scheduled actor does not merge or self-approve.