# Parity auditor input qualification — 2026-10-04

## Source and scope

The public harness source is `29ce6c1a232199b99d3a7f80b9151516e4f20ee6`.
Both parity auditors now resolve their owning complete archive and the separately
supplied C++, Java and .NET SDK roots. CLI source values win over the existing
source environment variables. Required source files and explicitly missing
artifact/result/launcher declarations refuse before audit output. An unrelated
parent checkout cannot provide support, an SDK or a campaign default.

Optional native, results and launcher-source inputs retain the original checks.
A missing default artifact is UNKNOWN; an archive with no declared results or
launcher source reports those rules UNKNOWN. A launcher is inspected as text,
never executed. A native symbol audit is not a native load or ABI qualification.
The standalone load-mode guide retains the original three-mode section; it does
not redefine the separate four-flow session comparison.

The original `FixConnection.cs` binding is obsolete: the supplied SDK implements
the managed acceptor in `ManagedSession.cs`. The capability auditor now reads
that actual source and labels it correctly. Its displayed shard value changes
from unavailable to yes. All audit bodies are otherwise byte-identical after
reversing the enumerated path/input/label substitutions and optional-launcher
guard. Original sources and the reversible proof remain in the evidence.

## Actual HP qualification

The complete **750-file** harness was unpacked beneath an unrelated Git checkout,
with a sentinel parent result and foreign support module. Separate development
and original-control layouts carried the complete owning harness support.

The supplied open SDK source snapshots all use
`28f276e2ed6c58b7e99478ebf34b563ce09a9dfc`: **926 C++**, **844 Java** and **670 .NET**
files, including their respective selected fixtures, notices and templates.
Their selection definitions/private-path table are frozen at that SDK pin.
Each SDK was supplied in three actual layouts. The .NET native library is the
previously qualified runtime at that same pin, SHA-256
`1d6aea36dc8b1ae02a7f18893e026c2f2b87a7e652b42373bd9643e597039252`.
Its original fresh-build/213-test receipt and whole eleven-file runtime archive
are retained; this qualification does **not** rebuild an SDK or load that library.

The outer foreground qualification checked host slots, running processes and
memory, then used `host-cpu-slot run --pool shared --priority high`. These are
source/grammar/symbol checks with no quiet timing or physical grade.

- All **8 public CLI tests pass, zero skips**, including source precedence,
  missing/incomplete/relative/empty input refusals, own-support refusal,
  enclosing-tree isolation, home/space paths and literal shell metacharacters.
- **17 recorded foreground commands** include actual original/development/archive
  audits, explicit changed-SDK inspection, nonlibrary and smoke-row controls,
  missing explicit inputs and missing owning support.
- Original, development and explicit standalone **protocol stdout, stderr and
  exit status are byte-identical**: **148 pass, 2 fail, 0 deviation, 0 unknown**.
  The exit is 1. The two retained failures are the old `BENCH_STANDARDS_VERSION=3`
  literal against current standards, and the C++ T1 feed-window source rule.
  Neither failure is removed or called a passing protocol gate.
- Omitting optional standalone evidence retains those two failures and reports
  **145 pass, 2 fail, 3 unknown**. Missing native, results and launcher evidence
  cannot borrow the parent's inputs or turn into success.
- An explicit source with its pool implementation removed reports the missing
  C++ pool; an explicit nonlibrary retains a stale-symbol failure; a declared
  smoke row retains the existing publication failure. No control executes a
  launcher or changes a recorded campaign.
- Capability output retains the original **4 gaps**, with only the actual managed
  acceptor binding/label and standalone document path differences described above.

Both corrected whole harness layouts and all nine SDK layouts keep their input
bytes and modes. Runtime bytes/modes and private declared input bytes remain
unchanged; the standalone source has no generated outputs, and the unrelated
parent result stays unchanged. The disposable qualification root is removed.

## Preserved preparation failures

The first local input preflight required the obsolete `FixConnection.cs`; its
exact preparation sources, refusal stdout/stderr and reproduction receipt stay
under `preparation-original`.

The first source producer parsed the **current** Java manifest for the older SDK
pin, selecting a newer release helper absent at that pin. Preparation stopped
before any host job. Its original producer, partial capsule and failure receipt
remain under `preparation-sdk-selection-original`; the initial command error
also remains in the session tool output. The separate prepared-v2 capsule parses
the original SDK-pin manifest and private-path table. No failed preparation is
rewritten as a pass.

## Retention and limits

Small commands, manifests, raw outputs, proofs and receipts are committed in
[`evidence/parity-audit-inputs-20261004`](evidence/parity-audit-inputs-20261004).
Whole source/SDK/runtime archives and both partial and completed capsules stay
private under `~/archive/libhft/parity-audit-inputs-20261004`, outside website
downloads. No source/native artifact is moved with ad hoc build flags.

This closes the declared parity-auditor input consumer. Current SDK rebuilds,
actual engine work/ABI compatibility, corrected protocol-rule qualification,
benchmark timings, fixture/full Stage 5 admission and coordinated public release
remain separate. Existing canonical wire/folds/clocks, Stage 2 measurements,
installed payload pins, retained raw data and grades are unchanged.
