# Commercial benchmark compatibility stays in devel

2026-10-03. Functional sources `6271d6ed8577` and corrected fixture source
`c0784299f384`; the full pins are in the retained manifests.

## Change

The public export policy parks commercial engines. The CrossFIX lane in the
seven shared matrix/report/coverage sources, plus the Chronicle FIX candidate
stub, now lives in `internal/bench/common/parked_engine_context.py`.
Stage 0 candidate discovery loads that same owning context. Public sources
name their open-source engines and expose no commercial default candidate.

The generic loader uses the owning harness marker. A complete archive named
`bench` inside an unrelated development/Git tree cannot load that tree's
private context. An incomplete archive with its support marker missing
refuses the enclosing fallback. Development restores the original constructor
field order, candidate order, header/audit fields, row naming, configuration,
state commands, JVM properties, licence refusal command, catalog, palette,
caption and binary filename interpretation.

Eight original sources and their modes/hashes are retained under
`internal/bench/commercial-boundary-before-20261003/`. The licence assertion
moves into the private regression suite with both original checks intact.
The later notebook fixture original has its own source map; its only change
copies the new helper into the synthetic harness. No assertion is removed.
Historic raw data, rankings, Stage 2 runtime/adapter sources, canonical payloads,
engine SDK pins, installed generations and shared clock/layout/toolenv APIs
remain unchanged. The microbench owner confirmed no edit overlap; SCAN's
frozen `94dc0de32`/`cfeba979` preparation keeps its original source/candidate
bytes and FIFO capture reservation.

## Actual archive checks

HP status, compiler/JVM processes and memory precede the outermost
high-priority **shared** CPU lease. These are functional checks with no
exclusive, timing, SDK release or Stage 5 admission.

The complete corrected public source selection plus templates contains
**749 files**. A separate development materialization contains **761 files**,
including the exact private compatibility/original inputs. Neither source
needs Git; an enclosing unrelated Git tree and a private extension that
raises if loaded form the archive trap.

- **6 public boundary tests** pass.
- **43 public matrix tests** pass with the new source closure.
- **11 private compatibility tests** pass. They also execute all **44 original
  matrix tests**, including the moved licence assertion, with zero skips.
- The private suite compares **334 unchanged function ASTs**. All numeric,
  quantile, ranking and report selection functions retain their executable
  bodies; the named compatibility consumers have direct old/new output checks.
- **11 report tests and 8 subchecks** pass. The actual notebook kernel executes
  all **58 original code cells**. Original CSV value, input-byte, output-overlap,
  invalid-context, plotting and quantile assertions remain in place.
- Fresh-process imports of all six actual archive consumers show empty private
  contexts. Public discovery has **22 candidates**; devel restores the original
  **23** and treats an explicit candidate manifest as the caller's input.
- Actual archive and devel Stage 2 CLI roster JSON match exactly:
  **25 engines / 332 required parity probes**. This is inventory compatibility,
  not a fresh prepared-runtime or quiet-window admission.
- All 749 public and 761 development files retain bytes and Git modes. No
  source outputs appear. Corrected materializations are removed. A separate
  cleanup checks all original 749/759 source bytes/modes and active consumers
  before removing the original failed materializations.

All successful suites above have zero skips. Source tarballs stay in the kept
archives; repository/website evidence carries the maps, commands, receipts and
logs. [Original and corrected evidence](evidence/commercial-boundary-20261003/).

## Original failures remain retained

The initial local constructor factory fails on Python 3.14's dataclass module
resolution. The private factory now supplies the owning module explicitly;
the original and corrected local matrix logs remain distinct.

The first HP reporting environment requests an nbclient version unavailable
for Python 3.9. A separate environment records compatible pins and its complete
package inventory. The original full source run then passes boundary/matrix
and private compatibility checks, but the report tests fail: the synthetic
harness omitted the new helper, and pandas styling needs Jinja2. That original
failed receipt and output remain unchanged. A fresh fixture source and separate
complete reporting environment correct those omissions; the original tests'
assertions stay intact. A mistyped corrected archive path is retained as a
separate outer invocation failure and grants no test pass.

Full generations are kept under
`~/archive/libhft/commercial-context-20261003-{6271d6ed8577-original,c0784299f384-corrected}`.
This closes the commercial source boundary, not the benchmark plan. Provider
workload migration, actual SDK/native/full-session closure, licence/source
review, whole-release verification, root admission and physical report gates
remain open. Each older prepared or measured capsule keeps its original hashes.

## Private notebook fixture continuation

Read-only source inspection finds the same missing helper copy in the excluded
CrossFIX notebook fixture. Source `90061b926208` adds only that dependency to
its synthetic harness; all 11 other function/assertion bodies retain their AST.
It also documents the optional reporting dependencies, including Jinja2.
A separate complete 753-file source materialization (749 public selection plus
four private notebook files) on HP passes all **7 original private notebook
checks**, with zero skips, and executes all **12 original notebook code cells**.
All source bytes/modes stay unchanged and materializations are removed. This
checks private report compatibility and does not select those files for public
export. [Commands and source map](evidence/commercial-boundary-20261003/private-notebook/).

## Concurrent integration

All 753 private-notebook continuation inputs match the final integrated source.
Of the earlier 749 public inputs, 746 remain unchanged; the differences preserve
another session's two Rust benchmark source repairs and the new reporting
dependency documentation. Of the earlier 761 devel inputs, 757 are unchanged;
the fourth difference is the private regression's allowance for the additional
fixture setup copy. Matrix, report production bodies, context loader, candidate
metadata, shared helpers and all public assertions remain at their qualified
bytes. No new Rust SDK/runtime grade is inferred from source inventory checks.
The exact maps retain all three original source pins and changed hashes.

Final readiness selects 746 files plus 3 templates: zero scrub/private/unresolved
references and dead links, with 83 textual escapes still to qualify. Whole-export
licence/source/runtime verification and physical report gates remain separate.

The first normal main push is rejected by a concurrent advance. Fetch/rebase
and qualified-input checks precede a normal retry; no main history is forced.
