From 192c59adc877cbbafa790bd91bad5b1e381151c6 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Tue, 7 Jul 2026 14:26:12 +1000 Subject: [PATCH] G-015 proposed -> active (user-confirmed 2026-07-07) First goal activated: reliable non-interactive piped/script execution is the dependency keystone (gates G-017, G-021, G-022 application, G-025 invocation) and compounds - every agent session gets more capable once piped script calls work. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- GOALS.md | 2 +- goals/G-015-script-subcommand-piped-stdin.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GOALS.md b/GOALS.md index 31770c1b..93c94d27 100644 --- a/GOALS.md +++ b/GOALS.md @@ -134,7 +134,7 @@ Detail: goals/G-014-punk-config-toml.md Goal: ::punk::config loads stored configuration from toml files in the XDG-located config dir - parsed via the vendored tomlish module, never an ad-hoc parser - and consumers resolve settings with per-named-subshell overrides, so features like the G-013 debug-view startup defaults read declared user configuration instead of hardcoded fallbacks. Acceptance: a setting declared in a toml file under the XDG-located config dir is visible through the punk::config API at repl startup, and with no config files present built-in defaults apply with no errors beyond the existing missing-dir notice; a named subshell resolves its own overriding value for a key also defined at the parent/default scope, and a subshell with no override inherits the outer value (proven with at least one real key); at least one shipped feature (the G-013 editbuf-view startup default is the natural first) reads its default through this path rather than a hardcoded value; all toml reading/writing in punk::config goes through the tomlish module, and the tomlish API procs punk::config consumes carry punk::args (PUNKARGS) documentation - added upstream in the tomlish project and re-vendored here before punk::config implementation proceeds. -### G-015 [proposed] Punk executable `script` subcommand: reliable non-interactive piped/script execution +### G-015 [active] Punk executable `script` subcommand: reliable non-interactive piped/script execution Scope: src/vfs/_config/punk_main.tcl, src/lib/app-punkshell/punkshell.tcl (script path or a leaner dedicated app package) Detail: goals/G-015-script-subcommand-piped-stdin.md Goal: ` script [] [...]` executes a script file or piped stdin content (scriptname optional when input is piped) in an interp preloaded with the basic punk modules and aliases a punk shell provides by default, and always terminates with the script's success/failure as its exit code - without the `shell` subcommand's shellfilter channel transforms/logging stacks and without ever dropping into an interactive shell - so agents can reliably make piped script calls to punk executables. diff --git a/goals/G-015-script-subcommand-piped-stdin.md b/goals/G-015-script-subcommand-piped-stdin.md index 24629bb5..afd4652e 100644 --- a/goals/G-015-script-subcommand-piped-stdin.md +++ b/goals/G-015-script-subcommand-piped-stdin.md @@ -1,6 +1,6 @@ # G-015 Punk executable `script` subcommand: reliable non-interactive piped/script execution -Status: proposed +Status: active (2026-07-07) Scope: src/vfs/_config/punk_main.tcl, src/lib/app-punkshell/punkshell.tcl (script path or a leaner dedicated app package) Acceptance: as in root GOALS.md index (canonical).