diff --git a/docs/operations/github.md b/docs/operations/github.md index 8194be7..3903fa8 100644 --- a/docs/operations/github.md +++ b/docs/operations/github.md @@ -114,6 +114,15 @@ publishing. The [release-source policy](../standards/versioning.md#release-sourc owns provenance, selection and quota limits. The first public release passed complete matching Server and three-platform App mirror download acceptance. +Release postflight applies the [two-version mirror retention policy](../standards/versioning.md#release-sources). +After verifying the latest mirror and its fallback against GitHub, inventory +older releases with `/releases/{id}/attach_files`, verify their GitHub originals, +then remove only the reviewed attachments through +`DELETE /releases/{id}/attach_files/{attachment_id}`. Recheck both retained +versions and the anonymous `download/latest` links afterward. Keep deletion +inventories and verification results with operator release records, not source +history. The upload script does not itself delete older attachments. + ## Platform References - [Protected branch availability](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) diff --git a/docs/standards/versioning.md b/docs/standards/versioning.md index 9a1031f..cf2a475 100644 --- a/docs/standards/versioning.md +++ b/docs/standards/versioning.md @@ -271,8 +271,16 @@ an up-to-date result, does not consult the mirror. Gitee currently documents 100 MB per attachment and 1 GB total repository attachments for ordinary projects. The mirror rejects files above 100,000,000 -bytes before writing. Check aggregate capacity before each release; exhausted -storage leaves a pending preview rather than deleting older downloads. +bytes before writing. GitHub retains published history; Gitee retains package +attachments for the latest stable version and one preceding verified stable +version. Order by semantic version, not update time; a preview cannot displace +the fallback. Verify the new mirror completely before retiring older attachments, +and verify that the fallback's packages remain downloadable and match GitHub. +Delete only older mirror attachments with verified GitHub originals; retain +release descriptions and tags. Unknown files or provenance require review. +Check capacity before upload. Cleanup may reclaim versions outside the two +retained stable versions; never delete either retained version to make an +unverified replacement fit. Exhausted storage leaves a pending preview. Target authentication, uploads, anonymous metadata/CORS and the complete matching Server/three-platform App downloads and SHA-256 checks passed for the public release. Use API metadata in the Browser; ordinary asset-link redirects are not guaranteed