diff --git a/docs/release.md b/docs/release.md index b730815..4fe11e9 100644 --- a/docs/release.md +++ b/docs/release.md @@ -178,14 +178,21 @@ bounded authoritative reconciliation after a failed tag push. Exit status 3 means the tag outcome remains unknown; do not blindly retry or move a tag. For an uncertain result, use the exact endpoint, candidate commit, version, and -tag-object ID from the report. Query the authoritative refs once: +tag-object ID from the report. Copy the captured endpoint into the variable +below using normal shell quoting. Check that Git still resolves it to itself, +then query the authoritative refs once: ```sh -authoritative=https://gitea.maximumdirect.net/eric/ConfigKit.git -release_version=vMAJOR.MINOR.PATCH -git ls-remote --refs "$authoritative" refs/heads/main "refs/tags/$release_version" +authoritative='COPY_CAPTURED_ENDPOINT' +release_version='vMAJOR.MINOR.PATCH' +test "$(git ls-remote --get-url -- "$authoritative")" = "$authoritative" && + git ls-remote --refs -- "$authoritative" refs/heads/main "refs/tags/$release_version" ``` +A failed URL-equality check or remote query leaves the outcome unresolved. +Correct transport configuration before continuing; a rewritten destination +cannot establish absence at the captured endpoint. + Compare the `main` object ID with the reported candidate commit and the tag object ID with the reported tag-object ID. `--refs` returns the annotated tag object itself, not merely its peeled commit. If the tag object matches, the diff --git a/docs/roadmap/remediation.md b/docs/roadmap/remediation.md index d5bfc6f..748e659 100644 --- a/docs/roadmap/remediation.md +++ b/docs/roadmap/remediation.md @@ -7,6 +7,10 @@ match the intended architecture. Address the following documentation findings. ## 1. Preserve the captured endpoint during manual recovery (P2) +Status: Complete. The runbook uses the captured endpoint and checks Git's URL +resolution before querying refs. Its documented command returned the exact tag +in a temporary fixture and rejected a rewritten endpoint before querying refs. + Affected: [release procedure](../release.md#5-recover-from-a-failed-or-uncertain-tag-push), lines 180–199.