Skip to content

No-repo mode: sandbox-free, local-first (collapse chat/scratch, native file ops) #1226

Description

@KvFxKaido

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:

  • 1. Web retire — composer repo-only; retire scratch's sandbox; remove chat. Pure refactor, no device, CI-testable, reversible. Unblocks deleting the web Orchestrator loop (with the inline-delegation flag retirement).
  • 2. GA the Native Checkpoint Store — widen VITE_NATIVE_CHECKPOINTS toward default-on for repo-mode device durability. Already built + device-validated; flag flip, not a build. Proves the shared substrate local mode reuses.
  • 3. Native file-CRUD bridge + native sandbox_* execution path. The real long pole (storage already exists). Device-validate read/write/list/edit/diff on the Moto G.
  • 4. git init lifecycle + kind: 'native' — flip the dormant git-session.ts arm. APK no-repo = local-first project, behind VITE_NATIVE_*.
  • 5. Optional GitHub sync — push-first (native push + token wiring already exist). Pull/merge deferred (solo authors push; no-shell conflict UX).
  • (tracking) retire the inline-delegation flag → delete the web Orchestrator loop (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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions