From 7787f0e06e00ddd92e69b3c4a0a24779191c22e0 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Sat, 8 Aug 2026 03:56:17 +1000 Subject: [PATCH] G-176 archive: Follow-ons section brought to contract (single-line items, last section) - the two open items now enumerate in goals_followons The achieved flip's step (c) was written non-conformant: the two deferred items were multi-line prose bullets with trailing '=> open' markers, and the '## Follow-ons' section sat before '## Notes'. The Follow-ons contract (goals/AGENTS.md, goals-system v4) requires one item per line at column 0 ('Follow-on: => open') in a '## Follow-ons' section that is the LAST section of the archived detail file - goals_followons.tcl enumerates only grammar-conformant lines, so the items were invisible to the report (and goals_lint only validates lines that BEGIN with 'Follow-on:', so nothing flagged them). Both items (boot-site commandstack pre-sourcing; make.tcl skip-guard modernization) now appear in the goals_followons OPEN section. Item content unchanged in substance - compressed to single lines, with the now-moot scope-amendment caveats dropped (an archived goal's follow-ons are enacted via new goals or direct landing per the disposition vocabulary). Flip-guidance audit against goals/AGENTS.md prompted by the miss: Status grammar, Progress evidence, pure-rename archive moves, index/archive records and the live-tier reference sweep (no G-176 references exist in goals/*.md or GOALS.md) all check out; the Follow-ons grammar was the one non-conformance. goals_lint clean (79 active-index / 97 archived); goals_followons enumerates both G-176 items as open. Claude-Session: https://claude.ai/code/session_01QgaxV27VZkmEec7oNbEVFc Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- .../G-176-commandstack-doc-integration.md | 27 ++++--------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/goals/archive/G-176-commandstack-doc-integration.md b/goals/archive/G-176-commandstack-doc-integration.md index eefdae6c..f2eefeb5 100644 --- a/goals/archive/G-176-commandstack-doc-integration.md +++ b/goals/archive/G-176-commandstack-doc-integration.md @@ -195,28 +195,6 @@ Increments land as separate commits, each leaving all suites green: unwind). Suites: libunknown+ns+commandstack+loadedlib 216/216. Project 0.65.0. -## Follow-ons - -- Boot-site commandstack pre-sourcing (out of the current Scope - a Scope - amendment is needed if pursued): punkboot core.tcl, make.tcl, punk::repl's two - blocks and punk::lib's interp_sync child-seeding all pre-source LIBUNKNOWN by - path expressly to avoid triggering the old package unknown pre-init. init's - new 'package require commandstack' resolves in all of them, but when - commandstack is not yet provided it performs one ordinary unknown-path - resolution pre-init (a root-depth sibling scan lands in 'untracked' - - functional, marginally looser epoch bookkeeping; in punkshell app boot - packagepreference::install provides commandstack first so the require is a - no-op there). Extending the same glob+source technique to commandstack-*.tm at - those sites would preserve the minimal-untracked intent exactly. => open -- make.tcl guard modernization (out of the current Scope): the - 'info commands ::punk::libunknown::package' check that skips re-load when - make.tcl is driven by a built punk shell tests a proc the 0.3.0 install no - longer creates. Old kits (0.2.4) still satisfy it so nothing breaks today, - but once kits carry 0.3.0 the check never fires and make.tcl re-sources - libunknown into the driving shell (harmless - init's guard no-ops - but noisy - and wasteful). Switch it to a "[package provide punk::libunknown] ne {}" - check before or with the bootsupport/kit promotion of 0.3.0. => open - ## Notes - Same-id shadowing: one live record per doc id is the documented constraint @@ -240,3 +218,8 @@ Increments land as separate commits, each leaving all suites green: body consulted in Context is the same one the interop child exercises - its COMMANDSTACKNEXT_ORIGINAL fast-path is behaviour the interop pins must not disturb. + +## Follow-ons + +Follow-on: boot-site commandstack pre-sourcing - punkboot core.tcl, make.tcl, punk::repl's two boot blocks and punk::lib's interp_sync child-seeding all pre-source LIBUNKNOWN by path expressly to avoid triggering the old package unknown pre-init; libunknown 0.3.x init's 'package require commandstack 0.8-' resolves in all of them but performs one ordinary unknown-path resolution pre-init when commandstack is not yet provided (a root-depth sibling scan lands in 'untracked' - functional, marginally looser epoch bookkeeping; in punkshell app boot packagepreference::install provides commandstack first so the require is a no-op there); extending the same glob+source technique to commandstack-*.tm at those sites would preserve the minimal-untracked intent exactly => open +Follow-on: make.tcl skip-guard modernization - the 'info commands ::punk::libunknown::package' check that skips re-load when make.tcl is driven by a built punk shell tests a proc the 0.3.x commandstack install no longer creates; old kits (0.2.4) still satisfy it so nothing breaks today, but once kits carry 0.3.x the check never fires and make.tcl re-sources libunknown into the driving shell (harmless - init's stack-query guard no-ops - but noisy and wasteful); switch it to a package-provide check before or with the bootsupport/kit promotion of libunknown 0.3.x + commandstack 0.8.0 => open