TenantAtlas/specs/437-exchange-comparable-promotion-slice-1
ahmido ff1a545c31 Spec 437: Exchange comparable promotion slice 1 (#504)
## Summary
- add Spec 437 package for Exchange comparable promotion slice 1
- add ExchangePowerShellComparablePayloadBuilder for normalized-payload-only comparable artifacts
- add focused Pest unit/feature coverage for comparable safety, determinism, redaction, and no product-surface promotion

## Validation
- cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent: PASS
- cd apps/platform && ./vendor/bin/sail artisan test --filter=Spec437 --compact: failed with Symfony Process signal 9
- cd apps/platform && php artisan test --filter=Spec437 --compact: PASS, 34 tests / 225 assertions
- git diff --check: PASS

## Product Surface / Deployment
- UI impact: N/A - no rendered UI surface changed
- Browser proof: N/A - no rendered UI surface changed
- Destructive/high-impact actions: none
- Assets: none; no filament:assets requirement introduced
- Deployment impact: no env vars, migrations, queues, scheduler, storage, assets, routes, jobs, listeners, commands, or Dokploy runtime behavior changes

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #504
2026-07-09 20:32:52 +00:00
..
checklists Spec 437: Exchange comparable promotion slice 1 (#504) 2026-07-09 20:32:52 +00:00
implementation-report.md Spec 437: Exchange comparable promotion slice 1 (#504) 2026-07-09 20:32:52 +00:00
plan.md Spec 437: Exchange comparable promotion slice 1 (#504) 2026-07-09 20:32:52 +00:00
spec.md Spec 437: Exchange comparable promotion slice 1 (#504) 2026-07-09 20:32:52 +00:00
tasks.md Spec 437: Exchange comparable promotion slice 1 (#504) 2026-07-09 20:32:52 +00:00