Skip to content

chore(ops): version wip-sync.sh — the multi-remote v2 (leave/arrive/status) #461

Description

@aarontrowbridge

Important

Problem

wip-sync.sh — the code-repo layer of the fleet model (leave/arrive/status; only commits cross machines) — lives only on the mini at ~/.amico/ops/wip-sync.sh, unversioned. It is the last ops script outside the repo: #427/#453 versioned fleet-status, fleet-alert, papers-digest, and hunt.sh, but wip-sync shipped before that sweep. Its hand-applied v2 (multi-remote resilience, born of the 2026-08-20 qldpc-challenge 403) exists only on mini disk.

Approach

Follow the #453 pattern exactly: ops/wip-sync.sh becomes the versioned source of truth (the tested v2 currently deployed on the mini), ops/install.sh deploys it, ops/README.md documents the ritual (manual cadence — no launchd) and the v2 remote semantics.

Approaches Considered

Scope

In: versioning the script as-is (v2), install.sh row, README section, deploy reconciliation (mini copy already matches v2). Out: behavior changes beyond v2 (v2's semantics were incident-driven and sandbox-proven 2026-08-20); launchd wiring (it runs on demand, by hand); CLI-ization.


Acceptance Criteria

  • ops/wip-sync.sh in the repo is byte-identical to the tested v2 on the mini (bash -n clean; the 5-scenario sandbox matrix ran against this exact content)
  • ops/install.sh copies it to ~/.amico/ops/ idempotently, touching no state (.bak stays a mini-local recovery artifact)
  • ops/README.md gains the wip-sync row (on-demand cadence) + a section covering the ritual and v2 semantics: multi-remote push (origin first, then forks), re-anchor over wip-only non-FF by stacking a fresh snapshot (never force, never amend), all-remote fetch, cross-remote wip-branch discovery
  • After merge + deploy, repo and mini copies are in sync (they already are — the deploy is a no-op)

Key Decisions

  • v2's re-anchor stacks a new snapshot commit on the incoming tip (chain grows, never forks) — an --amend variant was tested and rejected: it replaces the remote snapshot and stays non-FF.
  • A remote carrying real (non-wip) incoming commits is genuine divergence: warn, never force — unchanged from v1.
  • wip-sync.sh.bak on the mini is runtime recovery state, not repo content — install never touches it.
Prior Art / Patterns

Source

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

    hitlNeeds human review before merge

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions