# Loopback diagnostic artifact bindings — 2026-10-04

The three legacy loopback drivers now validate their separately supplied
C++, Java and .NET artifacts before creating outputs or starting processes.
Owning source discovery works in development or a complete standalone harness;
an enclosing checkout cannot supply an engine or support helper. Bad explicit
inputs refuse without fallback. Java no longer reads `/tmp/cp.txt`, and its
native-library property stays one argument for paths with spaces or shell
metacharacters. .NET accepts an explicit runtime and selected DLL, including
another independently built target framework. These are bindings, not SDK
source or complete runtime dependency attestations.
See [the public guide](../../../bench/docs/SOURCE_LAYOUT.md#indicative-loopback-artifact-inputs).

## Source and original behavior

Source pin: `7fec33c084ff17262e12f02fe8fcfdb8f62122ff`.
The complete selected harness contains **752 files**, including three templates.
Original drivers from `5aef1c330640d3d0a91ea512f08ed4c0ef6449bf` remain
byte-identical in their separate source archive. C++ and .NET bodies from
`WARMUP` onward remain byte-identical. Java changes common-property expansion
to an array and binds the executable explicitly; properties, scenarios,
heap/module flags and process layout remain unchanged.

No SDK, workload, wire fixture, extraction fold, clock, Stage 2 adapter,
physical controller, installed payload or prior benchmark evidence changes.
Java/native .NET sharding still starts four servers; managed .NET retains one
server with four internal shards and its original core list.

## Actual complete-archive HP qualification

HP inspected host CPU slots, processes and memory. The outer foreground check
ran under a **shared/high** reservation. All **10 public tests pass with zero
skips**: actual script CLI refusals before outputs/processes, ancestor isolation,
precedence, artifact availability, selected .NET output layout, Java classpath
entrypoints and shell-safe forwarding.

An executable fixture captures arguments; it starts no C++ engine, JVM, CLR
or native binding and emits no passing benchmark result. Immutable original
scripts get documented artifact/executable binding substitutions only, without
reading or writing the shared temporary classpath. Actual original and updated
drivers match across **74 runtime-call pairs** and **70 timeout-call pairs**.
Only random ports and the explicit output prefix are normalized. The complete
raw NUL-separated captures remain in the private archive.

All **752 harness files** and three immutable original scripts retain exact
bytes/modes. The foreign parent sentinel is unchanged. Disposable HP sources
and unit temporary fixtures are removed. See
[the receipt](evidence/loopback-inputs-20261004/result.json) and
[the exact test stream](evidence/loopback-inputs-20261004/public-tests.stderr).

Readiness selects **749 source files plus three templates**, with zero scrub,
private/unresolved-reference or dead-link findings and **66 textual root
escapes**. This remains a migration worklist, not standalone release admission.

## Retention and admission

`~/archive/libhft/loopback-inputs-20261004` seals **329 files** plus
`sha256.json`: whole harness/original source tarballs, source maps,
producer/checker/wrapper sources, original/current command streams,
normalized comparisons and raw captures. The
[archive receipt](evidence/loopback-inputs-20261004/private-archive.json)
identifies the seal. HP and SCAN verify all 329 sealed files and the seal itself.
The owning local/HP capsules are removed after comparing their exact archived
bytes/modes; the disposable HP build materialization is also absent.
Whole source tarballs and raw captures remain private.

These checks establish no real runtime/library load, fresh engine build,
benchmark samples, quiet timing, physical DAC proof, four-flow comparison,
Stage 5 or public release admission. The drivers retain their indicative
localhost meaning and original logs.
