# Philadelphia launcher inputs and Java bundle owner

The legacy Philadelphia-fast DAC controller now requires an explicit installed
launcher filename through `--launcher` or `LIBHFT_PHILADELPHIA_LAUNCHER`.
It no longer infers a launcher from HP/SCAN host names. Optional server/client
outer process masks must be supplied together and be disjoint. Actual installed
JVM/native placement still requires its separate runtime proof. Pure
`--check-inputs` reports declarations with all installed/runtime/report
admissions false. Local outputs follow the session workspace policy.

Actual role-command checks verify forwarding to the declared installed launcher,
namespace and optional outer `taskset`. Existing Philadelphia audit, raw sample,
statistics and report-gate functions are AST identical, except controller
`main` input/output handling. Installed launchers, SDK/JAR bytes, frozen physical
jobs, clock/pacing code and canonical fixtures are unchanged. Original host
facts/help and the historical paced-evidence test are preserved under
`internal/bench/`, with source/SHA provenance. The historical evidence test
continues to pass privately.

## Archive bootstrap and source identity

The original complete **744-file** source archive at `6df89d3865df` passed both
Philadelphia help entrypoints, then failed Java bundle help with
`ModuleNotFoundError: libhft_toolenv`. Its fixed-parent bootstrap still assumed
the development tree. The failed controller, logs, all source hashes and seal
remain retained; no later success is substituted into that generation.

A fresh source generation resolves bundle support through the unchanged inert
`xmachine_config.source_roots` API. The manifest writer now requires a source
path to own its Git root: an unrelated enclosing repository cannot lend its
commit, even with `--allow-dirty`. Actual manifest/bundle CLI checks refuse
before output creation. Archive/default build ZIP discovery follows the owning
layout. The actual development native closure `make -n` test moves under
`internal/`; portable synthetic producer tests remain selected.

## Qualification

Source **263048244807** is preserved on
`s/codex-fullbench-philadelphia-bundle-source-20261003`. Its complete **744-file**
flat archive, inside a real unrelated Git repository with engine markers,
passes **38 public tests, two subchecks, zero skips**. Four help entrypoints,
read-only declaration inspection, missing-launcher refusal and four actual
bundle/manifest ancestor-source refusals also pass. All materialized source
bytes remain identical; disposable materialization is removed afterward.
Local checks additionally run both private evidence/closure tests:
**40 tests, two subchecks, zero skips**. No SSH, SDK build, physical or timing
run is claimed.

Original and corrected sealed evidence live at
`~/archive/libhft/philadelphia-inputs-20261003-6df89d3865df` and
`~/archive/libhft/philadelphia-inputs-corrected-20261003-263048244807`, with
[repository evidence](evidence/philadelphia-bundle-inputs-20261003/SHA256SUMS).
The bundle producer still requires a separately supplied development SDK tree,
engine Makefiles and built artifacts. Full standalone SDK source packaging,
fixture/physical/report promotion and standalone release admission remain open.

Readiness selects **741 source files**, with **84 scrub findings in 18 files**,
87 textual source-root escapes and zero dead documentation links.
