CXF-233: publish the Tier-1 E2E control-group baseline.json (6-run matrix) - #18
Conversation
…trix) The six-run matrix (3x tier1-directory mode=none + 3x tier1-directory-guide-only) ran 2026-09-04/05 on the private squire driver (omp agent harness, model together/deepseek-ai/DeepSeek-V4-Flash-0731, reasoningEffort high). The generated locked-v1 baseline.json is committed as the regression-gate reference; the gitignored *.jsonl records behind it are copied into evals/results/. Measured: no full-funnel pass in either arm (pass_at_3 0); first-pass-rate mean 0.47 (none) / 0.61 (guide-only); failure pareto S2, S8, S11, S5. Stage gates S0/S1/S3/S4/S6/S7/S9/S10 passed in every run of both arms. README documents the two measurement caveats (S2 bash-PUT visibility, S8 secret-masked api-token). Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
…seline # Conflicts: # evals/README.md
| **Reference status (CXF-233).** The six-run matrix is no longer blocked: the | ||
| E2E ran 2026-09-04/05 on the private squire driver (omp agent harness, model | ||
| `together/deepseek-ai/DeepSeek-V4-Flash-0731`, `reasoningEffort: "high"`), | ||
| producing 3 scored `none` runs + 3 scored `guide-only` runs, and the generated | ||
| `evals/results/baseline.json` is committed as the control-group reference. | ||
| Measured result: no full-funnel passes in either arm (`pass_at_3` 0), mean |
There was a problem hiding this comment.
🟡 Suggestion: The regression-gate contract above (lines 231–235) still says the gate "fails if the measured pass rate drops below modes.<mode>.pass_rate", but the published reference has pass_rate: 0 for both arms — that rule can never fire, so the committed contract is a no-op gate. This paragraph itself explains why the full-funnel floor is partly structural (S2's PUT leg is unobservable, S8 reads secret-masked); the consumption rule should be updated in the same PR to key on first_pass_rate_mean and/or per_stage.failures, or to state explicitly that pass_rate gating is inert until S2/S8 are instrumented. (confidence: high)
| "scenarios": [ | ||
| "tier1-directory", | ||
| "tier1-directory-guide-only" | ||
| ], |
There was a problem hiding this comment.
🟡 Suggestion: scenarios records two ids (tier1-directory, tier1-directory-guide-only), which contradicts the unchanged README description at evals/README.md:200-201 — "scenario tier1-directory × skill-bundle modes {none, guide-only} × 3 runs each". The guide-only arm actually came from a separate scenario file (evals/scenarios/tier1-directory-guide-only.json, mode: "guide-only"), and the generator enforces one scenario per mode group, so the README's single-scenario phrasing (and its (CXF-217) attribution) should be corrected now that the data makes the mismatch visible. (confidence: high)
| @@ -0,0 +1,182 @@ | |||
| { | |||
| "schema_version": 1, | |||
There was a problem hiding this comment.
🟡 Suggestion: This file becomes a committed contract artifact that a future CI gate will consume, but nothing validates it — evals/runner/baseline.test.ts only exercises the generator against temp dirs, and the source *.jsonl records are gitignored and live in a private repo, so the committed JSON is unreproducible here. Consider a small check that loads evals/results/baseline.json and asserts the locked v1 shape (schema_version === 1, required top-level keys, both matrix modes present, per_stage covering S0–S11) so drift or a hand-edit is caught before the gate PR lands. (confidence: medium)
General PR Review: CXF-233: publish the Tier-1 E2E control-group baseline.json (6-run matrix)Blocking Issues: 0 | Suggestions: 3 | Threads Resolved: 0 Review SummaryScanned the full PR diff ( Security IssuesNone found. Correctness IssuesNone found. Suggestions
Prompt for AI agents |
What
Commits the locked-v1
evals/results/baseline.json— the Tier-1 E2E control-group reference for the connector-authoring eval regression gate (Linear CXF-233). The*.jsonlrecords behind it are copied intoevals/results/(gitignored, per the existing convention) andevals/README.md's halt-path section now describes the published reference instead of the blocked state.The matrix behind it
6 scored runs, 2026-09-04/05, on the private squire driver (
ductone/squire-evals, omp agent harness, scenario modeltogether/deepseek-ai/DeepSeek-V4-Flash-0731,reasoningEffort: "high"in both scenario files):Generated reference:
none— runs 3, passes 0, pass_at_3 0, first-pass mean 0.47;guide-only— runs 3, passes 0, pass_at_3 0, first-pass mean 0.61. Failure pareto: S2 (source-upload PUTs), S8 (configapi-token), S11 (activation-mint handoff discipline), S5 (build-run state).Measurement caveats (documented in the README)
curl -X PUTresults. The omp agent uploads source files through code-mode programs, so the PUT leg reads 0-with-0 even when uploads succeeded (upload_id+create_draft_source_uploadlegs pass in all runs). The full-funnelpass_ratefloor of 0 is therefore partly structural; per-stage and first-pass-rate fields carry the comparable signal.api-tokenreads EMPTY fromc1_connector_service_get(secret-masked responses);base-url/account-emailrecord fine.Stage gates S0/S1/S3/S4/S6/S7/S9/S10 passed in every run of both arms (0 per-stage failures) — the transcript-level gates are healthy under the squire transport after CXF-233's device-route translation.
Driver-side context (private repo, not part of this PR)
ductone/squire-evalsbranchbjorn/CXF-233/collector-transport-override(on top of the CXF-234 PR head4fa17e3): re-applied the two collector-leg fixes (arena-transport read instructions + completion override, lost with the first attempt's env) and added the operator-approved MCP-route translation (expandMcpRoutes), which makes omp's device-path MCP calls (xd://mcp__c_dev_executecode-mode programs) visible to the scorer's anti-fabrication transcript gates as their literalc1_connector_authoring_*names.build_bundlesucceeded in all 6 runs (S4/S5 evidenceRUN_STATE_SUCCEEDED).Not in this PR