From 3ca7d1a8ad8b35c560634fa8fa982ad42c8db620 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Wed, 22 Jul 2026 16:06:30 +1000 Subject: [PATCH] suite.tcl: materialize manifest.uuid in every fossil checkout (provenance completeness) The published r1 artifact metadata recorded 'unrecorded' checkout uuids for tclvfs/tcllib/tklib: fossil only writes manifest.uuid when the REPOSITORY enables the versioned 'manifest' setting, which those upstreams do not (tcl/tk/thread do). The checkout-scoped setting is ours to control: 'fossil settings manifest u' materializes manifest.uuid immediately and keeps it current across updates - now applied idempotently to every staged checkout on each build. Verified on the live stage (tclvfs f082c47f, tcllib c784f6fd, tklib 2d53beaf now recorded); future emissions carry full provenance (r1 stays immutable as published). Zon-flow tarballs share the upstream limitation - their checkin uuids are derivable from the per-checkin pin URLs; recorded in the comment as the not-yet-wired follow-up. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- src/buildsuites/suite_tcl90/suite.tcl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/buildsuites/suite_tcl90/suite.tcl b/src/buildsuites/suite_tcl90/suite.tcl index 7a86e45c..2e6760c0 100644 --- a/src/buildsuites/suite_tcl90/suite.tcl +++ b/src/buildsuites/suite_tcl90/suite.tcl @@ -230,6 +230,17 @@ proc fossil_source {name url branch dir} { run fossil update $branch cd $savedpwd } + #provenance: materialize manifest.uuid regardless of the upstream repo's + #versioned 'manifest' setting (tcl/tk/thread enable it; tclvfs/tcllib/tklib + #do not - the G-103-era artifact metadata recorded 'unrecorded' for those). + #The LOCAL checkout-scoped setting 'u' generates manifest.uuid immediately + #and keeps it current across updates; idempotent on every build. (The zon + #bootstrap flow's tarballs share the limitation for those repos - checkin + #uuids there would come from the pin URLs; recorded, not yet wired.) + set savedpwd [pwd] + cd $dir + run fossil settings manifest u + cd $savedpwd } proc git_source {name url ref dir} {