<?php

declare(strict_types=1);

use App\Support\Artifacts\ArtifactSourceTaxonomy;

it('pins the provider-neutral artifact source inventories for spec 284', function (): void {
    expect(ArtifactSourceTaxonomy::sourceFamilies())->toBe([
        'finding',
        'stored_report',
        'evidence_snapshot',
        'inventory',
        'operation_run',
    ])
        ->and(ArtifactSourceTaxonomy::sourceKinds())->toBe([
            'model_summary',
            'stored_report',
            'operation_rollup',
            'inventory_projection',
        ])
        ->and(ArtifactSourceTaxonomy::sourceTargetKinds())->toBe([
            'managed_environment',
            'governed_subject',
            'provider_connection',
            'operation_run',
        ]);
});

it('does not introduce a detector catalog in spec 284', function (): void {
    expect(ArtifactSourceTaxonomy::hasDetectorCatalog())->toBeFalse()
        ->and(method_exists(ArtifactSourceTaxonomy::class, 'detectorKeys'))->toBeFalse();
});
