Browse Source

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-<major>-<minor>-<patch>.exe draft to the decided dotted
  punk<major>-<punkshellversion>.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
master
Julian Noble 1 week ago
parent
commit
b3cff22a6f
  1. 29
      goals/G-023-version-named-binaries.md
  2. 4
      goals/G-103-runtime-kit-family.md
  3. 7
      goals/G-104-maketcl-buildsuite-surface.md
  4. 6
      goals/G-112-maketcl-subcommand-rename.md

29
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-<major>-<minor>-<patch>.exe / punk9-<major>-<minor>-<patch>.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-<M>-<m>-<p>.exe and punk9-<M>-<m>-<p>.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-<punkshellversion>.exe / punk9-<punkshellversion>.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-<version>.exe and punk9-<version>.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-<major>-<minor>-<patch>.exe` / `punk9-<major>-<minor>-<patch>.exe` -
produced as the version advances; a rebuild at an unchanged version refreshes
that version's binaries in place.
- `punk8-<punkshellversion>.exe` / `punk9-<punkshellversion>.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<major>-<punkshellversion>(.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-<major>-<minor>-<patch>.exe draft to the decided dotted
punk<major>-<punkshellversion>.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).

4
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<major>-<punkshellversion>.exe verbatim and layers its -dev /
release-gated-plain-name policy on the working-name tier.

7
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.

6
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.

Loading…
Cancel
Save