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
docs: update ROADMAP and design doc for Phase A completion, export defineInterface
- Export defineInterface from root index.ts (reviewer suggestion)
- Mark ROADMAP Phase A items as complete
- Update ROADMAP metrics (199 test files, 5468 tests, 177 schema files)
- Update Phase 1 deliverables with Interface/content elements
- Add defineInterface() to DX helper list
- Update design doc status from "Proposal" to "Phase A Implemented"
- Mark design doc Phase A checklist items complete
- Add decisions #6-8 to design doc decision log (PageSchema merge, SortItemSchema, branding extend)
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
| 3 | Phase sharing/embedding to v4.0 | Requires security infrastructure (RLS, share tokens, origin validation) that depends on service implementations in v3.x | 2026-02-16 |
645
648
| 4 | Keep `RecordReviewConfig` as part of `PageSchema` rather than a new view type | Record Review is a page layout pattern, not a data visualization (view). It combines record display with workflow actions. | 2026-02-16 |
646
649
| 5 | Support per-element `dataSource` instead of page-level-only binding | Critical for dashboards and overview pages that aggregate data from multiple objects | 2026-02-16 |
650
+
| 6 | Merge `InterfacePageSchema` into `PageSchema`| 7 of 9 properties were identical. Unified `PageTypeSchema` with 16 types (4 platform + 12 interface) eliminates duplication while preserving both use cases. `InterfaceSchema.pages` now references `PageSchema` directly. | 2026-02-16 |
651
+
| 7 | Extract shared `SortItemSchema` to `shared/enums.zod.ts`| Sort item pattern `{ field, order }` was defined inline in 4+ schemas (ElementDataSource, RecordReview, ListView, RecordRelatedList). Shared schema ensures consistency and reduces duplication. | 2026-02-16 |
652
+
| 8 |`InterfaceBrandingSchema` extends `AppBrandingSchema`| 2 of 3 fields (`primaryColor`, `logo`) were identical. Using `.extend()` adds only `coverImage`, avoiding property divergence. | 2026-02-16 |
0 commit comments