Reference
Contracts
Stability policy and public contract boundaries for the Flashboard beta surface.
Stability policy
Flashboard currently exposes a beta contract surface.
Stable-intent layers
src/Contracts/*- route naming conventions under
flashboard.* - versioned screen payload envelope with
schema_version
Soft-stable layers
- builder implementations in
src/Core/*/Builders - runtime assembler internals
- layout payload details
Beta rules
- breaking changes are allowed until
1.0 - every breaking change must be documented in
CHANGELOG.md - payload schema changes must update
SchemaVersion - renamed contracts must include upgrade notes
Renderer contract
- JSON consumers should read
schema_version - Blade consumers should treat layout state, overlays, and notifications as public payloads
Public resource API
- resource configuration is split into dedicated surfaces:
table(),form(),detail(),infolist(),actions(), andpages() detail()remains supported andinfolist()is its concept-aligned alias- typed schema nodes are the preferred package-facing API for columns, fields, sections, tabs, filters, scopes, and entries
- legacy array definitions remain supported as a compatibility bridge during the DSL migration
- runtime consumers should depend on normalized payload output, not on ad hoc legacy keys
- resource-level
actions()andpages()are part of the same surface family and can be resolved through a shared resource surface model
Authorization contract
policy()opt-in on resources- ability maps for actions, fields, and relations
- page access through
canAccess()