Browse Source
Investigation prompted by the 0.56.2 BAKE SUMMARY work, whose 'make.tcl modules' run silently refreshed the tracked layout copies: does the mint terminology cover that write? It does not, and the write is G-171's own class on the mint side. Finding. make.tcl's sync_layouts phase (modules/libs/packages/bakehouse) performs two different movements fused in one block. (a) It copies src/make.tcl, src/build.tcl, the root .gitignore and the bootsupport manifests into the tracked src/project_layouts store; (b) it copies that store into the templates modpod source tree. Neither is mint by make.tcl's own G-155 definition - nothing is version-stamped and nothing lands in the projectroot modules*/lib*/ trees. (a)'s target IS a VCS-tracked consumption tree - the store 'dev project.new' generates from - so it has promotion's shape, and release-sequence step (9) already commits it beside the two promotion targets. Of the three such trees only this one has no named command, no gate and no TERMINOLOGY entry: 'sync' appears there purely as a MECHANISM word, so the movement it performs was never assigned a stage and inherited mint by accident of which subcommands call it. (b) is the one genuinely mint-internal half - input preparation ordered deliberately before the source-modules mint that packs #modpod-* trees (verified: a modules run's freshly packed templates-0.2.0.tm carries the same run's make.tcl, so there is no one-run lag). Contract changes (user-approved wording, proposal-first per GOALS.md): - Goal: subject widened to (mint, bake/bakehouse/vfslibs ...); the deliberate- writes clause now covers tracked TREES incl. refreshing the thin-layout store. - Scope (both tiers, mirror verified identical): new element naming the sync_layouts phase, its two targets and the workflow_text TERMINOLOGY/DIAGRAM 1b stage-verb assignment. - Acceptance: new clause - the sync writes no tracked path from a mint or bakehouse run, refreshing store + modpod payload is an explicitly-invoked command, the mint commands report a stale store instead of silently refreshing it, and the vocabulary names the layout store as the third consumption tree. Non-contract: Context gains a fourth structural problem (incl. the bakehouse help claiming it does NOT run the promotion gates while writing a tracked consumption tree) plus the vocabulary finding; Approach gains step 10 (explicit command + stale_bootsupport-shaped check + the TERMINOLOGY/DIAGRAM/help corrections). Back-pointer sweep (goals_xref reported 14 goals G-171 references without one): added 'Related: G-171' to the eight it lists as genuinely related - G-004, G-006, G-065, G-141, G-147, G-156, G-157, G-162 - each worded from that goal's own side. Deliberately NOT added to G-089, G-114, G-131, G-019, G-020, G-116: G-171's own overlap survey records those as judged not related in substance, so a back-pointer would assert a relationship the survey ruled out. They remain the only flagged pairs, which is the intended state. G-171 stays 'proposed' - activation is the user's call. Verified: goals_lint clean (81 active, 90 archived); GOALS.md and detail-file Scope lines byte-identical; goals_xref score G-171 now surfaces G-156 at 1.28 on the two newly-added paths (the overlap the new Related line records, invisible before the fold). Claude-Session: https://claude.ai/code/session_017yWCebiNUVFtTrMA9GvsYd Assisted-by: harness=claude; primary-model=claude-opus-5[1m]; api-location=anthropic.commaster
10 changed files with 74 additions and 6 deletions
Loading…
Reference in new issue