Browse Source

goals: xref reconciliation - vcs/config/layout cluster (G-012 G-016 G-024 G-033 G-035 G-047 G-065 G-112 G-115 G-119, recorded 2026-07-24)

Assisted-by: harness=opencode; primary-model=openrouter/moonshotai/kimi-k3; api-location=openrouter.ai
master
Julian Noble 1 week ago
parent
commit
1473a452d9
  1. 4
      goals/G-012-template-payload-safety.md
  2. 4
      goals/G-016-projects-work-git-discovery.md
  3. 6
      goals/G-024-mapvfs-toml.md
  4. 14
      goals/G-033-proj-mode-cwd-project.md
  5. 4
      goals/G-035-mixed-tm-pkgindex-provision.md
  6. 13
      goals/G-047-declared-primary-vcs.md
  7. 6
      goals/G-065-declarative-vendoring.md
  8. 5
      goals/G-112-maketcl-subcommand-rename.md
  9. 16
      goals/G-115-declarative-vfs-composition.md
  10. 7
      goals/G-119-runtime-active-freshness.md

4
goals/G-012-template-payload-safety.md

@ -97,3 +97,7 @@ payload drift is unmanaged.
.tm modules) because thin layouts ship no binary-glob settings - this goal's
inert VCS-config payload treatment is the designated fix. Layouts without
binaries (sample/derived fixtures) commit cleanly.
- G-047 relationship (recorded 2026-07-24 after overlap review): G-047 seeds
punkproject.toml workflow defaults plus ignore rules into layout payload - a new
payload class for this goal's inert-storage plus refresh machinery to carry; the
seeding rides this goal's refresh step.

4
goals/G-016-projects-work-git-discovery.md

@ -87,4 +87,8 @@ Result-shape considerations:
(reliable piped invocation - achieved 2026-07-07) and G-017 (agent guidance documenting the call).
- The `-cd` / `-detail` options and case-insensitive glob behaviour of the
existing command are contracts to preserve.
- G-033 relationship (recorded 2026-07-24 after overlap review): proj:'s
cwd-anchored root discovery (punk::repo find_project/is_project_root) is the
interactive counterpart of this goal's registry enumeration - a project found by
one surface should be found by the other.
- Archived-goal references in this file: G-049 achieved 2026-07-10 (goals/archive/G-049-punkargs-parse-status-model.md).

6
goals/G-024-mapvfs-toml.md

@ -69,3 +69,9 @@ with the G-014 direction of toml + tomlish for declared configuration.
(vendorlib newer for udp, older for twapi) so any sync declaration needs explicit
direction/authority semantics, not "copy newer over older" - see
goals/archive/G-037-vendorlib-vfs-propagation.md.
- G-115 relationship (recorded 2026-07-24 after overlap review; neither file previously
referenced the other): G-115 declares .vfs payload composition in toml - per the G-037
note above, that is the payload-declaration half of this same config space, while this
goal owns the runtime-to-vfs-to-executable mapping and schemes. Design the two as sibling
grammars in one toml family (shared conventions, not two dialects); G-115's
vendorlib_vfs.toml fold/supersede decision should cite this goal's scheme format.

14
goals/G-033-proj-mode-cwd-project.md

@ -170,4 +170,18 @@ ships with the prefix, not before):
packagemode help text above), G-015 (`proj:... script` also benefits),
G-027 (if a universal project marker is ever seeded, proj could prefer it
over the structural VCS heuristic).
- G-016 relationship (recorded 2026-07-24 after overlap review; neither file
previously referenced the other): G-016's projects.work registry enumeration and
this goal's cwd-anchored walk-up are the two project-discovery surfaces (machine
registry vs VCS-root walk) - a project findable by one should be findable by the
other; both ride punk::repo.
- G-047 relationship: G-047's primary-VCS resolution anchors at the same
is_project_root marker proj: uses; its nested-punkproject.toml rule and this goal's
root walk must agree.
- G-119 relationship: G-119's freshness-verdict contract lands in bin/AGENTS.md's
runtime-manager contract, the same doc this goal's package-mode docs extend.
- G-089 relationship (recorded 2026-07-24 after overlap review): G-089's proj:
scriptlib resolution rides this goal's visitor root discovery - its Notes
already flag that `proj:... script` benefits; the two share the same root walk
and the same never-silent rebind rule.
- Archived-goal references in this file: G-015 achieved 2026-07-07 (goals/archive/G-015-script-subcommand-piped-stdin.md).

4
goals/G-035-mixed-tm-pkgindex-provision.md

@ -66,5 +66,9 @@ is a realistic hazard - and same-version-different-content drift (the
more reachable: a kit's internal libs vs a visited project's .tm trees),
G-026/G-024 (same-version drift provenance), punk::packagepreference 0.1.1
(its moduledoc auto-load hook lives in exactly this machinery).
- G-112 relationship (recorded 2026-07-24 after overlap review): its
subcommand-rename doc sweep touches the same src/modules/AGENTS.md +
src/lib/AGENTS.md guidance files this goal's characterization outcomes
update - coordinate the edit windows.
- Out of scope: redesigning the loading machinery. This goal is
characterise-document-and-pin; behavioural changes only for outright bugs.

