## Outcome Provide portable typed Surface contracts and a minimal open-source Flutter shell that renders them consistently. ## Acceptance criteria - [ ] Support standard layouts, text, buttons, forms, tables, pages, navigation, validation, loading states, and error states. - [ ] Define typed actions. - [ ] Enforce single-writer ownership. - [ ] Support slots and contributions. - [ ] Require a portable fallback for every Surface. - [ ] Pass adapter contract tests. - [ ] Keep native bootstrap code minimal. ## Non-goals - Building feature logic into the shell or requiring platform-specific renderers.
Outcome
Provide portable typed Surface contracts and a minimal open-source Flutter shell that renders them consistently.
Acceptance criteria
Non-goals