Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 87 additions & 13 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# ObjectStack Mobile — Roadmap

> **Date**: 2026-02-13
> **SDK**: `@objectstack/client@3.0.0`, `@objectstack/client-react@3.0.0`, `@objectstack/spec@3.0.0`
> **Date**: 2026-02-22
> **SDK**: `@objectstack/client@3.0.9`, `@objectstack/client-react@3.0.9`, `@objectstack/spec@3.0.9`
> **Tests**: ✅ 1003/1003 passing (127 suites, ~85% coverage)

---

## 1. Project Status

The ObjectStack Mobile client has completed all core development phases (0–6), spec alignment phases (9–10), advanced feature phases (11–13), UX/platform phases (14–20), spec gap phases (21–22), and post-GA features (v1.4–v1.6). The SDK is upgraded to v3.0.0 (spec v3.0.0: 12 modules, 171 schemas).
The ObjectStack Mobile client has completed all core development phases (0–6), spec alignment phases (9–10), advanced feature phases (11–13), UX/platform phases (14–20), spec gap phases (21–22), and post-GA features (v1.4–v1.6). The SDK is upgraded to v3.0.9 (spec v3.0.9: 14 modules, 1683 JSON schemas, 8,380+ `.describe()` annotations).

### What's Implemented

Expand All @@ -29,7 +29,7 @@ The ObjectStack Mobile client has completed all core development phases (0–6),
| Runtime | Expo SDK 54, TypeScript 5.9 strict |
| Navigation | Expo Router (file-based) |
| Styling | NativeWind v4 (Tailwind CSS) |
| Client SDK | `@objectstack/client@3.0.0` + `@objectstack/client-react@3.0.0` |
| Client SDK | `@objectstack/client@3.0.9` + `@objectstack/client-react@3.0.9` |
| State | Zustand + TanStack Query v5 |
| Offline | expo-sqlite + sync queue |
| Auth | better-auth v1.4.18 + `@better-auth/expo` |
Expand Down Expand Up @@ -148,11 +148,11 @@ The ObjectStack Mobile client has completed all core development phases (0–6),

---

## 3. Spec v3.0.0 Compliance Matrix
## 3. Spec v3.0.9 Compliance Matrix

> `@objectstack/spec` is the protocol "constitution". v3.0.0 restructured from 15 → 12 modules.
> Removed: `driver`, `auth`, `hub`, `permission`. Added: `security` (RLS, Policy, Sharing, Territory).
> Total: 171 Zod schemas, 7,095+ `.describe()` annotations.
> `@objectstack/spec` is the protocol "constitution". v3.0.9 has 14 modules, 1683 JSON schemas, 8,380+ `.describe()` annotations.
> Modules: `ai`, `api`, `automation`, `cloud`, `data`, `identity`, `integration`, `kernel`, `qa`, `security`, `shared`, `studio`, `system`, `ui`.
> v3.0.0 restructured from 15 → 12 modules. v3.0.9 expanded to 14 modules (added `studio`, `qa`, `cloud`, `kernel`).

### ✅ Fully Implemented

Expand Down Expand Up @@ -212,9 +212,21 @@ The ObjectStack Mobile client has completed all core development phases (0–6),
| `spec/automation` — ETL Pipelines | `useETLPipeline` |
| `spec/integration` — Connectors | `useConnector` |

### ✅ No Remaining Spec Gaps
### 🟡 New in Spec v3.0.9 — UI Protocol Schemas (Pending Implementation)

All spec modules have been implemented, including previously deferred AI DevOps/CodeGen/Predictive and ETL/Connector features.
The following new UI protocol schemas were added in spec v3.0.9 and are candidates for future mobile implementation:

