Caught by graff-evals (run-20260816-191053, schema-output task, deepseek-v4-flash): the model answered correctly but in markdown prose; the check expects the schema'd JSON. On xai/openai the flag is enforced (two-phase on strict wires). On deepseek it is dropped without a warning.
Expected: either wire it to DeepSeek's response_format json_schema support, or fail fast with 'structured outputs unsupported on provider deepseek' so callers know. Silent degradation is the worst of the three.
Repro: cd graff-evals && ./run.py --harness graff --task schema-output --model deepseek-v4-flash
Caught by graff-evals (run-20260816-191053, schema-output task, deepseek-v4-flash): the model answered correctly but in markdown prose; the check expects the schema'd JSON. On xai/openai the flag is enforced (two-phase on strict wires). On deepseek it is dropped without a warning.
Expected: either wire it to DeepSeek's response_format json_schema support, or fail fast with 'structured outputs unsupported on provider deepseek' so callers know. Silent degradation is the worst of the three.
Repro: cd graff-evals && ./run.py --harness graff --task schema-output --model deepseek-v4-flash