Browse Source

G-159 ACHIEVED 2026-08-03: Follow-on disposition tracking - flip + archive

Acceptance verified whole (evidence in the detail file Progress section):
grammar + sanctioned disposition edits + sweep step (c) live in
goals/AGENTS.md; goals_lint findings fixture-proven; goals_followons
advisory report live; 30-file retrofit at zero unstructured flags (50
follow-ons: 25 open / 17 goal / 6 landed / 2 declined); goals-system v4.
Flip mechanics: index entry -> GOALS-archive.md record (newest-at-top per
today practice), detail file -> goals/archive/ (pure rename, content
edits made in place first), own ## Follow-ons section (none-note),
reference sweep: GOALS.md v4 line gains the achieved/archive marker,
G-156 Notes gains the v4-drift/census pointer; goals_xref report shows no
G-159 shared-archived-ref bridges needing repair.

Claude-Session: https://claude.ai/code/session_01QgaxV27VZkmEec7oNbEVFc
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
Julian Noble 1 week ago
parent
commit
d9b8b1cba0
  1. 4
      GOALS-archive.md
  2. 6
      GOALS.md
  3. 5
      goals/G-156-alpha-window-identifier-alignment.md
  4. 6
      goals/archive/G-159-followon-disposition-tracking.md

4
GOALS-archive.md

