P0: carry delegated principal authority through the live WebSocket dispatch path #52
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
priority:P1
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/quasar#52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Consumer:
starintel-labs/starintel-infra#72Parent authority work: #50 / merged PR #51
Discovery
After merging #51, direct control-plane tests prove server-side principal isolation, but the live WebSocket path still calls
quasar.control-plane:submit-commandwithout passing the authenticatedws-connection-principalor delegated authority kind. That means the newly merged*command-principal*/*command-authority-kind*isolation context is not populated for actual WebSocket commands.Required fix
TDD-first, preserve current browser/worker behavior and add the smallest live transport propagation seam:
:delegated-userauthority kind;system.capabilitiesremains local to the WS boundary;submit-commandtests.TDD gate
Add a deterministic WebSocket-dispatch test or a narrow injectable transport-level test that first fails because
handle-text-messagedrops principal provenance, then passes only when the connection's trusted principal/authority is propagated intosubmit-command. Include a spoofedmetadata.principalcase proving client JSON cannot override trusted identity.Exit
Exact-head CI green; browser/default and worker sessions unchanged; delegated Auto-Dig live WebSocket dispatch reaches owner handlers with the authenticated human principal.
RAGE closeout: tests-first PR #53 observed RED on the intended four missing provenance assertions, then added only the live transport/session authority seam. Exact candidate
a345679d9c62e9479bef6053b254c3e47a448016passed full CI run32942185871: static/boundary checks, frontend tests/build, Common Lisp control-plane tests, realquasar-webload, dev-stack smoke, Playwright real-stack desktop/mobile/mutation/reload paths, and packaged production/security smoke. No reviews or unresolved threads remained. PR #53 merged with expected-head protection asc1e5439b4ae84af2ba069c4b3bd363e78aef702d.Result: live WebSocket command submission now uses only the server-registered connection principal + authority kind; delegated Auto-Dig sessions are tagged
:delegated-user, worker/default sessions stay internal, and same-workspace cross-user isolation is exercised through the transport seam. The separate trusted StarIntel credential -> delegated-session registration boundary remains #54.