# Coaster World DATA — Ready for DATA

This document describes the final gate before any real catalogue population begins.

## Final audit

Run with all six construction locks closed:

```bat
php artisan cw:data:ready:audit
```

The audit creates a disposable isolated database, migrates and seeds it, then processes synthetic provider records through:

`provider registry -> normalization -> verified mapping -> staging -> proposals -> consensus/conflict -> canonical decision -> isolated canonical apply -> public API resource`

No external provider is contacted. The active DATA database is never selected for synthetic writes. The isolated database is removed after the audit and active table counts are compared before/after.

Expected result:

```text
Result: VERIFIED
Pilot gate: READY
```

## First real pilot

The first real pilot must remain deliberately small and manually reviewed.

1. Keep all six construction locks closed and take/replicate a fresh snapshot.
2. Enable only `DATA_PROVIDER_COLLECTION_ENABLED=true`.
3. Run one named provider collection for a small, explicit park set.
4. Review normalized staging, mappings, proposals and conflicts from the administration.
5. Keep provider schedules, population, canonical auto-apply, AI and research execution locked.
6. Only after review, prepare a separate canonical-write pilot with administrator-controlled writes.

Do not enable provider schedules or autonomous AI during the first pilot.

## Implemented pilot workflow in v0.5.0-dev.1

The manual phase-1 pilot gate is implemented by:

```bat
php artisan cw:data:pilot:discover "<park name>"
php artisan cw:data:pilot:collect --park=<PARK_ID>
php artisan cw:data:pilot:collect --stage --park=<PARK_ID>
php artisan cw:data:pilot:status --records
```

The staging command is accepted only when the Ready-for-DATA report is `VERIFIED/READY`, `DATA_PROVIDER_COLLECTION_ENABLED=true`, and the other five DATA locks remain closed. It never asks the proposal projector or canonical engine to write.

See `docs/FIRST_DATA_PILOT.md` before running the first real provider request.
