Files
will.anderson cac7bd5727
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m52s
test: full Playwright + API test suite for stage
159 tests across three Playwright projects (api, chromium, mobile):
- tests/api/security.test.ts: security headers, CORS on /api/supabase-config
  (origin allowlist enforced), auth gate on /api/demo, Stripe webhook
  signature enforcement, source file leakage, path traversal, input
  validation (8000-char message cap)
- tests/api/endpoints.test.ts: /api/health, /api/founding-count shape
  invariants, /api/supabase-config JWT shape, sitemap.xml, robots.txt,
  /llms.txt, /api/soul-health internal gate, 404 for unknown routes
- tests/e2e/landing.spec.ts: title, h1 count, meta description, OG tags,
  canonical (no stage leak), JSON-LD schema, demo widget DOM presence,
  JS error filtering (known GTM/CSP noise excluded)
- tests/e2e/seo.spec.ts: per-page title patterns, noindex on checkout,
  canonical URLs, sitemap production-URL enforcement
- tests/e2e/checkout.spec.ts: all three plan variants, auth section, payment
  element, canonical
- tests/e2e/chat.spec.ts: widget DOM structure, auth gate (send button
  disabled without session), API-level auth rejection
- tests/e2e/navigation.spec.ts: all public routes return 200, 404s for
  removed/old paths (/terms, /enterprise-terms, /gallery), static files

All 159 pass against stage. CI step added to stage.yaml after smoke test.
2026-05-11 00:28:33 -05:00

49 lines
1.3 KiB
Plaintext

.env
# Build output dir. Hand-written sources under dist/ are explicitly
# un-ignored at the bottom of this file - those must travel with the
# repo so future builds can re-produce a working image.
dist/*
.el/
src/*.elc
src/*.elh
src/*.html
src/*.map.json
# Compiled client-side JS (generated by elc --target=js at build time).
# The El sources live in src/js/; the compiled output is never committed.
dist/js/
# El JS runtime staged temporarily during build (auto-cleaned by build-stage.sh).
src/js/el_runtime.js
# Old extracted JS assets (replaced by elc-compiled dist/js/).
src/assets/js/
# Track hand-written source under dist/ that is NOT generated by elc.
# These are the C stub shims and entry scripts the Dockerfile.stage COPYs
# into the image; without these the build cannot produce a working
# binary. Generated artifacts (main.c, main-combined.el, binaries) stay
# ignored.
!dist/web_stubs.c
!dist/vessel_stubs.c
!dist/soul-demo.c
!dist/page_close.c
!dist/page_css.c
!dist/page_ga.c
!dist/page_schema.c
!dist/elhtml_impl.c
!dist/entrypoint.sh
!dist/engram-snapshot.json
!dist/Dockerfile.soul-demo
!dist/k3s-soul-demo.yaml
# Build artifacts produced by the soul-demo packaging step in build-stage.sh
dist/soul-demo
dist/soul-demo-snapshot.json
dist/soul-demo-image.tar
# Playwright
node_modules/
test-results/
playwright-report/