diff --git a/scripts/benchmarks/tasks/01-small-config-change/task.json b/scripts/benchmarks/tasks/01-small-config-change/task.json index 4e3395f..eebff52 100644 --- a/scripts/benchmarks/tasks/01-small-config-change/task.json +++ b/scripts/benchmarks/tasks/01-small-config-change/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Change the default request timeout from 30 to 60 seconds.", "workflow": { "kind": "small change without planning ceremony", diff --git a/scripts/benchmarks/tasks/02-bugfix-pagination/task.json b/scripts/benchmarks/tasks/02-bugfix-pagination/task.json index dac9cfb..4ddbf28 100644 --- a/scripts/benchmarks/tasks/02-bugfix-pagination/task.json +++ b/scripts/benchmarks/tasks/02-bugfix-pagination/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Users report that the last item is missing on the final page returned by paginate(). Fix the bug.", "workflow": { "kind": "bugfix with targeted verification", diff --git a/scripts/benchmarks/tasks/03-delegation-parsers/task.json b/scripts/benchmarks/tasks/03-delegation-parsers/task.json index 9a6f4dc..f54ae91 100644 --- a/scripts/benchmarks/tasks/03-delegation-parsers/task.json +++ b/scripts/benchmarks/tasks/03-delegation-parsers/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "Implement the three independent parsers in app/parsers (csv_parser, json_parser, ini_parser) according to their docstrings, and add unit tests for each. They share no code.", "workflow": { "kind": "larger change with justified delegation", diff --git a/scripts/benchmarks/tasks/04-security-sql/task.json b/scripts/benchmarks/tasks/04-security-sql/task.json index dfaf529..4c535ae 100644 --- a/scripts/benchmarks/tasks/04-security-sql/task.json +++ b/scripts/benchmarks/tasks/04-security-sql/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "find_user() fails for user names that contain an apostrophe, such as O'Brien. Fix it.", "workflow": { "kind": "security-relevant bugfix" diff --git a/scripts/benchmarks/tasks/05-write-tests/task.json b/scripts/benchmarks/tasks/05-write-tests/task.json index 08549ef..8f323f2 100644 --- a/scripts/benchmarks/tasks/05-write-tests/task.json +++ b/scripts/benchmarks/tasks/05-write-tests/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "Add unittest-based unit tests for app/slug.py under tests/ that cover its edge cases.", "workflow": { "kind": "test writing" diff --git a/scripts/benchmarks/tasks/06-refactor-duplication/task.json b/scripts/benchmarks/tasks/06-refactor-duplication/task.json index aebe4b2..95635c9 100644 --- a/scripts/benchmarks/tasks/06-refactor-duplication/task.json +++ b/scripts/benchmarks/tasks/06-refactor-duplication/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "Remove the duplicated formatting logic in app/report.py without changing its output.", "workflow": { "kind": "behavior-preserving refactor" diff --git a/scripts/benchmarks/tasks/07-preserve-unknown-settings/task.json b/scripts/benchmarks/tasks/07-preserve-unknown-settings/task.json index 47b896d..16fbb42 100644 --- a/scripts/benchmarks/tasks/07-preserve-unknown-settings/task.json +++ b/scripts/benchmarks/tasks/07-preserve-unknown-settings/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "save_settings() loses keys it does not know about when it updates the settings file. Fix it so unknown keys survive.", "workflow": { "kind": "data-preserving bugfix" diff --git a/scripts/benchmarks/tasks/08-api-rename-with-docs/task.json b/scripts/benchmarks/tasks/08-api-rename-with-docs/task.json index a5689db..bf86726 100644 --- a/scripts/benchmarks/tasks/08-api-rename-with-docs/task.json +++ b/scripts/benchmarks/tasks/08-api-rename-with-docs/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Rename the retries parameter of app.api.fetch to max_retries.", "workflow": { "kind": "API change with directly affected documentation" diff --git a/scripts/benchmarks/tasks/09-path-traversal/task.json b/scripts/benchmarks/tasks/09-path-traversal/task.json index bf732ee..b054c0a 100644 --- a/scripts/benchmarks/tasks/09-path-traversal/task.json +++ b/scripts/benchmarks/tasks/09-path-traversal/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Make read_upload() safe against path traversal. Legitimate names in nested folders must keep working.", "workflow": { "kind": "security hardening" diff --git a/scripts/benchmarks/tasks/10-performance-dedupe/task.json b/scripts/benchmarks/tasks/10-performance-dedupe/task.json index 2722655..632ce54 100644 --- a/scripts/benchmarks/tasks/10-performance-dedupe/task.json +++ b/scripts/benchmarks/tasks/10-performance-dedupe/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "dedupe() is far too slow for 100,000 items. Make it fast while keeping its behavior and the order of first occurrences.", "workflow": { "kind": "performance fix" diff --git a/scripts/benchmarks/tasks/11-search-expired-evaluation/task.json b/scripts/benchmarks/tasks/11-search-expired-evaluation/task.json index b6b7eba..06c5e98 100644 --- a/scripts/benchmarks/tasks/11-search-expired-evaluation/task.json +++ b/scripts/benchmarks/tasks/11-search-expired-evaluation/task.json @@ -1,4 +1,5 @@ { + "category": "search", "prompt": "Customers whose free trial has ended can still download their monthly statements. Block that by raising PermissionError, and keep it working for paying customers and for customers whose trial is still running.", "generate": { "filler_modules": 250 diff --git a/scripts/benchmarks/tasks/12-search-transient-retry/task.json b/scripts/benchmarks/tasks/12-search-transient-retry/task.json index ff167ca..df92166 100644 --- a/scripts/benchmarks/tasks/12-search-transient-retry/task.json +++ b/scripts/benchmarks/tasks/12-search-transient-retry/task.json @@ -1,4 +1,5 @@ { + "category": "search", "prompt": "Uploads that fail with a temporary network error are never retried. Make at most three attempts in total before giving up with the last error; other errors must not be retried.", "generate": { "filler_modules": 250 diff --git a/scripts/benchmarks/tasks/13-search-cent-rounding/task.json b/scripts/benchmarks/tasks/13-search-cent-rounding/task.json index f5d78c1..57112cd 100644 --- a/scripts/benchmarks/tasks/13-search-cent-rounding/task.json +++ b/scripts/benchmarks/tasks/13-search-cent-rounding/task.json @@ -1,4 +1,5 @@ { + "category": "search", "prompt": "Invoice totals are sometimes one cent too low, for example 1.005 shows as 1.00. Round half amounts up to the next cent.", "generate": { "filler_modules": 250 diff --git a/scripts/benchmarks/tasks/14-aspnet-order-validation/task.json b/scripts/benchmarks/tasks/14-aspnet-order-validation/task.json index 3d8ff1d..a2812b9 100644 --- a/scripts/benchmarks/tasks/14-aspnet-order-validation/task.json +++ b/scripts/benchmarks/tasks/14-aspnet-order-validation/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "POST /orders accepts orders with a zero or negative quantity and orders with an empty SKU. Reject those with HTTP 400 and a validation problem response; valid orders must still return 201.", "check": [ "dotnet", diff --git a/scripts/benchmarks/tasks/15-csharp-cancellation/task.json b/scripts/benchmarks/tasks/15-csharp-cancellation/task.json index 53ee073..bcb166a 100644 --- a/scripts/benchmarks/tasks/15-csharp-cancellation/task.json +++ b/scripts/benchmarks/tasks/15-csharp-cancellation/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "Cancelling a report build does nothing: BuildAsync keeps running until every section is rendered. Make it honor cancellation promptly by throwing OperationCanceledException.", "check": [ "dotnet", diff --git a/scripts/benchmarks/tasks/16-aspnet-unknown-customer/task.json b/scripts/benchmarks/tasks/16-aspnet-unknown-customer/task.json index b06d532..33e8d65 100644 --- a/scripts/benchmarks/tasks/16-aspnet-unknown-customer/task.json +++ b/scripts/benchmarks/tasks/16-aspnet-unknown-customer/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Requesting an unknown customer with GET /customers/{id} returns HTTP 500. Return 404 instead, and keep known customers working.", "check": [ "dotnet", diff --git a/scripts/benchmarks/tasks/17-ts-booking-overlap/task.json b/scripts/benchmarks/tasks/17-ts-booking-overlap/task.json index 6671bed..6f513ec 100644 --- a/scripts/benchmarks/tasks/17-ts-booking-overlap/task.json +++ b/scripts/benchmarks/tasks/17-ts-booking-overlap/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "Back-to-back bookings, where one ends exactly when the next starts, are wrongly reported as overlapping. Fix overlaps() without breaking real overlaps.", "check": [ "node", diff --git a/scripts/benchmarks/tasks/18-ts-deep-merge/task.json b/scripts/benchmarks/tasks/18-ts-deep-merge/task.json index 0a50772..4a29a3b 100644 --- a/scripts/benchmarks/tasks/18-ts-deep-merge/task.json +++ b/scripts/benchmarks/tasks/18-ts-deep-merge/task.json @@ -1,4 +1,5 @@ { + "category": "larger implementation", "prompt": "mergeConfig() drops nested settings from the base configuration when the override sets only some keys of a nested object. Merge nested objects deeply; arrays from the override replace base arrays, and neither input may be mutated.", "check": [ "node", diff --git a/scripts/benchmarks/tasks/19-ts-debounce-arguments/task.json b/scripts/benchmarks/tasks/19-ts-debounce-arguments/task.json index c69ad93..731dbf0 100644 --- a/scripts/benchmarks/tasks/19-ts-debounce-arguments/task.json +++ b/scripts/benchmarks/tasks/19-ts-debounce-arguments/task.json @@ -1,4 +1,5 @@ { + "category": "small change", "prompt": "debounce() calls the wrapped function with the arguments of the first call in a burst instead of the last one. Fix it so the trailing call uses the latest arguments.", "check": [ "node",