# Concelier Tenant Scoping ## Module Concelier ## Status IMPLEMENTED ## Description Tenant-scoped advisory data isolation with scope normalization and capabilities endpoint for multi-tenant Concelier deployments. Not in the known list as a Concelier-specific feature. ## Implementation Details - **Modules**: `src/Concelier/__Libraries/StellaOps.Concelier.Core/Tenancy/` - **Key Classes**: - `TenantScopeNormalizer` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Tenancy/TenantScopeNormalizer.cs`) - normalizes tenant scope identifiers for consistent isolation - `LinkNotMergeTenantCapabilitiesProvider` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Tenancy/TenantCapabilitiesEndpoint.cs`) - exposes tenant capabilities including LNM support - `TenantScopeException` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Tenancy/TenantScope.cs`) - exception for tenant scope violations - **Interfaces**: `ITenantCapabilitiesProvider` - **Source**: Sprint 0115 (batch_14/file_16.md) ## E2E Test Plan - [ ] Create advisories under tenant A and verify they are not visible to tenant B - [ ] Verify `TenantScopeNormalizer` normalizes different scope formats to a canonical form - [ ] Verify capabilities endpoint: query tenant capabilities and confirm LNM feature availability is reported - [ ] Verify scope violation: attempt cross-tenant access and confirm `TenantScopeException` is thrown