Files
Open_Ultra_SAST/plane/workspaces/qwed-sympy-eval-inputs.yaml
T
Marius CiepluchandClaude Opus 5.5 56b1717246 feat(plane): scoring parity with the reference -- sites, ranges, triage cost
agree matched declared sites through benchmarks/independent/evaluate.py,
which the runner image does not carry, so site matching would have been
"not assessed". The generator now resolves the fix's old-side ranges
(evaluate.hunks, line for line) into case.json, with the declared sites in
the set and the reference's cost, and agree.matches_declared reproduces
matches_v2; a parity test runs both over the recorded outputs of the 15
validation cases (200 probes, identical verdicts) and agree on those outputs
returns the reference's 16 of 20 and $0.022.

agree reports cost_per_candidate (plane spend) and
cost_per_candidate_with_recorded_triage; Requirement 6.2 is judged on the
latter (design.md). --runner-image re-pins the templates from ops/ax/up.sh's
pin file; the committed manifests are regenerated at the current digest.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
2026-09-29 19:49:28 +02:00

18 lines
2.7 KiB
YAML

# generated by `ousast plane workspaces benchmarks/independent/population-v2.toml --validation-set ~/ousast-results/independent-v2-sets/validation.json --candidates ~/ousast-results/independent-v2-modelsinks --triage ~/ousast-results/independent-v2-batched-check/scans --repos ~/.cache/openultrasast/independent --run validation-46 --runner-image ~/.cache/ousast/ax-src/runner-image`; do not edit, regenerate.
apiVersion: ax.io/v1alpha1
kind: Workspace
metadata:
name: qwed-sympy-eval-inputs
atespace: default
spec:
files:
- path: candidates.json
content: "{\n \"candidates\": [\n [\n \"src/qwed_new/core/batch.py\",\n \"_verify_item\",\n 239\n ]\n ],\n \"family\": \"injection\",\n \"id\": \"qwed-sympy-eval\"\n}\n"
- path: functions.json
content: "[\n {\n \"function\": \"_verify_item\",\n \"line\": 239,\n \"path\": \"src/qwed_new/core/batch.py\"\n }\n]\n"
- path: case.json
content: "{\n \"cost\": {\n \"candidates_before_triage\": 1,\n \"recorded_triage_basis\": \"derived per file from the batched-check scans: recorded usd (triage + hunts) minus the recorded hunt usage priced at deepseek-flash list prices; the triage call's own usage was not recorded\",\n \"recorded_triage_usd\": 0.00149,\n \"recorded_usd\": 0.022\n },\n \"family\": \"injection\",\n \"id\": \"qwed-sympy-eval\",\n \"ranges\": {\n \"src/qwed_new/api/main.py\": [\n [\n 460,\n 460\n ],\n [\n 475,\n 476\n ],\n [\n 504,\n 504\n ]\n ],\n \"src/qwed_new/core/batch.py\": [\n [\n 223,\n 223\n ],\n [\n 229,\n 230\n ],\n [\n 239,\n 239\n ],\n [\n 0,\n 0\n ]\n ],\n \"src/qwed_new/core/validator.py\": [\n [\n 13,\n 13\n ],\n [\n 64,\n 64\n ]\n ],\n \"src/qwed_new/core/verifier.py\": [\n [\n 21,\n 21\n ],\n [\n 123,\n 123\n ],\n [\n 200,\n 201\n ],\n [\n 284,\n 286\n\
\ ],\n [\n 331,\n 333\n ],\n [\n 337,\n 338\n ],\n [\n 388,\n 390\n ],\n [\n 398,\n 398\n ],\n [\n 0,\n 0\n ]\n ],\n \"tests/test_api_exceptions.py\": [\n [\n 34,\n 34\n ]\n ]\n },\n \"ranges_basis\": \"git diff -U0 <vulnerable> <fixed>, old side: benchmarks/independent/evaluate.hunks(case, 'old')\",\n \"sites\": [\n \"src/qwed_new/api/main.py::verify_math\",\n \"src/qwed_new/core/batch.py::_verify_item\"\n ],\n \"sites_in_set\": [\n \"src/qwed_new/core/batch.py::_verify_item\"\n ]\n}\n"
- path: triage.json
content: "{\n \"candidates\": [\n [\n \"src/qwed_new/core/batch.py\",\n \"_verify_item\",\n 239\n ]\n ],\n \"kept\": [\n [\n \"src/qwed_new/core/batch.py\",\n \"_verify_item\",\n 239\n ]\n ],\n \"triage\": {\n \"src/qwed_new/core/batch.py::_verify_item\": \"parameter\"\n }\n}\n"