The 0.12.22 -> 0.12.23 bump landed in 49ec22a9 (doc: restore 'dev
doc.validate' via wrapped bin/dtplite.cmd, 2026-07-13) without a CHANGELOG
entry, and the doc-tooling/punknative/fontprep work committed between the
0.12.23 and 0.12.24 bumps was likewise unrecorded. Adds the 0.12.23 entry
(dtplite wrap, summarized from the original commit message) and a second
0.12.24 bullet covering the between-bump doc-tooling work and the G-078..G-081
goal drafting - both marked as retrospective additions.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
@ -20,6 +20,11 @@ Entries are newest-first; one bullet per notable change. See the root `AGENTS.md
## [0.12.24] - 2026-07-14
- G-030 (achieved): make.tcl dogfoods punk::args. All 15 subcommands are punk::args-declared ((script)::punkboot definitions with single-source summaries, shared option fragments and explicit @form -synopsis lines): bare `make.tcl`/`-help` render tabled usage with grouped subcommand summaries, `make.tcl help ?subcommand?` / `<subcommand> -help` show per-subcommand definitions, invalid flags and unknown subcommands raise punk::args usage errors (exit 1) with unambiguous-prefix resolution. New `-confirm 0|1` prompt policy on every confirmation point (bootsupport minor-staleness gate, vfscommonupdate REPLACE, kit-type mismatch): default prompts only on an interactive terminal and aborts fast with guidance on non-interactive stdin (the piped-`y` agent workflow is retired - use `-confirm 0`; the old vfscommonupdate decline half-abort now exits 1). punk::args joined the bootstrap-tracked staleness set (parsing contract only - the punk::ansi/textblock rendering stack degrades instead: minimal errorstyle/plain help when unhealthy, and full scan-based fallback dispatch when punk::args itself is unavailable; PUNKBOOT_PLAIN=1 forces the degraded mode). Bootsupport snapshot refreshed (args 0.5.0->0.12.0 plus punk/lib/ns/repl/tclcore moduledoc) and layout make.tcl/bootsupport copies followed via the punkcheck channel. Docs: src/AGENTS.md, src/bootsupport/AGENTS.md, src/modules/AGENTS.md, src/tests/shell/AGENTS.md. Dogfooding finding recorded in the goal file: punk::args 0.12.0 reports a generic overflow error where 0.5.0 reported a pointed choiceviolation for optional-choice mismatches (worked around with required leaders; candidate punk::args error-selection improvement).
- Also since 0.12.23 (landed before this version's bump, entry added retrospectively 2026-07-14): punk::args -> doctools and punk-native HTML/Markdown converter prototypes under src/scriptapps/tools (punkargs_to_doctools.tcl, punkargs_punknative.tcl); vendored punkdoc-mono web font (OFL subset of Cascadia Mono 2404.23) with reproducible fontprep builds and -assets embed|link|none in the punknative generator; punknative generator refinements (nav index, per-form arg tables, terminal-black backdrop, integer row pitch, settled ansi-art html rendering recipe). Goals G-078..G-081 drafted (punk::ansi->html api, default-colour semantics, cell-grid rendering mode, argdoc build pipeline).
## [0.12.23] - 2026-07-13
- Restored `dev doc.validate`: tcllib dtplite wrapped as the generated polyglot bin/dtplite.cmd (multishell scriptset: src/scriptapps/dtplite.tcl + dtplite_wrap.toml, LF-only payload; falls back to the project-vendored tcllib under src/vendorlib_tcl9/<arch> when the invoking tclsh lacks the dtplite package). Previously the repl unknown-handler's auto_execok found no dtplite executable ("invalid command name dtplite" - only the legacy misnamed bin/dtplite_run.bat existed). New src/tests/shell/testsuites/binscripts/dtplite.test pins the artifact (LF-only, checkfile-clean, byte-identical round-trip re-wrap) and exercises usage-error/validate/html usecases. Verified: 'dev doc.validate' validates all 64 src/doc .man files clean. The doctools pipeline remains interim - punk::args is intended to become the documentation source of truth. (Entry added retrospectively 2026-07-14; the version bump landed in the original commit without one.)