Pipeline states
Every deployment moves through a typed state machine: CREATED, ANALYZING, QUEUED, BUILDING, UPLOADING, DEPLOYING, HEALTH_CHECK, READY — with typed failures ANALYSIS_FAILED, BUILD_FAILED and DEPLOY_FAILED. Each transition is recorded as an event; each stage writes structured logs.
What each stage does
ANALYZING re-prices the project against current provider price tables and routes it (lowest cost wins among compatible architectures). BUILDING validates the artifact built on your machine. UPLOADING persists it. DEPLOYING publishes through the provider adapter. HEALTH_CHECK performs a real HTTP request against the published URL — a non-2xx response fails the deployment instead of shipping something broken.
Reading failures
Failures carry the stage-typed status plus an error message, and the per-stage logs are available in the dashboard, via simdeploy logs, and via GET /api/v1/deployments/:id/logs (JSON by default, ?format=text for plain text).
Security model
Your code never executes on the platform's servers: builds run on your machine and only the output artifact is uploaded. Artifacts are validated before extraction — no symlinks, no path traversal, size and entry limits.