The G-173 structured-renderer procs (path_conflicts_for_exe, path_entries,
path_render_text, path_render_json, and the punk::path dispatch tail) were
authored with \ line-continuation backslashes in proc bodies, violating
src/modules/AGENTS.md (debug line-number matching). Refactor every G-173
helper to the dict-create + dict-set accumulator and json::write
accumulator idioms so no proc body uses a trailing \. A stray continuation
introduced at line 6752 (return [punk::path_machine_return ...]) is replaced
with an lappend accumulator + expand. The user's doc-block edits convert the
punk::path punk::args::define block from \ continuations to -& record-
continuation markers with manually wrapped help text (table-width safe).
Add scriptlib/developer/linecont_lint.tcl, a linter that flags
\<newline> continuations outside punk::args doc blocks. It resolves a real
Tcl parser (the C tclparser library, or punk::lib's pure-Tcl punk::tclparser
fallback) and locates doc-block spans structurally (punk::args::define brace
arg, lappend PUNKARGS command range) so the exemption is not a regex guess;
comment-line trailing \ is also exempt. Sourceable linecont_lint_run proc
with a script-mode guard; run as a script it exits 0 clean / 1 findings / 2
usage. 5 pinning tests in runner/testsuites/parser/linecontlint.test cover
proc-body flagging, punk::args::define exemption, lappend PUNKARGS
exemption, comment-line exemption, and a clean expand-style proc (pass Tcl
9 + 8.6).
src/modules/AGENTS.md: the -& record-continuation marker is now REQUIRED for
new and edited punk::args doc blocks (existing blocks may keep \ until
touched; editing a \ block requires converting to -& in the same change);
the closeout trailing-\ search is cross-referenced to the linter.
Assisted-by: harness=pi; primary-model=huggingface/zai-org/GLM-5.2; api-location=huggingface.co