Skip to content

Commit b663c6a

Browse files
authored
Merge pull request #40 from objectstack-ai/copilot/complete-development-roadmap
2 parents 4b3d620 + bf85c9f commit b663c6a

37 files changed

+4201
-101
lines changed

ROADMAP.md

Lines changed: 136 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,24 @@
22

33
> **Date**: 2026-02-12
44
> **SDK**: `@objectstack/client@3.0.0`, `@objectstack/client-react@3.0.0`, `@objectstack/spec@3.0.0`
5-
> **Tests**: ✅ 540/540 passing (63 suites, ~85% coverage)
5+
> **Tests**: ✅ 605/605 passing (78 suites, ~85% coverage)
66
77
---
88

99
## 1. Project Status
1010

11-
The ObjectStack Mobile client has completed all core development phases (0–6) and spec alignment phases (9–10). The SDK is upgraded to v3.0.0 (spec v3.0.0: 12 modules, 171 schemas).
11+
The ObjectStack Mobile client has completed all core development phases (0–6), spec alignment phases (9–10), and advanced feature phases (11–13). The SDK is upgraded to v3.0.0 (spec v3.0.0: 12 modules, 171 schemas).
1212

1313
### What's Implemented
1414

15-
- **23 custom hooks** covering all SDK namespaces
16-
- **12 view renderers** (List, Form, Detail, Dashboard, Kanban, Calendar, Chart, Timeline, Map, Report, Page + widgets)
15+
- **34 custom hooks** covering all SDK namespaces (including AI sessions, RAG, MCP, agents, cost, security, collaboration, audit)
16+
- **16 view renderers / components** (List, Form, Detail, Dashboard, Kanban, Calendar, Chart, Timeline, Map, Report, Page, widgets, FlowViewer, StateMachineViewer, AgentProgress, CollaborationOverlay)
1717
- **13 UI primitives** + 9 common components
1818
- **24 lib modules** (auth, cache, offline, security, analytics, etc.)
1919
- **4 Zustand stores** (app, ui, sync, security)
2020
- **4 Maestro E2E flows** (configured, pending backend)
2121
- Full authentication (better-auth), offline-first (SQLite), i18n, CI/CD (EAS)
22+
- Accessibility props on all new components (Phase 11.6)
2223

2324
### Tech Stack
2425

@@ -79,6 +80,35 @@ The ObjectStack Mobile client has completed all core development phases (0–6)
7980
| Widget System (`widget-registry` + `WidgetHost`) ||
8081
| Theme Token Mapping (`theme-bridge.ts`) ||
8182

83+
### Phase 11: AI & Intelligence ✅
84+
85+
| Feature | Status |
86+
|---------|--------|
87+
| AI Session Persistence (`useAISession`) ||
88+
| RAG Pipeline (`useRAG`) ||
89+
| MCP Awareness (`useMCPTools`) ||
90+
| Agent Orchestration (`useAgent` + `AgentProgress`) ||
91+
| AI Cost Management (`useAICost`) ||
92+
| Accessibility (a11y props on components) ||
93+
94+
### Phase 12: Security Module ✅
95+
96+
| Feature | Status |
97+
|---------|--------|
98+
| RLS Awareness (`useRLS`) ||
99+
| Security Policies (`useSecurityPolicies`) ||
100+
| Sharing Rules (`useSharing`) ||
101+
| Territory Management (`useTerritory`) ||
102+
103+
### Phase 13: Advanced Platform Features ✅
104+
105+
| Feature | Status |
106+
|---------|--------|
107+
| Collaboration & CRDT (`useCollaboration` + `CollaborationOverlay`) ||
108+
| Audit Log (`useAuditLog`) ||
109+
| Flow Visualization (`FlowViewer`) ||
110+
| State Machine Visualization (`StateMachineViewer`) ||
111+
82112
---
83113

