From 331ca080465aca7ce421b58f9dbd1265eeb67f49 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Sun, 2 Aug 2026 04:10:34 +1000 Subject: [PATCH] G-146: seed fossil binary-glob + crlf-glob payloads in vendor/punk layouts A generated project's trailing fossil initial commit now completes: every vendor/punk layout ships .fossil-settings/binary-glob (*) covering the binary content generation injects (zip-based .tm modules, layout-carried bin/sdx.kit), plus a uniform crlf-glob (src/embedded/*, src/bootsupport/*, bin/*) for the CRLF abort class that surfaced behind the binary one (injected bootsupport snapshots inherit the generating shell's endings, e.g voo-1.0.0.tm). No code changes: project.new already installs layout .fossil-settings payloads and the make.tcl layout->modpod sync already carries them. Verified end-to-end (punk.project, punk.basic, punk.minimal, punk.sample-0.1: fossil initial commit OK, clean checkouts, settings tracked). Store README documents the seeded payloads. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- src/project_layouts/README.md | 6 ++++++ .../vendor/punk/basic/.fossil-settings/binary-glob | 5 +++++ .../vendor/punk/basic/.fossil-settings/crlf-glob | 8 ++++++++ .../vendor/punk/minimal/.fossil-settings/binary-glob | 5 +++++ .../vendor/punk/minimal/.fossil-settings/crlf-glob | 7 +++++++ .../vendor/punk/project-0.1/.fossil-settings/binary-glob | 5 +++++ .../vendor/punk/project-0.1/.fossil-settings/crlf-glob | 7 +++++++ .../vendor/punk/sample-0.1/.fossil-settings/binary-glob | 5 +++++ .../vendor/punk/sample-0.1/.fossil-settings/crlf-glob | 8 ++++++++ 9 files changed, 56 insertions(+) create mode 100644 src/project_layouts/vendor/punk/basic/.fossil-settings/binary-glob create mode 100644 src/project_layouts/vendor/punk/basic/.fossil-settings/crlf-glob create mode 100644 src/project_layouts/vendor/punk/minimal/.fossil-settings/binary-glob create mode 100644 src/project_layouts/vendor/punk/project-0.1/.fossil-settings/binary-glob create mode 100644 src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/binary-glob create mode 100644 src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/crlf-glob diff --git a/src/project_layouts/README.md b/src/project_layouts/README.md index cdac0493..dc62ef26 100644 --- a/src/project_layouts/README.md +++ b/src/project_layouts/README.md @@ -147,6 +147,12 @@ payload ignores silently drops out of git tracking - the G-012 hazard). location is contradictory and errors at materialization. - `.fossil-settings/` payloads need no such treatment: fossil reads them only at a checkout root, so they are inert in the store by nature. +- Every vendor/punk layout ships `.fossil-settings/binary-glob` (`*`) and a + `crlf-glob` covering `src/embedded/*`, `src/bootsupport/*` and `bin/*`, so a + generated project's trailing fossil initial commit completes without binary + or CRLF prompts: generation injects zip-based `.tm` modules (binary to + fossil), and injected bootsupport snapshots inherit the generating shell's + line endings (G-146). - The vendor/punk `gitignore.in` payloads are DERIVED mirrors of the punkshell root `.gitignore`, refreshed (punkcheck-tracked) by the make.tcl thin-layout sync step. Edit the root `.gitignore` and rebuild (`make.tcl diff --git a/src/project_layouts/vendor/punk/basic/.fossil-settings/binary-glob b/src/project_layouts/vendor/punk/basic/.fossil-settings/binary-glob new file mode 100644 index 00000000..a292bf61 --- /dev/null +++ b/src/project_layouts/vendor/punk/basic/.fossil-settings/binary-glob @@ -0,0 +1,5 @@ +#Allow binary checkins by default - no fossil commit warnings/prompts for binary content. +#Generated projects carry binary payloads from generation time: zip-based .tm modules +#injected into src/bootsupport by the generating shell, and layout-carried binaries +#(e.g bin/sdx.kit) where the layout ships them. +* diff --git a/src/project_layouts/vendor/punk/basic/.fossil-settings/crlf-glob b/src/project_layouts/vendor/punk/basic/.fossil-settings/crlf-glob new file mode 100644 index 00000000..3bd5fc22 --- /dev/null +++ b/src/project_layouts/vendor/punk/basic/.fossil-settings/crlf-glob @@ -0,0 +1,8 @@ +#Suppress fossil CRLF commit warnings/prompts for trees whose content arrives with +#endings the generated project's owner does not author: bootsupport module/lib +#snapshots injected at generation time inherit the generating shell's file endings, +#src/embedded holds generated docs, and bin/ carries layout-shipped utility scripts. +#Authored project files outside these trees still get fossil's CRLF warning. +src/embedded/* +src/bootsupport/* +bin/* diff --git a/src/project_layouts/vendor/punk/minimal/.fossil-settings/binary-glob b/src/project_layouts/vendor/punk/minimal/.fossil-settings/binary-glob new file mode 100644 index 00000000..a292bf61 --- /dev/null +++ b/src/project_layouts/vendor/punk/minimal/.fossil-settings/binary-glob @@ -0,0 +1,5 @@ +#Allow binary checkins by default - no fossil commit warnings/prompts for binary content. +#Generated projects carry binary payloads from generation time: zip-based .tm modules +#injected into src/bootsupport by the generating shell, and layout-carried binaries +#(e.g bin/sdx.kit) where the layout ships them. +* diff --git a/src/project_layouts/vendor/punk/minimal/.fossil-settings/crlf-glob b/src/project_layouts/vendor/punk/minimal/.fossil-settings/crlf-glob index eaa1c665..3bd5fc22 100644 --- a/src/project_layouts/vendor/punk/minimal/.fossil-settings/crlf-glob +++ b/src/project_layouts/vendor/punk/minimal/.fossil-settings/crlf-glob @@ -1 +1,8 @@ +#Suppress fossil CRLF commit warnings/prompts for trees whose content arrives with +#endings the generated project's owner does not author: bootsupport module/lib +#snapshots injected at generation time inherit the generating shell's file endings, +#src/embedded holds generated docs, and bin/ carries layout-shipped utility scripts. +#Authored project files outside these trees still get fossil's CRLF warning. src/embedded/* +src/bootsupport/* +bin/* diff --git a/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/binary-glob b/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/binary-glob new file mode 100644 index 00000000..a292bf61 --- /dev/null +++ b/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/binary-glob @@ -0,0 +1,5 @@ +#Allow binary checkins by default - no fossil commit warnings/prompts for binary content. +#Generated projects carry binary payloads from generation time: zip-based .tm modules +#injected into src/bootsupport by the generating shell, and layout-carried binaries +#(e.g bin/sdx.kit) where the layout ships them. +* diff --git a/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/crlf-glob b/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/crlf-glob index eaa1c665..3bd5fc22 100644 --- a/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/crlf-glob +++ b/src/project_layouts/vendor/punk/project-0.1/.fossil-settings/crlf-glob @@ -1 +1,8 @@ +#Suppress fossil CRLF commit warnings/prompts for trees whose content arrives with +#endings the generated project's owner does not author: bootsupport module/lib +#snapshots injected at generation time inherit the generating shell's file endings, +#src/embedded holds generated docs, and bin/ carries layout-shipped utility scripts. +#Authored project files outside these trees still get fossil's CRLF warning. src/embedded/* +src/bootsupport/* +bin/* diff --git a/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/binary-glob b/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/binary-glob new file mode 100644 index 00000000..a292bf61 --- /dev/null +++ b/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/binary-glob @@ -0,0 +1,5 @@ +#Allow binary checkins by default - no fossil commit warnings/prompts for binary content. +#Generated projects carry binary payloads from generation time: zip-based .tm modules +#injected into src/bootsupport by the generating shell, and layout-carried binaries +#(e.g bin/sdx.kit) where the layout ships them. +* diff --git a/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/crlf-glob b/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/crlf-glob new file mode 100644 index 00000000..3bd5fc22 --- /dev/null +++ b/src/project_layouts/vendor/punk/sample-0.1/.fossil-settings/crlf-glob @@ -0,0 +1,8 @@ +#Suppress fossil CRLF commit warnings/prompts for trees whose content arrives with +#endings the generated project's owner does not author: bootsupport module/lib +#snapshots injected at generation time inherit the generating shell's file endings, +#src/embedded holds generated docs, and bin/ carries layout-shipped utility scripts. +#Authored project files outside these trees still get fossil's CRLF warning. +src/embedded/* +src/bootsupport/* +bin/*