Start Date: 2026-01-18 Target Completion: ~2 weeks
- Install Sentry SDK (
npm install @sentry/nextjs) - Configure
sentry.client.config.ts - Configure
sentry.server.config.ts - Configure
sentry.edge.config.ts - Add ENV VARS (DSN hardcoded)
- Install PostHog (
npm install posthog-js) - Create
PostHogProvider.tsx - Add provider to app layout
- Create
instrumentation-client.ts
- Install Playwright (
npm install -D @playwright/test) - Create
playwright.config.ts - Add mobile device configs (iPhone 12, Pixel 5, iPad Air)
- Create test helpers (
tests/e2e/helpers/test-helpers.ts) - Create test template (
tests/e2e/feed-flow.spec.ts)
- Flow 1: Signup/Login
- Flow 2: Create Post
- Flow 3: Like/Comment
- Flow 4: Direct Messaging
- Flow 5: Anonymous Messaging
- Flow 6: Community Navigation
- Flow 7: Marketplace Create Listing
- Flow 8: Marketplace Contact Seller
- Flow 9: Broadcast Create
- Flow 10: Resume Builder
- Flow 11: LoopAI Chat
- Flow 12: Profile Edit
- Flow 13: Resource Upload
- Flow 14: Event RSVP
- Flow 15: Poll Voting
- Create
tests/unit/structure - Add Vitest config if missing
- Generate store tests (feed, messages, auth)
- Google OAuth login success
- Invalid email domain rejection
- Invite code validation
- Session persistence after refresh
- Logout clears all state
- Edge: Expired invite code
- Edge: OAuth popup blocked
- Create text post
- Create post with image
- Like post (optimistic)
- Comment on post
- Delete own post
- Realtime post appears
- Edge: Post with 10,000 chars
- Edge: Rapid like/unlike
- Start direct conversation
- Send text message
- Message delivered in realtime
- Typing indicator works
- Start anonymous conversation
- Request identity reveal
- Accept/reject reveal
- Edge: 1000+ message thread
- Create listing
- Upload multiple images
- Filter by category/condition
- Search listings
- Contact seller
- Mark as sold
- Edge: Max image upload
- Join/leave community
- Create post in community
- Create event
- RSVP to event
- Create/vote on poll
- Edge: Poll with 10 options
- Generate resume from profile
- AI populates projects
- Edit resume section
- Chat to modify resume
- Undo/redo changes
- Download PDF
- Edge: User with 0 projects
- Create college-wide broadcast
- View broadcast feed
- Like/reply to broadcast
- RSVP to event broadcast
- Evaluate testRigor/Mabl trial
- Set up autonomous test for main flow
- Configure Slack/email notifications
- Install Argos (
npm install -D @argos-ci/playwright) - Configure playwright for Argos
- Add visual tests for:
- Feed page (light + dark)
- Marketplace page
- Messages page
- Profile page
- Resume builder
- Mobile visual tests:
- iPhone 12
- Pixel 5
- iPad Air
- Unit tests for RAG nodes
- College isolation tests
- Integration tests (FastAPI → LangGraph)
- Streaming response test
- LLM-as-judge quality test
- Resume generation test
- Test cross-college data isolation
- Verify RLS on contents table
- Verify RLS on messages table
- Verify RLS on marketplace_listings
- Run Supabase security advisors
- Fix any RLS gaps
- Install Lighthouse CI
- Run Lighthouse on main pages
- Performance score ≥ 0.8
- Install k6 for load testing
- Run load test on API
- 95th percentile < 500ms
- No
windowaccess on server - Platform abstraction exists
- Relative URLs only
- Touch targets ≥ 44px
- Safe area insets handled
- Test back gesture navigation
- Check Sentry dashboard
- Check PostHog recordings
- Run smoke tests (
npm run test:e2e -- --grep "@smoke")
-
npm run lint -
npm run test:unit -
npm run test:e2e
- ⬜ Not started
- 🔄 In progress
- ✅ Complete
- ❌ Blocked
- ⏭️ Skipped
Add discoveries, blockers, and decisions here