0.025 Wed Apr 29 22:10:00 2026
- Replaced the fake one-line POD stubs across the maintained PAX Perl
surface with DD-style file-level documentation so modules, tools, tests,
and fixtures now describe their real role instead of hiding behind
placeholder text.
- Tightened `POD-DOC-ALL` so placeholder phrases no longer count as
documentation and module docs must carry substantive operator-facing
sections rather than token `NAME` and `DESCRIPTION` blocks.
- Expanded `PAX::AppImage` to DD-style module documentation and added
concrete subroutine intent comments around its builder, launcher, and
asset-packaging helpers.
0.024 Wed Apr 29 20:40:00 2026
- Fixed the shebang/interpreter contract for scripts that use `FindBin` by
resetting the cached `FindBin` globals against the target script before
PAX evaluates it as `main`.
- Kept the quiet CLI acceptance harness from `0.023`, so the shebang
regression can now validate script-local `use lib` paths without
drowning the gate replay in progress output.
0.023 Wed Apr 29 20:10:00 2026
- Kept the new shebang/interpreter workflow and full-surface
documentation gate intact while tightening the CLI acceptance harness so
progress output is disabled for routine standalone builds and only
enabled where the rundown itself is under test.
- This removes the avoidable stderr flood from self-hosting acceptance
runs and makes the SOW-03 gate replay practical without weakening the
actual shebang or standalone coverage.
0.022 Wed Apr 29 19:15:00 2026
- Completed the shebang/interpreter workflow so an installed standalone
`pax` binary can execute a Perl script directly from a shebang such as
`#!/usr/local/bin/pax` while preserving the script-facing `$0` and
`@ARGV` contract.
- Tightened `POD-DOC-ALL` from a changed-files check into a full
maintained-surface check across PAX modules, Perl scripts, tool scripts,
tests, and test fixtures, then backfilled the missing file-level POD
inventory so the documentation gate now closes at 100 percent coverage.
0.021 Wed Apr 29 18:20:00 2026
- Added interpreter-mode execution to the public `pax` entrypoint so a
built `pax` binary can be installed and used directly from a shebang line
such as `#!/usr/local/bin/pax` for normal Perl scripts.
- Preserved the script-facing process contract in that path by running the
target file as `main` with the expected `$0` and `@ARGV`, then added
regression coverage around self-built shebang execution.
0.020 Wed Apr 29 16:55:00 2026
- Fixed the `POD-DOC-ALL` gate so changed-subroutine comments are checked
as real preceding comments instead of in-body narration, which closes the
false-negative path caught by the committed-tree replay.
- Extended the repository-wide POD sweep across Perl tool scripts and
silenced the internal git-parent probe so the documentation gate stays
deterministic and quiet while checking committed history.
0.019 Wed Apr 29 14:20:00 2026
- Added a mandatory post-PAUSE release rule: after a successful PAUSE
upload, the release flow must move the `RELEASED_TO_PAUSE` git tag to the
released commit and push that tag to `origin`.
- Wired the rule into `make cpan-release` so the repository now tags the
released commit through a dedicated `pause-release-tag` target instead of
relying on operator memory after upload.
- Refocused the README on PAX as software instead of release-process
choreography, keeping the gate and release policy in the rulebook and
main POD instead of the product manual.
- Upgraded the documentation gate so `doc-gate` now runs `POD-DOC-ALL`,
which enforces current file-level POD plus non-boilerplate changed
subroutine comments across Perl scripts, modules, tests, and tool
helpers.
0.018 Wed Apr 29 12:55:00 2026
- Added Perl-style `-I`, `-M`, and `-e` support to the public `pax build`
and `pax run` workflow so operators can compile or execute inline Perl
entrypoints without first writing a source file or manifest.
- Treated inline CLI entrypoints as isolated builds, carried their
synthesized entrypoint through the standalone pipeline, and documented the
new public surface in the README and main POD.
- Hardened code-unit live-capture timeouts so builds fall back to direct
capture when `ALRM` signal setup is unavailable instead of crashing on
platforms such as Alpine.
- Normalized default standalone output paths to absolute locations before
launcher compilation so `pax run -e ...` works with the fallback
`.pax/standalone/<name>/<name>` path instead of failing on relative
launcher source emission.
- Added CLI and compiler regression coverage for the inline public command
surface and the no-usable-`ALRM` timeout fallback path.
0.016 Wed Apr 29 10:15:00 2026
- Routed built-in standalone helper commands through the direct managed-helper runtime path instead of the switchboard wrapper path, which reduces per-command process overhead for the packaged helper surface.
- Applied the same direct helper fast path to dotted skill command dispatch so packaged helper invocations reuse the in-process runtime path instead of spawning wrapper hops.
- Added standalone runtime regression coverage for direct helper routing from the compiled CLI router.
0.015 Wed Apr 29 01:30:00 2026
- Fixed generic imported-class resolution in compiled code-unit rewrites so
generated standalone runtime ops now honor classes brought in through
`use` and `require` instead of guessing by sibling package shape.
- Closed the stage-3 standalone Dashboard `skills install` crash by making
compiled skill CLI progress and dispatcher helpers resolve the imported
`SkillManager`, `SkillDispatcher`, `PathRegistry`, and `CLI::Progress`
classes structurally from source.
- Extended the three-stage dashboard standalone Docker acceptance flow to
exercise the broader helper surface and a valid git-backed sample skill
install from the final binary-only runtime stage.
0.014 Tue Apr 28 23:55:00 2026
- Fixed standalone managed-helper dispatch so packaged helper assets that
are real Perl programs execute directly inside the bundled runtime while
wrapper helpers still route through the packaged helper core.
- Packaged SONAME alias paths alongside concrete shared-library files for
bundled XS runtime dependencies, which fixes source-tree-free stage-3
standalone runs that previously failed on loader lookups such as
`libexpat.so.1`.
- Revalidated the external three-stage Dashboard build flow so the final
source-free binary now runs `version`, `init`, `ps1`, `jq`, `of`,
`restart`, and `shell bash` directly from the packaged runtime.
0.012 Tue Apr 28 11:30:00 2026
- Added a committed-history version gate so `all-gates` now fails when a
release-facing commit lands without advancing the PAX version number.
- Replaced hardcoded current-version release examples in the operator docs
with `<next-version>` placeholders so the release instructions do not
drift every time a checkpoint is cut.
- Fixed standalone runtime executable resolution for binaries invoked
through `PATH`, localized `$0` to the embedded executable path during
runtime dispatch, and extended installed-layout module version discovery
through `@INC` so standalone `pax` rebuilds stay self-hosting.
- Normalized the public Docker examples to use plain `pax build ...`
commands instead of redundant `--compact --no-paxfile` flags when no
local `paxfile.yml` is present.
0.011 Mon Apr 27 13:10:42 2026
- Separated release preparation from release verification so the CPAN gate
no longer dirties tracked files while also requiring a clean git tree.
- Kept version bumping explicit and stopped auto-generating placeholder
changelog text, so release notes must describe real project progress.
- Kept the current release tarball available after normal cleanup while
reserving destructive artifact removal for the explicit reset path.
- Switched `make cpan-release` to the DD-style PAUSE flow: verify the repo
gates, use the tarball built in the repo root, and upload it through the
local CPAN uploader configuration instead of exposing credential plumbing
in the project docs.
- Fixed the Dist::Zilla release layout so the built tarball now includes
installer metadata such as `Makefile.PL`, which `cpanm` requires when
configuring a CPAN distribution.
- Added a DD-style progress rundown for `pax build`, keeping structured
JSON on stdout while phase-by-phase task updates print on stderr during
long standalone builds.
- Made the build rundown the default even in non-interactive runs, with
`PAX_PROGRESS=0` as the explicit opt-out for quiet build automation.
- Broke the build rundown into smaller checkpoints after input resolution
so operators can see metadata inference, dependency analysis, native
artifact analysis, manifest writing, and launcher compilation advance
independently during long standalone builds.
- Split the code-unit compilation stage itself into source discovery,
entrypoint compilation, application unit compilation, and dependency
unit compilation so large Perl builds no longer appear stuck on a single
compile line.
- Added file-level application unit progress so long builds show which
source file is currently being compiled instead of stalling on a raw
count.
- Cut one duplicate application source-tree walk out of standalone builds
and deduplicated resolved source roots so large projects stop rescanning
the same lib tree unnecessarily.
- Isolated explicit entrypoint builds from ambient `paxfile.yml` defaults
so self-hosting and one-off builds no longer inherit unrelated assets,
library roots, or CPAN policy files from the current repository.
- Stopped application source scans from treating nested bundled runtime
include trees as project code, which fixes second-generation self-builds
that previously broke on modules such as `Digest::SHA` and
`IO::Socket::INET`.
- Added a standalone-input rebuild path that carries an embedded source
snapshot for application entrypoints and modules, so a built `pax`
binary can rebuild from another standalone `pax` binary even after the
original source tree is gone.
- Added explicit TDD, BDD, ATDD, QA, and final all-gates targets so the
repository now has one mandatory completion chain instead of relying on
partial gate passes and operator memory.
0.010 Mon Apr 27 12:57:43 2026
- Excluded `BACKLOG.md` from the Dist::Zilla tarball.
- Extended tarball verification so `BACKLOG.md` is rejected if it appears in
a release archive.
0.009 Mon Apr 27 12:35:03 2026
- Applied the DD-style documentation rule to PAX so the README and main POD
now read as an operator manual plus architecture reference instead of a
short command summary.
- Added `docs/pax-doc-parity.md` to record the documentation baseline and
parity rule derived from the DD Source documentation style.
- Excluded repository-only Docker and helper material from the Dist::Zilla
tarball using DD-style gather and tarball verification rules.
- Removed explicit tarball exclusion-list narration from public docs while
keeping the exclusions enforced in packaging and release gates.
0.008 Mon Apr 27 12:28:33 2026
- Excluded repository-only Docker and packaging helper material from the
Dist::Zilla tarball using DD-style gather rules.
- Added tarball exclusions for `examples/`, `tools/`, `docs/`,
`Dockerfile`, `DOCKER.md`, and `docker-compose.yml`.
- Extended the tarball verification gate so those excluded paths are
checked explicitly during release validation.
0.007 Mon Apr 27 12:21:21 2026
- Closed the SOW-03 release checkpoint with a full passing test run, active
release gates, and a clean backup commit for the standalone build/run
workflow.
0.006 Mon Apr 27 12:08:37 2026
- Fixed the CPAN gate flow to validate the tarball for the current bumped
version instead of using stale pre-bump make variables.
- Switched version checking to a dedicated support script so release gates
run cleanly and deterministically.
0.005 Mon Apr 27 12:07:53 2026
- Added enforced release preparation gates for version consistency, Changes,
and documentation before Dist::Zilla build.
- Added automatic +0.001 version bumping to the CPAN distribution build
flow so release tarballs are not rebuilt forever at the same version.
0.004 Mon Apr 27 12:10:00 2026
- Completed the SOW-03 public workflow around `pax build` and `pax run`.
- Reduced the public CLI surface to only `build` and `run`.
- Made `pax build` and `pax run` read `paxfile.yml` by default and honor
`-o` and `--output`.
- Validated standalone self-build for `bin/pax`, nested self-hosted build,
external standalone app Docker proof, and single-binary Dancer2 webapp
packaging with embedded assets.
0.003 Sat Apr 25 23:53:33 2026
- Neutralized PAX code-unit compiler operation names for entry command, file
registry, and completion helpers so core compiler output no longer encodes
Developer Dashboard-specific op names.
- Added generic standalone runtime app metadata/env handling for compiled
entry commands, file aliases, command naming, and result inline limits.
- Added SOW-03 and changed the primary `pax build` / `pax run` workflow to
build standalone binaries from CLI or paxfile defaults, with `-o`/`--output`
supported by both commands.
0.002 Sat Apr 25 23:51:57 2026
- Established an early internal release checkpoint while stabilizing the
synchronized distribution versioning and packaging baseline.
Revision history for PAX
0.001 2026-04-25
- Added initial CPAN release gate documentation and project metadata scaffold.
- Added CPAN release rule set to AGENTS.override.md.
- Added `cpanfile`, `Changes`, `README.md`, `dist.ini`, and `lib/PAX.pm`.
- Added version anchor in `lib/PAX.pm` (`0.001`) to support synchronized module
versioning.
- Added standalone build output option and `-o` alias support already in progress.