Keep publication recovery usable after cold Go tool runs

This commit is contained in:
2026-11-02 22:32:58 +00:00
parent 19a14bfeb6
commit 993866c1d7
8 changed files with 323 additions and 9 deletions

View File

@@ -135,6 +135,18 @@ directories privately and creates record files with owner-only permissions;
existing directory permissions are left as they are. The caller owns storage
retention and removal.
The CLI prepares a recovery entry point when a failed publication has a saved
record. Registered-tool consumers use their selected module's Go tool directly.
For API-only consumers, ReleaseKit retains alternate module and checksum files
under `<Git common directory>/releasekit/publication-recovery/`, with private
directory and file permissions. These files add the CLI tool declaration and
prepare its module graph without changing consumer source. They survive a
launcher's temporary module-file cleanup. The printed command runs Go from the
selected module directory; retain that checkout and the private recovery files
while the entry point is needed. Remove the private recovery directories when
their recovery value expires. Another supported CLI can read the saved record
independently of these launch files.
The saved endpoint is retained exactly for later observation and may include
credentials. Treat records, `PublicationEvidence`, and `PublicationResult` as
sensitive. Store overrides in a location with suitable access controls, avoid