| Category | Spec Schemas | Mobile Status |
|----------|-------------|---------------|
| Record Page Components | `RecordDetailsProps`, `RecordActivityProps`, `RecordChatterProps`, `RecordHighlightsProps`, `RecordPathProps`, `RecordRelatedListProps`, `RecordReviewConfigSchema` | 🟡 Partial — detail tabs exist, SDUI record pages pending |
| Drag & Drop Protocol | `DndConfigSchema`, `DragItemSchema`, `DragHandleSchema`, `DragConstraintSchema`, `DropZoneSchema`, `DropEffectSchema` | 🟡 Partial — `useKanbanDragDrop` exists, full DnD protocol pending |
| Gesture Protocol | `GestureConfigSchema`, `GestureTypeSchema`, `SwipeGestureConfigSchema`, `PinchGestureConfigSchema`, `LongPressGestureConfigSchema`, `TouchInteractionSchema`, `TouchTargetConfigSchema` | 🟡 Partial — swipe/haptics exist, spec-driven gesture config pending |
| Offline/Sync Protocol | `OfflineConfigSchema`, `OfflineCacheConfigSchema`, `OfflineStrategySchema`, `SyncConfigSchema`, `ConflictResolutionSchema`, `PersistStorageSchema`, `EvictionPolicySchema` | 🟡 Partial — offline hooks exist, spec-driven config pending |
| Notification UI Protocol | `NotificationSchema`, `NotificationConfigSchema`, `NotificationActionSchema`, `NotificationPositionSchema`, `NotificationSeveritySchema`, `NotificationTypeSchema` | 🟡 Partial — notifications exist, SDUI notification rendering pending |
| Animation/Transition Protocol | `AnimationSchema`, `AnimationTriggerSchema`, `ComponentAnimationSchema`, `TransitionConfigSchema`, `TransitionPresetSchema`, `MotionConfigSchema`, `EasingFunctionSchema`, `PageTransitionSchema` | 🟡 Partial — micro-interactions exist, spec-driven animations pending |
| Focus/Keyboard Protocol | `FocusManagementSchema`, `FocusTrapConfigSchema`, `KeyboardNavigationConfigSchema`, `KeyboardShortcutSchema` | 🔴 New — external keyboard/focus management not yet implemented |
| Embed/Sharing Protocol | `EmbedConfigSchema`, `SharingConfigSchema`, `ViewSharingSchema` | 🟡 Partial — `useSharing` exists, embed/view sharing UI pending |
| Interface Page Protocol | `InterfacePageConfigSchema`, `BlankPageLayoutSchema`, `BlankPageLayoutItemSchema`, `PageTypeSchema` | 🟡 Partial — `PageRenderer` exists, interface page config pending |

---

Expand Down Expand Up @@ -245,7 +257,7 @@ All spec modules have been implemented, including previously deferred AI DevOps/
## 5. Phase 11: AI & Intelligence ✅

> **Duration**: 3–4 weeks
> v3.0.0 expanded AI module from ~100 to 187 exports.
> v3.0.9 expanded AI module to 186 schemas / 188 exports.

### 11.1 Conversation Session Persistence ✅

Expand Down Expand Up @@ -280,7 +292,7 @@ All spec modules have been implemented, including previously deferred AI DevOps/

## 6. Phase 12: Security Module ✅

> 🆕 v3.0.0 `security` module (26 exports) replaces `auth`/`permission`/`hub`.
> 🆕 v3.0.9 `security` module (26 exports, 19 schemas) replaces `auth`/`permission`/`hub`.
> **Duration**: 2–3 weeks

### 12.1 RLS Awareness ✅
Expand Down Expand Up @@ -599,6 +611,55 @@ All spec modules have been implemented, including previously deferred AI DevOps/

---

## 7m. v1.7: Spec v3.0.9 UI Protocol Alignment 🔴

> **Duration**: 4–6 weeks | **Priority**: 🟡 Important for spec compliance
> **Goal**: Implement new UI protocol schemas from `@objectstack/spec@3.0.9` for full SDUI compliance

### Phase 23: SDUI Record Page Protocol 🔴

> Align record detail/form views with spec v3.0.9 `RecordDetailsProps`, `RecordHighlightsProps`, etc.

