Tree:
291d750b7d
master
v0.1a
${ noResults }
10 Commits (291d750b7d55948eed8a8edaaece3fb9a7287dc4)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
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 |
1 week ago |
|
|
5d3950799b |
Platform matrix: win32-ix86 - supported for third-party hosting, buildsuite candidate
User direction: 32-bit windows joins the canon marked for what it is - status supported with runtime+lib tiers (hosting for available third-party runtimes/libs), buildsuite CANDIDATE (zig can target it; whether we add a buildsuite is undetermined) - the hosting-vs-building axis expressing exactly that split. Name win32-ix86 = platform::generic's own 32-bit x86 token (no normalization needed); normalize additionally folds hand-typed i386/i486/i586/i686. - vendorlib_tcl8/9 gain win32-ix86 dirs per the tree sync contract. - punk-runtime local detection: ps1 returns win32-ix86 on genuine 32-bit windows hosts (PROCESSOR_ARCHITECTURE x86 without ARCHITEW6432 - a 32-bit shell on a 64-bit OS keeps the x86_64 default: the runtime store serves what the OS can run); bash MINGW32/CYGWIN prongs key off the i*86 machine arch. Rewrapped; roundtrip pin PASS; twins + layout copy refreshed. Project 0.18.4. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
3a49aa4c48 |
punk::platform buildsuite axis; record binary-.tm platform-segregation constraints (G-109)
- platform records + 'help platforms' gain buildsuite
(supported|planned|candidate|none): whether OUR zig buildsuites produce
runtimes for a platform. Deliberately a separate axis from tiers -
punkbin-structured repos (or third-party equivalents) can host runtimes
built by any mechanism, so runtime-tier hosting coexists with
buildsuite=none (netbsd/dragonflybsd-class examples, per user review).
openbsd/netbsd/dragonflybsd records now carry the runtime tier.
Current values: win32-x86_64 supported (suite_tcl90), linux-x86_64
planned (G-105), linux-arm64/linux-arm/macosx/freebsd-* candidate,
rest none.
- G-109 notes record the binary-.tm platform reality the user's fat-tm
experience established (retracting this survey's earlier
'tm-are-cross-platform' shorthand): multi-platform fat .tm are the
wrong shape (oversized downloads; same-version shadowing leaves no
drop-in path), platform segregation must ride tcl:™️:path via
per-platform TM ROOTS selected by boot - and platform dirs cannot nest
inside an existing tm root (subdirs are namespace components), so those
roots must be sibling trees. Candidate manifest field: declared target
platform so libunknown can skip wrong-platform binary .tm.
Project 0.18.1.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
|
1 week ago |
|
|
cae9f36d3e |
Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork)
Survey outcome (punkbin vs punkshell platform folders): five naming sites had drifted - punkbin folders, bin/runtime, vendorlib_tclX dirs, the punkboot platform_generic snips (an old platform::generic copy), and the Tcl platform package itself whose outputs vary by version (1.1.x renamed modern macOS to 'macos', aarch64/amd64 pass through unmapped). Canon: <os>-<cpu> punkshell platform-dir names, cpu normalized amd64->x86_64 and aarch64->arm64 (arm = 32-bit; on macosx arm folds to arm64 - Apple silicon is 64-bit only), os macos->macosx. The universal 'macosx' name is the runtime-tier convention (punkbin + bin/runtime keep one macOS folder, per make.tcl's existing collapse); per-arch macosx-x86_64/macosx-arm64 serve the lib tier. - new module punk::platform 0.1.0: platforms (canonical records with status supported/dormant/recognized + tiers), normalize, local ?-tier lib|runtime? - full PUNKARGS argdocs. Tcl's platform package stays the raw identifier underneath. - punk 0.2.7: 'help platforms' topic (alias 'platform'; all prefixes mutually ambiguous so they fall through to command lookup, per the env/environment precedent) - canon table with the local interpreter marked and raw platform-package identifiers for comparison. - boot: punkboot platform_punk (inline normalization copy, sync-comment contract with the module) in punk_main.tcl/project_main.tcl/make.tcl; all platform-dir call sites switched to it. make.tcl exercised live; main.tcl copies brace-verified. - vendorlib_tcl8/9 synchronized to canon: freebsd-amd64 -> freebsd-x86_64 (READMEs updated), freebsd-arm64/linux-arm64/macosx-arm64 added, tcl8's untracked-empty linux-arm now tracked + tcl9 gains linux-arm, stray untracked macosx-arm empties removed, msys-x86_64 marked dormant pending a utility decision, top-level READMEs state the canon contract. - punk-runtime bash prongs emit canonical names: aarch64 -> linux-arm64 (no fetch default until punkbin carries that folder), arch-aware freebsd/openbsd/netbsd/dragonflybsd via normalized cpu tokens. Rewrapped; roundtrip pin PASS; layout copy + .ps1 twin refreshed. Flagged for user decisions (recorded in G-105 Notes): punkbin linux-arm holds an arm64-named kit (recommend linux-arm64 folder at next arm publish; artifacts immutable), msys-x86_64 disposition, optional platform-1.1.x re-vendor, src/vfs stays mapvfs-categorized (recommend a mapvfs platform column when cross-wraps land, not a .vfs tree restructure). Project 0.18.0. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
d3bfc4484c |
G-103/G-105 groundwork: punk-runtime -platform surface, help action, no-args usage
Cross-build staging surface (both payloads in parity, rewrapped polyglot, layout copy + .ps1 twin refreshed, roundtrip pin PASS): - fetch/list/use accept -platform <p> (punkbin platform-DIR names, never zig triples); resolution: -platform arg > PUNK_RUNTIME_PLATFORM env > detected local platform; shape-only lowercase validation (server URL paths are case-sensitive - ps1 uses -cnotmatch; default -notmatch is case-insensitive and passed Win32-X86_64-class typos in testing). - foreign fetch requires an explicit runtime name (fetch defaults only make sense for the platform you stand on). - use -platform manages that folder's active.toml/materialization - the marker travels with the folder when deployed (provisioning story; unix exec bits restored at deploy time). - list flags !TARGET-MISMATCH when a runtime's metadata target disagrees with the folder it sits in (cross-fetch misfiling guard). - run stays LOCAL ONLY: rejects a leading -platform, ignores the env override, later args pass through to the runtime untouched. - new 'help' action (actions, options, env vars, examples) and a real usage block on no-args invocation (was a bare action list). - bash FreeBSD platform dir aligned to punkbin's actual freebsd-x86_64 (was freebsd-amd64; the G-105 platform-dir naming-alignment item). Verified on both payloads directly and through the wrapped cmd: noargs, help, local list unchanged, foreign use-materialization + mismatch flags, foreign-fetch refusal, run guard, env override (and run's immunity to it), bad-name validation. Project 0.17.9. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
e2a6803ca5 |
goals: mark archived G-058 references (lint reference-sweep warnings)
The G-101/G-105 notes added earlier today referenced G-058 without its achieved/archive marker - goals_lint flagged both. Marked per the sweep-rule form (achieved 2026-07-10, archive path). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
3c735af2e4 |
goals: characterize modpod binary-.tm load location + record multi-name/punkbin intent
Characterized (windows tcl 9.0.5) how a binary inside a zip-based .tm (modpod) loads, per user request. All three loading locations - dll direct in a kit's zipfs, a standalone .tm on disk, and a .tm nested inside a kit's zipfs (zip-in-zip, mounts in place, no .tm pre-extraction) - converge on the same copy-to-temp path: the binary extracts to %TEMP%\TCL<hex>\ with the same TIP-741 non-cleanup/accumulation flaw (verified with a #modpod-mybintest wrapping a real tcl9thread307.dll built via modpod::lib::make_zip_modpod). - G-066 (substantive): the characterization + the multi-package-name design - manifest-at-well-known-location read by libunknown (not yet implemented); multi-name .tm are punkshell/libunknown-only, not plain-tclsh loadable, which is acceptable if clearly documented; TIP 590 lowercase single-name is the plain-tclsh-loadable happy path; complex mechanisms OK with extensive tests. - G-103: TIP-741 thread extended - windows flaw now confirmed for BOTH direct-kit and modpod-.tm binary loads. - G-105: linux leg BLOCKED - local WSL is tcl 8.6.14 (no zipfs); needs a linux tcl9 runtime. Windows done; linux expectation (no accumulation) unverified. - G-067: binary modpod .tm as a publish payload; cross-refs. Temp reclaim also done this session: 15,596 orphaned %TEMP%\TCL* dirs removed. Notes only; no contract changes. goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
8a91679b2b |
goals: record tclkit dynamic-libc insight + TIP 741 temp-cleanup characterization
Self-contained-but-loads-binaries (the tclkit model) resolved: tclkitsh binaries are self-contained via an embedded Metakit/zip VFS yet DYNAMICALLY linked to libc - that dynamic libc is what makes dlopen/'load' work; extensions reach Tcl via the stubs table handed through the interp (no host symbol export needed). "Self-contained" and "static libc" are orthogonal. - G-105 (Notes were empty): the dynamic-libc first-linux-target choice is the tclkit model; fully-static-musl 'load' limitation stands; compiled-in alternative is G-058. - G-101 (Notes were empty): the prebuilt tclkit86bi/tclkit-win64-dyn runtimes it replaces are dynamic-libc Metakit kits; loadable binary batteries imply a dynamic-libc runtime; container choice is orthogonal to libc linking. - G-103: temp-copy dll cleanup wart the family runtimes inherit - Tcl core TIP 741 (DRAFT, windows-framed: TclpFinalizeLoad; extract-to-temp preserved vs TIP 709). Requirement (user): test on ALL target platforms (windows, linux/WSL, G-060 guests) that temp-dll/dir accumulation does not happen or is characterized. Applies to G-101's Metakit kits too. - G-060: one-line cross-platform test item pointing at the G-103 requirement. Notes only; no contract changes. goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
8f331c72d5 |
G-102 achieved: no-tclsh buildsuite bootstrap - flip, archive, reference sweep
Acceptance evidence recorded in the archived detail file: PATH-scrubbed clean-clone demonstration (c:/T/g102, env probed tclsh/fossil/git-free) ran 'zig build bootstrap' end-to-end - zon-pinned sources materialized, runtime + piperepl variants built, smokes green (static/zip shells, Tk tooltip, tcllib, tcllibc accelerators via critcl+zig cc), demo shell's tcl::build-info identical to the fossil-flow build; scrubbed test gate 69552/56075/13468/9 with 8 baselined + fCmd-30.3 proven a SystemDrive scrub artifact (single-file rerun with the var: GATE PASS), matching the same-day fossil-flow delegated gate (69552/56040/13503/9 GATE PASS). Environment findings (critcl target probing, windows Run-step stdio, testsuite base-env needs, firewall consent on first socket listen) recorded in the detail file for future suite work. Flip mechanics: detail file to goals/archive with Status achieved 2026-07-21, GOALS.md entry removed, GOALS-archive record appended (Scope+Acceptance verbatim), pending-tense G-102 references in G-099/G-103/G-104/G-105 annotated with the achievement and the settled driver shape. goals_lint clean (77 active-index goals, 29 archived). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |
|
|
64e912aa88 |
G-103..G-105 [proposed]: runtime kit family, make.tcl buildsuite surface, cross-target builds
User requirements batch 2026-07-20 integrated: - G-103 runtime kit family: buildsuites produce self-contained kits whose info library and batteries live in the initially attached zip - PLAIN tclsh kit (Thread + tclvfs/vfs::* + tcllib/tcllibc), PUNK kit (piperepl applied, ENABLED BY DEFAULT with env opt-out - gating review agreed; the plain kit serves stock semantics), BI kits adding libraries we build (Tk now; sqlite3/tdom easy/moderate futures; twapi flagged needs-investigation under the zig-only policy). tcllib+tcllibc in all members (user lean, agreed). Artifact metadata in punkbin (+compatible repos) surfaced by the runtime scriptset list/use. G-018 flagged as substantially subsumed. 8.6 variant deferred through G-101 (static-vfs/metakit questions noted there). - G-104 make.tcl buildsuite surface: list / info <suite> / build <suite> with suites SELF-describing (info contract survives the G-102 driver migration; copied trees appear automatically). mapvfs single-kit/list wishes noted as sibling ergonomics. - G-105 cross-target builds: -target as an invocation dimension (suite folders stay version-named), linux x86_64 first verified via local WSL with its own test baseline; zig tier findings VERIFIED and recorded - the freebsd asymmetry suspicion is inverted (freebsd AS TARGET was the gap, closed in zig 0.16 for FreeBSD 14+ with CI-tested x86_64/aarch64; building FROM freebsd was already fine); macOS-as-target (SDK/frameworks) recorded as the hard case; fully-static-musl dlopen limitation drives a dynamic first linux target. Cross-edits: G-096 piperepl matrix gains the kit-default policy update (punk kits opt-out not opt-in); G-101 records the 8.6 kit-family dependency; G-102 notes the family/target/surface as build-graph products. goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
1 week ago |