Tree:
0d80cf6771
master
v0.1a
${ noResults }
9 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 |
1 week ago |
|
|
47c9f99eff |
G-057 achieved: flip, archive record, reference sweep, owning-doc pointers
Acceptance verified in full on 2026-07-29 (evidence in the detail file's Progress section): windows-host bakes embed the default punkshell.ico into all 10 buildable win32 kits across zip (x64 + ix86), sdx-metakit and stamped-concat assembly, verified by twapi resource inspection byte-matching the source ico; override round-trip proven and reverted; boots for zip, metakit and concat images from scratch copies; linux cross-target kit gets its sidecar with NOT APPLICABLE; the two incapable-host conditions produce their distinct notices in REAL bakes (mingw tclsh86: twapi not loadable; WSL linux cross-bake: cross-host with the G-128 remedy named - and the cross-baked kit boots on windows, the recorded known shortcoming live); idempotence converges; runtime store originals untouched; vendored-twapi no-toolchain arm proven under tclsh9.0.5-punk. Index entry moves to GOALS-archive.md (ID position); the detail-file move to goals/archive/ follows as its own pure-rename commit. Reference sweep: G-023, G-028, G-127 and G-128 notes gain achieved/archive markers plus what each consumes from the delivered mechanism (G-128: the seam now exists - kit_icon_process entry point, sidecar record, cross-host notice naming it as remedy; G-028: the stub-first ordering concentrates the locked-target exposure at deploy, punk9_beta observed). AGENTS.md owning-doc pointers land alongside: src/vfs (override convention), src/runtime (default-icon role + derivation sidecar), src/assets/logo (propagation honesty: G-057 consumes the src/runtime copy - syncing the four build-consumed copies after artwork changes stays deliberate, with assetorigin stale-detection as the drift signal), and an ARCHITECTURE.md build-section bullet (architecture_lint clean). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
c172912f4b |
G-121 achieved 2026-07-26: flip + archive record + reference sweep
Acceptance verified in full (evidence recorded in the detail file's Progress section): bakelist under plain tclsh + punk902z with per-entry presence and deployed state; selective 'bake punk91' refreshing only that kit's _build/bin artifacts and punkcheck records (stat + punkcheck diffs, negative grep clean); unknown-name no-build errors; bare bake kit-set parity; help/workflow contract updates; maketclbakelist.test 4 PASS; punkshell 0.24.0 minor bump. Index entry moved to GOALS-archive.md. Reference sweep: no pending-tense live-tier mentions existed; mapvfs.config pointer updated to the archive path; forward-pointing notes pushed as back-pointers to the live goals they serve (G-024 parsed-model reader swap, G-023 scheme-expansion entry point, G-115 per-kit payload detail, G-057 single-kit icon verification, G-028 deployed -state reporting sibling, G-101 kit-type non-assumption). Detail-file move to goals/archive/ follows in the adjacent commit as a pure rename (root AGENTS.md Doc Restructures). Claude-Session: https://claude.ai/code/session_01Jz7wkUsknJzyuJ3tgMaL2t Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
d3dcc31dc4 |
goals system v2: semicolon Scope delimiters, version marker, lint delimiter check
- GOALS.md: "Goals-system: v2" front matter; canonical "Goals system versions" section; Scope structure rule (elements separated by '; ' at top level, commas only inside parens/braces); Child DOX Index note in root AGENTS.md - goals_lint.tcl: new finding for top-level commas in Scope lines (paren/brace depth-aware) - goals_xref.tcl: repo-local configuration via goals/xref.conf (path roots, stop words, file extensions, reference containers, module dirs, bare_path_roots, prefix_anchors); defaults byte-identical to previous behaviour (verified on this tree) - goals/AGENTS.md: cross-repo goal references drop the G- prefix; xref.conf documented in Verification - Scope delimiter normalisation across GOALS.md, GOALS-archive.md and all detail files, live and archived: 224 lines, top-level commas only; conservation verified (goals_xref report byte-identical pre/post, diff hunks are Scope lines only). Archived tier converted under explicit user approval; sanctioned exception recorded in GOALS-archive.md. Assisted-by: harness=opencode; primary-model=openrouter/moonshotai/kimi-k3; api-location=openrouter.ai |
2 weeks ago |
|
|
6a69cbf85c |
goals: xref reconciliation - kit/launcher/modpod cluster (G-019 G-023 G-028 G-029 G-031 G-057 G-077 G-089 G-109 G-111, recorded 2026-07-24)
Assisted-by: harness=opencode; primary-model=openrouter/moonshotai/kimi-k3; api-location=openrouter.ai |
2 weeks ago |
|
|
49f14060e1 |
G-103 achieved: runtime kit family - flip, archive, reference sweep (wrap trial PASS)
Final acceptance item closed by the punk9_beta/punk9bi_beta kit-wrap trial (user go-ahead; quiet tree): make.tcl project wrapped both kits over the family runtimes (the user's own earlier same-day build agreed - punkcheck no-change), and probes UNDER each kit verified 9.0.5, //zipfs:/app/tcl_library, PIPEREPL MACHINERY PRESENT, Thread 3.0.7 winning over the vfs payload's legacy thread3.0.1, vfs/tcllib/tcllibc engaged, punk::args from the vfs side, and Tk create/destroy in both - punk9bi_beta's Tk necessarily from the runtime's attached image (punk9win_for_tkruntime.vfs carries none). Every acceptance clause is now met; evidence recorded in the detail file. Flip mechanics: Status achieved 2026-07-22; detail file to goals/archive/ (content-identical move after edits); index entry to GOALS-archive.md; reference sweep across 13 live goal files (archive markers per the G-058 precedent - non-contract text only, Scope lines untouched; pending-tense updates in G-099 arc-unblocked, G-108 family production landed, G-018/G-023 naming-authority pointers). Forward pointers pushed to live goals: G-101 (8.6-family deferral target), G-067 (family -rN artifacts exist; publication user-gated with the defaults.txt flip process). Flagged (completion report): tcltls bi-battery line loses its goal home with this archive - candidate goal on request; punk9wintk905.vfs legacy thread3.0.1 payload cleanup can ride a future payload refresh; beta promotion is the user's interactive trial per the *_beta convention. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
b3cff22a6f |
goals: G-112<->G-104 make.tcl-surface pairing notes; G-023 reconciled to G-103 kit naming (user-approved)
- G-112/G-104: mutual ordering notes - one make.tcl-surface window, G-112 first or together, so the buildsuite group and workflow help text are written once in the stage-true vocabulary. - G-023: Goal/Acceptance flipped from the hyphenated punk9-<major>-<minor>-<patch>.exe draft to the decided dotted punk<major>-<punkshellversion>.exe kit-artifact form; reframed as the make.tcl/bin-side adoption of the G-103 naming decision plus the -dev / release-gated-plain-name policy layer; tier-mapping paragraph + dated reconciliation note added. - G-103: pointer note that G-023 adopts the kit-artifact tier. Claude-Session: https://claude.ai/code/session_01DF7YiUKBGWPpuF7ydVVPBn Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |
|
|
ae04b3f8c9 |
GOALS: two-tier index restructure - summary-only GOALS.md, canonical Goal/Acceptance in detail files, archive-on-flip
- GOALS.md collapsed to summary entries (ID/status/title/Scope/detail pointer): 104.6KB -> 23KB so a full read stays cheap; Scope lines kept verbatim so path-grep goal discovery still works - canonicality split: index canonical for ID/status/title/Scope, detail file canonical for Goal:/Acceptance:; all 61 detail-file headers reconciled from the index (fixes stale copies, e.g. G-036 detail acceptance predated the achieved rework), bodies preserved untouched - detail files created for the three index-only goals G-017, G-034, G-054; every goal now has one - 10 achieved goals (G-007 G-015 G-036 G-037 G-040 G-046 G-049 G-054 G-058 G-059) archived: summary records appended to GOALS-archive.md, detail files moved to goals/archive/; archive-on-flip replaces the ~30-achieved-entries trigger - GOALS.md preamble/rules reworked: read workflow (read index in full, then detail files of scope-intersecting goals before editing), contract spans both tiers with proposal-first unchanged, next-free-ID counts the archive, achieved flip judged against the detail-file Acceptance and includes archiving - progress convention codified from G-001 increment-1 practice: index entries carry status only, never progress; incremental progress lives in the detail file's ## Progress section (landed/remaining); achieved flip requires the remaining-work list resolved - a partial increment never flips a goal - goals/AGENTS.md rewritten for the split (required 4-field header, one detail file per goal, orphan rules covering archive/); root AGENTS.md Child DOX Index + Repo-wide Notes updated; GOALS-archive.md preamble updated - stale detail-file paths updated to goals/archive/ in src/lib/app-punkscript/punkscript.tcl (comment), runtimebash_wsl.test, wslprobe.tcl and the G-042 detail file; propagated copies (root lib/, src/vfs/_vfscommon.vfs, src/_build) left to refresh via normal build steps - no project version bump: governance docs and source comments only, no user-visible shell behaviour Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
4 weeks ago |
|
|
87ccbc992e |
add goals G-023..G-025: versioned binaries, mapvfs toml, exe self-report
G-023: builds produce punk8|9-<major>-<minor>-<patch>.exe from the punkproject.toml version plus punk8|9-dev.exe tracking the latest build; plain punk8|9.exe created initially and replaced only by an explicit release step. Disk growth tolerated for now; archival/deletion trigger recorded as a later question. G-024: src/runtime/mapvfs.config converted to toml parsed via tomlish - explicit runtime/vfs/name/kittype mappings preserved, plus generative scheme declarations so the G-023 versioned outputs are one succinct entry rather than per-version lines. Entry-level validation errors; full migration preferred over a deprecation window. G-025: build stamps project version, runtime binary and vfs folder into the kit; a version-report subcommand prints them machine-parseably, with the same-named punk-module command as the single implementation (the subcommand is a thin wrapper) so scripts get the report in-process. Report keeps build stamp, live runtime facts and source-tree version distinct: src-mode sessions report stamp and live versions separately when they differ; unstamped contexts (tclsh src/make.tcl shell, plain tclsh with punk modules) report stamp fields absent rather than fabricated. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 month ago |