Migration smoke checks

Each check exercises a credential path end to end. The Hatchbox API can confirm an env var name exists; only these prove the value is right.

CheckStatusDetail
database not run
database_extensions not run
encoding not run
redis not run
worker_critical_queue not run
mailers_queue not run
smtp not run
storage not run
secret_key_base not run
env_presence not run
profile_env not run
release_phase not run
cron not run
local_disk not run

Machine-readable: GET /smoke/results?token=... returns every check as JSON, with a top-level ok. That is the endpoint the migration skill should be polling after a cutover.