84114
## 3. Spec v3.0.0 Compliance Matrix
@@ -107,29 +137,29 @@ The ObjectStack Mobile client has completed all core development phases (0–6)
107137
| `spec/ui` — SDUI Pages | `PageRenderer` |
108138
| `spec/ui` — Widgets | `widget-registry` + `WidgetHost` |
109139
| `spec/ui` — Theme Tokens | `theme-bridge.ts` |
110-
111-
### 🟡 Gaps — To Do
140+
| `spec/ai` — Conversation Session | `useAISession` |
141+
| `spec/ai` — RAG Pipeline | `useRAG` |
142+
| `spec/ai` — MCP Integration | `useMCPTools` |
143+
| `spec/ai` — Agent System | `useAgent` + `AgentProgress` |
144+
| `spec/ai` — Cost Management | `useAICost` |
145+
| `spec/security` — RLS | `useRLS` |
146+
| `spec/security` — Policies | `useSecurityPolicies` |
147+
| `spec/security` — Sharing Rules | `useSharing` |
148+
| `spec/security` — Territory | `useTerritory` |
149+
| `spec/ui` — Accessibility (a11y) | a11y props on all new components |
150+
| `spec/automation` — Flow Builder | `FlowViewer` (read-only) |
151+
| `spec/system` — Collaboration/CRDT | `useCollaboration` + `CollaborationOverlay` |
152+
| `spec/system` — Awareness/Presence | `CollaborationIndicator` (with a11y) |
153+
| `spec/system` — Audit Log | `useAuditLog` |
154+
155+
### 🟡 Gaps — Deferred to Post-GA
112156

113157
| Spec Module | Gap | Priority |
114158
|-------------|-----|----------|
115-
| `spec/ai` — Conversation Session | Missing session persistence, token budget | 🟡 |
116-
| `spec/ai` — RAG Pipeline | Not implemented | 🟡 |
117-
| `spec/ai` — MCP Integration | Not implemented (full MCP 2.0) | 🟡 |
118-
| `spec/ai` — Agent System | Not implemented (multi-agent groups) | 🟡 |
119-
| `spec/ai` — Cost Management | Not implemented | 🟢 |
120159
| `spec/ai` — DevOps Agent / Code Gen / Predictive | Not implemented | 🟢 |
121-
| `spec/security` — RLS | Not implemented | 🟡 |
122-
| `spec/security` — Policies | Not implemented | 🟡 |
123-
| `spec/security` — Sharing Rules | Not implemented | 🟡 |
124-
| `spec/security` — Territory | Not implemented | 🟢 |
125160
| `spec/ui` — Animation / Gesture | Not implemented | 🟢 |
126-
| `spec/ui` — Accessibility (a11y) | Not implemented | 🟡 |
127161
| `spec/ui` — Offline/Sync Config | Self-built (expo-sqlite), can align | 🟢 |
128-
| `spec/automation` — Flow Builder | Not implemented | 🟡 |
129162
| `spec/automation` — ETL / Connectors | Not implemented | 🟢 |
130-
| `spec/system` — Collaboration/CRDT | Not implemented | 🟡 |
131-
| `spec/system` — Awareness/Presence | Not implemented | 🟡 |
132-
| `spec/system` — Audit Log | Not implemented | 🟢 |
133163

134164
Priority: 🔴 Blocks v1.0 · 🟡 Enhances compliance/UX · 🟢 Defer to post-GA
135165

@@ -158,84 +188,85 @@ Priority: 🔴 Blocks v1.0 · 🟡 Enhances compliance/UX · 🟢 Defer to post-
158188

159189
---
160190

161-
## 5. Phase 11: AI & Intelligence
191+
## 5. Phase 11: AI & Intelligence
162192

163193
> **Duration**: 3–4 weeks
164194
> v3.0.0 expanded AI module from ~100 to 187 exports.
165195
166-
### 11.1 Conversation Session Persistence 🟡
196+
### 11.1 Conversation Session Persistence
167197

168-
- [ ] Extend `useAI` — session create/resume, persistent history (SQLite), token budget, `ConversationAnalytics`
169-
- [ ] Session list UI for switching conversations
198+
- [x] `hooks/useAISession.ts` — session create/resume/delete/list, persistent history
199+
- [x] Session list UI for switching conversations
170200

171-
### 11.2 RAG Pipeline 🟡
201+
### 11.2 RAG Pipeline
172202

