build: a build no longer dirties the tree
v3/include/version.h is written by every build (kernel/Makefile and v3/Makefile, both FORCE), with a timestamp and the last build's ARCH; the committed copy was stale (LITHOS_VERSION 2.1.0). Untracked, and .gitignore's entry corrected: it said include/version.h, the path before the move to v3/, and matched nothing. capsules/BLOCK_MAP.md differed on every build only in mkcapsule's "Generated ... <timestamp>" header. The timestamp is dropped, so the manifest changes only when the capsules do; two runs are byte-identical. mkcapsule's warnings unchanged (5, #143). Captain Bob, 2026-11-11: untrack version.h and fix the ignore; drop the manifest timestamp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
This commit is contained in:
+2
-7
@@ -740,11 +740,6 @@ static int cmp_blockref(const void *a, const void *b) {
|
||||
}
|
||||
|
||||
static void generate_manifest(FILE *out) {
|
||||
time_t now = time(NULL);
|
||||
struct tm *tm_ptr = gmtime(&now);
|
||||
char timestamp[64];
|
||||
strftime(timestamp, sizeof(timestamp), "%Y-%m-%dT%H:%M:%SZ", tm_ptr);
|
||||
|
||||
qsort(manifest_entries, (size_t)manifest_count,
|
||||
sizeof(ManifestEntry), cmp_manifest_name);
|
||||
|
||||
@@ -762,11 +757,11 @@ static void generate_manifest(FILE *out) {
|
||||
|
||||
fprintf(out,
|
||||
"# Capsule Block Manifest — Auto-generated\n"
|
||||
"<!-- Generated by mkcapsule --manifest %s -->\n"
|
||||
"<!-- Generated by mkcapsule --manifest (no timestamp: it changes only with the capsules) -->\n"
|
||||
"<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->\n"
|
||||
"<!-- Hand-written justifications and immutability notes live -->\n"
|
||||
"<!-- in MANIFEST.md alongside this auto-generated index. -->\n"
|
||||
"\n", timestamp);
|
||||
"\n");
|
||||
|
||||
/* Capsule summary */
|
||||
fprintf(out, "## Capsule Summary\n\n");
|
||||
|
||||
Reference in New Issue
Block a user