From 05ffa7ac1925ee34c302a5f20da1fdfcbb56b97f Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Fri, 24 Jul 2026 03:51:31 +1000 Subject: [PATCH] goals: xref reconciliation - subshell/repl/args/textblock cluster (G-009 G-042 G-044 G-048 G-050 G-052 G-053 G-056 G-079 G-080 G-081 G-088, recorded 2026-07-24) Assisted-by: harness=opencode; primary-model=openrouter/moonshotai/kimi-k3; api-location=openrouter.ai --- goals/G-009-themed-subshell-profiles.md | 4 ++++ goals/G-042-subshell-help-topics.md | 5 +++++ goals/G-044-repl-command-completion.md | 4 ++++ goals/G-048-textblock-table-punkargs.md | 7 +++++++ goals/G-050-synopsis-validity-marking.md | 4 ++++ goals/G-052-oo-method-autodef.md | 3 +++ goals/G-053-punkargs-multiple-ranges.md | 3 +++ goals/G-056-punkargs-word-wrapping.md | 8 ++++++++ goals/G-079-renderspace-default-colour-semantics.md | 8 ++++++++ goals/G-080-ansi2html-cellgrid-mode.md | 7 +++++++ goals/G-081-argdoc-build-pipeline.md | 4 +++- goals/G-088-textblock-table-footer-subtitle.md | 7 +++++++ 12 files changed, 63 insertions(+), 1 deletion(-) diff --git a/goals/G-009-themed-subshell-profiles.md b/goals/G-009-themed-subshell-profiles.md index 39c8fe49..d48efc3a 100644 --- a/goals/G-009-themed-subshell-profiles.md +++ b/goals/G-009-themed-subshell-profiles.md @@ -47,6 +47,10 @@ needs the same push/pop lifetime. - Depends on G-008 (state-set declaration/restore); applies aspects whose mechanisms are G-003's deliverables (limits, hide/expose) and punk::island's - this goal binds them into profiles, it does not re-implement them. +- G-043 relationship (recorded 2026-07-24 after overlap review): a themed profile is a + natural bundle of G-043's plugin composition (commandsets + help topics + config + defaults) plus the theme/restriction layer this goal adds - G-043 names this goal as + that bundle's consumer. - Mapping a poshinfo scheme to concrete terminal state (which palette slots, fg/bg, prompt segments) is an implementation-time design task within poshinfo/punk::repl; the goal only requires that at least one underlying terminal aspect is driven by the scheme and correctly diff --git a/goals/G-042-subshell-help-topics.md b/goals/G-042-subshell-help-topics.md index f2f14e99..d7972bc3 100644 --- a/goals/G-042-subshell-help-topics.md +++ b/goals/G-042-subshell-help-topics.md @@ -118,3 +118,8 @@ Implications adopted for this goal: - Related session records: goals/archive/G-040-punkargs-choicealiases.md (choice display folding), the 2026-07-08 CHANGELOG entries for punk 0.2.0 (registry) and punk::ns 0.1.1 (doc-lookup trace cleanup). +- G-043 relationship (recorded 2026-07-24 after overlap review): G-043 is the + subshell-definition plugin goal the "Relationship to the intended plugin facility" + section above anticipates - the ::punk::helptopic registry this goal builds is its + convergence point: plugin-provided (code-bearing) topics land in the same registry + under the same collision/shadowing policy. diff --git a/goals/G-044-repl-command-completion.md b/goals/G-044-repl-command-completion.md index 0769e844..05a5570d 100644 --- a/goals/G-044-repl-command-completion.md +++ b/goals/G-044-repl-command-completion.md @@ -81,6 +81,10 @@ arginfo principle: introspection must not run commands to elicit usage). G-041 (form candidacy on partial input - consumed when available), G-040 (choice alias resolution shared with the parser), G-042/G-043 (per-subshell provider declaration), G-014 (configurable trigger/bindings and per-subshell defaults). +- G-050 relationship (recorded 2026-07-24 after overlap review): its per-word + validity API (goodarg/badarg marking) is the hint-display source this goal's + provider seam consumes - G-050 already names this goal as that API's future + consumer. - xtal reference: https://tarray.magicsplat.com/xtal_lang.html - an alternative syntax for Tcl (tarray project); an interactive xtal subshell is the concrete language-subshell scenario the provider seam must not preclude. diff --git a/goals/G-048-textblock-table-punkargs.md b/goals/G-048-textblock-table-punkargs.md index 04c7a0d8..5384b0b7 100644 --- a/goals/G-048-textblock-table-punkargs.md +++ b/goals/G-048-textblock-table-punkargs.md @@ -76,3 +76,10 @@ The `-return` option's `-choiceprefix 0` is enforced by punk::args::parse by con - opts_table_defaults (L188-224) contains ~20 options including framing, ANSI base/border, show flags, and width limits. Not all may need full -type/-choices/-help documentation in phase 1 — the acceptance criteria requires at least the major ones (-title, -frametype, -show_header, -ansiborder) with the rest covered by a documented passthrough mechanism. - The constructor has a special case at L454-456: a single-element args list is treated as a title. This must be preserved in the punk::args definition (likely via a @leaders form or a -default on -title with appropriate -min). - Related audit items already fixed: console_fact_get/set (-choiceprefix 0), overtype renderspace/renderline (-choiceprefix 0), nav::fs::d/ (-choiceprefix 0), punkcheck::install (-choiceprefix 0), project::new (tcl::prefix::match added). This goal closes the last remaining audit item (#8). +- G-088 relationship (recorded 2026-07-24 after overlap review; this file previously + referenced no live goal): its footer block + bottom-edge subtitle extend the + constructor option set this goal's punk::args parsing validates - the new + -subtitle/-subtitlealign and footer options land in the same PUNKARGS block. +- G-056 relationship: if the textblock column-wrap mechanism is chosen there, its + wrap options join the constructor set this goal's PUNKARGS documents - the + conditional textblock scope in G-056 lands in this goal's validated option surface. diff --git a/goals/G-050-synopsis-validity-marking.md b/goals/G-050-synopsis-validity-marking.md index 40ca81ac..2af023b2 100644 --- a/goals/G-050-synopsis-validity-marking.md +++ b/goals/G-050-synopsis-validity-marking.md @@ -43,3 +43,7 @@ string"). test::punk::args synopsis tests ("must be no leading space" convention) - marking must be ANSI-only so ansistripped output stays stable, or those tests get a documented update. +- G-052 relationship (recorded 2026-07-24 after overlap review): its method-level + autodef definitions render through the same synopsis machinery this goal makes + validity-aware - generated method docs get goodarg/badarg marking too when both + land. diff --git a/goals/G-052-oo-method-autodef.md b/goals/G-052-oo-method-autodef.md index b4bde666..f11ffc1e 100644 --- a/goals/G-052-oo-method-autodef.md +++ b/goals/G-052-oo-method-autodef.md @@ -57,3 +57,6 @@ just not wired up as a general method-level (autodef) generation step in the doc cmdwhich-notfound classification, no method-specific value). Refine here if this goal's method-level autodef work warrants a distinct method cmdtype. - Archived-goal references in this file: G-040 achieved 2026-07-08 (goals/archive/G-040-punkargs-choicealiases.md). +- G-050 relationship (recorded 2026-07-24 after overlap review): synopsis + validity marking (goodarg/badarg) applies to this goal's generated method + definitions via the shared renderer when both land. diff --git a/goals/G-053-punkargs-multiple-ranges.md b/goals/G-053-punkargs-multiple-ranges.md index e0bb19d5..3e10a1eb 100644 --- a/goals/G-053-punkargs-multiple-ranges.md +++ b/goals/G-053-punkargs-multiple-ranges.md @@ -68,3 +68,6 @@ rendering gain meaningful bounded-repetition forms (e.g. "0-1", "2-4"). - The runtests `-include-paths` fix (repeatable, accumulate, single-list form still accepted) shipped independently on 2026-07-10 and does not depend on this goal. - Archived-goal references in this file: G-046 achieved 2026-07-10 (goals/archive/G-046-punkargs-deferred-help-and-fixes.md). +- Referenced by G-083 (argument relations - "folding into G-053" considered and + rejected there) and G-084 (-parsekey cross-member -multiple collection rides this + goal's occurrence arity) - recorded 2026-07-24 after overlap review. diff --git a/goals/G-056-punkargs-word-wrapping.md b/goals/G-056-punkargs-word-wrapping.md index 6385b16c..72c49fd5 100644 --- a/goals/G-056-punkargs-word-wrapping.md +++ b/goals/G-056-punkargs-word-wrapping.md @@ -57,3 +57,11 @@ the current table -maxwidth 80 default; an explicit width option overrides both. - Characterization first: pin current no-wrap rendering of an over-width line (overflow behaviour) before changing it, per the usual GAP-pin workflow. - Archived-goal references in this file: G-046 achieved 2026-07-10 (goals/archive/G-046-punkargs-deferred-help-and-fixes.md). +- G-088 relationship (recorded 2026-07-24 after overlap review; neither file + previously referenced the other): its arg_error examples marker (bottom-edge + subtitle) and footer rows render through the same usage-table cells this goal + wraps - the marker text participates in split-only wrapping like any other + cell content. +- G-048 relationship: if the textblock table column-wrap mechanism is chosen, its + options land in the class::table constructor PUNKARGS G-048 authors - this goal's + conditional textblock scope and G-048's validated option surface meet there. diff --git a/goals/G-079-renderspace-default-colour-semantics.md b/goals/G-079-renderspace-default-colour-semantics.md index b3ef76c9..804d30e7 100644 --- a/goals/G-079-renderspace-default-colour-semantics.md +++ b/goals/G-079-renderspace-default-colour-semantics.md @@ -15,3 +15,11 @@ punknative generator): the `
` backdrop is hard black so baked-black blends
 this constrains doc page theming and leaves lighter antialiasing seams at half-block
 edges against non-matching content. Proper fix is upstream in the renderer's
 replay-code model, then a `-defaultbg`/`-defaultfg` mapping option in the G-078 api.
+
+## Notes
+
+- G-080 relationship (recorded 2026-07-24 after overlap review; the two previously
+  cross-referenced G-078 only): its cell-grid mode consumes the same default-colour
+  mapping - a never-set cell must render the consumer backdrop in cell-grid geometry
+  too, not a baked-black rectangle (the half-block decomposition makes baked
+  backgrounds doubly visible).
diff --git a/goals/G-080-ansi2html-cellgrid-mode.md b/goals/G-080-ansi2html-cellgrid-mode.md
index 438473bf..43597bf5 100644
--- a/goals/G-080-ansi2html-cellgrid-mode.md
+++ b/goals/G-080-ansi2html-cellgrid-mode.md
@@ -16,3 +16,10 @@ box height is a font-metric browsers don't agree on (metric normalization was tr
 rejected - see fontprep/README.md). Cell-grid emulation removes every one of those
 degrees of freedom at the cost of heavier markup. Only worth building if/when the
 accepted residual seams stop passing review - the glance test passes today.
+
+## Notes
+
+- G-079 relationship (recorded 2026-07-24 after overlap review; the two previously
+  cross-referenced G-078 only): default-colour preservation applies to the cell
+  grid too - the mode inherits G-079's mapping (never-set cells emit no baked
+  colour), so the two land coherently in the G-078 api.
diff --git a/goals/G-081-argdoc-build-pipeline.md b/goals/G-081-argdoc-build-pipeline.md
index 7aa86d86..74d35c08 100644
--- a/goals/G-081-argdoc-build-pipeline.md
+++ b/goals/G-081-argdoc-build-pipeline.md
@@ -15,4 +15,6 @@ comment blocks in source remain interim until this pipeline is validated, after
 worthwhile prose migrates into punk::args blocks (original long-term plan). dtplite
 validation infrastructure (bin/dtplite.cmd + dev doc.validate) is in place.
 Related: G-075 (@package ids), G-078 (html api), G-079 (default colours), G-014/G-068
-(argdoc/moduledoc workflows).
+(argdoc/moduledoc workflows), G-055 (tclcore moduledoc regen - its regenerated
+definitions are pipeline inputs alongside G-068's vendored companions; sibling
+workflow whose output this renders).
diff --git a/goals/G-088-textblock-table-footer-subtitle.md b/goals/G-088-textblock-table-footer-subtitle.md
index f90f8a76..0ac42f11 100644
--- a/goals/G-088-textblock-table-footer-subtitle.md
+++ b/goals/G-088-textblock-table-footer-subtitle.md
@@ -47,3 +47,10 @@ Two deliverables, deliberately severable:
 - An alternative interim considered and rejected: post-processing the rendered table in
   arg_error by overtyping the last border line - workable but puts frame-drawing
   knowledge in a consumer; the table class is the right owner.
+- G-048 relationship (recorded 2026-07-24 after overlap review; this file previously
+  referenced nothing): the footer/subtitle options extend the same class::table
+  constructor G-048 parses via punk::args - the new options land in its PUNKARGS
+  block, covered by the shared passthrough documentation.
+- G-056 relationship: the bottom-edge subtitle and footer cells flow through the same
+  table renderers G-056 wraps; the examples-marker text participates in word
+  wrapping like any other cell content.