New evals/deduction_serve/ lane scores the PRODUCTION serving decider (the exact comprehend -> to_deductive_logic -> evaluate_entailment_with_trace pipeline chat/deduction_surface.py runs) end-to-end from raw text -- distinct from evals/deductive_logic (bare engine vs formula strings) and evals/comprehension/propositional_runner.py (reader fidelity vs the independent oracle, not the production engine). This is the only lane proving the capability core chat actually serves. 27 hand-authored cases (gold computed by independent logical reasoning, not copied from a first engine run), 4 classes: entailed/refuted/unknown/ declined. 27/27 correct, wrong=0. Wired into core test --suite deductive (tests/test_deduction_serve_lane.py) and SHA-pinned in scripts/verify_lane_shas.py (deduction_serve_v1). Honesty check during authoring: a case intended as 'entailed' (contraposition, 'Therefore if not q then not p') actually declined -- tracing why found a genuine reader-grammar boundary (negation cannot nest inside an if/then clause; generate/meaning_graph/reader.py's _chunk rejects it). Reclassified to declined/out_of_band_nested_negation (documented in contract.md) rather than forcing an artificial pass, and added a replacement entailed case (three-hop chain) to keep coverage. Out-of-scope finding (documented, not fixed here): running scripts/verify_lane_shas.py --update to compute this lane's pin also re-executed every OTHER registered lane and surfaced two pre-existing, unrelated problems on main -- miner_loop_closure/curriculum_loop_closure/ demo_composition regenerate non-deterministic content IDs (their committed pins don't reproduce even on a clean checkout), and public_demo errors outright (matches the known env-timeout flake in project memory). Reverted all four lanes' results/*.json and PINNED_SHAS entries to their original committed values -- this PR's only PINNED_SHAS change is the new deduction_serve_v1 entry. [Verification]: smoke 180 passed; cognition 122 passed/1 skipped; core test --suite deductive 25 passed; evals.deduction_serve.runner 27/27 wrong=0; pinned SHA independently re-verified against the committed report.json bytes.
36 lines
637 B
JSON
36 lines
637 B
JSON
{
|
|
"aggregate": {
|
|
"correct": 27,
|
|
"declined": 0,
|
|
"n": 27,
|
|
"wrong": 0
|
|
},
|
|
"all_correct": true,
|
|
"arc": "deduction-serve",
|
|
"lane": "deduction_serve",
|
|
"schema_version": 1,
|
|
"splits": {
|
|
"v1": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 9,
|
|
"entailed": 8,
|
|
"refuted": 5,
|
|
"unknown": 5
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 9,
|
|
"entailed": 8,
|
|
"refuted": 5,
|
|
"unknown": 5
|
|
},
|
|
"counts": {
|
|
"correct": 27,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 27
|
|
}
|
|
},
|
|
"wrong_is_zero": true
|
|
}
|