Tree:
29d606fb21
master
v0.1a
${ noResults }
11 Commits (29d606fb210069c86d17cfc5e506766bfc669caa)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
29d606fb21 |
Goals: G-153 achieved flip - archive move + index swap + reference sweep
Detail file moved goals/ -> goals/archive/ (pure rename; content edits
landed in the companion commit
|
7 days ago |
|
|
0469374498 |
Goals: draft G-153 metakit_punk zig port (user-approved); CRT/floor notes
G-153 [proposed]: fork-as-upstream metakit port under the pinned zig - standalone core + Mk4tcl dll/static shapes, win32-x86_64 + win32-ix86 from day one, KitCreator patch audit vs the 2.4.9.8 baseline, dll smoke under suite-built tclsh86t (the sdx-circularity probe enabler), mk4 x64<->ix86 interchange check, and ready-to-land sources.config/zon record text for suite consumption. Non-contract Notes: G-101 records metakit_punk as the mk4 porting vehicle superseding the TEMP_REFERENCE metakit trees; G-130 gains the measured UCRT linkage + OS-floor statement (Win10 zero-prereq, Win7/8.x need KB2999226, XP/2000 structurally out), the Windows 2000 placement with the luck-specimen Win2k-clean import measurement, the SSE2 (pentium4) cpu-baseline rider, and the lane-mechanics inventory (standardTargetOptions present; critcl/baselines/punkres-PE32/punkbin-folder/twapi-x86 gaps); G-131 points at G-153 for its metakit arm. goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
6bfafbb4f4 |
G-131 note: archive markers for the G-057/G-128 seam mention (lint sweep)
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
bb9cfc7b79 |
G-127 archive sweep completion: G-131<->G-137 direct bridge (last shared live reference archived)
Post-flip goals_xref report: the unlinked G-131/G-137 pair was annotated with G-024 + G-127 as its only bridges, both now archive-tier - reciprocal Related: notes record the real kit-wrap-phase adjacency directly. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
2c4e8ed2fd |
G-127 achieved 2026-07-31: cross-target bake of a custom .vfs - per-target payload + per-target output location
- Acceptance verified clause-by-clause (detail file Progress increments 1-5): one-run two-target same-vfs real bake to distinct artifacts (flat native + bin/kits/<platform>/), cross-run no-overwrite by construction + live two-run same-name check, two-non-native namesake coexistence, per-target payload selection via %platform% on vendorlib + packages roots, byte-comparability by the recorded prefix+content method (punk86 identical; punkdeclare 2805 members identical), mismatch reporting live + G-133 regression pin, bakelist locations, punk9linux migrated-plus-hand-curated record, punkshell902 + verify-ix86 relocations executed and recorded, G-023 reconciliation stated, native outputs unchanged with punkexe suites 101/0-fail, kit-loop TODO retired - punkdeclare.vfs.toml: both payload entries now %platform% (vendor tree + packages tier), flat folder payload removed - whole payload stages per target - index entry -> GOALS-archive.md record; reference sweep: achieved markers + actionable pointers in G-141 (derivation input live), G-137 (seam already per-kit), G-131, G-114, G-105, G-023, G-101, G-116, G-060 - relocation orphans removed (flat punkshell902 + punkluck86 copies) - detail-file move to goals/archive/ follows as a pure rename Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
852d684ae6 |
G-101/G-127/G-131/G-141 Scope rewording (user-approved): stale mapvfs.config / vendorlib_vfs.toml references updated to the achieved G-024/G-115 surfaces
Scope lines are the index's discovery mechanism (path-grep + goals_xref path overlap): after the G-024/G-115 migration the old filenames matched nothing on disk, so agents editing src/runtime/mapvfs.toml or src/vfs/*.vfs.toml would silently miss these goals. Minimal swaps, index + detail-file mirrors in step: - G-101/G-131: mapvfs.config -> mapvfs.toml (annotations unchanged) - G-127: vendorlib_vfs.toml -> src/vfs/*.vfs.toml (the achieved G-115 surface this goal adds the platform axis to); mapvfs.config -> mapvfs.toml - G-141: vendorlib_vfs.toml -> src/vfs/*.vfs.toml (the achieved G-115 successor surface; format coordinated with G-127) Archived G-024/G-115 records deliberately untouched (accurate history). goals_lint clean; xref path discovery verified resolving to the reworded goals. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
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 |
1 week ago |
|
|
9b587aed59 |
G-123 achieved: third-party runtime tiers - flip, archive record, reference sweep
Status active -> achieved 2026-07-31 (acceptance walk in the detail file); index entry moved to GOALS-archive.md; live-tier sweep: achieved markers on the G-127/G-130/G-131/G-141 Related lines and the G-006 absorption note (interim trust flags libfetch + punk-runtime named); actionable-note pushes to G-105 (server surfaces ready for cross-target artifacts), G-101 (8.6 tier riding the mechanism; tclkit86bi sidecars), G-067 (provenance/consent patterns to inherit), G-127 (the no-alternate-mapvfs-seam finding from the e2e demonstration). xref report: no unlinked pair had G-123 as its only bridge. Detail-file rename to goals/archive/ follows as its own pure-rename commit. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
f5a559038e |
G-133 achieved 2026-07-27: activation + flip + archive record + reference sweep
Activation (user-directed this session) through achieved flip in one lifecycle change-set: index entry moved to GOALS-archive.md (Scope relocated verbatim; title preserved with the [achieved] status transform; Detail: line becomes the archive detail pointer - the standard flip transformations), detail file gains the activation survey Related: notes (G-114 prevention-side sibling, G-128 sibling PE surface), the advisory-as-drafted open-decision resolution, and the full Progress/verification records (live bake evidence on punkluck86/punk91ix86/punk86/punkshell902, the zint real finding, 92.6ms avg scan cost, suite results). Reference sweep pushes the archived file's actionable notes to G-024 (toml schema home), G-131 (one-vocabulary + runtime_caps), G-127 (target-addressing adoption), G-130 (subdir exemption for 32-bit growth), G-123 (publication citation), G-114 (detection-side sibling). Detail file moves to goals/archive/ in the following pure-rename commit. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
1fd8af5465 |
G-129 achieved 2026-07-27: flip + archive record + reference sweep
Detail file: Status flipped, Context table corrected (the LUCK backport HAS a ::zipfs ensemble - just no root subcommand), Progress + verification records added (both 32-bit kits boot and resolve from their mounts, four 64-bit kits byte-identical before/after, unattributable-mount stderr report demonstrated, both zip offset conventions verified on the backport, kitmountpoint.test 4/4, full suite at the exec-14.3-only baseline). Index entry moved to GOALS-archive. Reference sweep: achieved/archive markers added at the G-129 mentions in G-101, G-024, G-130 and G-131 (pending-tense Approach line rewritten); forward-pointing notes pushed to their targets - G-131 gets the factored-derivation shape, measured mount tables, app/main.tcl hook and the LUCK both-capability probe row; G-123 gets the bin/AGENTS.md kit-wrappable requirements as its publication criterion pointer. Claude-Session: https://claude.ai/code/session_01UEgomWq6kA6c4A8GswqqGW Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
226b691471 |
G-130 + G-131 drafted (user-approved); G-129 records why it stands alone
Two goals from the third-party 32-bit kit investigation, plus the finding that kept G-129 independent. G-129 Notes: the developer asked whether G-129 is needed to support baking with third-party kits. It is - it is the LAST blocker. The chain is: read the runtime's attached payload (G-124, achieved), do not let the boot-precondition gate falsely refuse it (G-125, achieved, plus the punkboot::utils 0.4.0 third-convention fix), then have the baked kit FIND that payload at boot (G-129). Measured by running punk_main.tcl's detection logic verbatim under bin/runtime/win32-ix86/tclsh8.6.10-luck-zip.exe: has_zipfs is 0, the //zipfs:/app branch is never computed, the kitpath branch is skipped, and NO internal module or lib paths are added - while tcl::zipfs::mount really does report the archive mounted at the exe path. So the failure is not "mounted somewhere unexpected and mis-resolved", it is "concluded there is no zipfs at all". This corrects an earlier recommendation to fold G-129 into G-131: folding would have parked third-party kit baking behind a much larger goal that needs a runtime carrying two container capabilities, which in turn needs G-101's port work. G-130 - 32-bit windows runtimes from the buildsuites, both Tcl generations. The motivation is supply, not architectural completeness: old, firewalled or sandboxed systems (industrial ones especially) are where 32-bit persists, they cannot fetch what they need, and a machine carrying binary Tcl modules built for only one major forces the runtime to match the modules. No single supplier keeps current 32-bit windows Tcl available for both majors. Acceptance keeps the binary-extension gate the developer asked for - each runtime must LOAD a real 32-bit extension, not merely start - because accepting drop-in modules is the whole point; twapi 4.7.2 inside the LUCK runtime is a 32-bit dll already in the tree for the 8.6 side. Both generations are required before the goal is met, since the motivating case is precisely that the machine's modules dictate the generation. KIT/CONTAINER TYPE IS DELIBERATELY OUT OF SCOPE - this goal produces runtimes, not kits; that question is G-101's. Sequencing per the developer: before or around the FreeBSD work, because a bitness change is likelier to surface recipe assumptions than another OS at the same bitness. Recorded as verified: punk::platform::local already reports win32-ix86 from a 32-bit interpreter and make.tcl derives the matching host/target/store, so no platform-canon work is needed. G-131 - one runtime, either payload: boot-time container autodetection (metakit or zipfs). Today a runtime's container is fixed when the runtime is ACQUIRED, so deliverables multiply by container: per platform, per generation, per container. If the boot detected what is attached, the container would become a bake-time choice and the count would collapse to platform x generation. Drafted to EXTEND G-129 rather than supersede it, and to depend on G-101 for the metakit arm to exist at all on a suite-built runtime. Its zipfs obligation is only that G-129's derivation still holds when reached through container detection. Carries two constraints found during the survey: the design must be preinit-shaped from the start, because G-101's Tcl 9 survey found the proc tclInit override the tclkit lineage relies on is dead in 9.1 and tcl_libPath is gone; and it explicitly rejects KitCreator's compile-time KIT_STORAGE_MK4/_ZIP/_CVFS switch - the closest prior art - because a compile-time answer still produces one binary per container. Scope names src/make.tcl's kit_type_mismatch check, whose premise (a runtime implies one container) this goal makes false. cookfs and other exotics are out of scope by the developer's decision. Assisted-by: harness=claude; primary-model=claude-opus-5[1m]; api-location=anthropic.com |
2 weeks ago |