Skip to content

shipper issue recover-comment

Usage: shipper issue recover-comment [options]

Inspect uncertain workflow-comment delivery or authorize one duplicate-risk retry

ArgumentRequiredDescriptionChoices
yesShipper issue ID, gh:, or GitHub URL, including closed records-
LongShortValueDefaultDescriptionChoices
—group--unresolved workflow mirror group-
—attempt--current positive attempt token from inspection-
—retry---authorize one retry with —accept-duplicate-risk-
—accept-duplicate-risk---accept that another attempt may duplicate a comment-

Inspect uncertainty and safely recover a known receipt or marker without posting.

Terminal window
shipper issue recover-comment S#42

Authorize one retry of the currently inspected attempt.

Terminal window
shipper issue recover-comment S#42 --group <id> --attempt <token> --retry --accept-duplicate-risk

Recovery covers stage comments, notes, PR flake comments, Unblocked and Blocked comments. Completed explicit repair posts wanted legacy work once when no attributable copy is found and no concrete ambiguous-send evidence exists. Superseded or retracted absent work is retired without posting. Closure alone does not retire historical comments, including post-closure notes. Legacy work without an attempt token directs the operator to shipper issue reconcile --repair.

Uncertain delivery retains automatic duplicate protection: another send cannot be promised automatically. Use shipper issue recover-comment S#42 to inspect without posting, then authorize one exact current token with all four options:

Terminal window
shipper issue recover-comment S#42 --group <id> --attempt <token> --retry --accept-duplicate-risk

The earlier attempt may already have posted. Authorizing another attempt can create a duplicate comment.

A found attributable copy wins over authorization. Incomplete, unavailable, malformed or exhausted searches consume no token and never establish absence. Saved authorization, recovered receipt identity, verified body acknowledgement, retirement and cleanup are separate outcomes. Ineffective PATCH and residual cleanup remain pending. Obsolete uncertain work is retired only after evidence or authorization. Routine convergence retains conclusive absence for its matching attempt. Transient unavailable discovery retries at the next due ordinary synchronization without requiring inspection or repair. Explicit repair reuses a completed catalog per actual issue/PR parent and directly validates selected identities before mutation.

shipper issue recover-blocked-comment remains a Blocked-restricted compatibility wrapper using the same flags and engine. Blocked ownership and slot ordering remain stricter: saved ID, heading or body alone never establishes ownership. Store-only policy refuses GitHub recovery without writes. A live stage defers authorization without recording it; rerun after the stage finishes.

CodeWhen
0Inspection, safe recovery, durable authorization, retirement, or live-stage deferral succeeds.
1Options, identity, or the attempt token are invalid, stale, or consumed.
  • The earlier attempt may already have posted. Authorizing another attempt can create a duplicate comment.
  • Without flags this command never POSTs. Safe receipt/marker discovery runs again under the issue lock before authorization; incomplete discovery consumes no token.
  • Supply all four authorization options together. Attempt tokens are positive safe integers and authorize one unresolved boundary; replay and stale tokens are refused.
  • Wanted work becomes ready once; obsolete work is retired without recreating its body. Closure alone does not retire live historical comments. Store-only policy performs no GitHub recovery.
  • A running stage defers recovery without consuming authorization. Nothing was recorded; rerun this command after the stage finishes.
  • Blocked ownership and ordering safeguards remain stricter; saved ID or heading alone never grants ownership. Legacy debt without a token needs explicit repair.