# Issue #75 Securities TPC-E Read-Only E2E Report

Date: 2026-08-06 (Asia/Shanghai)  
Result: **core acceptance passed**  
Implementation candidate: `076f1217` (`feature/issue-75-tpce-read-only`)

## Environment

The formal E2E ran on `mac-mini-2` (`Mac mini (2)`, Mac16,11) with an Apple
M4 Pro, 12 physical / 12 logical CPU cores, 48 GiB memory, and macOS 15.7.4
(24G517). The retained TiUP playground contained one TiDB v8.5.7, one PD
v8.5.7, and one TiKV `v9.0.0-beta.2.pre-nightly`. Grafana is available at
`http://192.168.1.101:3000` while that playground is running.

## Product-flow result

The accepted attempt used an unedited first-class `tpce_read_only` manifest:

```text
init -> prepare -> prepare --finish -> run -> run-again -> run-again
```

The exact scale target was 10,000,000 bytes. The minimum canonical load unit
produced 321,196 rows, 32 non-empty CSV objects, and 13,727,744 CSV bytes.
Prepare validated all 33 tables and all three prepare-end indexes.

The final 30-second `run/try-03` used eight workers and an eight-connection SQL
pool. It passed with:

| Evidence | Result |
| --- | ---: |
| Measured / stable statement QPS | 14,080.2617 / 14,129.15 |
| Stable transaction TPS | 2,977.90 |
| p99 / p999 latency | 4.801 ms / 6.598 ms |
| Started / completed operations | 84,690 / 84,690 |
| Failed / cancelled operations | 0 / 0 |
| Forbidden events / mutation statements | 0 / 0 |
| Closeout / semantic proof / timeline | passed / passed / passed |
| Continuation | ready |

The six family counts total exactly 84,690: Broker-Volume 5,400;
Customer-Position 14,314; Market-Watch 19,824; Security-Detail 15,419;
Trade-Lookup 8,813; and Trade-Status 20,920.

All final artifacts bind runtime
`industries/securities/runtime/read_only` and mode digest
`sha256:12a9f975bf2edc3f78c3b716e1c24a33fb604cc8c22c793a29ec2369a5188ed8`.
The continuation boundary is ready with eight leases, next runtime trade ID
`102289`, and snapshot fingerprint
`sha256:da51f756f22a46c95218b529db16131acb468a1921eaf48e4bf32f0aa04fdbf6`.

## Independent Big Query coexistence

A second fresh 10MB attempt declared `big_query` at init as an independent
operation beside the same read-only foreground. The global run passed. The
foreground completed 52,238 operations with no failure, cancellation, or
mutation and stable statement QPS 13,155.50. The one-worker, 10-second
`report_01` operation started 12,214 queries, completed 12,213, failed zero,
and normally cancelled the one in-flight query when its bounded window closed.

## Acceptance and boundary

Frozen core checks T75-01 through T75-10 and business mapping T75-13 passed.
Optional coexistence check T75-11 also passed. T75-12, the separate five-tenant
fairness campaign, was not run and is not reported as passed; it is a non-core
campaign gate.

The earlier retained 50G state was deliberately excluded from formal evidence:
its table high-water had evolved and its predecessor identity was
`exchange_matching`. The new fail-closed validation correctly rejected direct
prepare reuse and cross-mode continuation instead of relabelling that state.

The complete machine-readable receipts are retained on `mac-mini-2` under:

- `/Users/benjamin2037/workspace/issue75-readonly-10mb-167f84e2/attempt-001/run/try-03/`
- `/Users/benjamin2037/workspace/issue75-readonly-big-query-10mb-076f1217/attempt-001/`

Follow [the read-only SOP](tpce-read-only-sop.md) for configuration,
continuation, and acceptance checks.
