Activates js-rigor's normally-dormant complexity and benchmark verdicts
against the complex-graph generators:
COMPLEXITY (e-process verified, deterministic cost signals):
- direct/chain/ttu lookups declared O(1) in graph size — verified with a
deterministic engine-lookup counter as the cost metric (wall-clock at
sub-ms scale is pure jitter for the spread check); a regression to
linear scans would grow the counter with n and trip the e-process
- union evaluated O(k) in rule count in normal mode vs O(1) in binary
mode (threshold early exit) — declared cost = rule evaluations
BENCHMARK (percentile assertions over auto-collected samples):
- direct/chain/ttu single-check actions stay under p50=0.2ms p95=1.0ms
budgets on the complex graphs
Debugging along the way surfaced two rigor API facts worth pinning:
metric readers receive the raw generated-args ARRAY (fns get the spread
values), and a missing module import silently degrades actions into
'no observations' vacuous verdicts (ReferenceError swallowed by the
runner). Full rigor 237/237.