# Older session controllers use the owning harness and session workspace

Thirteen discovery, Stage 3/4, Stage 7 and report controllers now use the
existing structural layout contract instead of walking to an ancestor Git
directory. Their helper is local to the selected harness and supports actual
CLI execution and isolated `importlib` callers. Shared clock/build APIs and
the Stage 2 runner/adapters are unchanged.

Workspace defaults honour `LIBHFT_BENCH_WORKSPACE`, then
`LIBHFT_BUILD_ROOT/fullbench-workspace`, then the harness's own
`target/fullbench-workspace`. Existing explicit workspace flags win. Native
Stage 3/4 adapter/header paths and Java's local project resolve from the owning
harness. QuickFIX/J conformance resolves its declared jars from the owning Java
target/Maven cache. Optional commercial report documents require the existing
explicit CLI input; the report's default output leaves the source tree when a
session build root is set. Other engine/SDK input migrations remain open.

The first focused sweep found three stale source guards. Two still named the
retired QuickFIX C++ hand-written fold/mixer and pre-prepared tick clock; the
third required the old hardcoded Java path. The failed original is retained.
Updated guards check the current SDK-based canonical fold, measured owner
scope, conservative fixture flag and prepared-wire timing/callback boundaries;
the Java path check evaluates the actual owning project. No benchmark driver,
SDK, common workload or frozen timing input changes to satisfy those guards.

All **75 focused checks** and **two retained-source checks** pass, with zero
skips. Actual complete-archive checks pass **32 checks**, including help and
isolated module loading from all **13 controllers**, all eight native Stage 3/4
adapter paths, Java project paths, workspace precedence, actual empty-input report collation outside
the source tree and auditor isolation.
All **716 materialized files** remain unchanged. Retained DAC grading sources
include the new input helper and its hash. The source-comprehensiveness gate
passes. No compiler, benchmark connection or timing job is launched.

Readiness selects **713 files (9.6 MB)**, with **205 scrub findings in 58
files**, **82 textual escapes** and **zero dead documentation links**.
This remains a worklist, with external source/runtime, licence, fixture,
physical report and public-release qualification still open.

[Original and passing receipts, checker and seals](evidence/controller-inputs-20261003/SHA256SUMS).
