CI and documentation publishing
CI
.github/workflows/ci.yml runs on pull requests only (MAIL-209 / MAIL-210). Feature PRs and the preview→main promotion PR share one quality + docs path. Push to preview / main does not re-run the suite: the PR already gated the same change, and Vercel builds the live site.
- typecheck
- unit tests
- AI golden-set runner (
npm run ai:eval) - NFR release-gate suites (replay/privacy/restore/performance sample; see NFR release gates)
- package-boundary check
- production-mail fixture policy
migrate:ci(appliesdatabase/migrationstoDATABASE_URLor ephemeral PGlite and verifies current head, including MAIL-540016, MAIL-660017, MAIL-750018, MAIL-1750019, MAIL-1840020_apple_identity.sql, MAIL-2500021_icloud_imap_secret.sql,0022_icloud_move.sql, and0023_icloud_mailbox_writes.sql)- Next.js production build for
@inbox-agent/web(npm run docs:build)
ENABLE_SEND is false unless the process environment is exactly true. That default is tested for local, preview, production, and test.
Application and docs sites
GitHub Pages cannot publish this private repository. Duckbill™ is hosted on a dedicated Vercel project, inbox-agent-docs, linked to PlatypusDBA/duckbill (formerly inbox-assistant; GitHub redirects the old name). That project is not jasonkoch-io, platypus-software, or any other existing site.
The site is the Next.js app in apps/web (ADR 0007). Markdown in docs/ is rendered as documentation routes. Navigation is owned by apps/web/src/lib/docs-nav.ts. There is no MkDocs publisher.
| Branch | Publisher | Site |
|---|---|---|
preview | Vercel Git integration | https://duckbill-dev.jasonkoch.io |
main | Vercel Git integration | https://duckbill.jasonkoch.io |
.github/workflows/docs.yml is workflow_dispatch only. It does not run on push, so it no longer doubles the CI docs job. Use it for a manual site-build check. It does not publish GitHub Pages.
Vercel settings: framework nextjs, root directory apps/web, install cd ../.. && npm ci, build cd ../.. && npm run build -w @inbox-agent/web. Include files outside the root directory so docs/ and workspace packages are available at build time.
Kill switches
PAUSE_AUTOMATION and PAUSE_AI are default-off configuration keys. They do not enable send or delete.
Related
Operator deploy steps, host environment names, health probes, and rollback are in deploy and operate. The 04_MVP §11 evidence matrix is in MVP release checklist.
