From 25e88f84269d5e37099d6be39213599b862f4818 Mon Sep 17 00:00:00 2001 From: volt Date: Mon, 26 Oct 2026 17:58:42 +0000 Subject: [PATCH] volt: beam: Q79 -- name one canonical directory manifest: manifest.py, with sha256_manifest.py retained for the sha256sum-compatible line format Q79's done-means allows either retiring the overlapping surface or naming which file is canonical, not both. Retiring sha256_manifest.py would break test_sha256_manifest.py and the reply-01..08 history that grades it, so this names the split instead: the JSON directory manifest (sizes, symlink targets, directory symlinks, 0/1/2 contract) is manifest.py; the plain `digest path` text shape stays in sha256_manifest.py. One docstring, no behaviour change. CHECK: python3 -m unittest discover -s wizard-work/beam -p 'test_sha256*.py' -q --- wizard-work/beam/sha256_manifest.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wizard-work/beam/sha256_manifest.py b/wizard-work/beam/sha256_manifest.py index 9202b98..c75212d 100644 --- a/wizard-work/beam/sha256_manifest.py +++ b/wizard-work/beam/sha256_manifest.py @@ -1,5 +1,11 @@ #!/usr/bin/env python3 -"""Generate and verify a SHA-256 manifest for a directory of files.""" +"""Generate and verify a SHA-256 manifest for a directory of files. + +Retained for the sha256sum-compatible `digest path` line format only. The +canonical directory manifest for this lane is `manifest.py`: it records sizes, +symlink targets and directory symlinks, and carries the 0/1/2 exit contract. +Use this file when a consumer needs the plain text shape; use that file otherwise. +""" import argparse import hashlib import os