Skip to content

Add a safe 'sync with an existing jarvOS installation' flow #248

Description

@levineam

Goal linkage

Make a fresh jarvOS install able to connect safely to an existing cross-machine secondbrain without writing to the vault or creating divergent canonical state.

Product/release triage

  • Product fit: public jarvOS release candidate.
  • Version posture: enter the current versionless forming batch; do not assign a public version from memory. Release PR chore(main): release jarvos-bootstrap 0.10.0 #241 is a possible integration point, subject to its release manager and CI.
  • Local dogfood path: MacBook checkout at /Users/andrewleveiss/Documents/ChatGPT/jarvOS/public-source against the existing private workspace configuration.
  • Rollback: remove the generated local config or revert the feature commit; the sync command never writes to the vault.
  • Graduation gate: clean independent review, full test suite, and green PR CI.

Scope boundary

This issue covers the safe jarvos sync command, portable/legacy config convergence, doctor/resolver compatibility, tests, and user-facing install documentation. It does not activate GBrain, Paperclip, schedules, services, or vault mutation; it does not merge or publish a release.

Definition of Done

  • jarvos sync supports explicit existing-workspace details plus dry-run and JSON output.
  • Existing compatible configs are idempotent and private superset keys are preserved.
  • Conflicting, unreadable, or symlinked config targets fail closed.
  • The command never writes to the Obsidian vault.
  • Bootstrap, resolver, doctor, schema, README, and secondbrain module docs agree.
  • The complete public test suite passes.
  • An issue-named branch is pushed and a draft PR is open with review evidence and CI.

Constraints and failure modes

  • Preserve the current private MacBook workspace and vault v3; no production-vault writes.
  • Do not infer remote GBrain or Paperclip continuity while the Mac Mini is inaccessible.
  • Detect accidental overwrite, schema divergence, or loss of private extension keys through focused tests and diff review.

Ordered plan

  1. Re-run the complete test suite and inspect the committed diff.
  2. Obtain independent Terra review of the pinned commit and named safety surfaces.
  3. Rename the local branch to include this GitHub issue number, push it, and open a draft PR.
  4. Monitor CI and address only supported findings within scope.
  5. Record verification and dogfood follow-ups; leave merge/release publication to a later explicit decision.

Documentation Impact

README and module docs: the first-run story and secondbrain configuration behavior change.

Communication Contract

  • Success signal: draft PR URL, green checks, and verification summary in the originating Codex task.
  • Failure/missed/stale signal: concise blocker in the originating Codex task and on this issue.
  • Channels: GitHub issue/PR plus the originating Codex task; Paperclip is unavailable on this MacBook.
  • Urgency: immediate for a blocker; otherwise task closeout.
  • Dedupe rule: one notice per new terminal state.
  • Owner/action if bad: Overseer keeps the PR draft and requests Andrew only for a material product or release decision.
  • Evidence required before marking done: test output, independent review, diff sanity, and PR CI.
  • Originating channel/thread completion notice: this MacBook Overseer task.
  • Human-input blocker prompt: ask Andrew here with the exact decision and issue link.

Paperclip/source-route exception: the Mac Mini-hosted Paperclip service is unavailable; this GitHub issue is the durable tracker and this originating task is the completion route.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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