13
goals/G-047-declared-primary-vcs.md

@ -36,3 +36,16 @@ The original G-047 draft (2026-07-08) declared a single team-wide primary with t
- G-016 (projects.work git discovery) is unchanged: fossil discovery stays central-config-db based and this field is advisory to it, detection remaining the fallback.
- Layout templates seed `vcs = "fossil"` as the generated-project default plus the punkproject.local.toml ignore rules in both ignore systems.
- Validation of the declared field against the VCS systems actually present (make.tcl / project.new) is follow-on work, deliberately out of scope.
- G-012 relationship (recorded 2026-07-24 after overlap review; neither file previously
referenced the other): this goal seeds template payload (the vcs default plus the
ignore rules) - G-012's inert-storage plus explicit-refresh machinery is how such
layout payload propagates; seeding rides its refresh step, never hand-syncs.
- G-065 relationship: its vendor manifest schema shares punkproject.toml-or-sibling
territory with this goal's [workflow] field - coordinate the schema layout so one
punkproject.toml can carry both without confusion.
- G-112 relationship: the layout make.tcl copies its rename travels and the template
payload this goal seeds ride the same layout sync channels; its AGENTS.md workflow
edits and this goal's Commit-Conventions edit are different sections of the same docs.
- G-033 relationship: its proj: visitor root discovery and this goal's primary-VCS
anchoring share the punk::repo::is_project_root marker as the root test - a nested
punkproject.toml must never fool either reader.

6
goals/G-065-declarative-vendoring.md

@ -53,7 +53,11 @@ remains the punkshell format (G-024 direction).
G-026 (local-pull provenance sibling; include_modules.config -> toml note),
G-027 (derived-project travel), G-063 (license recording hook at vendor time),
G-066 (repackaging consumes declared packages), G-067 (artifact retrieval as an
alternative upstream kind), G-068 (moduledoc status tracked against the manifest).
alternative upstream kind), G-068 (moduledoc status tracked against the manifest),
G-115 (sibling toml declaration surface for .vfs payloads - keep the schemas aligned,
per the 2026-07-24 overlap review), G-047 (punkproject.toml [workflow] schema
co-tenant - if the manifest lives in punkproject.toml, the two schemas must not
collide).
- Proving case: tcl_oauth2_library. A hand-trimmed copy (keeping
LICENSE/license.terms/README/examples) was placed in src/vendorlib and load-tested
with the punk91 src shell on 2026-07-12, then deliberately removed before ever being

5
goals/G-112-maketcl-subcommand-rename.md

@ -76,3 +76,8 @@ act rather than an input folder.
window, so G-104's buildsuite group and the workflow text are written once in the
stage-true vocabulary. G-104's sibling-ergonomics note still reads `make.tcl 'vfs'` -
that text joins this goal's rename sweep when both land. Mirror note in G-104.
- G-035 relationship (recorded 2026-07-24 after overlap review): its mixed-provision
guidance lands in the same src/modules/AGENTS.md + src/lib/AGENTS.md this goal's
rename sweep updates - coordinate the edit windows.
- G-047 relationship: its punkproject.toml schema addition and ignore-rule seeding
ride the same layout sync channels this goal's renamed make.tcl copies travel.

16
goals/G-115-declarative-vfs-composition.md

@ -43,3 +43,19 @@ rules must state what happens when a declaration and a drop-in collide on
the same path (drop-in wins vs declared wins vs error - decided in the work,
with punkcheck-style tracking of materialized content the likely mechanism
for telling the two apart).
## Notes
- G-024 relationship (recorded 2026-07-24 after overlap review; neither file previously
referenced the other): G-024 converts mapvfs.config to toml, and archived G-037 named
that file as the natural home for per-kit vendorlib payload declarations - this goal's
territory. The two toml surfaces (mapping/schemes there, payload declarations here)
are designed as sibling grammars in one family; the vendorlib_vfs.toml fold/supersede
decision (Acceptance) cites the G-024 scheme format.
- G-019 relationship: G-019's dependency-scan closure plus declared dynamic extras is a
payload-determination INPUT this goal's materialization could consume - a trimmed kit
is then a declared kit whose declaration was generated rather than hand-authored.
- G-065 relationship: G-065's declarative vendoring manifest and this goal's .vfs
declaration are the same design space (toml-declared, pinned, provenance-tracked
external content) - G-065's upstreams feed the sources, this goal's declarations
materialize the folder. Keep the schemas aligned.

7
goals/G-119-runtime-active-freshness.md

@ -28,3 +28,10 @@ value-matching identifies it against the server listing).
actionable recommendation. Possible later secondary signal.
- Artifact-record lifecycle fields (superseded_by) - rejected per G-117's
recorded rationale (repo-level curation, not artifact facts).
## Notes
- G-033 relationship (recorded 2026-07-24 after overlap review): its package-mode
docs and this goal's runtime-manager contract are sibling sections of
bin/AGENTS.md - the mode docs and the freshness-verdict contract must not
contradict each other on naming (artifact-named actives, -rN parsing).

Loading…
Cancel
Save