Tree:
19d1b8b30a
master
v0.1a
${ noResults }
6 Commits (19d1b8b30a606852ee0ea1b60cbea5eb3af016c0)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
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 |
7 days ago |
|
|
af6aebda16 |
_vfscommon.vfs punkshell.ico sidecar: kit-shipping call made
User-approved resolution of the open call recorded at G-135 achievement: src/vfs/_vfscommon.vfs/punkshell.ico gains its assetorigin sidecar (schema 1, hash equals source_hash - byte-identical derived copy of src/assets/logo/punk-mark.ico, source recorded ../../-relative). The sidecar is root-level user-curated payload beside the icon itself (vfscommonupdate regenerates the modules/lib subtrees, not these), and ships inside every kit that merges the common payload from that kit's next bake; inside a kit the recorded source is absent, so a checker truthfully reports source-absent there while still hash-confirming the icon bytes - in this tree it verifies (assetorigin_check: 9 records, 9 verified). The per-kit mkzipfix.vfs / punk8_statictwapi.vfs copies stay unrecorded (no decision requested; unrecorded is silent and supported). src/assets/logo/AGENTS.md ownership bullet and the G-057 handoff note updated to record the made call. No bake run - deployed kits pick the sidecar up when next baked. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
7 days ago |
|
|
633b55faa0 |
G-135 achieved: flip, archive record, reference sweep
Acceptance verified in full (evidence in the detail file's new Progress section): format documented with schema key in src/assets/logo/AGENTS.md; tolerant reader; six-state checker proven on constructed fixtures under tclsh 8.6.11, Tcl 9.0.3 and the punk91 kit runtime; generator with no Windows-only component regenerating all four .icos plus the web rasters byte-identically before make-ico.ps1 was removed; sidecars exist and verify for every generated artifact under the four asset directories (live tree: 8 records, 8 verified). Index entry moves to GOALS-archive.md; the detail file move to goals/archive/ follows as its own pure-rename commit (root AGENTS.md "Doc Restructures": moves separate from edits). Reference sweep: G-057 and G-136 Related lines gain achieved/archive markers plus pointers to the concrete deliverables they consume (G-057: record format, checker, the verified src/runtime/punkshell.ico derived-copy sidecar, and the still-open kit-shipping user call; G-136: the committed project-default icon.ico + sidecar pair its injection copies verbatim). src/assets/logo/AGENTS.md G-135 mentions gain archive paths. Notes record the implementation-time resolutions: self-contained flat-toml subset reader + embedded sha256 (no tomlish, no tcllib); src/runtime/punkshell.ico sidecar written (passive file, nothing ships); _vfscommon.vfs / mkzipfix.vfs / punk8_statictwapi.vfs copies stay unrecorded pending the user call on shipping sidecars inside kits. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
7 days ago |
|
|
f529f44ea7 |
G-135: platform-neutral icon generator + per-asset assetorigin sidecars
make-ico.tcl (any tclsh 8.6+, rsvg-convert on PATH) replaces make-ico.ps1 in place: pure-Tcl PNG decode (core zlib inflate + row unfilter) and DIB/ICONDIR assembly take over from System.Drawing, with an embedded sha256 (NIST-vector validated, cross-checked against Get-FileHash). Byte-identity proven before the ps1 removal: 'all -check' regenerates all seven recorded artifacts (punk-mark.ico, punk-mark-solid.ico, project-default/icon.ico on the DIB+PNG256 profile; favicon.ico all-PNG; apple-touch/192/512 rasters) byte-identical to the committed files under both mingw tclsh 8.6.11 and native Tcl 9.0.3. Every artifact now carries its <name>.assetorigin.toml sidecar (schema 1: artifact sha256, source + source hash, role, generator + invocation options), (re)written by every generator subcommand so regeneration cannot leave a stale record. The 'all' manifest embeds the invocation profiles; 'all -check' is the no-write drift probe (exit 1 on any difference). src/runtime/punkshell.ico gains a derived-copy sidecar (hash equals source_hash, source ../assets/logo/punk-mark.ico); the three vfs copies stay unrecorded pending the user call on shipping sidecars inside baked kits. src/assets/logo/AGENTS.md: assetorigin schema 1 format documentation (canonical), Tcl-generator work guidance, drift-probe verification line. favicon source recorded as web/icon.svg (renders byte-identical to punk-mark.svg at 16/32/48; the same-directory primary web icon chosen). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
7 days ago |
|
|
7280739204 |
Project icon: punk1.ico -> punkshell.ico, artwork from the src/assets/logo master
The four build-consumed copies are renamed and their artwork replaced with
src/assets/logo/punk-mark.ico (all four byte-identical to the master):
src/runtime/punk1.ico -> src/runtime/punkshell.ico
src/vfs/_vfscommon.vfs/punk1.ico -> .../punkshell.ico
src/vfs/mkzipfix.vfs/punk1.ico -> .../punkshell.ico
src/vfs/punk8_statictwapi.vfs/punk1.ico -> .../punkshell.ico
Recorded as delete+add rather than renames: the content is entirely different,
so git's similarity detection finds no link and --follow will not trace through.
The pre-2026-07 artwork keeps its own lineage under src/assets/logo/legacy/,
now the only place the punk1 name survives.
No code referenced the old name - every mention was documentation or goal prose,
checked before renaming.
G-057's contract lines are updated for the new path (Scope in both tiers, plus
Goal and Acceptance): pure path substitution, no semantics changed. Its Context
gains a dated note recording the rename and artwork swap, and its _vfscommon.vfs
override-detection wrinkle now names punkshell.ico. goals_lint clean.
Adds src/assets/logo/project-default/, a frozen monochrome placeholder - a blank
screen wearing the crest - held as the single copy for seeding generated
projects. Unbranded so it reads "replace me" rather than as a product identity.
Bezel and crest are ONE union path (drawn as two shapes the bezel's top edge
cuts a visible line across the mohawk) and the screen is filled rather than
outlined (a solid mass survives 16px where nested thin strokes merge). It shares
only the crest with punk-mark.svg and must not be re-derived from it: tracking
the real mark would churn every generated project on every logo tweak.
Also corrects a defect introduced in
|
1 week ago |
|
|
91fa500e24 |
Project logo: two-colour bracket mark, master + web set (src/assets/logo)
Replaces the busy pixel-art punk1 artwork - unreadable below ~32px - with a flat two-colour mark: a mohawked terminal plate enclosing Tcl's [ ] command substitution, Emerald #0FA36B on ink #03120C. Drawn on a 64x64 grid to hold at 16px and verified by rendering at true pixel size on both light and dark plates, rather than judging it large and hoping. src/assets/logo/ is the icon MASTER, distinct from the build-consumed copies at src/runtime/punk1.ico and src/vfs/_vfscommon.vfs/punk1.ico. Those are deliberately untouched and remain a user-directed swap. punk-mark.svg/.ico outline plate (primary) alternative/punk-mark-solid.* solid plate web/ favicon set legacy/ retired punk1 artwork, moved from repo root make-ico.ps1 keeps the .ico reproducible: rsvg-convert for true-alpha rasterizing (never browser screenshots - they bake in a background and lose the alpha the icon depends on), then a hand-assembled ICONDIR. PE icons carry 16/24/32/48/64/128 as uncompressed BGRA DIBs plus a PNG-compressed 256, keeping that entry ~5KB instead of ~265KB - each entry becomes a separate RT_ICON in every embedding kit. Regeneration is deterministic, byte-identical across runs. The web set inverts those tradeoffs. favicon.ico is 16/32/48 all-PNG (2.5KB, fetched on every cold page load) and is web-only: all-PNG is precisely what GDI+ and tklib's ico package cannot read. web/icon.svg carries a prefers-color-scheme block serving the outline plate to light tab bars and the solid plate to dark - something an .ico structurally cannot do - verified by rendering under forced dark. The apple-touch and PWA rasters are deliberately opaque, since iOS ignores transparency and composites against black. Two decoder limits are recorded in the new AGENTS.md as properties of the readers, not defects in the files: legacy GDI+ silently returns the 128px frame when asked for 256 (WIC, which Explorer and the taskbar use, reads all seven), and tklib's ico package parses DIB entries only. Root and src AGENTS.md gain Child DOX Index entries. Both converted to LF per the root line-ending policy, which explicitly declines diff-minimisation as a reason to preserve CRLF. No punkproject.toml bump: these assets are a non-shipped surface until a build consumer is repointed. Fossil still tracks the three legacy files at their old root paths and needs the rename at the next catch-up checkin. Claude-Session: https://claude.ai/code/session_01YNjnq6oDzecknLg7AuWZgU Assisted-by: harness=claude; primary-model=claude-opus-5[1m]; api-location=anthropic.com |
1 week ago |