You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Server loaders/helpers create request-specific client stacks with headers; browser modules create browser stacks without headers. No server-created object or request header is serialized.
What to build
Migrate CLI/codegen templates, Next.js/React Router/TanStack generated projects, playground/example apps, E2E fixtures, registry source inputs and committed registry JSON to the completed #202 interfaces. Regenerate artifacts rather than hand-editing generated JSON.
Preserve intentional asymmetry: OpenAPI is backend-only, Route Docs is client-only, and UI Builder is client-only over CMS. Generated full-stack fixtures must validate backend/client ID agreement only where both halves exist.
Acceptance criteria
Next.js, React Router and TanStack generated projects use createBackendStack, createClientStack, one shared client runtime and inferred provider overrides.
No generated project repeats API/site/query configuration between client plugin factories and StackProvider.
Server framework helpers create a request-specific client stack with request headers; browser helpers create a separate browser-safe stack.
Framework page/layout helpers continue resolving and hydrating tri-state initialIdentity without provider-specific auth coupling.
Generated providers pass stack, router, optional app-owned BTST auth, initialIdentity and genuine plugin overrides; no manual override type map/generic or empty override block remains.
All generated programmatic IDs use camelCase while package import paths and URL slugs remain kebab-case where appropriate.
Backend factories use one options object with nested hooks and generated hook examples use the canonical lifecycle grammar.
Server examples use forRequest(request).operations, trusted and raw according to their trust contract.
Playground and internal examples compile and exercise the same canonical wiring rather than a private shortcut.
Registry generation is reproducible; regenerated committed artifacts contain canonical IDs/provider/runtime usage and no stale source snapshots.
Registry install/build tests pass for representative data, one-sided and composed plugins.
Fresh setup plus production build succeeds for all three generated frameworks; framework codegen E2E suites pass with the canonical route factories and hydration paths.
Client-bundle scans prove request headers, server auth, storage adapters and server-only modules do not enter browser output.
The minimal generated extension fixture proves a third-party backend/client plugin uses canonical definitions and inferred overrides without internal types.
This ticket does not require validation in better-stack-web or Bio Mogging; the user owns those post-publication RC3 validations.
Required verification
Build before tests on Node 22.
Run stack registry generation and registry install/build tests.
Run setup and production builds for Next.js, React Router and TanStack generated projects.
Run each framework-specific codegen E2E suite.
Run package typecheck and relevant client-bundle/auth-boundary assertions.
Parent
Target generated shape
All maintained generated consumers use only the canonical public path:
Server loaders/helpers create request-specific client stacks with headers; browser modules create browser stacks without headers. No server-created object or request header is serialized.
What to build
Migrate CLI/codegen templates, Next.js/React Router/TanStack generated projects, playground/example apps, E2E fixtures, registry source inputs and committed registry JSON to the completed #202 interfaces. Regenerate artifacts rather than hand-editing generated JSON.
Preserve intentional asymmetry: OpenAPI is backend-only, Route Docs is client-only, and UI Builder is client-only over CMS. Generated full-stack fixtures must validate backend/client ID agreement only where both halves exist.
Acceptance criteria
createBackendStack,createClientStack, one shared client runtime and inferred provider overrides.StackProvider.initialIdentitywithout provider-specific auth coupling.stack, router, optional app-owned BTST auth,initialIdentityand genuine plugin overrides; no manual override type map/generic or empty override block remains.forRequest(request).operations,trustedandrawaccording to their trust contract.better-stack-webor Bio Mogging; the user owns those post-publication RC3 validations.Required verification
Blocked by