## Summary - remove the dead legacy drift-computation path from `CompareBaselineToTenantJob` so the strategy-driven compare engine is the only execution path left in the orchestration file - tighten compare guard and regression coverage around strategy selection, strategy execution context, findings, gaps, and no-drift outcomes - fix the repo-wide suite blockers uncovered during validation by making the governance taxonomy registry test-double compatible and aligning the capture capability guard test with current unsupported-scope behavior - add the Spec 205 planning artifacts and mark the implementation tasks complete ## Verification - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests --stop-on-failure` - result: `3659 passed, 8 skipped (21016 assertions)` - browser smoke test passed on the Baseline Compare landing surface via the local smoke-login flow ## Notes - no Filament resource, panel, global search, destructive action, or asset registration behavior was changed - provider registration remains unchanged in `apps/platform/bootstrap/providers.php` - the compare path remains strategy-driven and Livewire v4 / Filament v5 assumptions are unchanged Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #235
35 lines
1.7 KiB
PHP
35 lines
1.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
it('keeps baseline capture/compare hashing on the InventoryMetaContract engine', function (): void {
|
|
$compareJob = file_get_contents(base_path('app/Jobs/CompareBaselineToTenantJob.php'));
|
|
expect($compareJob)->toBeString();
|
|
expect($compareJob)->toContain('CurrentStateHashResolver');
|
|
expect($compareJob)->toContain('compareStrategyRegistry->select(');
|
|
expect($compareJob)->toContain('compareStrategyRegistry->resolve(');
|
|
expect($compareJob)->toContain('$strategy->compare(');
|
|
expect($compareJob)->not->toContain('computeDrift(');
|
|
expect($compareJob)->not->toContain('->fingerprint(');
|
|
expect($compareJob)->not->toContain('::fingerprint(');
|
|
|
|
$captureJob = file_get_contents(base_path('app/Jobs/CaptureBaselineSnapshotJob.php'));
|
|
expect($captureJob)->toBeString();
|
|
expect($captureJob)->toContain('InventoryMetaContract');
|
|
expect($captureJob)->toContain('CurrentStateHashResolver');
|
|
expect($captureJob)->not->toContain('->fingerprint(');
|
|
expect($captureJob)->not->toContain('::fingerprint(');
|
|
|
|
$metaProvider = file_get_contents(base_path('app/Services/Baselines/Evidence/MetaEvidenceProvider.php'));
|
|
expect($metaProvider)->toBeString();
|
|
expect($metaProvider)->toContain('hashItemContent');
|
|
expect($metaProvider)->not->toContain('->fingerprint(');
|
|
expect($metaProvider)->not->toContain('::fingerprint(');
|
|
|
|
$identity = file_get_contents(base_path('app/Services/Baselines/BaselineSnapshotIdentity.php'));
|
|
expect($identity)->toBeString();
|
|
expect($identity)->toContain('InventoryMetaContract');
|
|
expect($identity)->toContain('hashNormalized');
|
|
expect($identity)->not->toContain('fingerprint(');
|
|
});
|