# Crawl window: Extime Paris (CDG) fragments, after the Stream L chain deploys. Status: NOT STARTED

Drafted by Stream L on 15 Sep; rian runs it, on **bwlive**, when he opens the window. No stream
runs a collector. **No deploy to production inside this window** (a deploy recreates the app
container and kills the run; `deploy/production.sh` refuses while a collection runs).

## Why Extime, and why only Extime
Extime is the one stale shop that has not refused us: its 7,032-row crawl (run 115, 4 Sep)
predates `raw_records`, so 6,836 of CDG's 7,036 listings have no fragment and their listed
columns are NULL; the only run since was `collect --limit 200` on 11 Sep (run 147). Its
robots.txt permits the product paths at a 1.5 s floor; a full pass is about three to five hours.
The other five stale shops are not touched: heinemann-global, iceland-duty-free,
sydney-duty-free and bordershop-scandinavia were refused by their robots.txt on 23 Aug (runs 52
to 55: `Disallow /en/global/search/results`), `check_allowed` raises before the first request,
and policy says a host that refused is never contacted again (A16 owns the partnership ask);
dubai-duty-free answers 403 to our declared identity (verification check 396, 11 Sep) and
Decision 3 says no bypass, the ask at Cannes.

## Preconditions
- The Stream L chain is deployed (`alembic current` prints `b3c4d5e6f7a8`) and the after-deploy
  commands in `RUNBOOK.md` have run, so the fragments this run writes fill the listed columns at
  ingest.
- `pgrep -af app.cli` on bwlive shows nothing collecting; `.logs/runs/` has no open window.

## Commands, in order (rian, on bwlive)
```
ssh deploy@bwlive
cd /srv/apps/dutyfreeprofessor
docker exec dutyfreeprofessor-app python -m app.cli collect --source extime-paris 2>&1 | tee -a .logs/runs/extime-fragments-2026-09-15.log
# three to five hours at the 1.5 s floor; the log ends with the run's status line
docker exec dutyfreeprofessor-app python -m app.cli verify --n 20 --mode after_collection --source extime-paris
```
Then, on mosiah, once the nightly dump has pulled:
```
cd /srv/apps/dutyfreeprofessor
python3 main/scripts/staging-refresh.py --from backups/production/dfp-nightly-<next>.dump --check
python3 main/scripts/staging-refresh.py --from backups/production/dfp-nightly-<next>.dump
docker exec dutyfreeprofessor-app python -m app.cli backfill listed --check
docker exec dutyfreeprofessor-app python -m app.cli backfill listed
docker exec dutyfreeprofessor-app python -m app.cli suggest
```

## Record
- Started: (not started)
- Finished: (not started)
- Prices written / refused / verify verdicts: (not started)
