Authorize feature flag management across app-local organizations - #2824
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Code Review Summary
This incremental update partitions org-directory cache entries by includeDirectoryApp, preserving the explicit whole-fleet contract for Analytics while keeping legacy self-filtered callers isolated. The prior cache-mode finding was verified fixed and its thread was resolved. Focused review agents found no new actionable issues across directory headers and MCP callers, JTI replay protection, domain-based authorization, route compatibility, or the responsive Feature Flags panel.
The overall approach remains sound for the high-risk cross-app authorization change: the receiver maps verified domains to local organizations, delegated mutations consume one-time JTIs, and local feature-flag administration remains available without a domain. Focused suites reported 100–103 passing tests across the changed areas.
🧪 Browser testing: Attempted after this review, but Chrome MCP tools were unavailable; the 768px and 1280px Feature Flags layout cases remain environment-limited.
Problem
Workspace administrators manage feature flags for the app fleet from Analytics, but each hosted app owns a separate organization table. Analytics was sending its own local organization ID and receivers treated that foreign database ID as authorization scope, so legitimate administrators appeared forbidden. Dispatch was also missing from the fleet despite owning
desktop.workspace-sso.This is a separate feature-flag infrastructure repair. It does not alter OAuth custody or widen OAuth Foundations PR #2602.
What changed
token-generation,timeout,network, andtarget-execution.Safety
There is no destructive migration or backfill. Generic non-flag A2A callers remain compatible. A receiver without the verified domain mapping fails closed; sender roles are never trusted; v1 or wrong-domain acknowledgments are rejected.
Verification
builder.test.network/timeoutstates without leaked response bodies or secrets.Review focus