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
Complete the contract phase of #202 after every maintained consumer is migrated. Remove all temporary expansion bridges and prove the final public surface across every built-in plugin, generated framework and package artifact.
Remove, rather than deprecate indefinitely:
temporary stack and createStackClient aliases;
legacy client definitions that capture shared API/site/query/header runtime;
stale unqualified/ignored client baseURL or basePath fields;
canonical-path StackProvider.api, StackProvider.basePath, manual override generics/maps and other duplicated runtime props;
legacy plugin name/registration-ID fallbacks and kebab-case programmatic built-in IDs;
positional/flat backend factory forms;
old client/backend lifecycle callback spellings;
ambiguous stack.api, stack.internal and forRequest(request).api server namespaces.
Do not remove kebab-case package export paths or URL slugs.
Required all-plugin audit
Commit a completed matrix with focused evidence for:
Plugin
Required final evidence
AI Chat
aiChat; model/mode/tools preserved; public/authenticated parity; unified runtime and hooks
formBuilder; form/submission lifecycle and runtime parity
Kanban
options object; user search/resolution; board/column/task lifecycle and runtime parity
Media
storage/tenant server boundary; upload lifecycle; no secret leakage; unified runtime
OpenAPI
openApi; intentional backend-only behavior and schema output
Route Docs
routeDocs; intentional client-only behavior and relevant site/runtime inheritance
UI Builder
uiBuilder; intentional client-only-over-CMS composition and inferred component overrides
Consumer fixture
third-party factory/definition, stable ID and inferred overrides without internal types
Acceptance criteria
Only createBackendStack and createClientStack remain as public stack constructors; legacy aliases are absent from runtime, exports and declarations.
Canonical client configuration has one real source of truth for API, site, query client and optional per-request headers; no accepted-but-ignored field remains.
SSR loader, metadata, sitemap, SSG, hydration, browser query/mutation and provider observations agree for every applicable client plugin.
Same-origin path override, complete endpoint replacement and cross-origin sensitive-header isolation pass through public seams.
StackProvider infers override keys/values from its client stack and preserves router/auth/notify/i18n plus tri-state initialIdentity without duplicated API/site wiring.
Programmatic IDs match the canonical ten-ID list everywhere; registration mismatch/duplicates fail; package/URL slugs remain independently correct.
Every backend plugin follows the one-options-object/nested-hooks contract and all lifecycle callbacks follow the documented grammar.
Parent
What to build
Complete the contract phase of #202 after every maintained consumer is migrated. Remove all temporary expansion bridges and prove the final public surface across every built-in plugin, generated framework and package artifact.
Remove, rather than deprecate indefinitely:
stackandcreateStackClientaliases;baseURLorbasePathfields;StackProvider.api,StackProvider.basePath, manual override generics/maps and other duplicated runtime props;name/registration-ID fallbacks and kebab-case programmatic built-in IDs;stack.api,stack.internalandforRequest(request).apiserver namespaces.Do not remove kebab-case package export paths or URL slugs.
Required all-plugin audit
Commit a completed matrix with focused evidence for:
aiChat; model/mode/tools preserved; public/authenticated parity; unified runtime and hooksformBuilder; form/submission lifecycle and runtime parityopenApi; intentional backend-only behavior and schema outputrouteDocs; intentional client-only behavior and relevant site/runtime inheritanceuiBuilder; intentional client-only-over-CMS composition and inferred component overridesAcceptance criteria
createBackendStackandcreateClientStackremain as public stack constructors; legacy aliases are absent from runtime, exports and declarations.StackProviderinfers override keys/values from its client stack and preserves router/auth/notify/i18n plus tri-stateinitialIdentitywithout duplicated API/site wiring.forRequest(request).operations,trustedandrawwith post-[v3 auth] Remove RC authorization paths and publish the v3 contract #193 authorization/validation/lifecycle semantics intact.better-stack-weband Bio Mogging RC3 validation begins after publication under user ownership.Authorization regression requirements
trustedskips user authorization only;rawis explicitly outside operation composition.initialIdentityremains request-hydrated and tri-state in all three framework helpers, with no caching added.Blocked by