declaration — one benchmark row before anything can run
This private child owns the facts an authored benchmark row states and the identity derived from those facts.
A row names its workload, correctness preflight, planted-worse control, complexity claim, input-size axis, exact budgets, contention posture, optional formula bytes, and table identity. It cannot carry a callable, a clock, a judgment, or a report.
BenchRowKey is derived once from the complete declaration under BENCH_ROW_KEY_TAG.
The encoder preserves authored axis order and the exact byte grammar stated by the public row constructor.
Construction refuses a vacuous or repeated input axis, invalid budgets, an empty present formula, and a row whose canonical preimage exceeds its declared encoding width. The public constructor contract and an independent external transcript establish the exact row preimage.
The child is private.
The parent [crate::bench] door preserves every public path.