Skip to content

[presentation] Promote frontend and Workers packages with generated-app runtime smoke #941

Description

@kang-heewon

Priority

P1 - presentation runtime confidence

Problem

The frontend and Cloudflare Workers presentation surface remains alpha because package tests do not yet prove the generated-app runtime behavior users depend on: browser hydration, Vite output, Worker SSR, service-binding API routing, asset fallback, streaming response preservation, and env/context propagation.

Affected alpha packages:

  • @croco/frontend-react
  • @croco/frontend-vite
  • @croco/frontend-cloudflare
  • @croco/transports-cloudflare-workers

Evidence

Source of truth: trunk@9c2ac20.

  • docs/package-catalog.json:234-236 and 251 list these packages as alpha.
  • README.md:451 lists @croco/transports-cloudflare-workers as alpha with package tests.
  • README.md:458-461 lists all frontend packages as alpha with package tests.
  • packages/docs/src/content/docs/en/reference/presentation-runtime-support.md:8-10 says presentation packages can remain alpha when runtime smoke, output validation, diagnostics, or recovery paths are incomplete.
  • packages/docs/src/content/docs/en/reference/presentation-runtime-support.md:38-44 names the exact beta gates for frontend-react, frontend-cloudflare, and frontend-vite.
  • Generated API docs are missing for all four packages under packages/docs/src/content/docs/api/<package>/.

Desired Outcome

The presentation runtime packages can be promoted only when generated apps prove the production path for each claimed runtime, not just package-level helper behavior.

Proposed Implementation Path

  • Add generated-app smoke for a fullstack profile that uses frontend-react, frontend-vite, frontend-cloudflare, and transports-cloudflare-workers together where applicable.
  • Prove browser hydration and page data flow for frontend-react.
  • Prove Vite config generation, optional Cloudflare peer behavior, browser build output, and SPA/meta-vite generated app build for frontend-vite.
  • Prove Worker SSR, service-binding API routing, asset fallback, streaming preservation, env/context propagation, and clear failure behavior for frontend-cloudflare.
  • Prove Worker request context bridge and published type surface for transports-cloudflare-workers.
  • Add diagnostics/readiness or documented recovery paths for unsupported runtime capabilities.

Acceptance Criteria

  • Generated-app smoke fails if hydration, page data flow, API routing, asset fallback, or Worker context propagation regresses.
  • Streaming claims are backed by tests that assert response body preservation.
  • Optional Cloudflare peer behavior is covered without requiring Cloudflare credentials in default CI.
  • Package READMEs link to the smoke evidence and document unsupported runtime paths.
  • Generated API docs exist or tracked short-lived exceptions are recorded before promotion.

Validation

  • pnpm --filter @croco/frontend-react test
  • pnpm --filter @croco/frontend-vite test
  • pnpm --filter @croco/frontend-cloudflare test
  • pnpm --filter @croco/transports-cloudflare-workers test
  • pnpm create-croco-app:smoke
  • pnpm package-entrypoints:smoke
  • pnpm docs:catalog:check

Scope Boundaries

  • Do not promise durable Worker ISR unless a Worker-safe durable cache adapter is supplied and tested.
  • Do not require live Cloudflare deployment in default CI.
  • Keep generated-app smoke deterministic and zero-credential by default.

Metadata

Metadata

Assignees

Labels

P1Priority 1 issueadapterExternal framework, runtime, and provider adaptersdeploymentDeployment recipes and runtime operations guidanceenhancementNew feature or requesttestingTesting utilities, harnesses, and verification workflows

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions