Problem
App Page metadata can select only framework-bundled renderers. The Studio registry has no supported way to discover or load an App-owned operational page. Apps that need an interaction beyond global Record forms and lists must fork Studio or add private framework code.
Required behavior
- Define a versioned App Page extension contract.
- Let an installed App declare its frontend entry point and renderer names.
- Load App assets through an explicit allowlisted mechanism with clear failure states.
- Provide permission-aware clients for Records, actions, files, and activity.
- Isolate renderer registration and reject name collisions.
- Define compatibility checks between the App bundle and Studio contract version.
- Keep global CRUD and report renderers framework-owned.
Acceptance criteria
- An installed App can provide a Page renderer without modifying framework source.
- Studio discovers and loads the renderer from App metadata.
- Missing, incompatible, or failed bundles show an actionable error and do not break Studio boot.
- The renderer cannot bypass server-side permissions.
- The contract and packaging workflow are documented for generated projects.
Problem
App Page metadata can select only framework-bundled renderers. The Studio registry has no supported way to discover or load an App-owned operational page. Apps that need an interaction beyond global Record forms and lists must fork Studio or add private framework code.
Required behavior
Acceptance criteria