{"prompt": "a contractor is about to touch our authentication middleware and i'd like a second read on it first: how the tenant is resolved, what happens when the header is present but the token is for another tenant, and whether the viewer role can reach any write path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "our error responses are a mix of plain strings, a `{error}` object and RFC 7807 problem details depending on the endpoint's age — pick the newest shape and apply it everywhere without changing status codes", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "the conflict drawer in the desktop app needs to actually show what changed, field by field, with a choice per conflict", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "training run died overnight at epoch 31 of 60 and i lost the checkpoint:\n\nTraceback (most recent call last):\n  File \"train.py\", line 212, in <module>\n    main(cfg)\n  File \"train.py\", line 168, in main\n    loss.backward()\n  File \"/opt/conda/lib/python3.11/site-packages/torch/_tensor.py\", line 581, in backward\n    torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)\n  File \"/opt/conda/lib/python3.11/site-packages/torch/autograd/__init__.py\", line 347, in backward\n    _engine_run_backward(\ntorch.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.44 GiB. GPU 0 has a total capacity of 79.15 GiB of which 1.88 GiB is free. Process 41221 has 77.2 GiB memory in use. Of the allocated memory 71.44 GiB is allocated by PyTorch, and 4.91 GiB is reserved by PyTorch but unallocated.\n\nbatch size hasn't changed, and epochs 1 through 30 were fine on the same node", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "a walkthrough of how a route goes from saved to solved to dispatched, naming the services and queues involved, would save me a week", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "our error codes appear in three places and are documented in none; produce the reference table from `errors.rs` with a sentence per code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "the whole reassignment flow, honestly", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "stop popover cuts off at the right edge", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "desktop app freezes after sleep", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "training script has config handling scattered through it and i keep breaking runs by changing a default. same behaviour, one place:\n\nparser.add_argument(\"--lr\", type=float, default=3e-4)\nparser.add_argument(\"--batch-size\", type=int, default=64)\n...\ncfg = yaml.safe_load(open(args.config))\nlr = args.lr or cfg.get(\"lr\", 3e-4)\nbs = int(os.environ.get(\"BATCH_SIZE\", args.batch_size))\nif cfg.get(\"scheduler\") == \"cosine\":\n    warmup = cfg.get(\"warmup\", 500)\nelse:\n    warmup = int(os.environ.get(\"WARMUP\", 0))\nseed = cfg.get(\"seed\") if \"seed\" in cfg else args.seed if args.seed else 42\ngrad_accum = cfg.get(\"grad_accum\", 1) * (2 if os.environ.get(\"BIG_NODE\") else 1)", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "an intermittent one, maybe once a day, from the desktop app's crash reporter:\n\nProcess:               FleetDesk [4471]\nPath:                  /Applications/FleetDesk.app/Contents/MacOS/FleetDesk\nIdentifier:            io.fleetdesk.app\nVersion:               2.8.1 (2810)\nCode Type:             ARM-64\nCrashed Thread:        0  Dispatch queue: com.apple.main-thread\n\nException Type:        EXC_BAD_ACCESS (SIGSEGV)\nException Subtype:     KERN_INVALID_ADDRESS at 0x0000000000000010\n\nThread 0 Crashed:\n0   FleetDesk                     0x104a2c118 node::Buffer::Data(v8::Local<v8::Value>) + 24\n1   FleetDesk                     0x104b19a44 better_sqlite3::Statement::Run(...) + 388\n2   FleetDesk                     0x1051220c8 v8::internal::Builtin_HandleApiCall + 296\n\nalways within a minute of the app coming back from sleep", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "before i approve this, is the locking sound? two dispatchers can assign the same driver today:\n\n@Transactional\npublic Assignment assign(UUID routeId, UUID driverId) {\n    Route route = routeRepo.findById(routeId).orElseThrow();\n    Driver driver = driverRepo.findById(driverId).orElseThrow();\n    if (assignmentRepo.existsByDriverIdAndDayAndStatus(driverId, route.getDay(), ACTIVE)) {\n        throw new DriverAlreadyAssigned(driverId);\n    }\n    Assignment a = new Assignment(route, driver, ACTIVE, Instant.now());\n    assignmentRepo.save(a);\n    eventPublisher.publish(new AssignmentCreated(a.getId()));\n    notificationClient.notifyDriver(driverId, a.getId());\n    return a;\n}\n\npostgres, read committed, two app instances behind a load balancer", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "design doc paragraph that keeps getting quoted at me. is it still accurate given what we built?\n\n\"Route optimisation runs asynchronously. When a planner saves a route, we enqueue a solve job and return immediately with the previous solution. The client polls /v1/routes/{id} until `solution_version` increases. Solves are idempotent per (route_id, input_hash), so re-enqueueing the same inputs is free. A solve never blocks the planner's UI, and a failed solve leaves the last good solution in place.\"\n\nas far as i can tell the desktop app blocks on save, and we removed input_hash in march", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "same guard clause copy-pasted into nine handlers, and two of them have it subtly wrong:\n\n// handlers/assignments.rs\nif !ctx.tenant_id.is_some() { return Err(Error::Unauthorized) }\nif ctx.role != Role::Dispatcher && ctx.role != Role::Admin { return Err(Error::Forbidden) }\n\n// handlers/routes.rs\nif ctx.tenant_id.is_none() { return Err(Error::Unauthorized) }\nif !matches!(ctx.role, Role::Dispatcher | Role::Admin | Role::Planner) { return Err(Error::Forbidden) }\n\n// handlers/drivers.rs\nif ctx.tenant_id.is_none() { return Err(Error::Unauthorized) }\nif ctx.role == Role::Viewer { return Err(Error::Forbidden) }\n\nthe intent everywhere is the same: authenticated, and not a viewer", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "solver time limit to 12s in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"}
{"prompt": "planner screen, obviously", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "`stop_seq` naming, pick one spelling", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "desktop release cadence is monthly and every release has a scramble at the end for notarization, changelog and the update feed. i'd like the whole release process designed properly — what's automated, what's a human gate, how we do staged rollout for an electron app, and how we roll back a bad update that's already downloaded", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "ipc surface has grown one handler per screen and they all do the same three steps. same behaviour, one registration point:\n\nipcMain.handle('routes:list', async (_e, filter) => {\n  const t0 = Date.now()\n  try { return { ok: true, data: await routes.list(filter) } }\n  catch (e) { log.error('routes:list', e); return { ok: false, error: String(e) } }\n  finally { metrics.timing('ipc.routes.list', Date.now() - t0) }\n})\n\nipcMain.handle('drivers:list', async (_e, filter) => {\n  const t0 = Date.now()\n  try { return { ok: true, data: await drivers.list(filter) } }\n  catch (e) { log.error('drivers:list', e); return { ok: false, error: String(e) } }\n  finally { metrics.timing('ipc.drivers.list', Date.now() - t0) }\n})\n\n// ...eleven more of these", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "vehicle bands need alternating backgrounds", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "map legend overlaps the zoom control", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "driver list scrolls behind the header", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "one latlng converter across the packages", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "what does `--relax-windows` actually do?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "is our idempotency key tenant-scoped?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "we owe our biggest customer a written explanation of last week's four-hour degradation, and they will read it carefully because their SLA credits depend on it. the facts are in the incident channel and the timeline is in grafana. write the customer-facing version — honest, specific about impact, clear about what changes, no engineering jargon", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "assignment, route and trip mean three different things in the java service depending on which file you're in, and two of them are swapped relative to the public API. rename everything internal to match what the API calls things, leave the json field names untouched, and do it in a way that's reviewable rather than one 4000-line commit", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "feature building happens in the training script, the evaluation script and the inference service, and the three have quietly diverged. bring them onto one implementation, and once they agree, document which features exist and where each comes from", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "public API changelog needs an entry for the new `sequence` field on the ETA payload, and partners need to know it's monotonic per route", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "how should we version the partner-facing API once the ETA push exists — header, path, or something else? i want a recommendation with reasoning", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "stop-level ETAs should be persisted rather than recomputed on every read, and the reporting team wants the history", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "design spec for the route timeline in the desktop app, build it with our vue components:\n\nRoute timeline (desktop, 1440px+)\n- Horizontal band per vehicle, 44px tall, stacked with 8px gaps, virtualised past 40 vehicles.\n- Time axis pinned at the top, hour ticks, current time as a 2px accent line with a small label.\n- Stops render as blocks proportional to service time, minimum 12px wide, 2px radius; late stops get a hatched fill.\n- Hovering a stop shows a popover with address, window, ETA and delay; keyboard focus does the same.\n- Dragging a stop between bands reassigns it, with a drop shadow and a live delta badge showing the ETA change.\n- Selection: click selects, shift-click range selects within a band, escape clears.\n- Zoom control at 4 steps (whole day / 6h / 2h / 30m), keeps the pointer position anchored.\n- Empty band shows \"No stops assigned\" and stays droppable.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "solver returns empty on 900-stop routes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "same as the last one but bigger", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "an intermittent report from two fleets that a stop occasionally shows on the wrong vehicle for a few seconds after a reassignment, then corrects itself. that smells like an optimistic update racing the pull, but i can't reproduce it and neither can support", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "planner grid is unusable with a screen reader according to a customer, and it's our own component rather than a library. make it keyboard navigable with a proper grid role, add a keyboard alternative to drag and drop, and stop using colour alone for the delay column", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "before we build the ETA push i want the design written — transport, sequencing, backpressure, what we do when a partner's endpoint is down — and then the outbound sender itself, against whatever we land on", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "routing service panicked in prod, first time in eight months:\n\nthread 'route-worker-3' panicked at src/solver/insertion.rs:212:34:\nindex out of bounds: the len is 0 but the index is 0\nstack backtrace:\n   0: rust_begin_unwind\n   1: core::panicking::panic_fmt\n   2: core::panicking::panic_bounds_check\n   3: fleetd::solver::insertion::best_insertion\n             at ./src/solver/insertion.rs:212:34\n   4: fleetd::solver::Solver::improve\n             at ./src/solver/mod.rs:88:21\n   5: fleetd::worker::handle_job\n             at ./src/worker.rs:141:9\n   6: tokio::runtime::task::harness::Harness<T,S>::poll\nnote: Some details are omitted, run with `RUST_BACKTRACE=full`\n\njob 88421, 0 stops, 4 vehicles — a depot with no deliveries scheduled, which shouldn't be a job at all", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "electron main process log from a customer whose app hangs on launch, macOS 15:\n\n[main] app ready in 412ms\n[main] creating BrowserWindow 1200x800\n[updater] checking https://releases.fleetdesk.io/latest-mac.yml\n[db] opening sqlite at /Users/x/Library/Application Support/FleetDesk/local.db\n[db] running migration 0041_add_route_cache\n[db] migration 0041 took 18441ms\n[main] window did-finish-load\n[renderer] hydrating 41 cached routes\n[renderer] Uncaught (in promise) Error: IPC channel closed\n    at EventEmitter.<anonymous> (renderer.js:1:88112)\n[main] window unresponsive\n[main] window responsive\n[main] window unresponsive\n\nthey have about 90k rows in route_cache, most users have a few hundred", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "java service throwing these under load, about 40 a minute since the last deploy:\n\njava.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 30000ms in 'flatMap' (and no fallback has been configured)\n\tat reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:295)\n\tat io.fleet.dispatch.AssignmentService.assign(AssignmentService.java:141)\n\tat io.fleet.dispatch.DispatchController.postAssignment(DispatchController.java:66)\n\tSuppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:\nError has been observed at the following site(s):\n\t*__checkpoint ⇢ Request to POST /v1/assignments [DispatchHandler]\nOriginal Stack Trace:\n\t\tat io.fleet.dispatch.AssignmentService.lambda$assign$4(AssignmentService.java:139)\n\nthe downstream geocoder it calls reports p99 of 80ms and no errors", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "mqtt broker log from the depot gateway, devices drop off in batches:\n\n1753843201: New client connected from 10.2.4.71 as gw-depot-04 (p2, c0, k60, u'depot')\n1753843261: Client gw-depot-04 has exceeded timeout, disconnecting.\n1753843262: New client connected from 10.2.4.71 as gw-depot-04 (p2, c0, k60, u'depot')\n1753843263: Client gw-depot-04 already connected, closing old connection.\n1753843323: Client gw-depot-04 has exceeded timeout, disconnecting.\n1753843324: New connection from 10.2.4.71 on port 8883.\n1753843324: Client gw-depot-04 disconnected due to protocol error.\n1753843384: Socket error on client gw-depot-11, disconnecting.\n1753843385: Client gw-depot-11 disconnected: Out of memory.\n\nbroker memory sits at 60% and the network graph is flat", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "git bisect finished and i don't believe the result:\n\n41c9e0b8f2a1d3e4c5a6b7c8d9e0f1a2b3c4d5e6 is the first bad commit\ncommit 41c9e0b8f2a1d3e4c5a6b7c8d9e0f1a2b3c4d5e6\nAuthor: dana <dana@fleet.io>\nDate:   Tue Jul 14 09:12:44 2026 +0200\n\n    chore: enable strict null checks in the shared package\n\n tsconfig.base.json          |  3 ++-\n packages/shared/src/geo.ts  | 12 +++++------\n 2 files changed, 8 insertions(+), 7 deletions(-)\n\nbisect run success\n\nthe symptom is that route ETAs are 3-4 minutes off in the desktop app but correct in the web app, and this commit doesn't touch either of them directly", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "kubectl describe on the training job pod, it never gets scheduled:\n\nEvents:\n  Type     Reason             Age                From                Message\n  ----     ------             ----               ----                -------\n  Warning  FailedScheduling   4m12s              default-scheduler   0/14 nodes are available: 6 Insufficient nvidia.com/gpu, 8 node(s) had untolerated taint {workload: training}\n  Normal   NotTriggerScaleUp  3m50s              cluster-autoscaler  pod didn't trigger scale-up: 2 max node group size reached, 1 node(s) had volume node affinity conflict\n  Warning  FailedScheduling   2m01s              default-scheduler   0/14 nodes are available: 6 Insufficient nvidia.com/gpu, 8 node(s) had untolerated taint {workload: training}\n\nrequests: nvidia.com/gpu: 4, memory: 200Gi\ntolerations: [{key: workload, operator: Equal, value: inference}]\n\nthe same manifest worked last week", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "des tests flaky depuis lundi, toujours les mêmes trois, jamais en local :\n\nFAILED tests/test_routing.py::test_two_vehicles_share_a_depot - AssertionError: assert 41.2 == approx(41.19999999 ± 1.0e-06)\nFAILED tests/test_routing.py::test_time_windows_respected - IndexError: list index out of range\nFAILED tests/test_eta.py::test_eta_matches_matrix - assert datetime(2026, 7, 27, 14, 3) == datetime(2026, 7, 27, 14, 2)\n\n=========================== short test summary info ============================\n3 failed, 1841 passed, 12 skipped in 214.88s\n\nrandom seed: 8412 (pytest-randomly)\nworkers: 8 (pytest-xdist)\n\nsur ma machine avec -p no:randomly tout passe", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "fr"}
{"prompt": "valgrind on the gateway firmware simulator, it leaks a few KB an hour in the field:\n\n==41221== HEAP SUMMARY:\n==41221==     in use at exit: 84,112 bytes in 1,204 blocks\n==41221==   total heap usage: 88,441 allocs, 87,237 frees, 12,884,112 bytes allocated\n==41221==\n==41221== 68,224 bytes in 1,066 blocks are definitely lost in loss record 41 of 44\n==41221==    at 0x4C2FB0F: malloc (vg_replace_malloc.c:299)\n==41221==    by 0x40A112: telemetry_frame_new (telemetry.c:88)\n==41221==    by 0x40B4C0: on_publish_ack (mqtt_handlers.c:141)\n==41221==    by 0x40C219: mqtt_loop (mqtt_client.c:412)\n==41221==    by 0x401E77: main (main.c:66)\n==41221==\n==41221== LEAK SUMMARY:\n==41221==    definitely lost: 68,224 bytes in 1,066 blocks\n==41221==    indirectly lost: 15,888 bytes in 138 blocks", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "data loader someone added last sprint. does this actually shuffle the way we think it does?\n\nclass RouteDataset(IterableDataset):\n    def __init__(self, shards, batch_size=64, shuffle_buffer=10_000):\n        self.shards = shards\n        self.batch_size = batch_size\n        self.shuffle_buffer = shuffle_buffer\n\n    def __iter__(self):\n        info = get_worker_info()\n        shards = self.shards if info is None else self.shards[info.id::info.num_workers]\n        buf = []\n        for shard in shards:\n            for row in read_parquet_rows(shard):\n                buf.append(row)\n                if len(buf) >= self.shuffle_buffer:\n                    random.shuffle(buf)\n                    yield from batched(buf, self.batch_size)\n                    buf = []\n        if buf:\n            yield from batched(buf, self.batch_size)\n\nfour workers, 200 shards, and validation loss is suspiciously smooth", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "openapi we publish for partners, section for the assignment endpoint. does this match what a sane client would expect?\n\n  /v1/assignments:\n    post:\n      operationId: createAssignment\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              required: [route_id]\n              properties:\n                route_id: { type: string, format: uuid }\n                driver_id: { type: string, format: uuid, nullable: true }\n                force: { type: boolean, default: false }\n      responses:\n        '200': { description: created }\n        '409': { description: conflict }\n        '422': { description: unprocessable }\n        default: { description: error }\n\nno schemas on any response, and `force` isn't described anywhere else either", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "benchmark numbers from the solver rewrite. is this a real win or did we just move the cost around?\n\n                        old        new       delta\nsolve_small (20 stops)  4.2ms      1.1ms     -74%\nsolve_med (120 stops)   88ms       31ms      -65%\nsolve_large (900 stops) 6.1s       7.8s      +28%\nmemory_large            210MB      1.4GB     +566%\nfirst_feasible_large    0.9s       4.4s      +388%\nalloc_count_large       88k        2.1M      +2286%\n\ncriterion, 100 samples, same machine, both release builds with lto=thin\n\nmost of our customers are in the 50-300 stop range but our three biggest accounts are all above 800", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "这是我们同事写的 IPC 层，我看着有点不安全，帮我判断一下：\n\nipcMain.handle('db:query', async (event, sql, params) => {\n  const db = getDb()\n  return db.prepare(sql).all(...(params ?? []))\n})\n\nipcMain.handle('fs:read', async (event, path) => {\n  return fs.promises.readFile(path, 'utf8')\n})\n\nipcMain.on('window:setTitle', (event, title) => {\n  BrowserWindow.fromWebContents(event.sender)?.setTitle(title)\n})\n\n// preload.js\ncontextBridge.exposeInMainWorld('api', {\n  query: (sql, params) => ipcRenderer.invoke('db:query', sql, params),\n  readFile: (p) => ipcRenderer.invoke('fs:read', p),\n})\n\n渲染进程会加载第三方的地图 SDK", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "zh"}
{"prompt": "github actions workflow for the model training image. anything here that explains why builds take 40 minutes?\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: docker/setup-buildx-action@v3\n      - run: pip install -r requirements-dev.txt\n      - run: pytest -q\n      - uses: docker/build-push-action@v6\n        with:\n          context: .\n          push: true\n          tags: ghcr.io/fleet/trainer:${{ github.sha }}\n      - run: python tools/export_onnx.py --checkpoint artifacts/last.ckpt\n      - uses: actions/upload-artifact@v4\n        with:\n          name: onnx\n          path: artifacts/*.onnx\n\nno cache configuration anywhere, and requirements-dev.txt pins torch", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "a short internal note explaining why we're moving inference off the solver box, for the platform team's decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "our health endpoint returns 200 while the solver queue is completely stalled, it should at least check the worker heartbeat", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "the sync indicator in the desktop titlebar has five states in the design and two in the code, so users see a spinner for offline, errors and conflicts alike. implement the full set — idle, syncing after a delay, offline with a pending count, conflict with an amber dot, and a failure state with a retry link — and make sure none of them rely on colour alone", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "training config is read from argparse, a yaml file and environment variables, with precedence that differs per field and one place where they're multiplied together. unify it into a single resolved config object, keep every current default exactly as it is, and make the precedence explicit and testable", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "a nightly export of closed routes to the customer's SFTP, csv, one file per depot, with a manifest and a checksum", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "our on-call rotation covers three services with wildly different failure modes, and the alerting was set up per-service by different people. what should a coherent alerting story look like?", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "the queue implementation has a claim TTL, a heartbeat, a dead-letter threshold and a release command, and every person on the team describes their interaction differently. read it and give me the actual semantics: when a claim expires, what happens to a job whose worker died mid-solve, whether a job can run twice, and what the dead-letter table really means", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "stop detail popover currently opens on hover, closes when the pointer leaves, and traps nothing, which means keyboard users never see it and touch users on the surface tablets get it stuck open. rework it as a proper popover with focus management, an escape key, a small delay before opening, and behaviour that makes sense when the underlying row moves because a sync landed", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "desktop app's local database has grown to a gigabyte for our biggest customers and i don't know whether that's the route cache, the telemetry buffer or something we forgot to prune. work out what's actually in there and which of it is load-bearing", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "training loss goes to NaN somewhere between step 4000 and 6000, but only when we enable the traffic features, and only on the multi-GPU runs. single GPU with the same config and seed is fine for a full epoch", "purpose": "debugging", "secondary": "planning", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "coverage report after the sprint, and management wants a number. what does this actually tell us?\n\nName                              Stmts   Miss  Cover   Missing\n---------------------------------------------------------------\nfleet/solver/insertion.py           412     18    96%   88-91, 212-218\nfleet/solver/local_search.py        388    141    64%   102-188, 240-291\nfleet/eta/matrix.py                 190      4    98%   77-80\nfleet/eta/traffic.py                144    144     0%   1-144\nfleet/api/routes.py                 266     31    88%   41-52, 188-201\nfleet/api/assignments.py            180     12    93%   66-77\nfleet/jobs/nightly.py               121    121     0%   1-121\n---------------------------------------------------------------\nTOTAL                              1701    471    72%\n\ntraffic.py and nightly.py are the two things that page us most often", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "endpoint below is what partners integrate against, and the only documentation is this handler. write the reference page:\n\n@PostMapping(\"/v1/assignments\")\npublic ResponseEntity<AssignmentDto> post(@RequestBody @Valid AssignmentRequest req,\n                                          @RequestHeader(\"Idempotency-Key\") String key) {\n    if (req.driverId() == null && !req.force()) {\n        throw new BadRequest(\"driver_id required unless force=true\");\n    }\n    var existing = idempotency.find(key);\n    if (existing != null) return ResponseEntity.ok(existing);\n    var a = service.assign(req.routeId(), req.driverId(), req.force());\n    idempotency.put(key, a, Duration.ofHours(24));\n    return ResponseEntity.status(201).body(AssignmentDto.from(a));\n}\n\nmention that force=true auto-selects the nearest available driver, that 200 means replayed and 201 means created, and that the key is scoped per tenant", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "protobuf schema for the telemetry stream, and partners keep asking what the fields mean. document it properly:\n\nmessage Telemetry {\n  string device_id = 1;\n  int64 captured_at_ms = 2;\n  Position position = 3;\n  optional float speed_kph = 4;\n  optional float heading_deg = 5;\n  optional int32 battery_pct = 6;\n  repeated Event events = 7;\n  reserved 8 to 11;\n  string firmware = 12;\n}\n\nmessage Event {\n  enum Kind { UNKNOWN = 0; HARSH_BRAKE = 1; IDLE_START = 2; IDLE_END = 3; DOOR_OPEN = 4; }\n  Kind kind = 1;\n  int64 at_ms = 2;\n  map<string, string> attrs = 3;\n}\n\nthings only we know: captured_at_ms is device clock and can be wrong by minutes; heading is absent when stationary; attrs keys are not stable across firmware versions", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "notas de la reunión con operaciones, hay que convertirlas en el documento de requisitos:\n\n- los conductores fichan desde el móvil pero el sistema no sabe si están en el depósito o en ruta\n- las rutas se cierran a las 22:00 aunque el conductor siga entregando, y luego hay que reabrirlas a mano\n- los cambios de última hora llegan por whatsapp al jefe de tráfico, nunca al sistema\n- quieren ver el retraso acumulado por ruta en tiempo real, hoy lo calculan en una hoja de cálculo\n- dos depósitos comparten flota los viernes y eso no se puede modelar\n- si un camión se avería, reasignar sus paradas lleva veinte minutos de trabajo manual", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "es"}
{"prompt": "model card is empty and legal wants one before this ships to customers. what we know:\n\n- gradient boosted model predicting stop service time from historical telemetry\n- trained on 14 months of data from 61 fleets, 8.2M stops, EU only\n- features: stop type, time of day, weekday, vehicle class, historical median for the location, weather bucket\n- excluded deliberately: driver identity, anything that could act as a proxy for it\n- MAE 2.1 minutes overall, 4.8 minutes for stops with fewer than 5 historical observations\n- known weakness: dense urban centres in cities not in the training set\n- retrained quarterly, no online learning, rollback is a config flag\n\nwrite the model card, audience is a customer's procurement team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "support escalation thread, needs to become a known-issues entry:\n\n[09:12] tomas: three customers on 2.8.1 say the app freezes for 20-30s after waking the laptop\n[09:14] pri: reproduced on my mac, only when there are unsynced routes\n[09:20] tomas: the sqlite handle goes stale over sleep i think, we reopen it lazily\n[09:31] pri: confirmed, first query after wake blocks and the UI thread is doing it\n[09:44] tomas: workaround for support: quit and reopen the app, nothing is lost\n[10:02] pri: proper fix is reopening on wake and moving queries off the main thread, that's not this week\n[10:15] tomas: 2.8.2 will have the workaround banner at least\n\nwrite the entry the way our other known-issues entries read: symptom, affected versions, workaround, status", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "cli help output, and the manual page we ship is from two versions ago:\n\nfleetctl solve [OPTIONS] <ROUTE_FILE>\n\nArguments:\n  <ROUTE_FILE>  Route definition in JSON or CSV\n\nOptions:\n  -t, --time-limit <SECONDS>   Stop after this long [default: 30]\n  -s, --seed <SEED>            Deterministic seed for the metaheuristic\n      --strategy <STRATEGY>    [default: guided] [possible values: greedy, guided, exhaustive]\n      --vehicles <N>           Override the vehicle count in the file\n      --relax-windows          Allow time window violations, penalised\n      --emit-intermediate      Print every improvement to stderr as it is found\n      --matrix <PATH>          Precomputed distance matrix\n  -o, --output <PATH>          Write the solution here [default: stdout]\n  -v, --verbose...             Increase logging\n\nrewrite the man page, and note that --exhaustive on more than 200 stops is not practical", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"}
{"prompt": "draft the customer email about the maintenance window from these notes, it goes to 400 fleet managers:\n\n- saturday 09 aug, 01:00 to 05:00 UTC\n- the planning app will be read-only for the whole window, mobile driver app unaffected\n- routes already dispatched keep working, new routes cannot be created\n- reason: moving the route database to a new cluster, needed for the bigger fleets\n- if it overruns we'll extend to 07:00 and post on status.fleetdesk.io\n- no action needed from them, but they should avoid scheduling monday routes on saturday morning\n- support will be staffed throughout", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "o README do repositório do modelo está desatualizado. o que existe hoje:\n\n- treino com `python train.py --config configs/base.yaml`, requer GPU com 40GB+\n- os dados vêm do bucket `fleet-ml-eu`, sincronizados com `make data` (precisa de credenciais AWS)\n- avaliação: `python eval.py --checkpoint <path> --split test`, gera um relatório em `reports/`\n- exportação para ONNX é um passo separado e só funciona com opset 17\n- o serviço de inferência está noutro repositório e espera o modelo em `s3://fleet-models/service-time/vN/`\n- os notebooks em `notebooks/` estão obsoletos, ninguém os usa há um ano\n\nescreve o README para quem chega amanhã", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "pt"}
{"prompt": "cargo audit on the routing service, tell me which of these to bump now and which can wait:\n\nCrate:     openssl\nVersion:   0.10.64\nTitle:     Use-after-free in SSL session handling\nDate:      2026-06-11\nID:        RUSTSEC-2026-0041\nSolution:  Upgrade to >=0.10.68\n\nCrate:     rustls\nVersion:   0.23.10\nTitle:     Panic on malformed certificate chain\nDate:      2026-05-02\nID:        RUSTSEC-2026-0033\nSolution:  Upgrade to >=0.23.14\n\nCrate:     time\nVersion:   0.3.34\nWarning:   unmaintained branch\n\nerror: 2 vulnerabilities found, 1 warning", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "typecheck is failing on the desktop app after the shared package change:\n\npackages/desktop/src/routes/RouteTable.tsx:88:24 - error TS2532: Object is possibly 'undefined'.\n88     const eta = route.stops[0].eta.toISOString()\n                              ~~~~~~~~~~~~~~~\npackages/desktop/src/routes/RouteTable.tsx:141:9 - error TS18048: 'driver' is possibly 'undefined'.\npackages/desktop/src/sync/pull.ts:41:15 - error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.\npackages/desktop/src/sync/pull.ts:66:7 - error TS18047: 'lastSync' is possibly 'null'.\n\nFound 4 errors in 2 files.\n\nstrict null checks got turned on in tsconfig.base.json last week", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "prod config and staging config for the solver, one of these numbers is why staging never reproduces prod timeouts:\n\n# staging/solver.yaml\nsolver:\n  time_limit_seconds: 30\n  workers: 4\n  max_stops_per_job: 2000\n  matrix_cache_ttl_minutes: 60\n  queue_claim_ttl_seconds: 900\n  dead_letter_after: 3\n  strategy: guided\n  emit_intermediate: true\n  heartbeat_seconds: 30\n\n# prod/solver.yaml\nsolver:\n  time_limit_seconds: 8\n  workers: 24\n  max_stops_per_job: 2000\n  matrix_cache_ttl_minutes: 5\n  queue_claim_ttl_seconds: 900\n  dead_letter_after: 3\n  strategy: guided\n  emit_intermediate: false\n  heartbeat_seconds: 30\n\n# what the alert looks like in prod, never in staging\nsolver_job_timeout_total{env=\"prod\"}  41 in the last hour\nsolver_job_timeout_total{env=\"staging\"}  0 in the last 30 days", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"}
{"prompt": "electron-builder config, notarization started failing after the mac runner upgrade:\n\n\"mac\": {\n  \"category\": \"public.app-category.business\",\n  \"hardenedRuntime\": true,\n  \"gatekeeperAssess\": false,\n  \"entitlements\": \"build/entitlements.mac.plist\",\n  \"entitlementsInherit\": \"build/entitlements.mac.plist\",\n  \"notarize\": { \"teamId\": \"8K4L2M9N\" },\n  \"target\": [{ \"target\": \"dmg\", \"arch\": [\"arm64\", \"x64\"] }]\n},\n\nerror log:\n  • signing         file=dist/mac-arm64/FleetDesk.app\n  ⨯ notarization failed  reason=Team ID is required when using notarytool with an App Store Connect API key\n  ⨯ /usr/bin/xcrun exited with code 1", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "eslint on the vue frontend, mostly one rule repeated:\n\n/app/src/components/RouteMap.vue\n  41:3   error  Component name \"map\" should always be multi-word            vue/multi-word-component-names\n  88:11  error  'watchEffect' is defined but never used                     @typescript-eslint/no-unused-vars\n 112:7   warning  Unexpected mutation of \"stops\" prop                       vue/no-mutating-props\n\n/app/src/components/StopList.vue\n  22:5   warning  Unexpected mutation of \"stops\" prop                       vue/no-mutating-props\n  67:9   error  v-for should have explicit key                             vue/require-v-for-key\n\n/app/src/views/PlannerView.vue\n 141:1   error  Expected indentation of 2 spaces but found 4               vue/html-indent\n\n✖ 6 problems (4 errors, 2 warnings)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"}
{"prompt": "terraform plan output, i only wanted to change the instance type:\n\nTerraform will perform the following actions:\n\n  # aws_instance.solver[0] must be replaced\n  -/+ resource \"aws_instance\" \"solver\" {\n      ~ instance_type = \"c6i.4xlarge\" -> \"c7i.4xlarge\" # forces replacement\n      ~ private_ip    = \"10.2.4.71\" -> (known after apply)\n      ~ id            = \"i-0a11c3f2\" -> (known after apply)\n    }\n\n  # aws_lb_target_group_attachment.solver[0] must be replaced\n  -/+ resource \"aws_lb_target_group_attachment\" \"solver\" {\n      ~ target_id = \"i-0a11c3f2\" -> (known after apply) # forces replacement\n    }\n\n  # aws_ebs_volume.solver_cache[0] will be destroyed\n  - resource \"aws_ebs_volume\" \"solver_cache\" {\n      - size = 500 -> null\n    }\n\nPlan: 2 to add, 0 to change, 3 to destroy.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "dockerfile for the trainer image, it's 14GB and takes forever to push:\n\nFROM nvidia/cuda:12.4.1-devel-ubuntu22.04\nRUN apt-get update && apt-get install -y python3.11 python3-pip git curl build-essential\nCOPY . /workspace\nWORKDIR /workspace\nRUN pip install -r requirements-dev.txt\nRUN pip install -r requirements.txt\nRUN python -c \"import torch; print(torch.__version__)\"\nRUN make data\nENV PYTHONPATH=/workspace\nCMD [\"python\", \"train.py\", \"--config\", \"configs/base.yaml\"]\n\nrequirements-dev.txt includes pytest, ruff, notebook and jupyterlab", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "three functions that convert between our coordinate types, in three files, all slightly different. one of them, please:\n\n// packages/shared/src/geo.ts\nexport const toLatLng = (p: Point): LatLng => ({ lat: p.y, lng: p.x })\n\n// packages/desktop/src/map/convert.ts\nexport function pointToLatLng(p: { x: number; y: number }) {\n  return { lat: Number(p.y.toFixed(6)), lng: Number(p.x.toFixed(6)) }\n}\n\n// packages/web/src/lib/coords.ts\nexport const asLatLng = (p: Point | LatLng): LatLng =>\n  'lat' in p ? p : { lat: p.y, lng: p.x }\n\nthe rounding in the desktop one is deliberate — the map SDK chokes on more precision", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"}
{"prompt": "this module has one function doing five things and i want the same output with seams i can test:\n\ndef build_features(stops, telemetry, weather, cfg):\n    df = pd.DataFrame([s.__dict__ for s in stops])\n    df[\"hour\"] = pd.to_datetime(df[\"arrived_at\"]).dt.hour\n    df[\"weekday\"] = pd.to_datetime(df[\"arrived_at\"]).dt.weekday\n    tel = pd.DataFrame(telemetry)\n    tel = tel[tel[\"speed_kph\"] < 200]\n    df = df.merge(tel.groupby(\"stop_id\").agg({\"idle_s\": \"sum\"}), on=\"stop_id\", how=\"left\")\n    wx = pd.DataFrame(weather).rename(columns={\"t\": \"temp\"})\n    df = df.merge(wx, on=[\"lat_bucket\", \"lon_bucket\", \"hour\"], how=\"left\")\n    df[\"temp\"] = df[\"temp\"].fillna(df[\"temp\"].median())\n    df[\"hist_median\"] = df.groupby(\"location_id\")[\"service_s\"].transform(\"median\")\n    if cfg.drop_sparse:\n        df = df[df.groupby(\"location_id\")[\"service_s\"].transform(\"count\") >= 5]\n    return df.drop(columns=[\"arrived_at\", \"raw\"]), df[\"service_s\"]", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "legacy naming that predates the fleet/route split, i want it consistent across the java service:\n\nclass TripPlanner { ... }          // actually plans routes\nclass RouteService { ... }         // actually manages assignments\nclass AssignmentRepository { ... } // stores trips\ninterface TripRepository { ... }   // stores routes\nrecord TripDto(...) { }            // serialised as \"route\" in json\nenum TripStatus { PLANNED, DISPATCHED, DONE }  // route status in the API\n\nthe json field names are public API and cannot change; everything internal should line up with what the API calls things", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "vier Konfigurationsklassen, die alle dasselbe tun. Bitte zusammenführen, ohne Verhalten zu ändern:\n\n@ConfigurationProperties(\"solver\")\npublic record SolverProps(int timeLimitSeconds, int workers) {}\n\n@Component\npublic class SolverConfig {\n  @Value(\"${solver.time-limit-seconds:30}\") int timeLimit;\n  @Value(\"${solver.workers:4}\") int workers;\n}\n\npublic class SolverSettings {\n  public static int timeLimit() { return Integer.parseInt(System.getenv().getOrDefault(\"SOLVER_TIME_LIMIT\", \"30\")); }\n}\n\n@ConfigurationProperties(\"fleet.solver\")\npublic record LegacySolverProps(Integer timeLimit, Integer workerCount) {}\n\nalle vier werden irgendwo im Code gelesen", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "de"}
{"prompt": "quarterly planning input from ops, i need a technical roadmap out of it:\n\n- two new customers in Q4, one with 900 vehicles across 11 depots, one with 40\n- the big one wants live ETA updates pushed to their own customer app\n- ops wants to stop doing manual reassignment when a vehicle breaks down\n- finance wants per-route cost, which we don't compute at all today\n- the solver team wants six weeks to finish the large-instance work or they'll keep firefighting\n- we lose one backend engineer to parental leave in October\n- the desktop app has to keep shipping monthly regardless", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "architecture ticket, unassigned, and i want to think before someone picks it up:\n\nPLAT-204 — Split the monolith's dispatch module\nDispatch (assignment, driver state, notifications) shares a database and a deployment with planning (routes, solver jobs). Deploys of either block the other, and the assignment tables are the hottest thing in the database. The proposal on the table is a separate service with its own database and an event stream between them. Concerns raised so far: assignment reads join route data on every request; we have no event infrastructure; the mobile driver app talks to both; and there is one shared `tenants` table that everything reads.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "ML team's wishlist versus what we can actually run. sequence this for me:\n\n- retrain service-time model monthly instead of quarterly (needs a pipeline, currently a laptop job)\n- add traffic features from the new provider (contract signed, no integration)\n- online evaluation: compare predicted vs actual per fleet, alert on drift\n- move inference off the solver box (it's stealing CPU during solves)\n- a proper feature store, or at least stop recomputing features in three places\n- reproducible training runs — right now nobody can rebuild last quarter's model\n\ntwo ML engineers, one platform engineer at 50%", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "customer requirement doc, the part we haven't estimated:\n\n\"The System shall provide offline operation for the Planner desktop application. Planners must be able to view all routes for the current and following day, modify stop sequences, and reassign drivers while disconnected. Changes made offline must be reconciled automatically on reconnection with a clear indication of any conflict. The System shall retain at least 30 days of route history locally. Reconciliation must never silently discard a planner's change. The offline dataset shall not exceed 2 GB on disk.\"\n\nwe have none of this today and the contract is signed. i want the plan, the risks, and what we should push back on", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "ticket from design with the states enumerated, the sync indicator in the desktop titlebar:\n\nSync indicator\n- Idle: no icon, no text.\n- Syncing: 14px spinner, label \"Syncing…\" in secondary text, appears only after 400ms so quick syncs don't flash.\n- Offline: 14px cloud-slash icon, label \"Offline\", tooltip lists the number of pending changes.\n- Conflict: amber dot on the icon, label \"Needs attention\", clicking opens the conflict drawer.\n- Error: destructive icon, label \"Sync failed\", tooltip has the error and a Retry link.\n- Transitions between states fade over 150ms; the label width animates so the titlebar doesn't jump.\n- All states must be readable at 200% display scaling and must not rely on colour alone.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "accessibility ticket for the planner grid, from an actual customer complaint:\n\n\"Our dispatcher uses a screen reader and cannot use the planning grid at all. Tabbing moves focus into the grid and then it is trapped — arrow keys do nothing, and the only way out is to reload the page. Stop rows are announced as 'button' with no context. The delay column uses red and green only, which our colour-blind planner cannot distinguish. Drag and drop is the only way to reassign a stop, and there is no keyboard alternative.\"\n\nthe grid is our own component, `PlannerGrid.vue`, about 700 lines", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "モックの指示書です。配車画面の右パネルを実装してください:\n\n右パネル（幅 360px、折りたたみ可）\n- 見出しは「未割当の停車地」、件数をバッジで表示（0 件のときはバッジ非表示）。\n- 各行：住所（14px）、時間枠（12px、グレー）、右端に推定作業時間（12px）。行の高さ 56px、区切り線 1px、ホバーで背景 4%。\n- 行をドラッグするとタイムラインへ割当。ドラッグ中は行を 60% 不透明にし、ドロップ可能な車両バンドを 8% でハイライト。\n- 検索ボックスは上部に固定、入力から 200ms のデバウンス、住所・顧客名・伝票番号を対象。\n- 並び替え：時間枠が早い順 / 距離が近い順（トグル、既定は時間枠）。並び替えの状態は保存する。\n- 空状態：「未割当はありません」を中央にグレーで、上に 48px の余白。\n- パネルを折りたたむと 40px の縦タブになり、件数だけ表示。折りたたみ状態は次回起動時も維持。\n- 読み込み中：行のスケルトンを 6 件表示、スピナーは使わない。\n- エラー時：パネル上部に赤い帯で「読み込みに失敗しました」と再試行リンク（ダイアログは出さない）。\n- 200% の表示スケールでも文字が切れないこと。キーボードのみで行の選択と割当ができること。", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "ja"}
{"prompt": "partner spec for the ETA push they want, build our side:\n\nPOST to a URL they register, at most once every 30 seconds per route, only when the ETA moves by more than 2 minutes.\nbody: { route_id, vehicle_id, stops: [{ stop_id, eta, confidence, delay_minutes }], generated_at }\nauth: mutual TLS, their cert pinned; rotate without downtime twice a year\nretries: 3 attempts, exponential, then drop and count a metric — never queue indefinitely\nordering: they must be able to detect out-of-order delivery, so include a monotonically increasing sequence per route\nvolume: 900 vehicles, roughly 40 stops each, peak 08:00-10:00 local\nthey will disable the integration if we exceed 1 request per second sustained", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "schema we agreed in the design review, now needs building:\n\nCREATE TABLE route_costs (\n  route_id      uuid PRIMARY KEY REFERENCES routes(id) ON DELETE CASCADE,\n  tenant_id     uuid NOT NULL,\n  distance_m    bigint NOT NULL,\n  drive_seconds bigint NOT NULL,\n  service_seconds bigint NOT NULL,\n  fuel_cents    bigint NOT NULL,\n  labour_cents  bigint NOT NULL,\n  toll_cents    bigint NOT NULL DEFAULT 0,\n  computed_at   timestamptz NOT NULL,\n  inputs_hash   text NOT NULL\n);\n\ncosts are computed after a route is closed, from the vehicle's cost profile and the actual telemetry, and recomputed if telemetry arrives late. the recompute must be idempotent and must not fire the downstream reporting webhook twice for the same inputs_hash.", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "depot marker icon is the wrong asset", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
{"prompt": "rustls to 0.23.14", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"}
{"prompt": "csv export is missing the tenant column", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
{"prompt": "matrix cache TTL back to 60 minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"}
{"prompt": "el tooltip dice «kilometros», falta la tilde", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "es"}
{"prompt": "drop jupyterlab from the trainer image", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "lifecycle rule on the checkpoint bucket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "unused `watchEffect` import in RouteMap", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"}
{"prompt": "teamId belongs in the notarize block", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "dead letter threshold from 3 to 10", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"}
{"prompt": "Feature-Flag `live_eta` in Staging aktivieren", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "de"}
{"prompt": "a colleague's benchmark says the solver rewrite is a 65% improvement and the large-instance regression is \"a tuning issue\", and i'm not equipped to argue. look at the numbers and the code together and tell me whether the allocation explosion on big instances is inherent to the new approach or genuinely something we can tune away", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "our route map redraws every marker on every telemetry tick, which at 900 vehicles means the planner's fan spins up and the map stutters whenever anything moves. keep the visual result identical but only update what changed, and while you're in there the cluster expansion animation should not restart when an unrelated vehicle updates", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "the electron main process registers thirteen ipc handlers that each open with the same timing, try/catch and logging boilerplate, and two of them get the error shape subtly wrong so the renderer treats a failure as success. collapse them onto one registration helper with the current behaviour preserved, then make the two odd ones consistent with the rest", "purpose": "refactor", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "late stops should be hatched, not red", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "collapse the right panel to a tab", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "loss curves need a log-scale toggle", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "タイトルバーの同期アイコンを小さくして", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "ja"}
{"prompt": "delay column needs an icon too", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "timeline jumps when the label widens", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "`TripPlanner` should be `RoutePlanner`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "extract the guard clause from the handlers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "split build_features into steps", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "les quatre classes de config, une seule", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "fr"}
{"prompt": "pull the retry policy into one helper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "inline `asLatLng`, single caller now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "move the ipc handlers into one registrar", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "docstrings for the telemetry proto fields", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "release notes for desktop 2.9", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "kurzer Blogpost über die neue Routenansicht", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "de"}
{"prompt": "man page for `fleetctl solve`", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "document the 409 on /v1/assignments", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "changelog line for the ETA webhook", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "quién llama a `RouteService.close`?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "es"}
{"prompt": "safe to expose `force` to partners?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "walk me through the claim TTL logic", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "does the shuffle buffer cross shards?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "ETAs drift after midnight UTC", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "warum verliert der Gateway alle 60s die Verbindung?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"}
{"prompt": "webhook endpoint for driver check-ins", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "design the cost pipeline, then build the writer", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "map out the offline story, then start on storage", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "back to the routing thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "unbreak it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "proceed", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "lo de siempre con las rutas", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "es"}
{"prompt": "make the numbers look better", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
{"prompt": "pick up the depot work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "another pass on the solver", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "whatever is quickest", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
{"prompt": "次のスプリントの分、よろしく", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"}
{"prompt": "tidy up before the demo", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "faz aquilo dos relatórios", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "pt"}
{"prompt": "one more look at this", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "live ETA push to a customer's own app is the thing that wins us the 900-vehicle account, and we've never pushed anything to anyone. i want to think through the transport, the fan-out, what we do when their endpoint is down for an hour, and how we avoid melting our own database recomputing ETAs every thirty seconds for forty thousand stops", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "per-route cost has been asked for by finance three quarters running and every time we discover another input we don't have — tolls, driver overtime bands, fuel prices that vary by depot, and vehicle depreciation that accounting computes differently from us. work out what a first version could honestly claim to measure, and what it would take to make it defensible", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "reproducibility of training runs is embarrassing: nobody can rebuild last quarter's model, the data snapshot isn't versioned, and the config that produced it lives in someone's shell history. lay out what we'd need — data versioning, run tracking, environment pinning — in an order where each step is useful on its own rather than a six-month platform project", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "breakdown reassignment is twenty minutes of manual work today and ops want it automatic, which sounds simple until you consider that stops have time windows, some drivers aren't certified for refrigerated loads, and the customer app has already told recipients an ETA. sketch how automatic reassignment should behave, including when it should refuse and ask a human", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"}
{"prompt": "splitting dispatch out of the monolith keeps coming up and i want a position before the next architecture review. specifically: whether the shared tenants table is a blocker, what the event stream would need to guarantee, and whether we'd end up with a distributed monolith given how much assignment reads join route data", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"}
{"prompt": "partners integrate against three endpoints and the only real documentation is a postman collection someone exported in 2024. write the integration guide: authentication, the assignment lifecycle, what each status means, idempotency, retry expectations, and a worked example from creating a route to receiving the completion webhook", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "solver has three strategies and the only place their differences are recorded is a comment that says \"guided is usually better\". document what each one does, when to use it, what the time limit means for each, and the fact that exhaustive is unusable past two hundred stops — for engineers, not for customers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "telemetry ingest API is documented as \"see the proto file\", which is not documentation. write the reference: endpoint, auth, batching limits, what happens when the device clock is wrong, which fields are optional in practice versus in the schema, and the error codes with what a device should do about each", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "prospect's security team asked for our data flow documentation and we don't have any. from the code, work out what leaves our network — the geocoder, the traffic provider, the notification vendor — what fields go to each, and write it up in a form a security reviewer would accept", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "coordinate conversion helpers have drifted between the three packages and the desktop one rounds to six decimals on purpose, which nobody knew until today. consolidate them into the shared package with the rounding as an explicit option, update every call site, and keep the map SDK working exactly as it does now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "nobody has been able to tell me what the solver does when two vehicles could serve the same stop at the same cost, and the tie-breaking matters for a customer who says their routes are non-deterministic. read the insertion and local-search code and explain the actual behaviour", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "gradle config aside, our CI is slow because the trainer image rebuilds torch every run, and i'd like both the diagnosis and the fix in one go — work out where the forty minutes actually goes, then restructure the workflow and the dockerfile so it's cached properly", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "we've agreed to do monthly retraining but not how, and the pipeline has to exist before october. i want the design for the whole loop first — data snapshot, training, evaluation gates, promotion — and then the snapshot step implemented so the data team can start using it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "desktop app needs an offline mode and the contract says so, but the shape isn't decided. think it through with me — what we cache, how conflicts surface to the planner, the 2GB budget — and then set up the local schema so the sync work can start behind it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "das Zusammenspiel von Solver und Queue ist nirgends beschrieben und gleichzeitig ziemlich verworren. Ich hätte gern erst ein Konzept, wie die Zuständigkeiten sauber getrennt wären, und danach den ersten Umbauschritt am Worker", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "de"}
{"prompt": "partner-facing docs and our actual API have drifted far enough that support answers questions by reading code. write the corrected reference for the three public endpoints, and fix the two response payloads where the API is genuinely wrong rather than the docs", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "runbook for a stuck solve queue is one line and the real procedure lives in two people's heads. write the proper page — the checks, the release command, when to escalate — and add the `queue peek --stuck` output format to the CLI docs while you're there", "purpose": "writing", "secondary": "backendImpl", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"}
{"prompt": "escreve a documentação do endpoint de telemetria para os parceiros e, já agora, valida no código se os campos opcionais que documentamos são mesmo opcionais — desconfio que dois deles são obrigatórios na prática", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "pt"}
{"prompt": "ipc layer has thirteen near-identical handlers and no documentation of what a handler is allowed to do. collapse them into one registration helper, then write the short contributor note explaining how to add a new one", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"}
{"prompt": "i'd like an honest read of whether our assignment endpoint is safe under concurrent dispatchers — the existsBy check followed by a save looks like a classic race — and if it is broken, the fix with a test that fails without it", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "there are two ways to construct a `Route` in the java service, a builder and a static factory, and half the code uses each", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "python package has utils.py, helpers.py and common.py, which between them contain forty functions and no organising principle", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "quick sanity check on the electron preload script before we ship it to customers who load a third-party map SDK in the renderer", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "someone should explain what our model actually predicts before the customer call tomorrow, in terms that survive a procurement questionnaire", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "is the coverage number we're about to report to management meaningful given that our two most incident-prone modules are at zero?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "what guarantees does our telemetry ingest actually make about ordering, and is that written down anywhere a partner could read?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "before i extend the assignment API, a plain description of what the `force` flag does today and which clients rely on it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "docs/architecture.md describes a synchronous solve that we replaced eighteen months ago, bring it in line with the queue-based flow", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "write the deprecation notice for the v0 telemetry endpoint, including the sunset date and what devices need to do", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "`--emit-intermediate` flag prints to stderr but the man page says stdout, and one of the two is wrong", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
{"prompt": "vue linter complains about mutating the `stops` prop in two components, and in one of them it genuinely is a bug", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "vehicle band drag handler fires twice on trackpads, once from pointerup and once from click, and the stop lands in the wrong band", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "we need a testing strategy for the solver that isn't \"run it and see\", given that outputs are heuristic and change with every tuning pass", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "multi-depot fleets that share vehicles on fridays can't be modelled at all today, and two customers now need it — what's the smallest data model change that makes it possible?", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "an endpoint that returns a route's cost breakdown, computed on read from the stored components, cached until the telemetry changes", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "driver check-in needs to record depot vs on-route state, from the mobile app's geofence events, with a manual override for the dispatcher", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "same solve job can be claimed twice if a worker's heartbeat is late, so claims need a fencing token rather than a TTL alone", "purpose": "backendImpl", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "you pick, something small", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"}
{"prompt": "planner grid renders every vehicle band eagerly, so a fleet with 400 vehicles takes eleven seconds to open and then scrolls at about four frames a second on the machines our customers actually use, which are five-year-old windows laptops docked to two monitors. virtualise it, keep the drag-and-drop working across the virtualised boundary, and don't change how it looks at 40 vehicles", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "training dashboard is three matplotlib images regenerated by a cron job and pasted into a static page, which is why nobody looks at it. build it properly in the web app: loss and validation curves with a log-scale toggle, a run selector that can overlay two runs, hyperparameters in a side panel, and a link to the checkpoint in object storage", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "conflict drawer is a placeholder that says \"3 conflicts\" and nothing else, which is worse than useless to a planner deciding whether to keep their change or the server's. show each conflict as a field-level comparison with the two values, who made the other change and when, and a per-conflict choice, defaulting to nothing so an accidental click can't discard work", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "i've been asked to sign off on the assignment service before it goes to the customer with 900 vehicles, and my worry is what happens under concurrent dispatchers, but i also don't want to review it on vibes. go through the transaction boundaries, the existence check before save, the event publish and the notification call, and tell me which of those can leave inconsistent state", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "our data loader shuffles inside a buffer per worker, and validation loss has been suspiciously smooth for three weeks, which makes me think we're leaking ordering into the batches somehow. read the loader, the sharding and the sampler together and tell me whether the shuffle is doing what a person would assume from the name", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "there's a paragraph in the architecture doc about asynchronous solves that gets quoted in every design discussion, and i suspect at least half of it stopped being true when we removed the input hash in march. check each claim in it against the code and tell me which ones survive, because people are making decisions on this", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "assignment, route and trip are used interchangeably across the java service and mean different things depending on the file, with two of them exactly swapped relative to what the public API calls them. rename everything internal to match the API vocabulary, leave the serialised field names alone, and split it into commits a reviewer can actually follow", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "stop sequence numbers get recalculated in the planner grid, in the mapper that reads solver output, and again in the mobile app's local model, and the three implementations have quietly drifted, which is why a stop occasionally shows as number seven in one place and eight in another. one implementation, shared, with the current server behaviour as the reference", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "error responses across the API are a museum: the oldest endpoints return a bare string, the middle ones return `{\"error\": \"...\"}`, and the newest return problem details with a type URI. bring them all to the newest shape without changing a single status code, and keep the string form working for the two partners who parse it, behind a header if that's cleanest", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "feature construction exists three times — in the training script, in the offline evaluation script, and in the inference service — and they have drifted enough that a model scores differently depending on which path builds its inputs. bring them onto one implementation with the training version as the source of truth, and prove the other two produce identical outputs on a sample", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "deployment guide for the routing service stops at \"run the migration\" and says nothing about rollback, which matters because the last two rollbacks were improvised at two in the morning. write the full procedure including the pre-deploy checks, the migration order, what to do when the solver queue has in-flight claims, and how to roll back once the new schema has been written to", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "public status page lists three components with no descriptions and four incident severities that nobody can distinguish, so we've had customers escalate a degraded-performance notice as an outage. write the component descriptions and the severity definitions in language a fleet manager understands, with an example of what each severity feels like from their side", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "we're deprecating the v0 telemetry endpoint in six months and roughly 12,000 devices still use it, most of them on firmware we can't remotely update. write the deprecation notice for the docs, the email to fleet operators explaining what they need to do and by when, and the short internal note about which customers will need hand-holding", "purpose": "writing", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "the CLI's man page has been wrong since at least version 2: it documents `--emit-intermediate` as writing to stdout when the binary writes to stderr, it never mentions that exhaustive search is impractical past two hundred stops, and the default time limit changed last year. fix the page against the actual behaviour, and where the behaviour is the wrong one, say so rather than documenting the bug", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "health endpoint returns 200 whenever the process is up, which is how we managed to have a completely stalled solve queue for forty minutes while every dashboard was green. it should check the worker heartbeat and the queue depth, fail when nothing has been claimed in five minutes, and keep the response cheap enough to be hit every two seconds by the load balancer", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "a fleet reported that route costs were missing for three tenants after last tuesday's nightly run, and the job reported success, which means our error handling swallowed something. no alert fired, nothing in sentry, and the only trace is the absence of rows. work out how a tenant can be skipped silently and what the job would have to log for us to catch it next time", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "stop-level ETAs are recomputed on every read, which is fine at our current size and won't be once the ETA push exists, and separately the reporting team wants the history of what we predicted versus what happened. persist them with a sensible retention, keep reads fast, and think about whether history belongs in the same table before you write anything", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "how should the partner API be versioned once the ETA push exists? we have three endpoints in the wild, two partners who never upgrade anything, and a push integration where the version has to be negotiated rather than requested. i'd like a recommendation with the reasoning, plus what it means for the endpoints we already shipped without a version at all", "purpose": "planning", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "testing the solver is currently \"run it and look at the numbers\", which is why every tuning pass costs a week of nervous manual checking. i want a strategy that gives us confidence without pretending heuristic output is deterministic — golden instances with quality bounds, invariant checks, performance regression gates, whatever fits — and a view on what we'd run per commit versus nightly", "purpose": "planning", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
