Browse Source
G-146 [proposed] Fossil binary-glob seeding for generated projects: the trailing fossil initial commit of a generated project aborts on binary payload (layout bin/sdx.kit, injected zip-based .tm modules, incoming G-136 .ico) because thin layouts ship no binary-glob setting. Deferred twice already (G-087 -> G-012 territory); scoped as its own goal with the glob-value and seeding-path decisions recorded as open options and relationships to G-136/G-086/G-027/G-114/G-047 surveyed. Assisted-by: harness=opencode; primary-model=opencode/kimi-k3; api-location=unknownmaster
2 changed files with 67 additions and 0 deletions
@ -0,0 +1,63 @@
|
||||
# G-146 Fossil binary-glob seeding for generated projects (initial commit completes) |
||||
|
||||
Status: proposed |
||||
Scope: src/project_layouts/ (.fossil-settings payloads); src/make.tcl (thin-layout sync, if derivation chosen); src/modules/punk/mix/commandset/project-999999.0a1.0.tm (generation-time fossil commit path) |
||||
Goal: a project generated from any punkshell layout completes its trailing fossil initial |
||||
commit with no binary-content prompt or abort - the layout's .fossil-settings payload |
||||
carries a binary-glob setting covering the binary content generation injects (layout-carried |
||||
bin/sdx.kit, injected zip-based .tm modules, seeded assets). |
||||
Acceptance: dev project.new from each binary-affected layout (project-0.1, plus one |
||||
injection-only layout e.g basic) completes its trailing fossil initial commit cleanly |
||||
(FOSSIL_HOME diverted, no binary prompt/abort); the generated project's versioned |
||||
.fossil-settings carries binary-glob with the recorded value; the seeding path |
||||
(hand-authored per layout vs derived via the make.tcl template refresh) is decided and |
||||
documented in this file; the G-136 relationship (icon payload is binary - same abort |
||||
class) is recorded. |
||||
|
||||
## Context |
||||
|
||||
G-087's generation verifications (stages 3 and 4, 2026-07-19 - see |
||||
goals/archive/G-087-thin-project-layouts.md): the trailing fossil initial commit of a |
||||
punk.project-generated project aborts on binary payload content (bin/sdx.kit from the |
||||
layout plus injected zip-based modpod .tm modules) because thin layouts ship no |
||||
binary-glob settings; layouts without binaries commit cleanly. Deferred twice since |
||||
(G-087 -> G-012 as "designated fix"; G-012 correctly scoped .fossil-settings payloads out |
||||
of its inert-storage treatment - they are inert by nature, fossil reads them only at a |
||||
checkout root; the missing SETTING is a different problem class). |
||||
|
||||
Binary sources in generated projects: bin/sdx.kit carried by the punk.project layout |
||||
(project-0.1); zip-based .tm modules injected into EVERY generated project by |
||||
bootsupport_inject (zip content reads as binary to fossil); the G-136 icon seed (.ico) |
||||
when that goal lands. punkshell's own repo already runs binary-glob=* (versioned in |
||||
.fossil-settings/, workflow-policy-only per root AGENTS.md) so binary checkins proceed |
||||
without prompts. |
||||
|
||||
## Approach (options - decision recorded in the work) |
||||
|
||||
- Value: binary-glob=* (mirror punkshell's own - generated projects own their binary |
||||
policy) vs a narrow glob (*.tm, bin/*.kit, *.ico - tighter, but maintained as payload |
||||
classes grow). |
||||
- Seeding path: hand-authored per-layout .fossil-settings payload vs derived from |
||||
punkshell's own .fossil-settings/binary-glob via the G-012 template-refresh machinery |
||||
(a second derived payload class after gitignore.in). |
||||
|
||||
## Related |
||||
|
||||
- G-136 (icon seeding injects binary .ico assets - its acceptance hits the same abort |
||||
without this goal's setting; coordinate) |
||||
- G-086 (light layout - generated light projects carry the same injected-.tm binary |
||||
class; its .fossil-settings needs the setting too) |
||||
- G-027 (pull updates - the seeded setting becomes pull-updatable infrastructure payload |
||||
once the pull channel exists) |
||||
- G-114 (per-platform tm roots - binary .tm segregation shares the "zip .tm reads as |
||||
binary" classification fact) |
||||
- G-047 (deliberate non-overlap: seeds punkproject.toml workflow defaults, not |
||||
.fossil-settings; recorded because both seed layout payload) |
||||
- G-087, G-012 (archived - origin of the finding; inert-payload machinery this goal's |
||||
derivation option rides) |
||||
|
||||
Overlap survey 2026-08-01 (goals_xref paths src/project_layouts .fossil-settings |
||||
src/make.tcl src/modules/punk/mix/commandset/project-999999.0a1.0.tm + report unlinked |
||||
list): relationships as above; G-031 (layout payload, no binary content) and the |
||||
project-commandset path-anchor hits (G-016 G-014 G-066 G-063 G-067 G-022) surveyed - |
||||
no relationship. |
||||
Loading…
Reference in new issue