Design: docs/decisions/No-Repo Mode — Sandbox-Free, Local-First.md (Draft)
Retire no-repo on web (composer becomes repo-only — no bare chat retained). No-repo survives native-only as local mode: file ops gated behind the native shell as kind: 'native' (local-pc's tool profile on the native plugin transport). Completes the "no-repo never touches the cloud sandbox" invariant — scratch is the lone violator today (chat / local-pc / relay are all sandboxId: null).
Two pieces are closer to done than the original framing: repo-mode device checkpoint/restore is already built (Native Checkpoint Store, Current, VITE_NATIVE_CHECKPOINTS, device-validated 2026-06-23), and local mode's storage substrate already exists (it reuses the checkpoint store's filesDir + native git engine) — so local mode's real blocker is the native file-CRUD bridge, not storage.
Sequencing:
Out of scope (see doc): repo-mode local-fs lean (the device↔sandbox coherence seam — two live trees, distinct from the checkpoint store's one-way device backup), on-device execution, web local projects.
The decision doc is the design source of truth; this issue tracks sequencing only.
Design:
docs/decisions/No-Repo Mode — Sandbox-Free, Local-First.md(Draft)Retire no-repo on web (composer becomes repo-only — no bare chat retained). No-repo survives native-only as local mode: file ops gated behind the native shell as
kind: 'native'(local-pc's tool profile on the native plugin transport). Completes the "no-repo never touches the cloud sandbox" invariant —scratchis the lone violator today (chat/local-pc/relayare allsandboxId: null).Two pieces are closer to done than the original framing: repo-mode device checkpoint/restore is already built (Native Checkpoint Store, Current,
VITE_NATIVE_CHECKPOINTS, device-validated 2026-06-23), and local mode's storage substrate already exists (it reuses the checkpoint store'sfilesDir+ native git engine) — so local mode's real blocker is the native file-CRUD bridge, not storage.Sequencing:
VITE_NATIVE_CHECKPOINTStoward default-on for repo-mode device durability. Already built + device-validated; flag flip, not a build. Proves the shared substrate local mode reuses.sandbox_*execution path. The real long pole (storage already exists). Device-validate read/write/list/edit/diff on the Moto G.git initlifecycle +kind: 'native'— flip the dormantgit-session.tsarm. APK no-repo = local-first project, behindVITE_NATIVE_*.runRoundLoop), unblocked by step 1.Out of scope (see doc): repo-mode local-fs lean (the device↔sandbox coherence seam — two live trees, distinct from the checkpoint store's one-way device backup), on-device execution, web local projects.
The decision doc is the design source of truth; this issue tracks sequencing only.