Browse Source

G-117: record the embed-then-read-back emission design (single-source build_id)

family_artifacts.tcl runs after kits are built, so the embed lands at kit-family
staging and emission mounts each kit exe to READ the embedded record back -
sidecar fields derive from it (identical build_id by construction; emission
inherently verifies the embed exists). sha1/size stay sidecar-only; embedded
filename namespaced per the G-025 reconciliation.

Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
Julian Noble 5 days ago
parent
commit
4bb8f6eba4
  1. 19
      goals/G-117-self-describing-runtimes.md

19
goals/G-117-self-describing-runtimes.md

@ -83,8 +83,23 @@ hosts without a zip reader.
(current local r2 is pre-v1 and unpublished; published r1 stays immutable) ->
family_check -> only then punkbin r2 publication + defaults.txt flip (G-103
follow-through), with G-119 fixture-server verdict tests after that.
- Remaining for acceptance: everything in the Acceptance line (no implementation
landed yet).
- 2026-07-24 implementation design (recorded before staging work; from reading
tools/family_artifacts.tcl): family_artifacts.tcl runs AFTER kits are built (copies
finished exes, hashes them), so the embed happens at the kit-family staging step and
emission READS IT BACK: family_artifacts mounts each kit exe (tcl::zipfs::mount on
the file) and loads the embedded record, deriving the sidecar's shared fields
(build_id, origin, packager, schema...) from it - single source of truth, identical
build_id by construction, and every emission run inherently verifies the embed
exists (fail if absent). Staging generates build_id per member and writes the
embedded record WITHOUT sha1/size (finished-binary facts stay sidecar-only).
Embedded record filename namespaced per the G-025 reconciliation note.
- Remaining for acceptance: locate/extend the kit-family staging step (embed write),
family_artifacts v1 fields + mount-read derivation + '#' field comments +
-Doriginurl/-Dpackager plumbing, family_check embedded-record verification,
punk-runtime 'info' action (ps1 + bash + cmd rewrap; zip central-directory read,
cooperative-probe fallback documented), punkbin AGENTS.md schema v1 docs, suite
rebuild + r2 re-emission + wrap trial (also verifies the G-118 items 1+7 patch rev
behaviour on rebuilt kits).
## Notes

Loading…
Cancel
Save