{ "id": "G0006", "category": "E", "object_type": "CLAS", "difficulty": 2, "release_target": "v816", "expected_outcome": "implement", "budget": { "max_tool_calls": 60, "max_activations": 15 }, "seed": [ { "type": "CLAS", "name": "{{P}}FREIGHT_CALCULATOR", "file": "seed/freight_calculator.clas.abap", "description": "Legacy freight calculator. Correct behavior, poor structure: one long method, nested IF blocks, hard-coded rates, a private attribute that is written but never read, commented-out code." } ], "contract": [ { "type": "CLAS", "name": "{{P}}FREIGHT_CALCULATOR" } ], "out_of_scope": [ "New global objects", "Changes to the public API of {{P}}FREIGHT_CALCULATOR", "Changes to the result of the calculation" ], "hidden_tests": [ { "type": "CLAS", "name": "{{P}}T02_HIDDEN", "file": "hidden/t02_hidden.clas.abap", "description": "T02 hidden tests for the refactored freight calculator" } ], "reference": [ { "type": "CLAS", "name": "{{P}}FREIGHT_CALCULATOR", "file": "reference/freight_calculator.clas.abap", "description": "Refactored freight calculator with extracted methods and a rate table", "testclasses_file": "reference/freight_calculator.testclasses.abap" } ], "craft_checks": [ "method_length", "nesting_depth", "magic_number", "dead_code" ] }