Browse Source
Closes the tcllib_checkout honesty gap: a gated tree's shipped content is its checkout PLUS the pkgindex_gate repairs, but no record travelled with the divergence. pkgindex_gate.tcl (both suites, byte-identical) now writes punkbin-upstream-repairs.toml at the gated tree root after both gate checks pass - the applied-repair enumeration ($repaired, sorted), the upstream ticket URL (promoted to data as UPSTREAM_REF), deterministic content only. Both artifact consumers carry the tree verbatim, so the enumeration ships inside every kit and lib zip adjacent to the divergence it explains; no manifest is written on gate failure (fixture-verified both directions). Records point rather than duplicate (single owner = the gate's allowlist; the manifest is written from the post-verification applied set, so it can never drift): library_artifacts.tcl [provenance] gains upstream_repairs = "punkbin-upstream-repairs.toml" when the package folder carries the manifest; build905.zig family records gain tcllib_gated = true with the resolved base/lib/tcllib<ver>/ manifest path (build86 emits no family records - covered via the shared tools). Verified: gate fixture with all five recorded defects + clean module (repairs + manifest exact); info-complete on both Tcl tools; zig ast-check + extracted-template compile render proving 18-arg format arity. Cross-suite tool copies byte-identical. No project bump (buildsuite-only). Effect materializes at the r2 rebuild chain - r2 records honest from birth. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
5 changed files with 93 additions and 1 deletions
Loading…
Reference in new issue