From 90a0e3ddced43e8462aa511e5a1d5dc5cdfd764f Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Mon, 20 Jul 2026 01:04:36 +1000 Subject: [PATCH] G-093 achieved flip edits + punkproject 0.17.1 In-place closeout edits ahead of the archive move (per the goals/AGENTS.md pure-rename discipline): detail-file Status flipped to achieved 2026-07-20 (all amended acceptance clauses verified - see the detail file's Progress record), the console-attachment finding pushed to live G-061's Notes as part of the archive reference sweep, and punkproject.toml patch-bumped 0.17.0 -> 0.17.1 for the punk::path 0.4.0 pathglob addition shipping in kit payloads (user-directed). goals_lint transiently red until the archive-move commit. Claude-Session: https://claude.ai/code/session_01BNUVVkYq9vHa6G3S9a3XTZ Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- goals/G-061-pseudoconsole-expect.md | 7 ++++++- goals/G-093-runtests-includepaths-discovery.md | 2 +- punkproject.toml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/goals/G-061-pseudoconsole-expect.md b/goals/G-061-pseudoconsole-expect.md index 41119e75..0e8fec70 100644 --- a/goals/G-061-pseudoconsole-expect.md +++ b/goals/G-061-pseudoconsole-expect.md @@ -95,4 +95,9 @@ expect-like primitives over a REAL pseudo-terminal: a pseudoconsole-driven context matrix (fully-attached / half-attached / detached) over these suites is a natural early acceptance workload alongside the preserve-list behaviours. -- Archived-goal references in this file: G-001 achieved 2026-07-11 (goals/archive/G-001-pluggable-console-backends.md);G-059 achieved 2026-07-11 (goals/archive/G-059-wsl-test-driving.md). +- G-093 (archived) recorded a further cell of the console-context matrix while verifying + runtests targeting: children spawned by the agent PowerShell tool run with an ATTACHED + console while BOTH stdio streams are redirected, and the same colour class fires + (grepstr/nslist failures; agent Bash tool children are console-free and green) - see + goals/archive/G-093-runtests-includepaths-discovery.md. +- Archived-goal references in this file: G-001 achieved 2026-07-11 (goals/archive/G-001-pluggable-console-backends.md);G-059 achieved 2026-07-11 (goals/archive/G-059-wsl-test-driving.md);G-093 achieved 2026-07-20 (goals/archive/G-093-runtests-includepaths-discovery.md). diff --git a/goals/G-093-runtests-includepaths-discovery.md b/goals/G-093-runtests-includepaths-discovery.md index 4ca9781d..fac6ae7a 100644 --- a/goals/G-093-runtests-includepaths-discovery.md +++ b/goals/G-093-runtests-includepaths-discovery.md @@ -1,6 +1,6 @@ # G-093 runtests path-glob discovery: fix -include-paths multi-pattern/repeated-flag matching + expose -exclude-paths -Status: active +Status: achieved 2026-07-20 Scope: src/tests/runtests.tcl, src/modules/punk/path-999999.0a1.0.tm (treefilenames/globmatchpath as implicated), src/modules/punk/args-999999.0a1.0.tm (only if -multiple implicated), src/tests/ (runner-targeting regression suite), src/tests/AGENTS.md Goal: runtests.tcl path targeting shares one directory-oriented pathglob contract with punk::path::treefilenames - patterns match the directory containing a test file, a single -include-paths value carrying multiple space-separated patterns includes every pattern's matches, repeated flags accumulate, the pathglob syntax gains *** (zero or more segments) so X/*** expresses a base-inclusive subtree, and a new -exclude-paths option (same syntax and accumulation, exclusion winning) gives broad development runs a middle ground between full and targeted - with the include and exclude lattices (X, X/*, X/**, X/***) separable, pinned by regression suites at both the punk::path and runner levels, and the root cause of the 2026-07-19 failures recorded in this file. Acceptance: the G-092 four-subtree measurement set spelled X/*** discovers files from all four subtrees under the default *.test tail glob, and the X/** spelling of a base-direct suite matches zero files while emitting a stderr advisory (both pinned as characterization tests); two repeated -include-paths flags naming distinct subtrees in X/*** form discover both and equal the single-value form; the root cause of the original failures is identified and recorded in this file; punk::path 0.4.0 implements *** across pathglob_as_re/globmatchpath/treefilenames with the include and exclude lattice forms separable and pinned in the punk::path suite; -exclude-paths is exposed on runtests (argdoc + src/tests/AGENTS.md documented, accumulate semantics matching -include-paths, exclusion winning over inclusion for the same file) and a full run excluding a named subtree discovers exactly the default-discovery file list minus that subtree; -serial-paths classifies by the same directory-of-file reading; a regression suite under src/tests covers both options across single-value multi-pattern, repeated-flag, lattice-form and tail-glob-present/absent combinations plus include/exclude interaction; a full-suite default-discovery run before and after the changes compares PARITY ok via scriptlib/developer/runtests_parity.tcl (default '**' discovery with no exclusions must be unaffected); src/tests/AGENTS.md path-targeting wording is reconciled with the verified semantics. diff --git a/punkproject.toml b/punkproject.toml index 9e97ba28..dbeabfc4 100644 --- a/punkproject.toml +++ b/punkproject.toml @@ -1,4 +1,4 @@ [project] name = "punkshell" -version = "0.17.0" +version = "0.17.1" license = "BSD-2-Clause"