Tree:
8fa716b62b
master
v0.1a
${ noResults }
2 Commits (8fa716b62b8420264411c23d236c215719f152a2)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
3450a9d3cb |
Refresh stale punkbin commit-hash pins in archived goals (punkbin shellspy->punkshell sweep)
The punkbin artifact repo carried the wrong project token ("shellspy" - the
experimental subcommand, not the project name per root AGENTS.md) in 10 commit
messages (subjects AND bodies) back to the repo's earliest scaffolding. A
message-only `git filter-branch --msg-filter 'sed s/shellspy/punkshell/g'` over
the whole shellspy-bearing history rewrote all 10 (20 commits replayed, trees
byte-identical - --msg-filter cannot alter content), force-pushed to
origin/master (now 63f5e558). punkbin is git-only (no fossil).
The rewrite changed every commit hash in the swept range, so punkbin commit-hash
pins in archived goal detail files went stale. Refreshed all of them to the new
hashes so the records stay honest pointers rather than dangling references:
- G-172 (3 pins): ab5611d -> a73d862e; 59e7475 -> 63f5e558 (this goal's two
in-situ republish commits - my session's defect; the earlier 2-commit amend
had already left these pins stale and this refresh clears them).
- G-128 (3 pins): 1b471fc -> 2d2bf48 (punkres stamper publication).
- G-139 (1 pin): ee571ed -> e5c86eb (lib tier r1 publication).
- G-123 (2 pins): 1f10390 -> 0d49aa7 (retroactive schema-v2 sidecars).
- G-165 (1 pin): a22e16b -> a8303c4 (punkzip root-strip/exclude build options).
Per goals/AGENTS.md archived files are frozen except Follow-on dispositions;
this refresh is a sanctioned exception under explicit user permission to make
archived goals honest regarding hashes. Pure hash-token substitutions - no
prose, Scope, Goal or Acceptance text changed. The dated achievement-time
qualifiers around the pins (e.g "LOCAL ONLY - not pushed", "STAGED", "REMAINS
for acceptance") are point-in-time history and stay untouched. goals_lint clean.
Assisted-by: harness=pi; primary-model=huggingface/zai-org/GLM-5.2; api-location=huggingface.co
|
3 days ago |
|
|
2954d08f84 |
G-172 achieved: flip to achieved + archive (distributed-binary CPU floor)
Rebuild + in-situ republish (Approach 6) completed the acceptance. Full `zig build bootstrap` (pinned 0.16.0) rebuilt the r2 family WITH the G-172 cpu_floor field now in the embedded [provenance] record (re-stage picked up the build905.zig floor-field edit; zig-cached C compiles, only the wrap + emit re-ran). family_check passed for all three members (the new embed_cpu_floor/embed_cpu_model assertions green). Audit of the rebuilt r2 exes: all three PASS at the baseline floor (zmm=0 ymm=0 out-of-floor=0). Published in-situ to punkbin (git 59e7475, pushed origin/master): the three r2 exes + three r2 tomls replaced under existing names/revisions; each toml [provenance] now carries cpu_floor="baseline" + cpu_model="x86_64"; the [tests] tclcore line refreshed to the shipped-codegen gate evidence (passed=56041 failed=8, the Aug-06 baseline-rebuild test-gate - was 56039/9); library [tests] lines unchanged; sha1sums.txt: the 6 r2 lines updated. build_id unchanged per artifact (the floor field does not enter the identity digest); sha1/size/built updated. Every acceptance conjunct verified on this Zen 5 / v4 host: audit zmm=0 on the republished artifacts; -Dcpu=native still host-tuned (probe: native zmm=123 FAIL at baseline, PASS at v4 - the floor is a default, not a restriction); the republished tomls state the floor; punk-runtime surfaces it (info/list/use/fetch); use/run produce a named 0xC000001D diagnosis on a below-floor recorded cpu_model (verified by mocked-host tests - not end-to-end demonstrable here: every published artifact is baseline/v1 which every host meets, and no x86-64 level exceeds v4); fetch stays ungated. DOX closeout: detail file -> goals/archive/ (pure rename; Status achieved 2026-08-07; verification evidence + ## Follow-ons recorded). Index entry -> GOALS-archive.md (removed from GOALS.md). Reference sweep: only the GOALS.md index entry mentioned G-172 in the live tier (no pending-tense rewrites); design- decision Notes pointers added to G-105 (inherits the settled default_target cpu_model shape) and G-130 (consumes the baseline floor decision on its i686 axis). goals_lint clean (80 active, 93 archived); goals_followons parses the 2 open Follow-ons (r1-generation disposition; bin/ punk9* kit rebake). Assisted-by: harness=pi; primary-model=huggingface/zai-org/GLM-5.2; api-location=huggingface.co |
4 days ago |
|
|
8f446690c1 |
G-172 (active): record + surface + audit the distributed-binary CPU floor
Approach 3 (record floor field): build905.zig declares cpu_floor="baseline" beside the default_target pin and writes cpu_floor + cpu_model into each family member's embedded record [provenance] (= target.result.cpu.model.name, so "x86_64" for the default build, "znver5" for -Dcpu=native - the floor is a default, not a restriction). family_artifacts.tcl derives both from the embedded record (G-117 single-source-of-truth) into the sidecar [provenance], failing if absent; family_check.tcl asserts them non-empty. Approach 4 (audit tool): scriptlib/developer/cpufloor_audit.tcl disassembles a binary's .text via a located objdump (llvm-objdump preferred, GNU fallback) or audits a pre-disassembled excerpt, classifies by AVX register width (zmm=v4, ymm=v3; baseline/v2 forbid both, v3 forbids zmm, v4 allows all), reports out-of-floor count + first RVA + sample mnemonics, exit 0 PASS / 1 FAIL. Bundled fixtures in cpufloor_fixtures/ are real disassembly excerpts (avx512, avx2, clean); selftest 12/12 cases pass. Verified on real binaries: rebuilt bin/punkzip.exe PASS (zmm=0); a -Dcpu=native probe FAILs at baseline (123 zmm) and PASSes at v4. Approach 5 (punk-runtime surfacing): both .ps1 and .bash twins updated and re-wrapped. Host CPU level detection (PS via IsProcessorFeaturePresent PF SSE2=10/SSE4.2=38/AVX2=40/AVX512F=41; bash via /proc/cpuinfo flags) feeds a meets/below/unknown/norecord verdict. fetch prints cpu floor (UNGATED - a cross-platform fetch for another machine stays free); list annotates rows the host cannot run (!CPU-FLOOR:v<req>, local rows only); use/run gate on below with a named diagnosis instead of a silent STATUS_ILLEGAL_INSTRUCTION (0xC000001D) - the 2026-08-06 AVX-512 regression failure mode; info adds the fields. bin/punk-runtime.cmd re-wrapped (deterministic; scriptwrap_runtime_cmd_roundtrip_no_drift test PASSES). Activation: overlap survey re-run at activation (goals_xref score G-172) - no goals drafted in the interval; existing Related: notes cover every pair. Project version 0.57.0 -> 0.57.1 (patch - user-visible punk-runtime behaviour shipped in kits). Remaining for acceptance: rebuild + republish in-situ (per Approach 6's alpha dispensation) and audit the republished artifacts to confirm zmm=0 - a publication-time, user-owned step. Assisted-by: harness=pi; primary-model=huggingface/zai-org/GLM-5.2; api-location=huggingface.co |
4 days ago |
|
|
d949274f2b |
G-172: correct the zig-gate rebuild-blocker claim; Approach 6 -> in-situ; r2 family + tools republished at baseline floor
The drafting session recorded the recipes' required_zig gate as blocking any rebuild on this box (a prerelease sorts below 0.16.0; "newest zig otherwise present is 0.15.2"). Wrong: only the stray dev copy is rejected - the zigpin toolchain bin/tools/zig-x86_64-windows-0.16.0/zig.exe is a released 0.16.0, present and passing the gate (the zig-x86_64-windows-* naming family in bin/tools was missed and a removal back-inferred from the artifact records). Notes bullet and Progress corrected; nothing was removed and nothing blocks. Approach 6 rewritten per user decision: republication is in-situ replacement under existing artifact names/revisions - punkbin immutability deliberately violable during alpha (all consumers in-house, zero third-party users). Progress: Approach 6 executed for the r2 generation + tools (punkbin ab5611d pushed) - full bootstrap rebuild with the pinned zig, zmm=0 ymm=0 audits on all five binaries, family_check PASS, two consecutive core-gate PASS runs with identical totals (interp-36.7 bgerror-race jitter and a 4h httpProxy.test ThreadLevel-1 hang documented). Record-honesty residual noted: published tomls carry emission-time [tests] summaries - refresh folded into Approach 3. Remaining: floor field, audit tool, punk-runtime surfacing; r1 disposition + bin/punk9* kit rebake behind those. goals_lint: clean (81 active, 91 archived). Claude-Session: https://claude.ai/code/session_01WXribLxUjk3dZUsN3r6rKb Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
4 days ago |
|
|
946a32da19 |
G-172 drafted (proposed) + the four recipe pins: distributed binaries get a baseline CPU floor
The published tclsh9.0.5 runtime family is AVX-512-only. A flagless
bin/punk-runtime.cmd fetch hands a fresh checkout the curated win32-x86_64
default (tclsh9.0.5-punk-r2.exe), which on a CPU without AVX-512 raises #UD and
is killed with STATUS_ILLEGAL_INSTRUCTION (0xC000001D, errorlevel -1073741795)
before writing a byte - no message, no prompt, no error. First reported as a
Windows-version difference (25H2 works, 23H2 does not); it is not one.
Cause: the recipes called b.standardTargetOptions(.{}) and no build path passed
-Dtarget/-Dcpu, so zig resolved cpu_model .determined_by_arch_os by NATIVE
detection and ReleaseFast auto-vectorised to the Zen 5 build host. Measured: all
six published tclsh9.0.5-* artifacts (punk + plain, r1 + r2, both -bi- variants)
carry 2756 zmm-operand instructions each - real EVEX encodings, first site at the
front of .text, and Tcl has no runtime CPU dispatch - as do bin/punk905.exe,
punk9-dev.exe, punk9_beta.exe, punk9bi_beta.exe, punkdeclare.exe and
punkfiledemo.exe. bin/punkzip.exe carries 1724 and bin/punkres.exe 1423, so a
bake on such a machine fails too. An older generation (punk901*, punk9.exe,
xcritcl.exe, tclsh90s*) is AVX2-only from an earlier host: same defect, milder
floor. Confirmed across three machines - Zen 2 dies, Zen 4 and Zen 5 run.
Pins applied to all four in-repo recipes (suite_tcl90, suite_tcl86, punkzip,
punkres): standardTargetOptions gains .default_target = .{ .cpu_model =
.baseline }, so a flagless build is portable while -Dcpu=native remains the
developer opt-in and -Dtarget=<triple> is unaffected. Floor chosen as baseline
(x86-64 v1) - for a Tcl interpreter the codegen delta against v2/v3 is
negligible set against the default runtime failing to start. This has to be a
recipe DEFAULT rather than a build-command convention: "remember to pass -Dcpu=
when publishing" is precisely what failed silently for six artifacts.
Verified by zig ast-check on all four recipes, and by reproducing the mechanism
with the same toolchain and optimize level on an equivalent recipe (flagless ->
x86_64 baseline, zmm=0; -Dcpu=native -> znver5, zmm=805). No suite build was
run: all four recipes gate on required_zig = "0.16.0" with a .lt SemVer compare,
which rejects the bundled prerelease bin/tools/zig-0.16.0-dev.254 - a separate
pre-existing defect, recorded in the goal's Notes and deliberately not fixed
here.
Nothing is rebuilt or republished, and no shipped surface changes, so no project
version bump. Recording the floor in the artifact metadata record, an audit tool,
punk-runtime surfacing it on use/run (fetch stays ungated - fetching for another
platform is a normal workflow), and the rebuild/republish with the defaults.txt
repoint all remain open as G-172.
Assisted-by: harness=claude; primary-model=claude-opus-5[1m]; api-location=anthropic.com
|
4 days ago |