Repository navigation
fix(ui-sdk): disclose shared worker identity in strict capabilities - #1995
Merged
Merged
Conversation
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.
Refs #1677
What changed
Strict capability notes now tell the agent that its worker shares the server's uid and server-state protection is mask-only. Both ordinary profiles use the same disclosure, including the limit of read-only brain mounts. The governed note no longer implies that installing an as-yet-unimplemented identity helper changes the current boundary. The hosting guide describes the actual delivered state.
New native qualification covers both profiles with a configured database directory outside
/tmpand the default masks. A same-uid, mode-0600 unmasked control remains readable while database bytes are hidden; the original governed/strict write rules remain. The fixed Python payload runs through the actual worker argv in an explicitly denied network namespace. This qualifies existing no-helper masking, not native storage or a second-uid broker.Why this shape
This is the independently useful no-helper disclosure/qualification slice of #1677. Runtime status already reports
shared_uid, and operational-state masking already exists; strict agent capabilities omitted that exposure. No new UI, identity-helper variable, protocol frame or status-schema input is introduced. All broker implementation and integrated second-uid/lifecycle criteria stay on the open issue.Proof
SHARED_UID_DISCLOSEDon the original note; it executes the real note renderer and reports the missing sentence.SHARED_UID_DISCLOSED. Restored source passes.maskPathsat the common launcher boundary; both cases fail exactlyCONFIGURED_DATABASE_BYTES_UNREADABLEafter their positive control/ownership checks pass. Restored source passes. No product mask change is included.bun scripts/check-citations.ts: all 1,083 citations pass; moved note anchors are updated.bun scripts/check-changeset-packages.tsand fullbunx --no-install changeset status: valid manifests and pending plan, no major bump.bun run check:pr --base origin/main: 626 tests / 3,724 assertions pass with lint and affected fast gates.827f730739269e81a92546efd1827f6851678d6f, with immutable parents base838f05d2ff611c72bdea8405c46f2504dccb6f24and head673cf1e687ee110df239206f30466039c3750b88, treecc736dee0bceb909790da03237985df81a7ca502.1cc1b34a802f0894391b9bb445fed39fed610230through test(ui-react): await completion before snapshot assertions #1961: reconnect test/fixture acknowledgement changes and test-wait evidence only, with no worker identity/mask/native-harness change. This unrelated advancement does not require another base refresh; the PR receipts retain their actual older base/tree. The eventual main combined tree requires its own verification.Checklist
Anything left open
Refs #1677. The external supervisor/descriptor broker, optional host identity-helper input, narrow-helper authorization, genuinely different worker uid, retained private mounts/reader, lifecycle/signalling/death handling, private-file recovery, full negative controls and integrated mutation proof remain unimplemented and required on the issue. This PR does not deliver or enable them, qualify native storage, change masks or policies, or complete the parent issue. Production helper packaging remains downstream in the public hosting template. No package publication or deployment is part of this PR.