{ "id": "G0023", "category": "E", "object_type": "CLAS", "difficulty": 2, "release_target": "v816", "expected_outcome": "implement", "budget": { "max_tool_calls": 60, "max_activations": 15 }, "seed": [ { "type": "INTF", "name": "{{P}}IF_FREIGHT_CALC", "file": "seed/if_freight_calc.intf.abap", "description": "Freight calculation contract with packed number types" }, { "type": "CLAS", "name": "{{P}}FREIGHT_LEGACY", "file": "seed/freight_legacy.clas.abap", "description": "Legacy freight calculator with packed arithmetic and a CASE over zones" } ], "contract": [ { "type": "CLAS", "name": "{{P}}FREIGHT_CALCULATOR", "implements": "{{P}}IF_FREIGHT_CALC" } ], "out_of_scope": [ "{{P}}IF_FREIGHT_CALC", "{{P}}FREIGHT_LEGACY" ], "hidden_tests": [ { "type": "CLAS", "name": "{{P}}E01_HIDDEN", "file": "hidden/e01_hidden.clas.abap", "description": "E01 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 a rate table", "testclasses_file": "reference/freight_calculator.testclasses.abap" } ], "craft_checks": [ "method_length", "no_global_variables" ] }