Commands live in backend/app/cli.py and share services with the HTTP API where noted.
| Mode | Command |
|---|---|
| Local (venv) | ./scripts/cli-local.sh --help |
| Docker | ./scripts/cli-docker.sh --help |
Run from repository root so paths and env files resolve correctly.
- Partial-accept ingestion of a PropFlux JSON array.
- Persists
ingestion_jobs,raw_listings,listings, andrejected_listings. - Prints
job_id, status, and valid/invalid counts.
- Runs
advanced_v2batch scoring intoscore_resultsfor the job’s listings.
- Dataset-level quality gates; persists validation row and writes
backend/output/job_<id>_validation.json.
- Analytics stage for the ingestion job (marks job analyzed).
- Exports scored job results to
output/.
- Summarizes rejection reasons for a job (
--top-fields,--sample-values).
Executes the same ranking path as POST /api/v1/rankings/query.
./scripts/cli-local.sh rank-query \
--dataset-source job:1 \
--strategy-preset rental_income \
--top-n 10Common options: --province, --city, --suburb, --price-min, --price-max, --property-type, --bedrooms-min, --bathrooms-min, --confidence-min, --page, --page-size, --weight-override signal=0.25, --output-json path.json.
./scripts/cli-local.sh listing-detail --run-id <run_id> --listing-id <id> --pretty./scripts/cli-local.sh profiles-list
./scripts/cli-local.sh profile-show --preset rental_income --prettyRuns scoring evaluation gates (promote/revert/experimental) per config/scoring.yaml thresholds.
Writes performance baseline artifacts under backend/output/ (includes API latency measurements where configured).
./scripts/migrate.sh
./scripts/cli-local.sh ingest backend/tests/fixtures/propflux/mixed_valid_invalid.json
./scripts/cli-local.sh score 1
./scripts/cli-local.sh validate-dataset 1
./scripts/cli-local.sh rank-query --dataset-source job:1 --strategy-preset rental_income --top-n 5Or use the bundled demo script: demo.md → ./scripts/demo-local.sh.
| Status | Meaning |
|---|---|
created |
Job created, not started |
processing |
Pipeline running |
completed |
All records valid |
completed_with_errors |
Partial accept |
analyzed |
Analytics stage done |
failed |
Fatal failure |