map(fn (string $file): string => file_get_contents($file) ?: '') ->implode("\n"); expect($content) ->not->toContain('tenant_configuration.m365_capture') ->not->toContain('ProviderV1') ->not->toContain('LegacyAdapter') ->not->toContain('fallback_reader') ->not->toContain('dual_write') ->not->toContain('namespace App\\Services\\TenantConfiguration\\Entra') ->not->toContain('namespace App\\Services\\TenantConfiguration\\Exchange') ->not->toContain('namespace App\\Services\\TenantConfiguration\\Teams') ->not->toContain('namespace App\\Services\\TenantConfiguration\\SecurityCompliance') ->not->toContain('Http::'); foreach ([ 'policy_record_missing', 'foundation_not_policy_backed', 'meta_fallback', 'ambiguous_match', 'raw_gap_count', ] as $legacyOutcome) { expect(CaptureOutcome::values())->not->toContain($legacyOutcome); } });