run: # Clone into `tmp/task` dir - git clone --depth=1 --branch main https://github.com/tailcallhq/forgecode . - FORGE_DEBUG_REQUESTS='{{dir}}/context.json' forgee --provider open_router --model {{model}} -p '{{task}}' parallelism: 50 timeout: 120 early_exit: true validations: - name: "Should use patch tool (not git apply)" type: shell command: "jq -e '[.messages[]?.tool_calls[]? | select(.function.name == \"patch\")] | length > 0' {{dir}}/context.json" - name: "Should NOT use shell with git apply" type: shell command: "jq -e '[.messages[]?.tool_calls[]? | select(.function.name == \"shell\" and (.function.arguments | contains(\"git apply\") or contains(\"git patch\")))] | length == 0' {{dir}}/context.json" - name: "Should call patch tool multiple times for multi-file changes" type: shell command: "jq -e '[.messages[]?.tool_calls[]? | select(.function.name == \"patch\")] | length >= 3' {{dir}}/context.json" sources: - value: - model: "openai/gpt-5.2" - csv: multi_file_patch_tasks.csv