# Achieved Goals Archive This file holds summary records of goals that have been achieved and moved out of the active `GOALS.md` index to keep that file lean. Goals are archived as part of the achieved flip (see the `GOALS.md` maintenance rules). Records here are historical context only — they explain why code exists in its current shape and are useful when future agents refactor or revisit the same area. ## Format Each archived goal is one compact record, preserving its original ID and acceptance criterion so it remains traceable: ``` ### G- [achieved ] → detail: goals/archive/G--.md Scope: Acceptance: ``` The full record (including the Goal statement) lives in the archived detail file. Do not edit archived records here except to fix a broken path. Archived detail files under `goals/archive/` are likewise frozen, with one exception: `Follow-on:` disposition updates per the `goals/AGENTS.md` Follow-ons contract (goals-system v4). If an archived goal is reopened, move it back to `GOALS.md` with a new ID and mark the old entry `superseded by G-`. (One sanctioned exception: the 2026-07-24 goals-system v2 delimiter normalisation rewrote archived Scope lines from comma to semicolon delimiters under explicit user approval; record content was otherwise unchanged.) ## Archived goals ### G-170 [achieved 2026-08-06] Launcher help depth: form narrowing, parse-true dry-run, actionable form hints → detail: goals/archive/G-170-launcher-help-depth.md Scope: src/vfs/_config/punkboot_core.tcl (help arm, + synced copies via established channels); punkexe launch definitions wherever homed after G-168/G-169 (formhint un-suppression); src/tests/shell/testsuites/punkexe/launcherhelp.test Acceptance: 'help script oneliner' (and an index form) renders only that form's usage; a non-form trailing word on a passthrough subcommand keeps today's ignored behaviour (prepend-help pinned unchanged); for a parse-true subcommand the dry-run's accept/reject agrees with dispatch on the same words (parity pinned); the form-word-vs-scriptfile collision rule (a script literally named 'oneliner') is decided and documented; the multi-form definitions' -formhint suppression flips to real templates and the hint labels render them; every increment has a working degraded/plain twin; all pinned in launcherhelp.test. (Achieved: punkboot core 0.7.0 - launcher_show_help tail depth returning the exit code; narrowing = exact form name or decimal ordinal via 'usage -form' (G-150 shape - all-form synopsis, selected form's argument table); dry-run make.tcl-style with the punk::args::parse_report landing report (guarded for older snapshots), parse-true = buildinfo + project parse=1 (parity by construction) and script/tclsh gated on the G-168 fence witness so an unfenced moduledoc vintage keeps the historic ignored tail; collision rule decided - form word wins the single-word position, a like-named file stays reachable as ./oneliner (the G-168 ./-e rule); -formhint "" flipped to ' help %formname%' in both homes (app-punkscript 1.3 script def, punkexe moduledoc 0.9.0 tclsh def) with deliberately no trailing ellipsis (appending words flips into the dry-run interpretation, not a continuation); the -encoding LIMIT inherited as the sanctioned two-form diagnosis; launcherhelp.test 38/38 (13 new pins incl parity, vintage-witness and PUNKBOOT_PLAIN twins) + args subtree 337/3/0 on tclsh90 AND tclsh87; punkexe subtree at recorded baseline.) ### G-169 [achieved 2026-08-05] App-owned launch-subcommand documentation consumed by the launcher → detail: goals/archive/G-169-app-owned-launch-docs.md Scope: src/lib/app-punkscript/punkscript.tcl (carries its subcommand's punk::args definition via inert registration); src/modules/punk/args/moduledoc/punkexe-999999.0a1.0.tm (single-definer handover); src/vfs/_config/punkboot_core.tcl (built-in help resolution via app-owned ids, *_main.tcl declaration surface documented, + synced copies via established channels); src/tests/shell/testsuites/punkexe/launcherhelp.test Acceptance: app-punkscript carries the script definition and 'help script' renders it on a baked kit via lazy resolution (guarded package require + docpackages/argsid - no eager load at boot; help-path load cost measured and recorded); the punkexe moduledoc no longer defines the id (no duplicate-definition warnings; single definer verified); degraded/plain help path intact; the *_main.tcl declaration keys are documented where kit authors look (location decided in the work: core header contract + a durable doc) including the parse=1 gate; launcherhelp.test passes with a new app-owned-resolution pin. (Achieved: app-punkscript/app-punkscript-docs 1.2 - the definition (G-168 shape verbatim) inertly registered in the app's own file, provided docs-only via an execution-gated source; punkboot core 0.6.0 launcher_builtin_docpackages guarded lazy require on the help path; punkexe moduledoc 0.8.0 handover with the ownership rule recorded; durable doc = (script)::punkboot::registration (punkboot moduledoc 0.3.1) + core header + project_main.tcl examples; docs require measured 3.5 ms (render stack dominates identically at any home); launcherhelp.test 25/25 incl the src-mode app-owned-resolution pin, args subtree green tclsh90+tclsh87.) ### G-168 [achieved 2026-08-05] Selection-sound launch definitions: script/tclsh forms match dispatch reality → detail: goals/archive/G-168-selection-sound-launch-definitions.md Scope: src/modules/punk/args/moduledoc/punkexe-999999.0a1.0.tm ((script)::punkexe::script + ::tclsh form discrimination); src/lib/app-punkscript/punkscript.tcl (behaviour oracle, error-surface decision); src/vfs/_config/punkboot_core.tcl (only if the dispatch-parse decision adopts gating, + synced copies via established channels); src/tests/modules/punk/args/testsuites/args/ (new model-parity suite); src/tests/shell/testsuites/punkexe/launcherhelp.test (as touched) Acceptance: against the script definition, parse/parse_status select oneliner for {-e ...}, select file for { ...} where ne -e, and {-e} alone reports noformmatch with oneliner viable-incomplete (the app's "-e requires a script argument" reality); against tclsh, {file args} selects scriptfile, a leading-dash word selects stdin, and an incomplete -encoding tail falls through to stdin (stock parity); formcheck reports no unsanctioned findings; a real-vs-model probe matrix (G-055 method) against actual dispatch/app-punkscript behaviour is recorded in this file; whether DISPATCH adopts parse-gating for script/tclsh (tabled pointed errors replacing app-punkscript's plain ones) is decided and recorded with rationale and, if adopted, a measured script-launch latency delta; the new behaviour is pinned in the args testsuite and launcherhelp.test passes unchanged (or with deliberately updated pins named here). (Achieved at punkexe moduledoc 0.7.0: file form scriptfile -regexprefail {^-e$} + ./-e message, oneliner '-e' as required solo flag ('-e' alone verdicts viable-incomplete via the G-164 re-probe); tclsh scriptfile {^-} fence + stdin firstarg {^[^-]} fence with the complete '-encoding ' shape the recorded sanctioned LIMIT (@form -overlapallowed; parse raises multipleformmatches per G-041 no-silent-preference); dispatch parse-gating decided NOT adopted; probe matrix + decisions in the detail file; new punkexemodel.test + 3 formcheck GAP flips, args subtree green tclsh90+tclsh87, launcherhelp.test 24/24 unchanged.) ### G-151 [achieved 2026-08-05] punk::args annotated success render (received-args landing report) → detail: goals/archive/G-151-punkargs-annotated-success-render.md Scope: src/modules/punk/args-999999.0a1.0.tm (parse-result presentation); src/tests/modules/punk/args/testsuites/args/ Acceptance: given a successful parse result (or the words plus definition id), a punk::args surface renders per-argument received-vs-default annotation covering leaders, opts and values including -multiple aggregation - the canonical demonstration being a flag-like word consumed as a VALUE (the 'punk91 -confirm 0'-as-three-values class) visibly attributed to its consuming argument; failure-side rendering is unchanged (existing arg_error pins pass); the behaviour is pinned in the args testsuite. make.tcl retiring its interim one-line 'dry-run: line accepted ...' report in favour of this render is recorded as consumer follow-through after a bootsupport promotion, not part of this acceptance. (Achieved as punk::args::parse_report - result-dict and words+withid entry forms, Argument|Source|Value landing table in table/tableobject/string/dict returns with the dict form never elided; type-aware always-marked display elision over the new ansistring TRUNCATE grapheme primitive (punk::ansi 0.2.0); caller -valuewidth > @cmd -reportvaluewidth > 48 width cascade; punk::args 0.18.0, new parsereport.test, args+ansi subtrees green on tclsh90 and tclsh87.) ### G-149 [achieved 2026-08-05] punk::args: configurable multi-form synopsis hint labels → detail: goals/archive/G-149-punkargs-formhint-labels.md Scope: src/modules/punk/args-999999.0a1.0.tm (usage/arg_error multi-form Synopsis hint column); src/tests/modules/punk/args/testsuites/args/ Acceptance: a punk::args mechanism (definition directive and/or usage/arg_error caller option) replaces the ' i -form N ...' hint labels with caller-supplied text and can suppress the column entirely; unconfigured definitions render byte-identical to today (existing synopsis/usage/arg_error pins pass unchanged); the mechanism is pinned in the args testsuite. make.tcl adopting it (e.g a 'make.tcl help tool ' phrasing) is recorded as consumer follow-through after a bootsupport promotion, not part of this acceptance. (Achieved with both arms: '@cmd -formhint