| # | Feature | Description | Status |
|---|---------|-------------|--------|
| 23.1 | Record Details SDUI | Render record detail layout from `RecordDetailsProps` (columns, sections, field list) | 🔴 Planned |
| 23.2 | Record Highlights | Show highlight fields panel from `RecordHighlightsProps` | 🔴 Planned |
| 23.3 | Record Activity Feed | Render activity timeline from `RecordActivityProps` | 🔴 Planned |
| 23.4 | Record Chatter | In-context discussion from `RecordChatterProps` | 🔴 Planned |
| 23.5 | Record Path / Breadcrumb | Navigation breadcrumb from `RecordPathProps` | 🔴 Planned |
| 23.6 | Record Related Lists | Related record panels from `RecordRelatedListProps` | 🔴 Planned |
| 23.7 | Record Review Config | Approval/review UI from `RecordReviewConfigSchema` | 🔴 Planned |
| 23.8 | Interface Page Config | Airtable-style interface pages from `InterfacePageConfigSchema` | 🔴 Planned |
| 23.9 | Blank Page Layouts | Custom blank page templates from `BlankPageLayoutSchema` | 🔴 Planned |

### Phase 24: Interaction Protocol (DnD, Gesture, Animation) 🔴

> Implement spec-driven interaction configs instead of hardcoded behavior.

| # | Feature | Description | Status |
|---|---------|-------------|--------|
| 24.1 | DnD Protocol | Spec-driven drag-and-drop from `DndConfigSchema` (drag items, drop zones, constraints, sortable) | 🔴 Planned |
| 24.2 | Gesture Protocol | Configure gestures from `GestureConfigSchema` (swipe, pinch, long-press, touch targets) | 🔴 Planned |
| 24.3 | Animation Protocol | Spec-driven animations from `AnimationSchema`, `TransitionConfigSchema`, `MotionConfigSchema` | 🔴 Planned |
| 24.4 | Page Transition Protocol | Server-defined page transitions from `PageTransitionSchema`, `TransitionPresetSchema` | 🔴 Planned |
| 24.5 | Component Animation | Per-component animation config from `ComponentAnimationSchema`, `EasingFunctionSchema` | 🔴 Planned |

### Phase 25: Focus, Keyboard, Offline & Notification Protocol 🔴

> Complete spec-driven configuration for accessibility, offline, and notification UI.

| # | Feature | Description | Status |
|---|---------|-------------|--------|
| 25.1 | Focus Management | Spec-driven focus traps and management from `FocusManagementSchema`, `FocusTrapConfigSchema` | 🔴 Planned |
| 25.2 | Keyboard Navigation | External keyboard support from `KeyboardNavigationConfigSchema`, `KeyboardShortcutSchema` | 🔴 Planned |
| 25.3 | Offline Config Protocol | Server-driven offline strategy from `OfflineConfigSchema`, `OfflineCacheConfigSchema`, `EvictionPolicySchema` | 🔴 Planned |
| 25.4 | Sync Config Protocol | Spec-driven sync behavior from `SyncConfigSchema`, `ConflictResolutionSchema`, `PersistStorageSchema` | 🔴 Planned |
| 25.5 | Notification UI Protocol | SDUI notification rendering from `NotificationSchema`, `NotificationConfigSchema`, `NotificationActionSchema` | 🔴 Planned |
| 25.6 | Embed Config | Embeddable views from `EmbedConfigSchema` | 🔴 Planned |
| 25.7 | View Sharing Protocol | Spec-driven view sharing from `ViewSharingSchema`, `SharingConfigSchema` | 🔴 Planned |

---

## 8. UX Design Review Summary

