Ghaza Phase 6 verification
==========================

Scope: cumulative Laravel 13 overlay through Phase 6.

Static checks performed in the artifact environment:
- PHP syntax (php -l): PASS
- PHP files checked: 325
- Test PHP files present: 24
- Database migrations present: 13
- Named routes detected in overlay routes: 95
- Named route references in Blade views: 63
- Missing Blade named-route references: 0
- backup.sh shell syntax: PASS
- restore.sh shell syntax: PASS
- .github/workflows/ci.yml YAML parse: PASS
- deploy/docker-compose.production.example.yml YAML parse: PASS
- Generic consumer scan across reservation commands/listeners/portal/API/fulfillment: PASS

Phase 6 audience-specific coverage includes:
- ConsumerGroup / ConsumerProfile
- Employee profile + Staff RBAC separation
- MenuItemOffer per consumer group
- MealPlanOffer per consumer group
- audience price/capacity/deadlines/serving windows
- generic consumer wallet/accounting lines
- reservation consumer/group/offer snapshot
- group-aware reminders, deadlines, no-show and fulfillment
- group-aware reports/dashboard/MRP
- feature tests for independent student/manager offers and capacities

Important limitation:
The artifact is an overlay and does not contain a complete Laravel skeleton or Composer-installed vendor directory. Therefore php artisan test, Larastan/PHPStan, real migrations, Redis queues, and MySQL concurrency tests were NOT executed in this artifact environment. The included CI workflow is intended to run those checks after merging the overlay into the complete repository.

Production gate before release:
1. Merge overlay into a complete Laravel 13 repository.
2. Install dependencies in snippets/composer-require-phase3.txt, phase5, and phase6.
3. Rehearse Phase 6 migration/backfill against a production-size MySQL staging copy.
4. Run vendor/bin/pint --test.
5. Run vendor/bin/phpstan analyse.
6. Run php artisan test --parallel on MySQL.
7. Run tests tagged mysql-concurrency on an isolated MySQL database.
8. Run wallet/accounting and inventory reconciliation.
9. Rehearse backup and restore.
10. Run the k6 reservation-spike test with distinct consumer tokens.
