From b3cff22a6f17602229c4a25da1f3889092bf2271 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Tue, 21 Jul 2026 21:22:54 +1000 Subject: [PATCH] goals: G-112<->G-104 make.tcl-surface pairing notes; G-023 reconciled to G-103 kit naming (user-approved) - G-112/G-104: mutual ordering notes - one make.tcl-surface window, G-112 first or together, so the buildsuite group and workflow help text are written once in the stage-true vocabulary. - G-023: Goal/Acceptance flipped from the hyphenated punk9---.exe draft to the decided dotted punk-.exe kit-artifact form; reframed as the make.tcl/bin-side adoption of the G-103 naming decision plus the -dev / release-gated-plain-name policy layer; tier-mapping paragraph + dated reconciliation note added. - G-103: pointer note that G-023 adopts the kit-artifact tier. Claude-Session: https://claude.ai/code/session_01DF7YiUKBGWPpuF7ydVVPBn Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- goals/G-023-version-named-binaries.md | 29 +++++++++++++++++++---- goals/G-103-runtime-kit-family.md | 4 ++++ goals/G-104-maketcl-buildsuite-surface.md | 7 +++++- goals/G-112-maketcl-subcommand-rename.md | 6 +++++ 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/goals/G-023-version-named-binaries.md b/goals/G-023-version-named-binaries.md index a40f5912..ff5bb01d 100644 --- a/goals/G-023-version-named-binaries.md +++ b/goals/G-023-version-named-binaries.md @@ -2,8 +2,8 @@ Status: proposed Scope: src/make.tcl, src/runtime/ (mapping config - see G-024), bin/ (build outputs) -Goal: project builds produce version-named punk executables for tcl 8.6 and tcl 9 as the project version advances - punk8---.exe / punk9---.exe per version, punk8-dev.exe / punk9-dev.exe tracking the latest build, and plain punk8.exe / punk9.exe created initially then replaced only when an actual release is tagged - tolerating the disk growth for now. -Acceptance: a project build at the current punkproject.toml version produces punk8---

.exe and punk9---

