From 2ec08535a87dc76f667d97a3b0c57e7bb7ea7a38 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Sat, 8 Aug 2026 15:42:42 +1000 Subject: [PATCH] G-171 note: dirty-bake provenance indication - follow-on candidate Records the 2026-08-08 assessment as a live-tier Notes item (becomes a Follow-on line at the flip, per goals/AGENTS.md - live goals carry no Follow-ons section): near-term tree_state field in the advisory kit sidecar surfaced by bakelist/BAKE SUMMARY/buildinfo; endpoint a publication-side content-addressed manifest (kit sha1 -> producing commit, absence IS the indication) sequenced after G-171's records-free-clone reproducibility lands; stamp/payload and filename homes rejected (determinism principle, name-keyed machinery). goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- goals/G-171-bake-writes-land-untracked.md | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/goals/G-171-bake-writes-land-untracked.md b/goals/G-171-bake-writes-land-untracked.md index 2d36a244..f0c70aad 100644 --- a/goals/G-171-bake-writes-land-untracked.md +++ b/goals/G-171-bake-writes-land-untracked.md @@ -169,6 +169,30 @@ mint to pack the tracked modpod tree as it stands. and judged not related in substance: G-089, G-114, G-131 (boot/_config surface), G-019 (payload content trimming), G-020 (Scope names a lib_tcl9 path only), G-116 (tcltls payload constituent - its removal stays G-004-era work). +- Follow-on candidate recorded 2026-08-08 (user-directed; becomes a Follow-on + line at the flip): dirty-bake provenance indication. A bake from an + uncommitted tree records nothing durable today - the stderr + PROVENANCE-WARNING is the only trace (punkkit-stamp deliberately carries no + VCS/time fields: the G-025 no-time-of-bake DECISION (achieved 2026-08-02 - + see goals/archive/G-025-exe-selfreport.md) and the make.tcl + no-volatile-fields stamp comment; identical inputs must yield + identical bytes). Homes assessed 2026-08-08: (a) near-term - a + tree_state = "clean@" | "dirty" field in the advisory kit sidecar + (the stamp comment's own designated home for volatile facts, punkbin + sidecar precedent; writefile_ifchanged keeps it byte-stable per state), + surfaced by bakelist, the BAKE SUMMARY block and ' buildinfo' (a + provenance notion beside G-025's stamp/live/governing: attested / + unattested / unknown); (b) endpoint - a publication-side content-addressed + manifest (kit sha1 -> producing commit) written by an explicit + post-step-(9) command in the punkbin publication pattern, where ABSENCE of + an entry IS the no-provenance indication - a dirty build cannot be trusted + to attest itself, and this goal's records-free-fresh-clone reproducibility + (Approach 1/2/5) is what upgrades rebake-and-compare into the manifest's + verification step, so (b) sequences AFTER this goal's landing. REJECTED + homes: the stamp/payload (determinism principle - phantom staleness across + history, no truthful value in the sanctioned step-(6)-(8) dirty window) and + the artifact filename (breaks name-keyed deploy/ledger machinery, + retroactively false mid-sequence). - Approach 10 message-shape template updated 2026-08-08 (git b729ce07 / fossil 55a54d8b, project 0.65.1): the stale_bootsupport gate it cites now emits via a shared helper, punkboot::lib::bootsupport_stale_warning - mechanism-first