jjbruntonandClaude Opus 5 aa062c9fd0 fix(mobile): make ota-publish actually run under a path with spaces
The entrypoint guard compared process.argv[1] against
new URL(import.meta.url).pathname. A URL pathname percent-encodes spaces, so
in any checkout whose absolute path contains one the comparison never matched
and main() never ran.

Every ota:preflight:*, ota:publish:*, and ota:doctor:* script then exited 0
having done absolutely nothing, which is indistinguishable from success. A
publish that silently no-ops is worse than one that fails: it reports a
shipped update that never left the machine.

Compare resolved filesystem paths instead.

Verified from a checkout whose path contains a space: before the change
`node scripts/ota-publish.mjs production --preflight` exited 0 with no
output; after it runs a real export for both platforms and prints the
preflight confirmation. Argument validation still rejects unknown targets and
unsupported EOAS arguments.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 11:09:38 +01:00
2026-01-24 20:16:01 +00:00
2025-12-30 15:54:34 +00:00
2025-12-27 19:10:11 +00:00

Sauci

Sauci is a couples connection product built as a full-stack npm/Turborepo workspace.

Applications

Path Surface
apps/mobile Expo React Native customer app
apps/admin Vite/React administration app
apps/web Next.js marketing and redemption app
apps/supabase database, auth, realtime, storage, and Edge Functions
apps/mcp authenticated internal MCP service
packages/shared shared TypeScript contracts

Bootstrap and run

Use Node 20.10.0 from .nvmrc, Docker-compatible containers, and tmux.

npm ci
scripts/dev-local.sh reset
scripts/dev-local.sh up

The launcher starts local Supabase, Edge Functions, web, admin, MCP, and Expo in one tmux session. See local stack documentation for ports, logs, native launch commands, and troubleshooting.

Verify

npm run verify:fast  # lint, typecheck, unit/contract tests
npm run verify:full  # fast checks, builds, Supabase integration
npm run verify:e2e   # running-stack Playwright journeys
npm run verify       # complete pre-PR gate

Native black-box flows use npm run test:mobile:e2e. Pull requests run static and full-stack gates and retain browser traces/screenshots/videos on failure.

Agent harness

Start with AGENTS.md and the documentation index. Task/risk agent routing lives in docs/agents/routing.md, repository skills live under .codex/skills, and verified lessons follow the learning promotion lifecycle.

Database schema changes must use committed files in apps/supabase/migrations. Remote migration tools and DDL through MCP SQL execution are forbidden.

S
Description
No description provided
Readme
73 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 79.3%
Python 7.6%
PLpgSQL 6.2%
HTML 2.8%
JavaScript 1.5%
Other 2.3%