Last updated: 2026-04-07
Completed historical migration record. The repository now uses the target ios/, android/, web/, backend/, and docs/ structure described below. Current paths in README.md, AGENTS.md, and source-controlled workflows are authoritative when they differ from this pre-move inventory.
Record the source → destination map used for the completed structural move.
/ios
/android
/web
/marketing
/python-web-app
/backend
/supabase
/docs
| Current Path | Target Path | Notes |
|---|---|---|
SpeakTrue/ |
ios/SpeakTrue/ |
iOS app source files |
SpeakTrue.xcodeproj/ |
ios/SpeakTrue.xcodeproj/ |
update xcodebuild paths |
SpeakTrueTests/ |
ios/SpeakTrueTests/ |
iOS test target |
SpeakTrueUITests/ |
ios/SpeakTrueUITests/ |
iOS UI tests |
Config/ |
ios/Config/ |
xcconfig files |
SpeakTrueAndroid/ |
android/ |
active Android app |
SpeakTrue_Android/ |
android/planning-archive/ |
Android planning docs only |
web/ |
web/marketing/ |
static landing + callback pages |
SpeakTrueWeb/ |
web/python-web-app/ |
legacy Flask app |
supabase/ |
backend/supabase/ |
migrations/functions/config |
docs/README.mdPRIVACY_POLICY.mdRELEASE_SIGNOFF_CHECKLIST.mdSpeakTrue.xcodeproj at root.SpeakTrueAndroid at root.supabase/ at root.SpeakTrueWeb/e-dragon-425501-v6-0b33546cb1ae.json is a credential artifact pattern and must be treated as sensitive.SpeakTrueWeb/__pycache__/, src/**/__pycache__/, and .DS_Store files should not be tracked.SpeakTrueAndroid (code) and SpeakTrue_Android (planning docs) can be confused during migration; keep explicit mapping.xcodebuild -project ios/SpeakTrue.xcodeproj -scheme SpeakTrue -destination 'generic/platform=iOS Simulator' build./android/gradlew -p android :app:testDebugUnitTestpython -c "import sys; sys.path.append('web/python-web-app'); import src.app; print('ok')"deno check backend/supabase/functions/waitlist-signup/index.tsSpeakTrueAndroid, supabase, or web.Migration-critical edge paths emit structured key-value telemetry for operational dashboards and incident triage.
web/python-web-app/src/services/supabase_edge_client.py
build_edge_caller(...)resolve_supabase_user_id(...)backend=supabase_edgeoperation=<function-or-path-label>latency_ms=<integer>outcome=<success|error>fallback_used=<true|false>error_class=<exception-or-error-class> (only when present)These keys intentionally align with provider telemetry conventions used during migration rollout and rollback diagnostics.
When executing migration, use git mv for all folder moves to preserve history and improve diffs.