> Full UX design review: **[docs/UX-DESIGN-REVIEW.md](./docs/UX-DESIGN-REVIEW.md)**
Expand Down Expand Up @@ -738,6 +799,7 @@ All spec modules have been implemented, including previously deferred AI DevOps/
| **v1.4** | 21–22 | Notification Center + Spec gaps (AI DevOps/CodeGen/Predictive, ETL/Connectors) | ✅ Complete |
| **v1.5** | — | Messaging & Channels (Slack/Teams pattern, DMs, threads) | ✅ Complete |
| **v1.6** | — | Advanced Offline (selective sync, three-way merge, offline analytics) | ✅ Complete |
| **v1.7** | 23–25 | Spec v3.0.9 UI Protocol (SDUI record pages, DnD protocol, gesture/animation protocol, focus/keyboard) | 🔴 Planned |

---

Expand Down Expand Up @@ -774,8 +836,12 @@ All spec modules have been implemented, including previously deferred AI DevOps/
| **Notification Center (v1.4)** | **No** | **1 week** | **✅ Done** |
| **Messaging & Channels (v1.5)** | **No** | **2 weeks** | **✅ Done** |
| **Advanced Offline (v1.6)** | **No** | **2 weeks** | **✅ Done** |
| **SDUI Record Page Protocol (23)** | **No** | **2–3 weeks** | **🔴 Planned** |
| **Interaction Protocol — DnD/Gesture/Animation (24)** | **No** | **2–3 weeks** | **🔴 Planned** |
| **Focus/Keyboard/Offline/Notification Protocol (25)** | **No** | **1–2 weeks** | **🔴 Planned** |

**Phase 11–22 + v1.4–v1.6**: ✅ Complete
**Phase 23–25 (v1.7 — Spec v3.0.9 UI Protocol)**: 🔴 Planned

---

Expand Down Expand Up @@ -815,6 +881,14 @@ All spec modules have been implemented, including previously deferred AI DevOps/

1. ✅ Phase 20 complete (design tokens, widget kit, voice, deep links, watch)

### v1.7 (Spec v3.0.9 UI Protocol)

1. ☐ Phase 23 complete (SDUI record pages, highlights, chatter, related lists, interface pages)
2. ☐ Phase 24 complete (spec-driven DnD, gesture, animation, transition protocols)
3. ☐ Phase 25 complete (focus management, keyboard navigation, offline/sync/notification UI protocols)
4. ☐ All renderers consume spec UI schemas instead of hardcoded configs
5. ☐ Full compliance with `@objectstack/spec@3.0.9` UI module (168 exports)

---

## 11. For SDK Team — Suggested Upstream Hooks
Expand Down Expand Up @@ -857,4 +931,4 @@ All spec modules have been implemented, including previously deferred AI DevOps/

---

*Last updated: 2026-02-13*
*Last updated: 2026-02-22*
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
},
"dependencies": {
"@better-auth/expo": "^1.4.18",
"@objectstack/client": "^3.0.0",
"@objectstack/client-react": "^3.0.0",
"@objectstack/client": "^3.0.9",
"@objectstack/client-react": "^3.0.9",
"@sentry/react-native": "^7.12.0",
"@shopify/flash-list": "^2.2.2",
"@tanstack/react-query": "^5.90.20",
Expand Down Expand Up @@ -78,11 +78,11 @@
"@babel/core": "^7.29.0",
"@changesets/changelog-github": "^0.5.2",
"@changesets/cli": "^2.29.8",
"@objectstack/core": "^3.0.0",
"@objectstack/driver-memory": "^3.0.0",
"@objectstack/objectql": "^3.0.0",
"@objectstack/plugin-auth": "^3.0.0",
"@objectstack/plugin-hono-server": "^3.0.0",
"@objectstack/core": "^3.0.9",
"@objectstack/driver-memory": "^3.0.9",
"@objectstack/objectql": "^3.0.9",
"@objectstack/plugin-auth": "^3.0.9",
"@objectstack/plugin-hono-server": "^3.0.9",
"@testing-library/jest-native": "^5.4.3",
"@testing-library/react-native": "^12.9.0",
"@types/jest": "^29.5.14",
Expand Down
Loading