Deployment
Deploy this static site independently and understand portal runtime evidence.
Documentation site
Available. This marketing and documentation application is statically prerendered and can be built without the portal:
pnpm --filter @feedbax/site buildDeploy the generated static client directory at apps/site/.output/public to any CDN or static host. Configure unknown paths to serve the generated index.html fallback so client-side navigation and deep links continue to work. VITE_SITE_URL is optional; set it at build time to emit a canonical base URL.
Search runs entirely in the browser. The site does not need portal APIs, Notion credentials, or a long-running Node server.
Portal runtime evidence
Foundation only. The runtime spike passed SSR, server functions, server-only environment access, secure cookies, live Notion reads, cache/ETag behavior, validated mutations, sanitized errors, and secret-leak checks on Cloudflare Workers, Vercel Node, and Node 22/Docker.
Signed handoff uses Web Crypto through jose and the same standard Request/Response boundary on every deployment target. Production deployments require HTTPS because browsers will only retain the Secure session cookie over HTTPS. Configure authentication environment variables independently on each target and preserve previous session keys during rotation.
Notion predeploy gate
Run pnpm notion:doctor with NOTION_TOKEN and NOTION_DATA_SOURCE_ID in the deployment environment before releasing user traffic. Docker runs this check in its container command and refuses to start on failure. Local dev and start do the same.
For Cloudflare and Vercel, configure pnpm notion:doctor as a secret-bearing predeploy job before the deployment command. Do not move NOTION_TOKEN into a public build variable merely to make a credential-free preview build pass. The doctor exits nonzero on any misconfiguration; pnpm notion:doctor -- --json is suitable for CI logs and never contains the integration secret.
Provider builds and smoke evidence do not mean the product portal itself is complete.
Release gate
Planned for v0.0.2: verified production builds for the complete portal on Cloudflare, Vercel, and Docker. Netlify is Deferred until those targets are dependable.