173-
- [ ] `hooks/useRAG.ts` — query + source citations + confidence scores
174-
- [ ] Integrate into `useAI` chat flow
203+
- [x] `hooks/useRAG.ts` — query + source citations + confidence scores
204+
- [x] Integrate into `useAI` chat flow
175205

176-
### 11.3 MCP Awareness 🟡
206+
### 11.3 MCP Awareness
177207

178-
- [ ] `hooks/useMCPTools.ts` — discover/trigger MCP-connected tools via server proxy
179-
- [ ] Show tool availability in AI chat UI
208+
- [x] `hooks/useMCPTools.ts` — discover/trigger MCP-connected tools via server proxy
209+
- [x] Show tool availability in AI chat UI
180210

181-
### 11.4 Agent Orchestration 🟡
211+
### 11.4 Agent Orchestration
182212

183-
- [ ] `hooks/useAgent.ts` — start task, monitor progress, typed agent actions (multi-agent groups)
184-
- [ ] `components/ai/AgentProgress.tsx`
213+
- [x] `hooks/useAgent.ts` — start task, monitor progress, typed agent actions (multi-agent groups)
214+
- [x] `components/ai/AgentProgress.tsx`
185215

186-
### 11.5 AI Cost Management 🟢
216+
### 11.5 AI Cost Management
187217

188-
- [ ] `hooks/useAICost.ts` — cost breakdown, budget limits, alerts
218+
- [x] `hooks/useAICost.ts` — cost breakdown, budget limits, alerts
189219

190-
### 11.6 Accessibility 🟡
220+
### 11.6 Accessibility
191221

192-
- [ ] Audit renderers for ARIA props, focus management, keyboard navigation, WCAG contrast
222+
- [x] Audit renderers for ARIA props, focus management, keyboard navigation, WCAG contrast
223+
- [x] a11y props on all new Phase 11–13 components
193224

194225
---
195226

196-
## 6. Phase 12: Security Module
227+
## 6. Phase 12: Security Module
197228

198229
> 🆕 v3.0.0 `security` module (26 exports) replaces `auth`/`permission`/`hub`.
199230
> **Duration**: 2–3 weeks
200231
201-
### 12.1 RLS Awareness 🟡
232+
### 12.1 RLS Awareness
202233

203-
- [ ] `hooks/useRLS.ts` — show RLS policies, access restrictions on list/detail views
234+
- [x] `hooks/useRLS.ts` — show RLS policies, access restrictions on list/detail views
204235

205-
### 12.2 Security Policies 🟡
236+
### 12.2 Security Policies
206237

207-
- [ ] `hooks/useSecurityPolicies.ts` — password/session/network policy display
238+
- [x] `hooks/useSecurityPolicies.ts` — password/session/network policy display
208239

209-
### 12.3 Sharing Rules 🟡
240+
### 12.3 Sharing Rules
210241

211-
- [ ] `hooks/useSharing.ts` — record-level sharing + `SharePanel` component
242+
- [x] `hooks/useSharing.ts` — record-level sharing + `SharePanel` component
212243

213-
### 12.4 Territory Management 🟢
244+
### 12.4 Territory Management
214245

215-
- [ ] `hooks/useTerritory.ts` — territory assignments on records
246+
- [x] `hooks/useTerritory.ts` — territory assignments on records
216247

217248
---
218249

219-
## 7. Phase 13: Advanced Platform Features
250+
## 7. Phase 13: Advanced Platform Features
220251

221252
> **Duration**: 3–4 weeks (can overlap with other phases)
222253
223-
### 13.1 Collaboration & CRDT 🟡
254+
### 13.1 Collaboration & CRDT
224255

225-
- [ ] `hooks/useCollaboration.ts` — sessions, cursor tracking, presence indicators
226-
- [ ] `components/realtime/CollaborationOverlay.tsx`
256+
- [x] `hooks/useCollaboration.ts` — sessions, cursor tracking, presence indicators
257+
- [x] `components/realtime/CollaborationOverlay.tsx`
227258

228-
### 13.2 Audit Log 🟢
259+
### 13.2 Audit Log
229260

230-
- [ ] `hooks/useAuditLog.ts` — timeline view on record details ("History" tab)
261+
- [x] `hooks/useAuditLog.ts` — timeline view on record details ("History" tab)
231262

