Loading
docs(oeg): F5 is resolved, reads are scoped by app provider
sequenceDiagram
participant B as Developer B (app_provider_id=bob)
participant OEG
participant DB as oeg_db
B->>OEG: GET /apps/{alice's appId}
OEG->>DB: record + the operation that created it
DB-->>OEG: operation.app_provider_id = alice
OEG-->>B: 404 (not 403, so IDs can't be probed)
B->>OEG: GET /apps
OEG-->>B: only bob's appsoeg/architecture.md F5 still says reads and deletes aren't tenant-scoped and that GET /apps lists every tenant's apps. That stopped being true with OEG 1cc2ac0 (2026-10-12, "enforce app_provider_id ownership on EAM and TI app references"). Apps, app instances, app deployments, QoD sessions and traffic influences all check the app_provider_id of the operation that created them.
On OEG develop (412f8cf), the 52 ownership tests in test_eam_service.py, test_qod_service.py and test_traffic_influence_flows.py pass, for example test_hides_another_providers_app, test_list_excludes_other_providers_resources and test_raises_not_found_for_another_providers_session.
Changes:
- F5 marked resolved and says what the scope is: the app provider (developer), not
tenant_id(organization). Two developers of the same organization don't see each other's resources until ownership moves to the organization, which ADR-0066 lists as later work. oeg/persistence-model.md: thetenant_idrows ofqod_sessionsandtraffic_influencesno longer claim to scope reads and deletes.
Docs only, no code change.