Smoke Tests
Automated Smoke Workflow
GitHub Actions runs SABLE Smoke on a weekday schedule and by manual dispatch. It requires these
repository secrets:
SUPABASE_ACCESS_TOKENSUPABASE_PROJECT_REFSUPABASE_DB_URL— the percent-encoded Postgres connection string for the project
The smoke workflow checks the remote migration list, function inventory, and the live auth gates
for asana-act and fathom-webhook.
Local Helper Tests
node --test sable-agents-demo/supabase/tests/*.test.mjs sable-agents-demo/web/tests/*.test.mjs
Expected: all tests pass.
Migration State
cd sable-agents-demo/supabase
supabase migration list
Expected: every local migration through the latest migrations/*.sql file is applied remotely.
Function Inventory
supabase functions list
Expected active functions include:
fathom-syncfathom-webhookasana-syncasana-actcalendar-acttoggl-syncdrive-synchubspot-synccalendar-sync
Auth Gate Check
Protected functions should reject anonymous requests:
curl -s -i -X POST https://fvngkfrmienkltuwtoxa.supabase.co/functions/v1/asana-act \
-H 'content-type: application/json' \
--data '{"approvalId":"00000000-0000-0000-0000-000000000000"}'
Expected: 401 from Supabase gateway for missing auth.
Fathom Webhook Gate Check
Unsigned requests should be rejected now that FATHOM_WEBHOOK_SECRET is set:
curl -s -i -X POST https://fvngkfrmienkltuwtoxa.supabase.co/functions/v1/fathom-webhook \
-H 'content-type: application/json' \
--data '{"recording_id":"smoke"}'
Expected: 401 with an invalid signature message.
Docs Build
cd sable-agents-demo/docs-site
npm run build
Expected: Docusaurus build succeeds with no broken links.