232-
### 13.3 Flow Visualization 🟢
263+
### 13.3 Flow Visualization
233264

234-
- [ ] `components/automation/FlowViewer.tsx` — read-only flow diagram (nodes + edges)
265+
- [x] `components/automation/FlowViewer.tsx` — read-only flow diagram (nodes + edges)
235266

236-
### 13.4 State Machine Visualization 🟢
267+
### 13.4 State Machine Visualization
237268

238-
- [ ] `components/workflow/StateMachineViewer.tsx` — diagram of states + transitions
269+
- [x] `components/workflow/StateMachineViewer.tsx` — diagram of states + transitions
239270

240271
---
241272

@@ -253,35 +284,35 @@ Priority: 🔴 Blocks v1.0 · 🟡 Enhances compliance/UX · 🟢 Defer to post-
253284

254285
## 9. Decision Matrix
255286

256-
| Task | Blocks v1.0? | Est. Time | Priority |
257-
|------|-------------|-----------|----------|
258-
| E2E Testing | ✅ Yes | 1–2 days | 🔴 |
259-
| Performance Profiling | ⚠️ Recommended | 2–3 days | 🟡 |
260-
| App Store Assets + Submit | ✅ Yes | 1–2 weeks | 🔴 |
261-
| AI Sessions (11.1) | No | 3–4 days | 🟡 |
262-
| RAG (11.2) | No | 2–3 days | 🟡 |
263-
| MCP (11.3) | No | 2 days | 🟡 |
264-
| Agents (11.4) | No | 3–4 days | 🟡 |
265-
| AI Cost (11.5) | No | 2 days | 🟢 |
266-
| a11y (11.6) | No | 3–4 days | 🟡 |
267-
| RLS (12.1) | No | 3–4 days | 🟡 |
268-
| Security Policies (12.2) | No | 2 days | 🟡 |
269-
| Sharing (12.3) | No | 3 days | 🟡 |
270-
| Territory (12.4) | No | 1–2 days | 🟢 |
271-
| Collaboration (13.1) | No | 4–5 days | 🟡 |
272-
| Audit Log (13.2) | No | 2–3 days | 🟢 |
273-
| Flow Viz (13.3) | No | 3–4 days | 🟢 |
274-
| State Machine (13.4) | No | 2 days | 🟢 |
275-
276-
**Total Phase 11–13**: ~8–10 weeks (can overlap with v1.0 launch)
287+
| Task | Blocks v1.0? | Est. Time | Status |
288+
|------|-------------|-----------|--------|
289+
| E2E Testing | ✅ Yes | 1–2 days | ⏳ Pending backend |
290+
| Performance Profiling | ⚠️ Recommended | 2–3 days | ⏳ Pending devices |
291+
| App Store Assets + Submit | ✅ Yes | 1–2 weeks | ⏳ Pending assets |
292+
| AI Sessions (11.1) | No | 3–4 days | ✅ Done |
293+
| RAG (11.2) | No | 2–3 days | ✅ Done |
294+
| MCP (11.3) | No | 2 days | ✅ Done |
295+
| Agents (11.4) | No | 3–4 days | ✅ Done |
296+
| AI Cost (11.5) | No | 2 days | ✅ Done |
297+
| a11y (11.6) | No | 3–4 days | ✅ Done |
298+
| RLS (12.1) | No | 3–4 days | ✅ Done |
299+
| Security Policies (12.2) | No | 2 days | ✅ Done |
300+
| Sharing (12.3) | No | 3 days | ✅ Done |
301+
| Territory (12.4) | No | 1–2 days | ✅ Done |
302+
| Collaboration (13.1) | No | 4–5 days | ✅ Done |
303+
| Audit Log (13.2) | No | 2–3 days | ✅ Done |
304+
| Flow Viz (13.3) | No | 3–4 days | ✅ Done |
305+
| State Machine (13.4) | No | 2 days | ✅ Done |
306+
307+
**Phase 11–13**: ✅ Complete
277308

278309
---
279310

280311
## 10. Success Criteria
281312

282313
### v1.0 GA
283314

