@@ -202,13 +202,16 @@ authorization failure.
202202Conventional Commits carry pending changes, and Release Please owns the newest
203203canonical dated section immediately after the preamble. The version gate rejects
204204any unmanaged ` Unreleased ` level-two heading so the generated layout remains
205- valid on every patch release.
205+ valid on every patch release. Use only canonical Markdown for level-two
206+ headings; raw HTML H2 semantics vary by renderer and therefore fail closed.
206207
207208Each validated release-evidence block contains the immutable release identity
208209and only its canonical publication workflow. Preparatory implementation CI,
209210Release Please, failed-publication, and recovery history remains outside the
210- block. The document gate rejects every different run identity and every wrapped
211- or malformed Actions URL regardless of prose or Markdown labeling.
211+ block. The document gate binds every source occurrence to exactly one rendered
212+ navigation destination and rejects every different run identity plus wrapped,
213+ encoded, control-obfuscated, or malformed Actions URLs regardless of prose or
214+ Markdown labeling.
212215
213216Release mode (` check_version.py --require-releasable-docs ` ) also fails closed
214217until project authorship, the canonical GitHub repository URL, the copyright
@@ -225,7 +228,8 @@ description. The README therefore uses the unpinned
225228PRs and post-release evidence changes must not introduce approval, unpublished,
226229or exact-version availability statements. Artifact inspection applies the same
227230policy to wheel ` METADATA ` and sdist ` PKG-INFO ` , so source and registry-facing
228- descriptions cannot drift.
231+ descriptions cannot drift. Artifact inspection also requires every reviewed
232+ source-distribution member to match the release checkout byte for byte.
229233
230234## Workflow responsibilities
231235
@@ -290,7 +294,9 @@ descriptions cannot drift.
290294 against the exact pre-publication digests and Trusted Publisher provenance
291295 before a clean install explicitly from ` https://pypi.org/simple/ ` . The exact
292296 release live model is the canonical active model enforced by the workflow
293- checker and cannot be overridden by repository variables.
297+ checker and cannot be overridden by repository variables. Before digest
298+ retention, the immutable-tag build also copies the checkout into an empty
299+ parent and completes the standalone repository verification there.
294300 Because the unused Release Please or recovery path is intentionally skipped,
295301 every job after the selector must use ` always() && !cancelled() ` , reject
296302 reruns, and require each direct dependency's result to equal ` success ` . This
0 commit comments