CLI command
spis crawl
Coordinate every Spis crawl family through Stado and Weles, retain durable run state, and import only explicit evidence.
Start#
spis crawl start [--catalog <slug> ...] [--record <slug>] [--host <target|engine=target|catalog=target>] [--admission-url <url>]Before submitting anything, Spis validates every selected family as a complete batch: it must be non-empty, every record must match an attributable HTTP(S) source, pricing entries must be category pricing with a pricing/plans URL, and landing entries must be category landing. Host placement comes from the Stado registry unless explicitly overridden.
Status#
spis crawl status [--run <run-id>] [--record <slug>]Refreshes each Stado job by ID. A terminal successful job is downloaded and imported idempotently, then verify-reference-evidence --apply and generate-example-catalogs run automatically. The one-line JSON result distinguishes queued, running, pending review, failed, partial, imported and per-record complete/partial/missing states. A catalog's state follows from its records' and the run's from its catalogs' by one rule: work still moving wins, in the order running, cancel_pending, pending_review, queued (also submitting and preflight_passed), planned (also preflighting); otherwise imported when every attempt is imported, completed when every attempt is completed, uploaded or imported, partial when at least one delivered or partially delivered, and failed when none did. A catalog's failure_counts counts its records in each failed state (unavailable, preflight_failed, submission_failed, lost, failed, cancelled, partial). A state the run file holds that Spis does not declare leaves the catalog or run with no state and the diagnostic undeclared_crawl_state naming the value; continuing, cancelling or importing a record whose state is missing or not declared is refused naming the value. A Stado job that answers without a state leaves its record's state as it was, with the diagnostic stado_job_state_unreported naming the job.
Resume#
spis crawl resume --run <run-id>Retries failed Stado jobs by job ID and resubmits a refused submission from the exact retained argv. A partial import is never changed back to queued.
Import#
spis crawl import --run <run-id>Downloads canonical archives and Weles recording URIs through Stado. Canonical semantic fields are populated only from explicit engine observations; absent cancellation, failure, recovery, journey, accessibility or motion semantics remain measured gaps.