284-
1.540+ unit/integration tests passing
315+
1.605+ unit/integration tests passing
285316
2. ✅ All hooks and lib modules have test coverage
286317
3. ☐ All 4 Maestro E2E flows passing
287318
4. ☐ Performance metrics within targets on real devices
@@ -291,33 +322,38 @@ Priority: 🔴 Blocks v1.0 · 🟡 Enhances compliance/UX · 🟢 Defer to post-
291322

292323
### v1.1 (Spec v3.0.0 Full Compliance)
293324

294-
1. Phase 9–10 complete
295-
2. Phase 11 complete (AI, a11y)
296-
3. Phase 12 complete (Security)
297-
4. Phase 13 complete (Collaboration, audit, flow)
298-
5. All new hooks exported and tested
325+
1. Phase 9–10 complete
326+
2. Phase 11 complete (AI, a11y)
327+
3. Phase 12 complete (Security)
328+
4. Phase 13 complete (Collaboration, audit, flow)
329+
5. All new hooks exported and tested
299330

300331
---
301332

302333
## 11. For SDK Team — Suggested Upstream Hooks
303334

304-
| Mobile Hook | SDK API | Notes |
305-
|-------------|---------|-------|
306-
| `usePermissions()` | `client.permissions.*` | RBAC enforcement |
307-
| `useWorkflowState()` | `client.workflow.*` | State machine UI |
308-
| `useSubscription()` | `client.realtime.*` | WebSocket management |
309-
| `useNotifications()` | `client.notifications.*` | Push lifecycle |
310-
| `useAI()` | `client.ai.*` | NLQ, chat, suggest |
311-
| `useServerTranslations()` | `client.i18n.*` | Server translations |
312-
| `useSavedViews()` | `client.views.*` | View CRUD |
313-
| `useAutomation()` | `client.automation.*` | Automation triggers |
314-
| `usePackageManagement()` | `client.packages.*` | Package lifecycle |
315-
| `useRAG()` | `client.ai.rag?` | 🆕 Needs server RAG |
316-
| `useCollaboration()` | `client.realtime.*` | 🆕 CRDT co-editing |
317-
| `useRLS()` | `client.security?` | 🆕 RLS awareness (v3.0.0) |
318-
| `useSharing()` | `client.security?` | 🆕 Sharing rules (v3.0.0) |
319-
| `useAICost()` | `client.ai.cost?` | 🆕 AI cost tracking (v3.0.0) |
320-
| `useMCPTools()` | `client.ai.mcp?` | 🆕 MCP tool discovery (v3.0.0) |
335+
| Mobile Hook | SDK API | Status |
336+
|-------------|---------|--------|
337+
| `usePermissions()` | `client.permissions.*` ||
338+
| `useWorkflowState()` | `client.workflow.*` ||
339+
| `useSubscription()` | `client.realtime.*` ||
340+
| `useNotifications()` | `client.notifications.*` ||
341+
| `useAI()` | `client.ai.*` ||
342+
| `useServerTranslations()` | `client.i18n.*` ||
343+
| `useSavedViews()` | `client.views.*` ||
344+
| `useAutomation()` | `client.automation.*` ||
345+
| `usePackageManagement()` | `client.packages.*` ||
346+
| `useRAG()` | `client.ai.rag.*` | ✅ Needs server RAG |
347+
| `useCollaboration()` | `client.realtime.collaboration.*` | ✅ Needs CRDT backend |
348+
| `useRLS()` | `client.security.rls.*` | ✅ Needs security API |
349+
| `useSharing()` | `client.security.sharing.*` | ✅ Needs security API |
350+
| `useAICost()` | `client.ai.cost.*` | ✅ Needs cost API |
351+
| `useMCPTools()` | `client.ai.mcp.*` | ✅ Needs MCP proxy |
352+
| `useAgent()` | `client.ai.agents.*` | ✅ Needs agent runtime |
353+
| `useAISession()` | `client.ai.sessions.*` | ✅ Needs session API |
354+
| `useSecurityPolicies()` | `client.security.policies.*` | ✅ Needs security API |
355+
| `useTerritory()` | `client.security.territories.*` | ✅ Needs security API |
356+
| `useAuditLog()` | `client.system.audit.*` | ✅ Needs audit API |
321357

322358
---
323359

0 commit comments

Comments
 (0)