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. Two components each contain identical logic: fetch a URL, check the response status, parse JSON, and return the data. Refactor by extracting that logic into a single shared utility function that both components import and call. Error handling must be preserved.
{
"metrics": {
"visible": {
"checks": [
{
"contains": [
"shared utility"
]
},
{
"contains": [
"fetchJson"
]
},
{
"contains": [
"import"
]
}
]
},
"hidden": {
"checks": [
{
"contains": [
"error handling preserved"
]
},
{
"contains": [
"both components updated"
]
},
{
"contains": [
"no duplication remains"
]
}
]
},
"intent": {
"checks": [
{
"contains": [
"DRY"
]
},
{
"contains": [
"single point of change"
]
},
{
"contains": [
"reusability"
]
}
]
}
}
}temperature
0
max_tokens
460
timeout (s)
120
type
scored
file
refactor-duplicate-fetch-logic.json