From 222886c08217f527fb445ac371d96593cf12b4aa Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Sat, 11 Jul 2026 02:47:04 +1000 Subject: [PATCH] GOALS: G-016/G-017 amended - projects.work gains -return table|dict|json in contract - G-016 goal+acceptance: -return option (default table unchanged; dict = canonical machine form with documented per-checkout records incl the VCS field; json = faithful rendering for out-of-process consumers, round-trips the dict data) - G-017 acceptance: the documented agent invocation standardizes on -return json as the parse target with its record fields (replaces the vaguer "expected output shape") - G-016 detail records the design decisions: dict-first assembly (table rendered from it), suggested record shape, json via tcllib json::write, markdown deliberately not offered as a machine form (json for parsing, table for humans) Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- GOALS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GOALS.md b/GOALS.md index 783ef013..14f73cfd 100644 --- a/GOALS.md +++ b/GOALS.md @@ -146,13 +146,13 @@ Acceptance: piping commands to ` script` runs them and terminates at st ### G-016 [proposed] `projects.work` discovers git-based projects alongside fossil Scope: src/modules/punk/mix/commandset/project-999999.0a1.0.tm, src/modules/punk/repo-999999.0a1.0.tm Detail: goals/G-016-projects-work-git-discovery.md -Goal: `dev projects.work ` lists git-based project checkouts as well as fossil-based ones, each result identifying its VCS - fossil discovery stays central-config-db based, and git discovery uses a defined enumeration source (git has no central registry; the chosen mechanism is recorded in the detail file). -Acceptance: with a git-only project on disk registered in the chosen enumeration source and matching the glob, `projects.work` lists its working directory and identifies it as git; existing fossil results are unchanged apart from any added VCS-identifying column; a project that is both git and fossil (e.g. this repo) appears with both indicated rather than duplicated; glob matching remains case-insensitive. +Goal: `dev projects.work ` lists git-based project checkouts as well as fossil-based ones, each result identifying its VCS - fossil discovery stays central-config-db based, and git discovery uses a defined enumeration source (git has no central registry; the chosen mechanism is recorded in the detail file); output gains a `-return table|dict|json` option (default table, unchanged): dict is the canonical machine form (per-checkout records incl the VCS field, documented in the argdoc), json a faithful rendering of it for out-of-process consumers. +Acceptance: with a git-only project on disk registered in the chosen enumeration source and matching the glob, `projects.work` lists its working directory and identifies it as git; existing fossil results are unchanged apart from any added VCS-identifying column; a project that is both git and fossil (e.g. this repo) appears with both indicated rather than duplicated; glob matching remains case-insensitive; `-return dict` yields the documented record structure containing everything the table shows (incl VCS identification), `-return json` round-trips the same data, and the default table output is unchanged for existing users. ### G-017 [proposed] Agents locate local projects via piped `projects.work` calls, not filesystem scanning Scope: AGENTS.md (root) or a child doc it indexes (guidance content only - no code) Goal: once G-015 makes piped script calls reliable, repository guidance directs agents asked to locate another local project to query it via a piped `projects.work` call to a punk executable instead of grepping/globbing the wider filesystem. -Acceptance: root AGENTS.md (or a child doc indexed from it) records the exact recommended invocation - executable, subcommand, glob usage, expected output shape - and states when filesystem scanning remains appropriate (projects not registered in any discovery source); the guidance is added only after G-015 is achieved (and notes the fossil-only limitation until G-016); following the documented pattern, an agent locates a named sibling project's checkout dir with a single piped call. +Acceptance: root AGENTS.md (or a child doc indexed from it) records the exact recommended invocation - executable, subcommand, glob usage, and `-return json` as the parse target with its record fields - and states when filesystem scanning remains appropriate (projects not registered in any discovery source); the guidance is added only after G-015 is achieved (and notes the fossil-only limitation until G-016); following the documented pattern, an agent locates a named sibling project's checkout dir with a single piped call. ### G-018 [proposed] Zig-built plain tclsh kits: self-contained zip-based executables without punk infrastructure Scope: build.zig / build.zig.zon (per G-005), src/runtime/, src/make.tcl integration