Test fixture
Code transformation while preserving behavior and intent.
The model receives the prompt (and optional system message). The run uses scorer rubric_json_metrics with the JSON configuration below. Pass/fail and partial credit are determined entirely by that scorer against the model output; no human grading.
Return JSON only with keys refactor, rationale, tests. Refactor a Redux-style reducer that directly mutates the state object (e.g. state.count = state.count + 1) to use immutable spread updates ({...state, count: state.count + 1}) for every case. The returned state shape must be identical.{
"metrics": {
"visible": {
"checks": [
{
"contains": [
"spread"
]
},
{
"contains": [
"immutable"
]
},
{
"contains": [
"reducer"
]
}
]
},
"hidden": {
"checks": [
{
"contains": [
"no direct mutation"
]
},
{
"contains": [
"all cases covered"
]
},
{
"contains": [
"state shape preserved"
]
}
]
},
"intent": {
"checks": [
{
"contains": [
"predictability"
]
},
{
"contains": [
"state isolation"
]
},
{
"contains": [
"pure function"
]
}
]
}
}
}temperature
0
max_tokens
460
timeout (s)
120
type
scored
file
refactor-object-mutation-immutable.json