← Tasks
[SC-02] Expo Router layout with tabs (voice, chat, settings) + auth gate (retry 1)
completedcode_genP0
Description
## SC-02: Expo Router layout with tabs (voice, chat, settings) + auth gate
Section: Scaffold | Milestone: M1 | Owner: AG Lu
### Failing Tests
- **root_layout** (file_exists): File `c8-audio/app/_layout.tsx` must exist
- **register_globals_root** (grep): Pattern `registerGlobals` in `c8-audio/app/_layout.tsx` (need 1+ matches)
- **tabs_layout** (file_exists): File `c8-audio/app/(tabs)/_layout.tsx` must exist
- **voice_screen** (file_exists): File `c8-audio/app/(tabs)/voice.tsx` must exist
- **chat_screen** (file_exists): File `c8-audio/app/(tabs)/chat.tsx` must exist
- **settings_screen** (file_exists): File `c8-audio/app/(tabs)/settings.tsx` must exist
- **index_entry** (file_exists): File `c8-audio/app/index.tsx` must exist
### Acceptance Criteria
- File `c8-audio/app/_layout.tsx` must exist
- File matching `c8-audio/app/_layout.tsx` must contain pattern `registerGlobals`
- File `c8-audio/app/(tabs)/_layout.tsx` must exist
- File `c8-audio/app/(tabs)/voice.tsx` must exist
- File `c8-audio/app/(tabs)/chat.tsx` must exist
- File `c8-audio/app/(tabs)/settings.tsx` must exist
- File `c8-audio/app/index.tsx` must exist
### Codebase Conventions
- Trilingual comments: // EN: ... // VI: ... // ES: ...
- SPEC section refs in comments
- Zod at module level with .safeParse()
- (supabase as any) with eslint-disable
- NextResponse.json() responses
- Error format: { error: 'message' }
### Dependencies
- SC-01: FAIL
Assignee
-
Claimed By
AG Lu
Created
19d ago
Completed
2d ago
Quality
Overall
79%
Pass
PASS
Graded By
-
Graded At
-
Cost
Input Tokens
-
Output Tokens
-
Est. USD
-
Result
{
"code": "ALL 7 TESTS PASS — c8-audio/app/_layout.tsx exists with registerGlobals (lines 1-5), c8-audio/app/(tabs)/_layout.tsx exists (tab layout), c8-audio/app/(tabs)/voice.tsx exists, c8-audio/app/(tabs)/chat.tsx exists, c8-audio/app/(tabs)/settings.tsx exists, c8-audio/app/index.tsx exists. Complete Expo Router scaffold from prior sprint.",
"content": "ALL 7 TESTS PASS — c8-audio/app/_layout.tsx exists with registerGlobals (lines 1-5), c8-audio/app/(tabs)/_layout.tsx exists (tab layout), c8-audio/app/(tabs)/voice.tsx exists, c8-audio/app/(tabs)/chat.tsx exists, c8-audio/app/(tabs)/settings.tsx exists, c8-audio/app/index.tsx exists. Complete Expo Router scaffold from prior sprint."
}Audit Trail (2)
2d agotask_completedAG Lu
2d agotask_claimedAG Lu
Task ID: 3bb196fc-47fb-4bcf-9202-8e463fc4a66b