test(benchmarks): tag tasks as small change, larger implementation, or search

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Julian lechnerandClaude Opus 5.5 committed 2026-10-08 10:34:02 +02:00
1 parent 56f9981cc9
commit 449ffa3631
19 files changed
+19

No files matched your search

@@ -1,4 +1,5 @@
{ {
"category": "small change",
"prompt": "Change the default request timeout from 30 to 60 seconds.", "prompt": "Change the default request timeout from 30 to 60 seconds.",
"workflow": { "workflow": {
"kind": "small change without planning ceremony", "kind": "small change without planning ceremony",
@@ -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.", "prompt": "Users report that the last item is missing on the final page returned by paginate(). Fix the bug.",
"workflow": { "workflow": {
"kind": "bugfix with targeted verification", "kind": "bugfix with targeted verification",
@@ -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.", "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": { "workflow": {
"kind": "larger change with justified delegation", "kind": "larger change with justified delegation",
@@ -1,4 +1,5 @@
{ {
"category": "small change",
"prompt": "find_user() fails for user names that contain an apostrophe, such as O'Brien. Fix it.", "prompt": "find_user() fails for user names that contain an apostrophe, such as O'Brien. Fix it.",
"workflow": { "workflow": {
"kind": "security-relevant bugfix" "kind": "security-relevant bugfix"
@@ -1,4 +1,5 @@
{ {
"category": "larger implementation",
"prompt": "Add unittest-based unit tests for app/slug.py under tests/ that cover its edge cases.", "prompt": "Add unittest-based unit tests for app/slug.py under tests/ that cover its edge cases.",
"workflow": { "workflow": {
"kind": "test writing" "kind": "test writing"
@@ -1,4 +1,5 @@
{ {
"category": "larger implementation",
"prompt": "Remove the duplicated formatting logic in app/report.py without changing its output.", "prompt": "Remove the duplicated formatting logic in app/report.py without changing its output.",
"workflow": { "workflow": {
"kind": "behavior-preserving refactor" "kind": "behavior-preserving refactor"
@@ -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.", "prompt": "save_settings() loses keys it does not know about when it updates the settings file. Fix it so unknown keys survive.",
"workflow": { "workflow": {
"kind": "data-preserving bugfix" "kind": "data-preserving bugfix"
@@ -1,4 +1,5 @@
{ {
"category": "small change",
"prompt": "Rename the retries parameter of app.api.fetch to max_retries.", "prompt": "Rename the retries parameter of app.api.fetch to max_retries.",
"workflow": { "workflow": {
"kind": "API change with directly affected documentation" "kind": "API change with directly affected documentation"
@@ -1,4 +1,5 @@
{ {
"category": "small change",
"prompt": "Make read_upload() safe against path traversal. Legitimate names in nested folders must keep working.", "prompt": "Make read_upload() safe against path traversal. Legitimate names in nested folders must keep working.",
"workflow": { "workflow": {
"kind": "security hardening" "kind": "security hardening"
@@ -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.", "prompt": "dedupe() is far too slow for 100,000 items. Make it fast while keeping its behavior and the order of first occurrences.",
"workflow": { "workflow": {
"kind": "performance fix" "kind": "performance fix"
@@ -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.", "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": { "generate": {
"filler_modules": 250 "filler_modules": 250
@@ -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.", "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": { "generate": {
"filler_modules": 250 "filler_modules": 250
@@ -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.", "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": { "generate": {
"filler_modules": 250 "filler_modules": 250
@@ -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.", "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": [ "check": [
"dotnet", "dotnet",
@@ -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.", "prompt": "Cancelling a report build does nothing: BuildAsync keeps running until every section is rendered. Make it honor cancellation promptly by throwing OperationCanceledException.",
"check": [ "check": [
"dotnet", "dotnet",
@@ -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.", "prompt": "Requesting an unknown customer with GET /customers/{id} returns HTTP 500. Return 404 instead, and keep known customers working.",
"check": [ "check": [
"dotnet", "dotnet",
@@ -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.", "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": [ "check": [
"node", "node",
@@ -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.", "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": [ "check": [
"node", "node",
@@ -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.", "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": [ "check": [
"node", "node",