# G-034 Zip-based #modpod modules mount in the shell code-interp on Tcl 8.6 Status: proposed Scope: src/modules/punk/mix/ (modpod mount path); vfs::zip availability in the repl code interp; src/modules/punk/cap/ (templates capability handler) Goal: zip-based `#modpod` modules (e.g. `punk::mix::templates`) mount and their punk::cap handlers register in the `shell` subcommand's code interp on Tcl 8.6, matching the `script`/main-interp context - so `dev module.templates` and other `punk.templates`-capability consumers work in an interactive 8.6 shell instead of failing with `invalid command name vfs::RegisterMount`. Acceptance: `dev module.templates` in an interactive 8.6 punk shell (`shell` subcommand) lists the template providers with no `failed to load ZIP archive-based module` / `invalid command name vfs::RegisterMount` / `Unable to register any template providers` / `invalid command name ::punk::cap::handlers::templates::api_punk.templates` errors, matching the `script`-subcommand output on the same binary (verified 2026-07-07: script works, shell fails); root cause fixed (the code interp lacks the vfs::zip library that provides vfs::RegisterMount for pre-zipfs Tcl, present in the main interp - restore it to the code interp or use an alternative modpod mount path there); Tcl 9 (built-in zipfs) behaviour is unchanged. ## Notes - Related: G-124 (achieved 2026-07-26 - see goals/archive/G-124-punkzip-reader.md) - the dependency-free zip READER in punk::zip (no zipfs, no vfs::zip, no tcllib) now exists as `punk::zip::members` / `punk::zip::unzip`, and is a concrete candidate for the "or use an alternative modpod mount path there" branch of this goal's Acceptance: extract the modpod rather than mount it. It does not narrow this goal's options. Measured while achieving it: on msys2's tclsh8.6 `make.tcl` cannot mount its OWN `punk::mix::templates` modpod - "Unable to load vfs::zip package to mount module templates-0.2.0 (and zipfs not available either)", non-fatal but the package reports `broken` - which is this goal's failure in the build tooling rather than the code interp.