Tree:
0d80cf6771
master
v0.1a
${ noResults }
1 Commits (0d80cf6771ada264d143131af9182ee1700db88b)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
0d80cf6771 |
G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0)
G-024 - kit mapping converted to toml (tomlish-parsed), same-day activation->achieved: - src/runtime/mapvfs.toml: [kit.<name>] / [group.<name>] / [scheme.<name>] tables (header comment = user-facing spec). All 12 active line-format mappings migrated (order preserved - identical bakelist rows vs the legacy parse); historical comments carried over; mapvfs.config deleted here AND in the project-0.1 layout (converted to mapvfs.toml there). - make.tcl reader family under the unchanged G-121 model surface: mapvfs_locate (toml > legacy; PUNK_MAPVFS_CONFIG env override = characterization seam), mapvfs_parse dispatching on extension, strict mapvfs_parse_toml, deprecated mapvfs_parse_config fallback (un-migrated generated projects keep baking, with a NOTE; toml wins when both files exist). Shared toml helpers hoisted to punkboot::lib (inline toml_untag copies removed). - Strict entry-named validation: unknown keys/types/schemes, conflicting targets, duplicate outputs, parse failures fatal (exit 3 pre-build). Full-bake unresolvables split by nature: missing vfs folder (repo content) fatal per entry; missing runtime file (environment - part-populated stores are legitimate) entry-named recapped BUILD-WARNING + skip. - Groups: @<group> selection in bake/bakelist, group/default/scheme notes columns + detail lines, groups listed in errors and argdoc choices. verify-ix86 wraps the G-129 kits; bake_default=false excludes entries from full bakes. - G-023 versioned scheme declared live ([scheme.punk8]/[scheme.punk9], group versioned, bake_default=false pending G-023 activation): parse-time expansion from punkproject.toml to punk<gen>-<version> / punk<gen>-dev / release-gated punk<gen>; kit loop creates the plain name when absent and never overwrites it on a normal bake. punk9-dev baked end-to-end; punk9 gate skip demonstrated. - Consumer dedupe fix: several entries may share one runtime on one vfs - kit-output enumeration and the kit-loop runtimes list process each distinct runtime once (latent multiplication in the legacy format, unreachable there). G-115 - declarative .vfs composition with drop-in preservation, same-day activation->achieved: - Sibling declarations src/vfs/<name>.vfs.toml ([payload.<name>]: source, source_root src|packages, target, supersedes, replace) materialized by the new VFSPAYLOAD phase (bakehouse/bake/vfslibs; selective bakes narrow; strict entry-named errors). Drop-in-wins precedence via punkcheck -overwrite synced-targets: undeclared or modified-since-install files preserved and reported (changed-but-preserved NOTE = files_skipped minus sources_unchanged); supersedes/replace are the explicit exceptions; an undeclared .vfs is untouched. - vendorlib_vfs.toml relationship settled: folded/superseded - all six install entries migrated into per-.vfs files for the 13 participating folders (first materialization run reproduced every payload with zero tracked-content change); file deleted; a leftover copy warns and is ignored. - Demonstration kit punkdeclare (group declare-demo, bake_default=false, smokerequire udp+tcllibc): VCS carries only the boot fauxlink; the whole lib_tcl9 payload (tcludp vendor tree + tcllibc consent-gated packages tier) rematerializes from the declaration - clean-tree rebuild smokes pass in-kit, and drop-in survival was proven live (a foreign pkgIndex.tcl and an undeclared note both survived; the foreign file genuinely won until removed, caught by the G-133 smoke probe as designed). Payload ignored in both VCS (.gitignore + derived ignore-glob; ignore-sync verification clean). - Docs: src/vfs/README.md (format + precedence spec), src/vfs + src/runtime + src + bin AGENTS.md, ARCHITECTURE.md (+lint clean), workflow text and summaries/helptexts/argdoc; layout store seeds the convention (vfs README + mapvfs.toml; machinery travels via the established make.tcl sync). Verification: legacy-vs-toml identical kit rows; punkluck86 force-rebuilt under both formats content-identical (identical 1.73MB runtime+stamp prefix, identical 2993-member payloads; whole-artifact byte identity is not a pipeline property - consecutive same-config rebuilds differ in zip timestamp metadata, pre-existing); punkexe suite 98 tests 0 failures incl. 5 new G-024 characterizations (maketclbakelist.test: @group filter + PUNK_MAPVFS_CONFIG fixture tests) and updated pins (payloadcheck declared list + punkdeclare; platform detail wording). Goals: both flipped achieved 2026-07-31 with evidence in the detail files; GOALS.md entries moved to GOALS-archive.md; live-tier reference sweep applied (G-004/G-019/G-023/G-025/G-026/G-035/G-065/G-127/G-131/G-137/G-141) including the G-127 mapvfs-seam retirement note (PUNK_MAPVFS_CONFIG) and a direct G-137<->G-127 bridge replacing the archived G-024 one. Detail files move to goals/archive/ in the follow-up pure-rename commit. Also included as found: the developer's concurrent G-142 goal addition (GOALS.md entry + goals/G-142-punkbin-listing-manifests.md), committed unmodified for git/fossil coherence - not agent-authored. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
4 days ago |