Choose the smallest useful UI layer
PresentationRuntimeCore supplies shared transforms and defaults; React, Next and React Native packages supply host-specific rendering. The design-system and UI-kit packages provide reusable visual components. SurfaceRuntime adds surface composition, planners, overrides and role-aware resolution. Select the layer that matches the work: a table renderer does not require adopting an entire operating shell. Check the chosen package’s exact export and platform conditions before copying a component import from another host.
Resolve adaptation before rendering
The adaptive-experience entry maps a ResolvedAdaptiveExperience into DataView defaults such as view type, density, data depth and page size. The caller supplies already-resolved preferences, supported behavior, signals, constraints and overrides. Keep this resolution visible so an interface can explain why it changed. RoleMorph then provides a reusable way to resolve operating surfaces for different human or AI actors. An action’s visual presence should reflect the selected policy and capability state, while the execution boundary independently enforces that state.
Treat feature composition as a lifecycle
SurfaceRuntime’s feature-hub implementation validates and composes independent manifests. Installation is read-only; start is the explicit effect boundary. Calls must match declared capability, operation, port and policy. An allowed decision with obligations still requires fulfilled obligations and durable evidence. Optional missing ports degrade dependent capabilities, and teardown has defined compensation behavior. This makes lifecycle state a meaningful part of product UI: distinguish installed, available, started, degraded and unavailable behavior instead of rendering every registered item as usable.
Follow a practical path.
Map the host and renderer
Identify web versus native, the selected presentation package, design primitives and product shell. Use the documented bundler helper for that host where applicable, then inspect a maintained view that uses the same layer.
Trace one role-aware action
Follow the actor/context input through surface resolution to the visible action, then to the operation’s authorization path. Compare at least an allowed actor, a denied actor and a missing optional capability in the relevant fixture.
Check the interaction itself
Review keyboard access, focus, empty/error states and responsive layout alongside the contract behavior. A source-registered component or preview is useful evidence of an available implementation, but the selected browser/native experience still needs its own qualification.