NAME

pax - internal PAX compiler/packager front door, vendored into Developer Dashboard

PURPOSE

Gives dashboard pax ... (and d2 pax ...) direct access to the vendored PAX adaptive Perl compiler and standalone-binary packager, so any internal tool - most importantly Developer::Dashboard::PaxCache - can reach a working pax build/pax run without depending on a separate PAX checkout or the caller's shell PATH.

WHY IT EXISTS

PAX started as a separate sibling project (~/projects/pax). Relying on it being separately installed and discoverable on PATH meant the whole MD5-cache-then-compile flow in Developer::Dashboard::PaxCache could - and did - silently never engage on a machine where pax merely was not on PATH, with no error, just permanent interpreted fallback. PAX is now vendored into this repository under Developer::Dashboard::Pax (owner decision, 2026-09-15), removing that dependency entirely: every machine that has Developer Dashboard installed has a working pax.

WHEN TO USE

Use this file when changing how the internal pax command is staged, bootstrapped, or dispatched to the vendored compiler library. The compiler, packager, runtime, and diagnostic logic itself live under lib/Developer/Dashboard/Pax/* - this script is only the stable front door, exactly mirroring PAX's own original bin/pax design.

HOW TO USE

Users or internal tooling run dashboard pax build ... / dashboard pax run .... The staged helper forwards the request into Developer::Dashboard::Pax::CLI->run(@ARGV), which is the same public contract PAX's own standalone bin/pax exposed.

WHAT USES IT

Developer::Dashboard::PaxCache resolves this staged command (never an external PATH lookup) when it needs to trigger a background compile. Operators can also invoke dashboard pax directly for manual builds.

EXAMPLES

Example 1:

dashboard pax build bin/dashboard -o /tmp/dashboard.pax

Compile a Perl entrypoint into a standalone binary using the vendored compiler, exactly as the standalone pax command would.

Example 2:

~/.developer-dashboard/cli/dd/pax run bin/dashboard version

Run a script through the vendored PAX runtime directly after staging.

Example 3:

prove -lv t/181-paxcache-coverage.t

Rerun the PaxCache coverage tests, which exercise this staged command's resolution path.