Resume and Retry
Use gfrm resume whenever a run is interrupted or partially failed.
Standard resume
gfrm resume
Explicit session file
gfrm resume --session-file ./sessions/last-session.json
What gets skipped
- completed items remain completed
- terminal checkpoint states prevent duplicate work
- incomplete items are retried
Failure triage
Inspect:
failed-tags.txtsummary.jsonmigration-log.jsonl
When failures exist, summary.json includes a retry_command that already uses gfrm resume. Treat that command and
the written artifacts as the authoritative retry path, even when runtime completion or failure events are also
available to internal consumers.
Missing target history
If resume or migrate stops before tag creation because the target forge does not contain the commit object
referenced by a source tag:
- read the preflight hint in
summary.json - inspect
failed-tags.txtto see which tags were blocked - inspect
migration-log.jsonlwhen you need step-by-step execution context - align repository history before retrying
Safe remediation patterns:
- mirror the source repository into the target when the target can accept the full history
- push a helper branch that carries the missing commit objects when you must preserve the current default branch
- use
--skip-tagsonly when the target forge already contains all the tags you plan to migrate; this constraint is enforced at runtime