Repository navigation
docs(iam): WS event org filtering — intent, spec, plan (#3679) - #3683
Draft
olafkfreund wants to merge 24 commits into
Draft
olafkfreund wants to merge 24 commits into
olafkfreund wants to merge 24 commits into
Conversation
Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…eys (#312) Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…312) Codex spec review: /ws/events broadcast/user scopes and TFactory's feed do not filter by org for any principal, so 'never more than REST' was not enforceable without a routing rewrite. State the enforceable boundary and name the pre-existing gap. Re-approved unseen by user 2026-11-07, bulk run. Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
#312) Reuse the REST principal builders, cover the rmux caller, independent WS exception policy, delivery-level org test, name the unfiltered paths. Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…-keys (#312) Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Deviation found by the final Opus review: keys are org-bound at mint, so membership in many orgs does not widen the cockpit's view. Refs #312 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…ltering (#3679) TFactory lacks the #312 narrowing too; relay is Redis/Postgres/local per factory; initiating-user option for auth events; revocation question; softer compat wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…-filtering (#3679) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run wave 2. Owner decisions recorded in the previous commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…ering (#3679) Single delivery predicate (key org wins over org_ids), legacy broadcast relays filtered, service-initiated logins, key sockets fail closed on user events, notify_org org override, emitter-level tests. Shadow-mode question pending owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…ent-org-filtering (#3679) JWT sockets follow REST mode (AIF strict; PF/TF strict only with RBAC_ENFORCE_TASK_ROUTES); key sockets always strict; flag test added. Residual: PF/TF shadow mode JWT users still receive unresolved events. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run wave 2. Shadow-mode design choice (option A) made by the user 2026-11-07. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…ering (#3679) Endpoint-level and same-socket flag tests, cache/notify_org/raising-validator cases, absolute venv paths for worktrees, honest TF scope and rollback. agy findings checked against code: all refuted (see PR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
Approved unseen by user 2026-11-07, bulk run wave 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
…ltering (#3679) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1
This branch has not been deployed
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.
Intent, spec and plan for #3679: org filtering on the
/ws/eventsfeeds in AIFactory, PFactory and TFactory.What I measured: none of the three factories has a caller of
send_to_org, so every/ws/eventsevent was broadcast to every org.The user decided (2026-11-07):
acw_keys every 5 minutes;acw_key sockets are always confined to their org, and JWT sockets follow each factory's REST mode.Reviews:
Status: draft. Implementation was stopped by the user at the 16:01 deadline; see "Stopping point" in the plan. It builds on Factory#3680 (this branch is cut from it), so merge after it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WtDyDqabJ8SR4gD3ubwYx1