diff --git a/bin/AGENTS.md b/bin/AGENTS.md index caa1c368..9c52600f 100644 --- a/bin/AGENTS.md +++ b/bin/AGENTS.md @@ -16,6 +16,16 @@ deliberately fragile (mutual shell-hiding tricks, LF-only endings, cmd.exe's 512 label-scanner constraints) - a hand-edit can silently break one of the participating shells. +Polyglot scope policy (user, 2026-07-29): the multishell mechanism exists to serve +BOOTSTRAPPING - reaching a working punkshell environment from a machine that has no +tclsh or toolchain yet (`punk-runtime` fetches runtimes, `punk-getzig` fetches the +zig toolchain). Because the mechanism is complex and potentially fragile over the +long term, do not expand it unnecessarily: a capability that only runs when a tclsh +is already present (anything make.tcl-adjacent - fetching build tools such as +punkres, for example) belongs in-tree behind make.tcl (the G-006 direction), not in +a new polyglot. Propose a new polyglot only when the no-tclsh bootstrap case +genuinely applies. + When asked to "fix bin/.cmd": 1. Edit the payload/config sources under `src/scriptapps/bin/` (never the output file). 2. Re-wrap from the scriptset's folder: cd `src/scriptapps/bin` then diff --git a/goals/G-006-prebuilt-artifact-download.md b/goals/G-006-prebuilt-artifact-download.md index a9c7f4ec..48a5a00c 100644 --- a/goals/G-006-prebuilt-artifact-download.md +++ b/goals/G-006-prebuilt-artifact-download.md @@ -48,3 +48,16 @@ This goal is parallel to and independent of G-005. A user with zig uses G-005; a tcltls removes the largest standing class of prebuilt binaries this channel would otherwise carry long-term - G-116's scope note ("prebuilt replacement path") is this goal's build-side counterpart. +- Fetcher-shape leaning (user, 2026-07-29, recorded during the G-128 closeout + discussion): do NOT shape this goal's downloader as a new polyglot scriptset + (a punk-gettool sibling of punk-getzig was considered and set aside) - + polyglots serve BOOTSTRAPPING, the no-tclsh cold start, and are deliberately + not expanded beyond it (bin/AGENTS.md "Polyglot scope policy"). Build-tool + fetching always runs with a tclsh present (make.tcl is the consumer), so the + make.tcl-integrated downloader this file's Approach already leans toward is + the indicated shape - e.g. a 'make.tcl tool fetch ' surface reusing + the tool step's vendored-version/installed-state knowledge, with this goal's + consent flag and G-123's server-trust keying; extending punk-runtime remains + G-123's parallel lane for runtime tiers. The first concrete artifact this + channel would serve exists: punkres on the punkbin tools tier (G-128, + achieved - route in src/tools/punkres/PROVENANCE.md "Distribution").