Skip to content

Collapse sourceGuid/targetGuid to single-instance-pair shape - #197

Merged
5PK merged 2 commits into
mainfrom
worktree-single-instance-cleanup
Jul 29, 2026
Merged

Collapse sourceGuid/targetGuid to single-instance-pair shape#197
5PK merged 2 commits into
mainfrom
worktree-single-instance-cleanup

Conversation

@5PK

@5PK 5PK commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The CLI no longer supports multiple source/target instance pairs (or multiple standalone GUIDs) in a single run, so this removes the array/comma-parsing scaffolding that was built for that.
  • state.sourceGuid/state.targetGuid go from string[] to string; state.apiKeys array replaced with sourceApiKeys/targetApiKeys; deleted dead finalizeAllGuidLoggers.
  • push/pull orchestrators collapse to a fixed source+target shape instead of an arbitrary GUID list (removes the stale "future enhancement: handle multiple source/target combinations" TODO in orchestrate-pushers.ts, and the N-way Promise.allSettled fan-out in orchestrate-downloaders.ts is now fixed at ≤2).
  • Hard cutover on CLI flags: comma-separated --sourceGuid/--targetGuid now throws a clear error instead of silently using the first value; dropped the plural sourceGuids/targetGuids aliases.
  • Reworded the README warning about concurrent CLI instances to reflect that multi-pair-per-run is no longer a concept (only concurrent processes on the same single pair remain a risk).
  • ~15 test files rewritten for the new shape; also fixed several latent someString[0] bugs in test seeders (e.g. model-pusher.test.ts) that tsc doesn't catch when narrowing an array field to a string.

Test plan

  • tsc --noEmit clean on both tsconfig.json (prod) and tsconfig.test.json (prod + tests)
  • Full Jest suite passes: 103 suites / 1841 tests
  • Manual grep sweep confirms zero remaining sourceGuid[0]/targetGuid[0]/.length usages outside intentional short-lived local arrays

🤖 Generated with Claude Code

The CLI no longer supports multiple source/target instance pairs (or
multiple standalone GUIDs) in a single run, so this removes the
array/comma-parsing scaffolding built for that: sourceGuid/targetGuid
go from string[] to string, apiKeys becomes two named fields, and
push/pull/orchestrator loops collapse to a fixed source+target shape
instead of an arbitrary GUID list. Hard cutover on the CLI flags:
comma-separated --sourceGuid/--targetGuid now throws instead of
silently using the first value.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@5PK
5PK merged commit 657ffaa into main Jul 29, 2026
3 checks passed
@5PK
5PK deleted the worktree-single-instance-cleanup branch July 29, 2026 14:27
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.

2 participants