@ -20,6 +20,10 @@ Do not edit archived records here except to fix a broken path. Archived detail f
## Archived goals
### G-159 [achieved 2026-08-03] Trackable follow-on dispositions in archived goals → detail: goals/archive/G-159-followon-disposition-tracking.md
Scope: GOALS.md (goals-system v4 bump + maintenance/authoring rule updates); GOALS-archive.md (archive-edit exception wording); goals/AGENTS.md (Follow-on line grammar, sanctioned disposition edits, archive-sweep update); goals/archive/ (one-time retrofit sweep); scriptlib/developer/goals_lint.tcl (grammar validation); scriptlib/developer/goals_followons.tcl (new advisory report)
Acceptance: goals/AGENTS.md defines a lintable Follow-on line grammar for archived detail files with a closed disposition vocabulary covering at least open, became-goal, landed (dated), and declined (dated) - exact tokens and line shape settled in the work - and sanctions disposition-only updates to archived detail files as non-contract edits reported in completion summaries (GOALS-archive.md's do-not-edit rule stays for index records, reworded to name the carve-out); goals_lint validates the grammar - a malformed disposition token, or a disposition goal-reference to an ID present in neither index, is a finding - with existing checks unchanged; scriptlib/developer/goals_followons.tcl (plain tclsh, no dependencies, always exit 0, xref-style advisory) reports every structured follow-on with its archived-goal home and disposition, groups open items, and heuristically flags follow-on-vocabulary prose in goals/archive/ lacking a structured line; a one-time user-approved retrofit sweep (per the 2026-07-24 delimiter-normalisation precedent) converts existing goals/archive/ follow-on prose to structured lines whose dispositions reflect the live tier and landed work (e.g. the RT_VERSION follow-on parked in archived G-057 - goals/archive/G-057-kit-icon-embedding.md - resolves to its enacting live goal G-137), ambiguous items resolved with the user, and after it the report shows zero unresolved heuristic flags on the real archive (output recorded in this file); the archive-flip reference sweep and the goal-authoring workflow are amended so newly archived goals record follow-ons in the structured grammar and an agent acting on an archived follow-on (drafting its goal, or landing it directly at user direction) updates the disposition in the same work unit; the goals-system version bumps to v4 recording the convention so syncing repos port the delta.
### G-032 [achieved 2026-08-03] Kit launcher dogfoods punk::args: tabled help and parsed subcommands → detail: goals/archive/G-032-launcher-punkargs.md
Scope: src/vfs/_config/ (default dispatch); src/lib/app-punkshell and sibling app packages as touched
Acceptance: `<punkexe> -help` renders tabled usage listing all subcommands including project-registered ones, each with a summary; at least one built-in subcommand's options are declared and parsed via punk::args with tabled usage errors on invalid input (the G-015 script subcommand or the G-025 version-report subcommand are the natural candidates); a project-registered subcommand's help appears by registration alone - no edits to the shared dispatch; with punk::args or the rendering stack unloadable, boot proceeds and help degrades to a plain subcommand list; verified on both a zipfs-based and a non-zipfs kit where both remain supported.

6
GOALS.md

@ -73,7 +73,7 @@ The front matter of every repo's GOALS.md declares which goals-system contract v
- v1 (2026-07): two-tier contract (summary index + detail files), detail-file header grammar, status tags, goals_lint.tcl, goals_xref.tcl.
- v2 (2026-07-24): Scope elements are '; '-separated at top level (lint-enforced); cross-repo goal references drop the G- prefix; goals_xref.tcl gains repo-local configuration (goals/xref.conf - path roots, stop words, file extensions, reference containers, module dirs, bare_path_roots, prefix_anchors).
- v3 (2026-07-25): goals_lint.tcl gains the stale-versioned-reference warning (a live-tier reference to a version-suffixed filename that is missing while a same-stem sibling exists on disk is flagged with the sibling(s) named; archive tier, globs, URLs, absolute/out-of-repo paths and the magic dev version 999999.0a1.0 are exempt; informational, never fatal); Scope-authoring guidance added to the Format section (version-stamped files referenced by glob or magic-version filename, exact versions pinned only in dated prose); this bump-policy paragraph broadened from "contract or required tooling changes" to any interpretation-affecting change.
- v4 (2026-08-03): archived-goal follow-on tracking (drafted as G-159): archived detail files carry a `## Follow-ons` section of structured `Follow-on: <item> => <disposition>` lines (closed vocabulary: open, goal G-<id>, landed YYYY-MM-DD (<where>), declined YYYY-MM-DD (<why>)); disposition-only updates to archived detail files are sanctioned non-contract edits made in the same work unit that acts on a follow-on; the achieved flip records deferred items in the grammar (reference-sweep step (c)) and the authoring workflow flips an enacted follow-on's disposition to `goal G-<new id>`; goals_lint.tcl validates the grammar (malformed line or unknown goal reference = finding); new advisory tool goals_followons.tcl enumerates dispositions and flags archived files carrying follow-on vocabulary with no structured section.
- v4 (2026-08-03): archived-goal follow-on tracking (drafted as G-159, achieved 2026-08-03 - see goals/archive/G-159-followon-disposition-tracking.md): archived detail files carry a `## Follow-ons` section of structured `Follow-on: <item> => <disposition>` lines (closed vocabulary: open, goal G-<id>, landed YYYY-MM-DD (<where>), declined YYYY-MM-DD (<why>)); disposition-only updates to archived detail files are sanctioned non-contract edits made in the same work unit that acts on a follow-on; the achieved flip records deferred items in the grammar (reference-sweep step (c)) and the authoring workflow flips an enacted follow-on's disposition to `goal G-<new id>`; goals_lint.tcl validates the grammar (malformed line or unknown goal reference = finding); new advisory tool goals_followons.tcl enumerates dispositions and flags archived files carrying follow-on vocabulary with no structured section.
## Goals
@ -404,10 +404,6 @@ Detail: goals/G-157-exeless-kits-materialized.md
Scope: src/make.tcl (sdx resolution ladder suite-shell rung - shared seam with G-157 approach step 4; kit wrap path; runtime_caps/kit_type_mismatch accommodation); src/buildsuites/suite_tcl86/ (build_kithead86 bi-class head variant, mk4kit_attach battery payloads); src/runtime/mapvfs.toml (suite-head runtime rows + kit entries); bin/runtime/win32-x86_64/ (uncommitted local materialization slot for the heads - publication is follow-on); src/tests/shell/testsuites/punkexe/ (bake-path characterization); bin/sdx.kit (consumed by the ladder - its committed status is G-157's contract, not this goal's)
Detail: goals/G-158-punk86-kit-parity.md
### G-159 [active] Trackable follow-on dispositions in archived goals
Scope: GOALS.md (goals-system v4 bump + maintenance/authoring rule updates); GOALS-archive.md (archive-edit exception wording); goals/AGENTS.md (Follow-on line grammar, sanctioned disposition edits, archive-sweep update); goals/archive/ (one-time retrofit sweep); scriptlib/developer/goals_lint.tcl (grammar validation); scriptlib/developer/goals_followons.tcl (new advisory report)
Detail: goals/G-159-followon-disposition-tracking.md
### G-160 [proposed] commandstack hygiene pass: pinned-defect fixes and API ergonomics
Scope: src/modules/commandstack-999999.0a1.0.tm (token integrity, get_IMPLEMENTOR, debug validation, channel discipline, did_rename record key, -renamer placement, O(1) dispatch, Rename_stack/Delete_stack semantics, delegation helper, known_renamers defaults, PUNKARGS/help updates); src/modules/punk/packagepreference-999999.0a1.0.tm (install re-install guard record-key fix only); src/tests/modules/commandstack/testsuites/commandstack/commandstack.test (GAP flips + new pins); src/tests/modules/punk/packagepreference/testsuites/packagepreference/ (new double-install pin); src/vendormodules/packagetrace-*.tm + src/vendormodules/packagesuppress-*.tm (verification context only - not edited)
Detail: goals/G-160-commandstack-hygiene.md

5
goals/G-156-alpha-window-identifier-alignment.md

@ -112,6 +112,11 @@ Corporate module consumers: they consume built punk module APIs; nothing here re
module's public command surface (the renamed procs are dev-tooling inside punk::mix) - but punk::mix
module versions are bumped properly like any module change.
G-159 (achieved 2026-08-03 - goals/archive/G-159-followon-disposition-tracking.md) bumped the
goals-system to v4 (Follow-on disposition tracking): the census's per-project goals-system-version
drift field now spans v1..v4, and its open-items report (scriptlib/developer/goals_followons.tcl)
is a candidate input for this goal's requirements gathering.
Overlap survey 2026-08-02: goals_xref paths over scriptlib/developer + src/modules/punkcheck +
src/modules/punk/mix surfaced G-069 (scriptlib neighbour, unrelated), G-066 (punk::mix neighbour -
the buildversion.txt disposition does not touch its repackaging surface) and G-155; punkcheck has no

6
goals/G-159-followon-disposition-tracking.md → goals/archive/G-159-followon-disposition-tracking.md

@ -1,6 +1,6 @@
# G-159 Trackable follow-on dispositions in archived goals
Status: active
Status: achieved 2026-08-03
Scope: GOALS.md (goals-system v4 bump + maintenance/authoring rule updates); GOALS-archive.md (archive-edit exception wording); goals/AGENTS.md (Follow-on line grammar, sanctioned disposition edits, archive-sweep update); goals/archive/ (one-time retrofit sweep); scriptlib/developer/goals_lint.tcl (grammar validation); scriptlib/developer/goals_followons.tcl (new advisory report)
Goal: Follow-ons recorded in archived goal detail files stay trackable instead of fossilizing: each is a structured line carrying a disposition from a closed vocabulary, the disposition is updated in the same work unit that acts on the follow-on (landing it directly or drafting a goal from it), and an advisory report enumerates open follow-ons and flags unstructured follow-on prose - so "which follow-ons have not been acted on" is answered by running a tool, not by archive archaeology.
Acceptance: goals/AGENTS.md defines a lintable Follow-on line grammar for archived detail files with a closed disposition vocabulary covering at least open, became-goal, landed (dated), and declined (dated) - exact tokens and line shape settled in the work - and sanctions disposition-only updates to archived detail files as non-contract edits reported in completion summaries (GOALS-archive.md's do-not-edit rule stays for index records, reworded to name the carve-out); goals_lint validates the grammar - a malformed disposition token, or a disposition goal-reference to an ID present in neither index, is a finding - with existing checks unchanged; scriptlib/developer/goals_followons.tcl (plain tclsh, no dependencies, always exit 0, xref-style advisory) reports every structured follow-on with its archived-goal home and disposition, groups open items, and heuristically flags follow-on-vocabulary prose in goals/archive/ lacking a structured line; a one-time user-approved retrofit sweep (per the 2026-07-24 delimiter-normalisation precedent) converts existing goals/archive/ follow-on prose to structured lines whose dispositions reflect the live tier and landed work (e.g. the RT_VERSION follow-on parked in archived G-057 - goals/archive/G-057-kit-icon-embedding.md - resolves to its enacting live goal G-137), ambiguous items resolved with the user, and after it the report shows zero unresolved heuristic flags on the real archive (output recorded in this file); the archive-flip reference sweep and the goal-authoring workflow are amended so newly archived goals record follow-ons in the structured grammar and an agent acting on an archived follow-on (drafting its goal, or landing it directly at user direction) updates the disposition in the same work unit; the goals-system version bumps to v4 recording the convention so syncing repos port the delta.
@ -131,3 +131,7 @@ tooling; archive retrofit) and verified.
convention conversion; G-139 linux lib-tier emission, libfetch httpfixture
test; G-144 synopsis-override drops. Full listing reproducible via
'tclsh scriptlib/developer/goals_followons.tcl report'.
## Follow-ons
(none - the v4 mechanism is the deliverable; derived-project propagation rides the standing goals-system version delta-porting mechanism, and the G-156 census records per-project version drift)
Loading…
Cancel
Save