Skip to content

Mobile terracotta launch candidate#190

Draft
HomenShum wants to merge 6 commits into
mainfrom
codex/mobile-terracotta-launch
Draft

Mobile terracotta launch candidate#190
HomenShum wants to merge 6 commits into
mainfrom
codex/mobile-terracotta-launch

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

What

  • Restores the light terracotta mobile shell, artifact-card home, governed deck review, first-run CTA, join/create guidance, and honest live/fallback states.
  • Integrates deck, notebook, graph, proposal, trace, proof-bundle, and export work-artifact surfaces while preserving the concurrent NodeAgent/Omnigent lane.
  • Adds optional Convex Auth account gating, cross-browser membership recovery, and a clean-worktree deployment guard.

Why

NodeRoom needs a phone-first journey that tells a fresh user what the product is, what to do next, who can see the room, and whether each governed action succeeded.

Impact

This is a broad launch candidate across mobile UI, work-artifact adapters, Convex functions/schema, release docs, and focused proof coverage. Production has not been changed.

Verification

  • 297 test files / 2033 tests passed
  • app and Convex typechecks passed
  • production build passed
  • NodeAgent frame smoke and Omnigent smoke passed
  • 28/28 first-run and mobile Playwright proofs passed at 390x844, including a live Convex room
  • ProofLoop doctor 11/11 passed
  • production dependency audit reported zero vulnerabilities
  • release worktree guard passed at commit 920e4d9

Launch blocker

Do not merge or deploy to production yet. noderoom.live currently targets the development Convex deployment, which contains at least 1,000 rooms, while the real production Convex deployment is older. Both storage-inclusive and database-only rollback exports timed out without producing a verified archive. Production backend migration, identity enforcement, and public deployment must remain fail-closed until a rollback artifact and migration plan are verified.

Full receipt: docs/release/NODEROOM_MOBILE_LAUNCH_READINESS_20260710.md

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
noderoom Ready Ready Preview, Comment Jul 11, 2026 1:28am

Request Review

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Scaffold Handoff — For Your Coding Agent

Your coding agent (Codex, Claude Code, etc.) should apply the accepted
scaffold proposals below. Do NOT touch any immutable files.

Immutability Check

Mode: advisory

✅ No immutable files were modified in this branch.

