Expo / React Native worker & student mobile app
(B2W-co-ltd/TEMP-app. Cherny harness audit — 2026-08-04.
Pair-programming ready via strict TypeScript, ESLint/Prettier, Apollo codegen, and clear folder layout. Blocked for parallel agents — no tests, no CI, no agent instructions, and Firebase/Sentry secrets in git.
Harness readiness ≈ 31 / 100
| Item | Value | Evidence |
|---|---|---|
| Expo / RN / React | 55.0.23 / 0.83.6 / 19.2.0 | package.json |
| TypeScript | ~5.9.2 · strict | tsconfig.json |
| Pages / components | 64 screens · 93 page files · 64 components | pages/ · components/ |
| GraphQL | Apollo + codegen client preset | codegen.ts · graphql/schema.graphql · graphql/graphql.ts (3304 LOC) |
| Build / release | EAS multi-env + Sentry | eas.json · app.config.ts · app.{staging,prod}.json |
| Package manager | Yarn | yarn.lock |
| Gate | Status | Evidence |
|---|---|---|
| TypeScript / lint / format | Partial | Strict TS, Airbnb-TS ESLint, Prettier, format-on-save. No typecheck script; lint scope excludes App.tsx / config roots. |
| Tests | Gap | 0 test files. No Jest/Vitest/Detox/Maestro. No test script. |
| CI | Gap | No .github/workflows. No husky / lint-staged. |
| Agent memory | Gap | No AGENTS.md, CLAUDE.md, .cursor/rules, or Skills. |
| README / architecture | Partial | README.md = EAS Update + Sentry ops only. No domain map, codegen, or verify commands. |
| Secrets | Gap | Tracked Firebase GoogleService-Info.*.plist, google-services.json. Hardcoded SENTRY_AUTH_TOKEN in eas.json. |
| Scripts | Partial | Has lint, prettier-format, graphql:codegen. Missing typecheck, test. |
| God files / isolation | Gap | student_edit_form.tsx 1471 LOC · job_detail_screen.tsx 1368 · app_stack.tsx 530 — hard for parallel edits. |
| Typed client | Strict TS + GraphQL codegen |
| Lint / format culture | ESLint Airbnb-TS + Prettier + VS Code format-on-save |
| Clear layout | pages/ · components/ · navigation/ · utils/ · graphql/ |
| Release ops | EAS multi-env (dev/staging/prod) + Sentry |
typecheck (tsc --noEmit),
Jest/Vitest unit tests on utils/hooks, optional Maestro smoke; expand lint to root entry files.
AGENTS.md — Stack, APP_ENV/EAS matrix, codegen,
edit boundaries (don’t hand-edit generated graphql/), verify commands;
rotate/remove committed Sentry + Firebase secrets.
TEMP-app = Step 1 (Assisted). Typed Expo/Apollo pair-ready; blocked from Step 2 by zero tests, no CI, no agent memory, and committed Firebase/Sentry secrets.