Skip to content

feat(desktop): make bootstrap preservation optional - #2964

Merged
reachjalil merged 2 commits into
different-ai:devfrom
reachjalil:feature/bootstrap-nuke-toggle
Jul 21, 2026
Merged

feat(desktop): make bootstrap preservation optional#2964
reachjalil merged 2 commits into
different-ai:devfrom
reachjalil:feature/bootstrap-nuke-toggle

Conversation

@reachjalil

@reachjalil reachjalil commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a default-on toggle to keep the desktop bootstrap / organization server during a local-state nuke
  • pass the choice through the shared desktop IPC contract, Electron cleanup plan, worker payload, and pending retry marker
  • show the bootstrap path in the preview and keep the dialog usable on shorter screens
  • cover removal, worker serialization, deferred cleanup, and the visible toggle states

Checks

  • pnpm --filter @openwork/desktop exec node --test electron/nuke.test.mjs — passed (23/23)
  • pnpm --filter @openwork/app typecheck — passed
  • pnpm --filter @openwork/desktop typecheck:electron — passed
  • pnpm --filter @openwork/desktop check:electron — passed (56 renderer methods covered)
  • node --check evals/flows/debug-nuke-fresh-start.flow.mjs — passed
  • pnpm fraimz --flow debug-nuke-bootstrap-toggle --cdp-url http://127.0.0.1:30223 — passed (2 validated frames plus voice-over coverage)
  • git diff --check — passed

Fraimz evidence

  • Hosted frame-by-frame proof
  • Frame 1 proves desktop-bootstrap.json is under Will survive with the switch on by default.
  • Frame 2 proves turning the switch off moves desktop-bootstrap.json into Will delete and removes it from Will survive.

Manual verification

  1. In a disposable desktop profile, enable Developer mode and open Settings > Debug > Danger zone > Nuke & fresh start.
  2. Verify Keep bootstrap / organization server is on by default and the bootstrap path appears under Will survive.
  3. Turn the toggle off and verify the bootstrap path is included in Will delete and no longer appears under Will survive.
  4. Type NUKE and relaunch; verify the disposable profile starts fresh and desktop-bootstrap.json was removed.
  5. Repeat with the toggle on and verify a valid sanitized desktop-bootstrap.json survives.

Risks and gaps

  • The non-destructive toggle journey is Fraimz-proven on the isolated macOS development app.
  • The full destructive packaged-app journey was not rerun. The matching debug-nuke-fresh-start eval requires a remote Windows packaged sandbox and OPENWORK_EVAL_WIN_SANDBOX_ID, OPENWORK_EVAL_CDP_URL, and OPENWORK_EVAL_WIN_PROFILE, which were unavailable.
  • Existing callers remain safe because omission defaults to preserving the bootstrap file.

@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
openwork-landing Ready Ready Preview, Comment, Open in v0 Jul 21, 2026 12:56pm

@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

@reachjalil is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

@reachjalil

Copy link
Copy Markdown
Collaborator Author

Fraimz evidence — ✅ PASSED

Open the hosted frame-by-frame proof

Generated from commit 859f0db05 with:

pnpm fraimz --flow debug-nuke-bootstrap-toggle --cdp-url http://127.0.0.1:30223

Frame 1 — safe default keeps organization bootstrap

Validated assertions:

  • the switch is on by default
  • desktop-bootstrap.json is listed under Will survive
  • it is omitted from Will delete
  • typed NUKE confirmation remains required

Bootstrap preserved by default

Frame 2 — switch off includes bootstrap in the wipe

Validated assertions:

  • the switch is off
  • desktop-bootstrap.json is listed under Will delete
  • it is omitted from Will survive
  • typed NUKE confirmation remains required

Bootstrap included in delete plan

@reachjalil
reachjalil merged commit cfce5c7 into different-ai:dev Jul 21, 2026
11 of 15 checks passed
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