Changed Files

  • .env.example
  • .gitignore
  • convex/_generated/api.d.ts
  • convex/agentJobRunner.ts
  • convex/auth.config.ts
  • convex/auth.ts
  • convex/http.ts
  • convex/lib.ts
  • convex/notebookKernel.ts
  • convex/rooms.ts
  • convex/schema.ts
  • docs/design/COMPONENT_MAP.md
  • docs/design/DECK_STORYBOARD_CONTRACT.md
  • docs/design/DESIGN_PARITY_PLAN.md
  • docs/design/MOBILE_TERRACOTTA_WORK_ARTIFACT_CONTRACT.md
  • docs/design/NOTEBOOK_WORK_ARTIFACT_CONTRACT.md
  • docs/design/UI_CONTRACT.md
  • docs/design/first-run/FIRST_RUN_BEHAVIOR_INVENTORY.md
  • docs/design/first-run/FIRST_RUN_EXECUTION_RECEIPT.md
  • docs/design/first-run/FIRST_RUN_JOURNEY_CONTRACT.md
  • docs/design/first-run/FIRST_RUN_QA_MATRIX.md
  • docs/design/first-run/PRIVACY_LANGUAGE_CONTRACT.md
  • docs/design/mobile/MOBILE_BEHAVIOR_INVENTORY.md
  • docs/design/mobile/MOBILE_COMPONENT_MAP.md
  • docs/design/mobile/MOBILE_DIFF_PLAN.md
  • docs/design/mobile/MOBILE_HEADER_CONTRACT.md
  • docs/design/mobile/MOBILE_REFERENCE_INVENTORY.md
  • docs/design/mobile/MOBILE_TASTE_AUDIT.md
  • docs/design/mobile/MOBILE_VISUAL_QA_REPORT.md
  • docs/design/mobile/mobile-visual-judge-after.json
  • docs/design/mobile/mobile-visual-judge-before.json
  • docs/eval/OFFICIAL_BENCHMARK_READINESS.md
  • docs/eval/OFFICIAL_BENCHMARK_TASK_COVERAGE.md
  • docs/eval/OPENROUTER_CONVEX_BENCHMARK.md
  • docs/eval/agent-improvement-loop.md
  • docs/eval/agent-improvement-loop.svg
  • docs/eval/agent-improvement-loop/20260711T012834Z.json
  • docs/eval/agent-improvement-loop/latest.json
  • docs/eval/agent-workspace-sandbox-smoke.json
  • docs/eval/algorithm-artifact-smoke.json
  • docs/eval/bankertoolbench-official-contract.json
  • docs/eval/docker-sandbox-probe.json
  • docs/eval/eval-runs.jsonl
  • docs/eval/halo-convex-context-telemetry.json
  • docs/eval/halo-self-improvement-smoke.json
  • docs/eval/halo-variant-selection.json
  • docs/eval/official-benchmark-readiness.json
  • docs/eval/official-benchmark-task-coverage.json
  • docs/eval/openrouter-convex-benchmark.json
  • docs/eval/professional-catalog-proofs.json
  • docs/eval/professional-proof-ledger.json
  • docs/eval/spreadsheetbench-chart-visual-probe.json
  • docs/eval/traces/credit/20260711T012844251Z-cbbcef5a_dirty.b5d79d693a2db675/cascade-healthy.json
  • docs/eval/traces/credit/20260711T012844251Z-cbbcef5a_dirty.b5d79d693a2db675/delta-incomplete.json
  • docs/eval/traces/credit/20260711T012844251Z-cbbcef5a_dirty.b5d79d693a2db675/mapping-correct.json
  • docs/eval/traces/credit/20260711T012844251Z-cbbcef5a_dirty.b5d79d693a2db675/mapping-misbind.json
  • docs/eval/traces/credit/20260711T012844251Z-cbbcef5a_dirty.b5d79d693a2db675/summit-stressed.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L1_read_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L2_edit_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L3_conflict_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L4_blocked_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L5_large_range_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L6_long_horizon_scripted.json
  • docs/eval/traces/ladder/20260711T012843780Z-cbbcef5a_dirty.9102100635074e12/ladder_L7_resume_scripted.json
  • docs/release/NODEROOM_MOBILE_LAUNCH_READINESS_20260710.md
  • docs/release/NODEROOM_PRODUCTION_MIGRATION_RUNBOOK_20260710.md
  • docs/synthesis/MOBILE_TERRACOTTA_RALPH_RECEIPT.md
  • docs/synthesis/WORK_ARTIFACTS_BASELINE_RECEIPT.md
  • docs/synthesis/WORK_ARTIFACTS_IMPLEMENTATION_AND_DOGFOOD_PLAN.md
  • docs/synthesis/WORK_ARTIFACTS_PROGRESS_RECEIPT.md
  • e2e/chat.spec.ts
  • e2e/deployed-auth-first-user.spec.ts
  • e2e/design-baseline.spec.ts-snapshots/demo-room-mobile-chromium-linux.png
  • e2e/design-baseline.spec.ts-snapshots/demo-room-mobile-chromium-win32.png
  • e2e/first-run-launch.spec.ts
  • e2e/full-modern-ux-bar.spec.ts
  • e2e/mobile-story-surfaces.spec.ts
  • e2e/mobile-terracotta-contract.spec.ts
  • e2e/privacy-job-wall-proposal.spec.ts
  • e2e/semantic-rebase.spec.ts
  • e2e/work-surface-split.spec.ts
  • index.html
  • package-lock.json
  • package.json
  • scripts/convex-deploy-verify.ts
  • scripts/release-worktree-guard.ts
  • src/app/main.tsx
  • src/app/store.tsx
  • src/app/styles.css
  • src/auth/launchAuth.ts
  • src/design/designSystem.ts
  • src/engine/types.ts
  • src/landing/boot.ts
  • src/notebook/notebookKernel.ts
  • src/ui/App.tsx
  • src/ui/Chat.tsx
  • src/ui/Landing.tsx
  • src/ui/RoomShell.tsx
  • src/ui/artifactRefs.ts
  • src/ui/auth/AccountGate.tsx
  • src/ui/auth/accountGate.css
  • src/ui/graph/EntityGraphDetailPanel.tsx
  • src/ui/graph/semanticGraph.ts
  • src/ui/graph/semanticGraphClusters.ts
  • src/ui/graph/semanticGraphLayout.ts
  • src/ui/graph/semanticGraphPaths.ts
  • src/ui/graph/semanticGraphSelectors.ts
  • src/ui/graph/semanticGraphTypes.ts
  • src/ui/mobile/MobileApp.tsx
  • src/ui/mobile/MobileAppLive.tsx
  • src/ui/mobile/MobileChat.tsx
  • src/ui/mobile/MobileDeck.tsx
  • src/ui/mobile/MobileFiles.tsx
  • src/ui/mobile/MobileFrame.tsx
  • src/ui/mobile/MobileGapSheets.tsx
  • src/ui/mobile/MobileGrid.tsx
  • src/ui/mobile/MobileIcons.tsx
  • src/ui/mobile/MobileOverlay.tsx
  • src/ui/mobile/MobileRoot.tsx
  • src/ui/mobile/MobileScreens.tsx
  • src/ui/mobile/MobileSettings.tsx
  • src/ui/mobile/MobileSheets.tsx
  • src/ui/mobile/RoomJoinConsent.tsx
  • src/ui/mobile/mobile.css
  • src/ui/mobile/mobile.shell.css
  • src/ui/mobile/mobile.tokens.css
  • src/ui/mobile/mobileData.ts
  • src/ui/mobile/mobileFrame.css
  • src/ui/mobile/mobileSettings.css
  • src/ui/mobile/mobileTweaks.ts
  • src/ui/mobile/mobileTypes.ts
  • src/ui/mobile/shell/MobileHeader.tsx
  • src/ui/panels/Artifact.tsx
  • src/ui/panels/KnowledgeGraph.tsx
  • src/ui/primitives/primitives.css
  • src/ui/workArtifacts/DeckStoryboardWorkbench.tsx
  • src/ui/workArtifacts/GraphRelationshipReviewWorkbench.tsx
  • src/ui/workArtifacts/LivePerformanceCenter.tsx
  • src/ui/workArtifacts/NotebookDigestWorkbench.tsx
  • src/ui/workArtifacts/ProposalReviewCenter.tsx
  • src/ui/workArtifacts/TraceReplayWorkbench.tsx
  • src/ui/workArtifacts/WorkArtifactsPanel.tsx
  • src/ui/workArtifacts/collaborativeDeck.ts
  • src/ui/workArtifacts/deckPatchPlan.ts
  • src/ui/workArtifacts/deckPdfExport.ts
  • src/ui/workArtifacts/deckPptxExport.ts
  • src/ui/workArtifacts/deckPreviewExport.ts
  • src/ui/workArtifacts/deckStoryboard.ts
  • src/ui/workArtifacts/graphRelationshipReview.ts
  • src/ui/workArtifacts/index.ts
  • src/ui/workArtifacts/livePerformanceSummary.ts
  • src/ui/workArtifacts/notebookExecutionPreview.ts
  • src/ui/workArtifacts/notebookKernelAdapter.ts
  • src/ui/workArtifacts/notebookPatchDiff.ts
  • src/ui/workArtifacts/notebookStructure.ts
  • src/ui/workArtifacts/notebookTypedBlocks.ts
  • src/ui/workArtifacts/proofBundleExport.ts
  • src/ui/workArtifacts/proofBundleReceipt.ts
  • src/ui/workArtifacts/traceReplaySummary.ts
  • src/ui/workArtifacts/work-artifacts.css
  • src/ui/workArtifacts/workArtifactAdapters.ts
  • src/ui/workArtifacts/workArtifactTypes.ts
  • src/vite-env.d.ts
  • tests/accountGate.test.tsx
  • tests/artifactRefs.test.ts
  • tests/authSessionPolicy.test.ts
  • tests/createRoomAtomicity.test.ts
  • tests/designPrototypeParity.test.ts
  • tests/designSystemManifest.test.ts
  • tests/launchAuth.test.ts
  • tests/mobileAgentModelRouting.test.tsx
  • tests/mobileDeckLive.test.tsx
  • tests/mobileGapScreens.test.tsx
  • tests/mobileHeader.test.tsx
  • tests/mobileLiveHonesty.test.tsx
  • tests/mobileShellAdapters.test.tsx
  • tests/nativeNotebookProsemirror.test.ts
  • tests/notebookKernel.test.ts
  • tests/notebookProcessingTarget.test.ts
  • tests/proofloopAgentHostEnforcement.test.ts
  • tests/roomFullNoFlash.test.tsx
  • tests/semanticGraph.test.ts
  • tests/workArtifacts.test.ts

No Scaffold Proposals to Apply

Either no failures were detected, or all proposals were rejected.

Covers .env, Convex, docs, e2e, index, package, scripts, src, and tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant