Services

Evidence Refresh 2026 06 16


Evidence refresh — Assistance performance and Cloudflare hosting — 2026-06-16

Scope: read-only refresh against current repository files relevant to Assistance performance and Cloudflare hosting. Product code was not changed.

Files re-checked#

  • Existing reports: docs/hosting-inventory-2026-06-16.md, docs/performance-audit-2026-06-16.md, .docs/cloudflare-hosting-options-2026-06-16.md, docs/cloudflare-performance-recommendation-2026-06-16.md
  • Root/operator docs: README.md, CLAUDE.md, .docs/developer.md, .mise.toml, package.json, turbo.json
  • Cloudflare/app configs: apps/*/wrangler*, apps/*/open-next.config.*, apps/*/next.config.*, apps/manager/vite.config.ts
  • Infrastructure/build surfaces: podman-compose.dev.yml, podman-compose.yml, backend/Makefile

Current evidence still supports the completed reports#

  • Cloudflare deployment remains split between:
    • Pages: apps/www (apps/www/wrangler.toml, .next-build) and apps/manager (apps/manager/wrangler.toml, build).
    • Workers/OpenNext: apps/blog, apps/docs, apps/academy, apps/design-system, and apps/ui-library (wrangler.jsonc plus open-next.config.ts).
  • .mise.toml still centralizes Cloudflare operations through cf:build*, cf:deploy*, cf:release*, cf:health, and cf:index:search tasks.
  • Aggregate Cloudflare deploys still require CLOUDFLARE_API_TOKEN before app deploys because OpenNext Worker deploys populate KV incremental cache through Wrangler KV bulk APIs.
  • Production compose remains backend/infrastructure oriented: Postgres, Meilisearch, auth-api, billing-api, and academy-api; frontend production deployment is via Cloudflare tasks.
  • Dev compose remains local infrastructure and observability oriented: Postgres, Meilisearch, GoTrue auth, Mailpit, saas-api, Prometheus, and Grafana.
  • The runtime-proof artifact referenced by README.md (docs/runtime/S02-RUNTIME-PROOF.md) is still absent in this checkout (test -f ... returned exit code 1), so root runtime evidence remains a documentation gap.
  • Performance risks called out in the audit remain visible in current config: broad build concurrency, OpenNext/Worker bundle pressure, images.unoptimized on static/export surfaces, explicit manager chunking, and production builds that rely on separate typecheck coverage where build-time type errors are ignored.
  • One prior audit finding has changed: current read-only Turbo dry-runs for www build and test completed successfully (mise exec -- pnpm exec turbo run build --filter=www --dry=json and ... test ... both exited 0). The earlier Turbo crash should be treated as historical rather than current evidence.
  • Search of repo scripts/config found analyzer hooks for selected Next apps (ANALYZE, @next/bundle-analyzer) but no enforceable Lighthouse/Web Vitals/bundle-size/Worker-size budget gate in the task surface. The missing performance-budget gate remains current.

Gaps found in the refresh#

  • .docs/developer.md previously listed cf:build:learn, but current mise tasks expose academy-oriented tasks (cf:build:academy, cf:build:no-academy, cf:build:no-learn) and no cf:build:learn task. The developer task table has been corrected to match the current task surface.
  • find apps ... now also surfaces apps/admin/vite.config.ts and apps/studio/next.config.ts. No matching wrangler* or open-next.config.* was found for those apps in the inspected paths, and they are not part of the current Cloudflare release tasks. They should not be counted as Cloudflare-hosted surfaces without new deployment evidence.

Recommendation status#

No change to the existing recommendation: keep the current Cloudflare Pages plus Workers/OpenNext frontend topology and the self-hosted Go backend stack. Prioritize validation/documentation work before platform migration: restore or update runtime-proof evidence, add per-app Cloudflare build/Worker-size evidence, add Web Vitals or Lighthouse checks for representative routes, and correct stale task references in .docs/developer.md.