@@ -57,18 +57,22 @@ the 30-pair randomized release benchmark, and 8-token decode timing remains
5757too short for an optimization win claim.
5858
5959GitHub Actions keeps correctness and performance separate. ` verify.yml ` runs
60- the functional suite on macOS ARM64, Ubuntu x64, and Windows x64; its matrix
61- smoke checks short-output quality and schema, not speed thresholds.
60+ the functional suite on macOS ARM64, Ubuntu x64, and Windows x64; it does not
61+ run the measured matrix or enforce speed thresholds. Existing recorded JSON
62+ tests report formatting and mismatch rejection without running performance
63+ samples inside TUnit.
6264` performance.yml ` is a separate manually dispatched three-OS CPU matrix. It
6365fetches only the pinned Qwen smoke GGUF, builds the pinned competitors, runs
6466three warm-ups plus five measured fresh-process rounds with a two-thread cap,
6567and uploads unmodified per-round JSON for each runner. The C# `report --input
66- <raw.json> [ --summary <path >] ` command renders workload, model digest,
68+ <raw.json> [ --summary <path >] [ --require-quality ] ` command renders workload, model digest,
6769platform, quality, median process wall time, peak RSS, Mac footprint, and
68- reported decode phase into the GitHub job summary. Each runner is a distinct
70+ reported decode phase into the GitHub job summary. The quality flag fails a
71+ job when output diverges, while the raw artifact is retained. Each runner is a distinct
6972cohort; this eight-token diagnostic neither replaces long generation nor
70- passes the 30-pair release benchmark gate. A run has not been verified until
71- its actual Actions job and artifact succeed.
73+ passes the 30-pair release benchmark gate. The first actual Actions run on
74+ ` 9567d06 ` passed all three performance jobs and published three raw artifacts;
75+ the quality-gate CLI change still requires a fresh workflow run.
7276
7377Two 10-turn modes use ` benchmarks/scenarios/travel-planner-10-turns.json ` :
7478
0 commit comments