.exe (names derived from the version, not hand-maintained) plus punk8-dev.exe / punk9-dev.exe updated to that same build; rebuilding at an unchanged version refreshes that version's binaries and -dev without touching other versions' outputs; plain punk8.exe / punk9.exe exist and are replaced only by an explicit release step - a normal build never overwrites them; the scheme is declared succinctly via the G-024 toml mapping (no per-version config edits); archival/deletion of accumulated versioned binaries is out of scope with the trigger question recorded in the detail file. +Goal: project builds produce version-named punk executables for tcl 8.6 and tcl 9 as the project version advances, adopting the G-103 kit-artifact naming decision - punk8-.exe / punk9-.exe with dotted versions (e.g punk9-0.5.0.exe, prerelease punk9-0.5.0b2.exe) per version - plus the policy layer this goal owns: punk8-dev.exe / punk9-dev.exe tracking the latest build, and plain punk8.exe / punk9.exe created initially then replaced only when an actual release is tagged - tolerating the disk growth for now. +Acceptance: a project build at the current punkproject.toml version produces punk8-.exe and punk9-.exe in the G-103-decided dotted form (names derived from the version, not hand-maintained - e.g punk9-0.5.0.exe) plus punk8-dev.exe / punk9-dev.exe updated to that same build; rebuilding at an unchanged version refreshes that version's binaries and -dev without touching other versions' outputs; plain punk8.exe / punk9.exe exist and are replaced only by an explicit release step - a normal build never overwrites them; the scheme is declared succinctly via the G-024 toml mapping (no per-version config edits) and matches the kit-artifact tier of the G-103 naming decision; archival/deletion of accumulated versioned binaries is out of scope with the trigger question recorded in the detail file. ## Context @@ -17,15 +17,25 @@ side; this goal addresses the naming side). Naming scheme: -- `punk8---.exe` / `punk9---.exe` - - produced as the version advances; a rebuild at an unchanged version refreshes - that version's binaries in place. +- `punk8-.exe` / `punk9-.exe` (dotted, e.g + `punk9-0.5.0.exe`; prerelease `punk9-0.5.0b2.exe`) - produced as the version + advances; a rebuild at an unchanged version refreshes that version's binaries + in place. The version axis is the PUNKSHELL version (the payload), never the + tcl patchlevel - that is metadata's job (G-103 decision). - `punk8-dev.exe` / `punk9-dev.exe` - always the latest build, refreshed every build. - `punk8.exe` / `punk9.exe` - created initially, then replaced only by an explicit release step when an actual release is tagged. A normal build never touches them. +Tier mapping (G-103 naming decision, user-approved 2026-07-21): the versioned +names above are that decision's published/archived KIT ARTIFACT form +punk-(.exe) verbatim; plain punk8.exe / punk9.exe are +its major-only WORKING names, with this goal supplying their materialization +policy (the explicit release step); -dev is an additional working-name flavour +alongside the decision's recognized dev-matrix style (punk905, punk902z, ...), +which stays available via explicit mapvfs entries. + The `8`/`9` generation split matches the existing dual-generation verification practice (bin/AGENTS.md: a Tcl 8.6 punk shell and a current Tcl 9 punk shell). @@ -66,3 +76,12 @@ binary-artifacts repository). Revisit when the accumulation actually bites. version/provenance - the complement of name-encoded versioning once files are renamed/copied), G-006 (future artifact-store home for archived versions), G-018/G-019 (other points on the executable-flavour spectrum). +- 2026-07-21: reconciled with the G-103 runtime/kit naming decision + (user-approved reconciliation): version encoding flipped from the original + hyphenated punk9---.exe draft to the decided dotted + punk-.exe form, and the goal is now framed as the + make.tcl/bin-side ADOPTION of that decision's kit-artifact tier plus the + -dev / release-gated-plain-name policy layer (which the decision deliberately + leaves under project-owner control). Naming authority: G-103's NAMING + DECISION section (goals/G-103-runtime-kit-family.md; archive location once + flipped). diff --git a/goals/G-103-runtime-kit-family.md b/goals/G-103-runtime-kit-family.md index f5ec3379..4eccb4c6 100644 --- a/goals/G-103-runtime-kit-family.md +++ b/goals/G-103-runtime-kit-family.md @@ -232,3 +232,7 @@ contract the sequencing note promises G-101. zipfs) extracts to %TEMP%\TCL* with the SAME non-cleanup flaw (details in G-066 Notes). So windows = flaw confirmed for BOTH direct-kit and modpod-.tm binary loads. Linux/WSL leg is blocked on a linux tcl9 runtime - see G-105 Notes. +- 2026-07-21: G-023 (version-named punk binaries) reconciled to this goal's + NAMING DECISION (user-approved): it adopts the kit-artifact tier + punk-.exe verbatim and layers its -dev / + release-gated-plain-name policy on the working-name tier. diff --git a/goals/G-104-maketcl-buildsuite-surface.md b/goals/G-104-maketcl-buildsuite-surface.md index 3bfb8ce8..6ac50364 100644 --- a/goals/G-104-maketcl-buildsuite-surface.md +++ b/goals/G-104-maketcl-buildsuite-surface.md @@ -34,4 +34,9 @@ products appear in info output), G-105 (target dimension forwarded when it exist ## Notes -(none yet) +- 2026-07-21 (user-approved pairing): G-112 (stage-true subcommand rename) edits the same + make.tcl subcommand surface - SUBOPTS/SUMMARIES/HELPTEXTS tables, help/workflow output. + Ordering: G-112 lands first, or the two run together as one make.tcl-surface window, so + this goal's buildsuite group and workflow text are written once in the renamed + vocabulary (the sibling-ergonomics 'vfs' wishes above become 'bake'-named under G-112). + Mirror note in G-112. diff --git a/goals/G-112-maketcl-subcommand-rename.md b/goals/G-112-maketcl-subcommand-rename.md index b135bafd..9928ee22 100644 --- a/goals/G-112-maketcl-subcommand-rename.md +++ b/goals/G-112-maketcl-subcommand-rename.md @@ -70,3 +70,9 @@ act rather than an input folder. build-reproducibility bug. - Artifact provenance carrier: kits reference the committed tree (punkorigin.toml / kit metadata direction, G-027 interim carrier) - VCS stays the payload ledger. +- 2026-07-21 (user-approved pairing): G-104 (make.tcl buildsuite surface) edits the same + make.tcl subcommand surface - SUBOPTS/SUMMARIES/HELPTEXTS tables, help/workflow output. + Ordering: this goal lands first, or the two run together as one make.tcl-surface + window, so G-104's buildsuite group and the workflow text are written once in the + stage-true vocabulary. G-104's sibling-ergonomics note still reads `make.tcl 'vfs'` - + that text joins this goal's rename sweep when both land. Mirror note in G-104.