From d9b8b1cba091f2f0bba5590256645c92800a625f Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Mon, 3 Aug 2026 17:58:29 +1000 Subject: [PATCH] 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 --- GOALS-archive.md | 4 ++++ GOALS.md | 6 +----- goals/G-156-alpha-window-identifier-alignment.md | 5 +++++ goals/{ => archive}/G-159-followon-disposition-tracking.md | 6 +++++- 4 files changed, 15 insertions(+), 6 deletions(-) rename goals/{ => archive}/G-159-followon-disposition-tracking.md (97%) diff --git a/GOALS-archive.md b/GOALS-archive.md index 026cba43..fc5e0fb8 100644 --- a/GOALS-archive.md +++ b/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: ` -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. diff --git a/GOALS.md b/GOALS.md index 5bac62d1..9bd4d142 100644 --- a/GOALS.md +++ b/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: => ` lines (closed vocabulary: open, goal G-, landed YYYY-MM-DD (), declined YYYY-MM-DD ()); 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-`; 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: => ` lines (closed vocabulary: open, goal G-, landed YYYY-MM-DD (), declined YYYY-MM-DD ()); 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-`; 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 diff --git a/goals/G-156-alpha-window-identifier-alignment.md b/goals/G-156-alpha-window-identifier-alignment.md index a8da05cf..9c83f421 100644 --- a/goals/G-156-alpha-window-identifier-alignment.md +++ b/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 diff --git a/goals/G-159-followon-disposition-tracking.md b/goals/archive/G-159-followon-disposition-tracking.md similarity index 97% rename from goals/G-159-followon-disposition-tracking.md rename to goals/archive/G-159-followon-disposition-tracking.md index e73d7670..12ac9acf 100644 --- a/goals/G-159-followon-disposition-tracking.md +++ b/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)