{"prompt": "hub firmware updates brick about one device in two hundred:\n\nOTA log from a failed device (recovered over serial):\n  [ota] downloading 4.2.1, 8,412,004 bytes\n  [ota] verifying signature... ok\n  [ota] writing slot B, 8,412,004 bytes\n  [ota] write complete, crc ok\n  [ota] setting boot flag to B\n  [ota] rebooting\n  [boot] slot B invalid magic, falling back to slot A\n  [boot] slot A invalid magic\n  [boot] no valid image, entering recovery\n\nthe boot flag write and the slot B write are on the same flash sector, and the erase before writing the flag wipes the last 4KB of the image", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "our prompt and schema for clause extraction, which i'd like a second opinion on:\n\nSCHEMA = {\n  \"type\": \"object\",\n  \"required\": [\"clauses\", \"governing_law\", \"termination_notice_days\"],\n  \"properties\": {\n    \"clauses\": {\"type\": \"array\", \"items\": {\"type\": \"object\", \"required\": [\"type\", \"text\", \"page\"]}},\n    \"governing_law\": {\"type\": \"string\"},\n    \"termination_notice_days\": {\"type\": \"integer\"}\n  }\n}\n\nEXTRACT_PROMPT = \"Extract all clauses from the following contract. Return JSON matching the schema.\\n\\n{text}\"\n\ntermination_notice_days became required on monday; plenty of contracts don't state one; and the validator's repair loop is what runs when the model omits it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "the hub's state handling is spread across three tasks with shared atomics:\n\nstatic LINK_DOWN: AtomicBool\nstatic MQTT_CONNECTED: AtomicBool\nstatic LAST_PUBLISH_OK: AtomicU64\nstatic OTA_IN_PROGRESS: AtomicBool\n\n// net task sets LINK_DOWN\n// mqtt task reads LINK_DOWN, sets MQTT_CONNECTED and LAST_PUBLISH_OK\n// ota task reads MQTT_CONNECTED, sets OTA_IN_PROGRESS\n// the watchdog reads all four and decides whether to reboot\n\nfour booleans encoding a state machine nobody has written down, and the watchdog's reboot decision is the most safety-relevant code we have\n\nfor reference, the watchdog:\n\nfn watchdog(state: &State) {\n    let link = LINK_DOWN.load(Ordering::Relaxed);\n    let mqtt = MQTT_CONNECTED.load(Ordering::Relaxed);\n    let last = LAST_PUBLISH_OK.load(Ordering::Relaxed);\n    let ota  = OTA_IN_PROGRESS.load(Ordering::Relaxed);\n    if !ota && !link && !mqtt && now_secs() - last > 900 {\n        log::error!(\"watchdog: rebooting, no successful publish for 15 minutes\");\n        reboot();\n    }\n}\n\nnote that a hub deadlocked in publish has MQTT_CONNECTED true and LINK_DOWN false, so the watchdog never fires — which is exactly the field failure we're seeing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "device events through one handler table", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "matchmaking queues stall for one region at peak and i can't see why from the metrics:\n\nmatchmaker_queue_depth{region=\"eu-west\"}        41,882\nmatchmaker_matches_created{region=\"eu-west\"}    0/s   (normally 120/s)\nmatchmaker_ticket_age_p99{region=\"eu-west\"}     412s\nmatchmaker_pool_scan_duration{region=\"eu-west\"} 8.4s  (normally 40ms)\nmatchmaker_backfill_active{region=\"eu-west\"}    1,204\n\nother regions are healthy with the same build. the scan is O(n²) over the pool and eu-west is our biggest region, but this only started last week", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "our device integration API, which three hardware partners build against from a PDF we wrote in 2024:\n\nMQTT topics:\n  hub/{hub_id}/state        hub → cloud, retained, QoS 1, at most every 30s\n  hub/{hub_id}/event        hub → cloud, not retained, QoS 1\n  hub/{hub_id}/cmd          cloud → hub, QoS 1, hub must ack on .../cmd/ack within 5s\n  hub/{hub_id}/ota          cloud → hub, QoS 1, payload is a signed manifest\n\nthings partners get wrong: state is retained so a stale state survives a hub being offline for days; commands are not idempotent and a redelivery after a missed ack will run twice; the ack topic is per-command not per-hub; and QoS 1 means duplicates are expected rather than exceptional\n\nwrite the integration reference for partners", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "the extraction team's list, with finance watching the model bill:\n\n- stop sending the full document in repair prompts; send the failing section\n- make termination_notice_days optional, or teach the model to return null with a reason\n- measure cost per customer per stage, which we currently cannot do at all\n- version prompts and record which version produced which result\n- add a circuit breaker so a rate limit doesn't back up the whole queue\n- evaluate whether the layout model is still needed now that OCR quality improved\n\ntwo engineers, and the bill is the thing leadership is looking at", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "device state lives in the hub's memory, a retained MQTT message and postgres, and all three disagree often enough that support checks all three by habit. work through what a single authoritative store would mean for offline reconciliation, for the automation engine's read latency, and for the three hardware partners who read retained messages today", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "hub firmware encodes its state machine as four static atomics read by four tasks, including the watchdog that decides whether to reboot a device in someone's home. before we touch any of it i'd like agreement on what the states actually are and how they're represented, because the current arrangement is why the deadlock is so hard to reason about", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"}
{"prompt": "what counts as a counter reset?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "extraction quality halved overnight for one customer with no code change, and the only thing that changed on their side was a new scanner. work through the pipeline stage by stage — OCR confidence, layout, chunk sizes — and tell me where the quality is actually lost rather than where it first becomes visible i'd like enough detail that i can hand it to someone else to finish.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "matchmaking again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "clause extraction quality collapsed for one customer overnight, same model, same prompts:\n\nrun 8f2b1c (yesterday): 412 documents, mean clauses extracted 41.2, human agreement 0.91\nrun 91cc40 (today):     409 documents, mean clauses extracted 12.8, human agreement 0.44\n\npipeline stages:\n  pdf → ocr (tesseract 5.3) → layout (our model) → chunker → extractor (LLM) → validator\n\nocr confidence mean: 0.94 → 0.62\nchunker: mean chunk length 1,800 chars → 410 chars\nextractor: prompt unchanged, temperature 0, same model version\n\nthe customer started uploading scans from a new office scanner on monday", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "three places compute a device's \"is online\" state and they disagree:\n\n// api/devices.rs\nfn online(d: &Device) -> bool { d.last_seen_at > Utc::now() - Duration::minutes(5) }\n\n// automation/engine.rs\nfn online(d: &Device) -> bool { d.mqtt_session_present && d.last_state_at.is_some() }\n\n// mobile app (kotlin)\nfun isOnline(d: Device) = d.lastSeenAt.isAfter(Instant.now().minusSeconds(120))\n\nthe automation engine's version is the one that decides whether a rule runs, the app's is what the user sees, and support has learned to check all three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "queue timer is announced every second", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "is the boot flag on its own sector?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "a legal customer's security team asked six specific questions about document handling and our honest answers are mostly uncomfortable. answer each from the code and the contracts, write it as a publishable page, and mark clearly where the answer is \"not today\" rather than dressing it up flag anything you'd want to change before doing it rather than after.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "extraction pipeline module does orchestration, retries, cost accounting and prompt assembly in seven hundred lines. split it, then document which piece owns retries because that's the question every incident starts with", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "what does the automation engine do when a device is offline at evaluation time", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "hubs stop reporting after a few days in the field and only ever recover with a power cycle:\n\n[2026-07-29T02:14:02Z WARN  lumen_hub::mqtt] publish timed out after 30s, topic=hub/8f2b/state\n[2026-07-29T02:14:32Z WARN  lumen_hub::mqtt] publish timed out after 30s, topic=hub/8f2b/state\n[2026-07-29T02:15:02Z ERROR lumen_hub::mqtt] outgoing queue full (1024), dropping message\n[2026-07-29T02:15:02Z INFO  lumen_hub::net] link down (wlan0)\n[2026-07-29T02:15:04Z INFO  lumen_hub::net] link up (wlan0), ip 192.168.1.44\n[2026-07-29T02:15:04Z INFO  lumen_hub::mqtt] reconnect scheduled in 1s\n[2026-07-29T02:15:05Z INFO  lumen_hub::mqtt] connecting to mqtts://ingest.lumen.io:8883\n<no further mqtt log lines, hub keeps running>\n\nthe reconnect task takes the client mutex and the publish path is still holding it waiting on the old socket", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "document uploads fail for exactly one customer and only for large files:\n\nPOST /v1/documents  (multipart, 84MB pdf)\n  → 413 Request Entity Too Large  after 41s\n\nnginx: client_max_body_size 100m\ningress: proxy-body-size: 100m\napp: MAX_UPLOAD_BYTES = 104857600\ncdn: max request body 50MB (not configurable on our plan)\n\nthis customer's uploads go through the CDN because they're on our EU endpoint; everyone else hits the origin directly\n\ntimings from the failing request, captured at the CDN:\n  request started      11:02:14.101\n  bytes received       52,428,800 of 88,080,384\n  connection closed by edge  11:02:55.882\n  status returned to client  413\n\nand from our origin: no request logged at all, so nothing reached nginx\n\nthe customer is on the EU endpoint because of a data residency clause added to their contract in march; everyone else resolves straight to the origin load balancer", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "players report being matched with wildly different skill levels, here's a sample match:\n\nmatch m_88412, mode=ranked_5v5, region=na-east, created 11:02:14\n  team A skill: 1204, 1188, 1211, 1197, 1206  (mean 1201)\n  team B skill: 1198, 1210, 1189, 2410, 1205  (mean 1442)\n  ticket ages at match time: 8s, 11s, 9s, 412s, 10s\n\nour relaxation schedule widens the skill window by 100 every 30 seconds with no cap, and the 412-second ticket had a window of ±1400 by the time it matched", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "could you look at the reconnect logic before i sign off on it? the mutex worries me:\n\npub async fn publish(&self, topic: &str, payload: &[u8]) -> Result<()> {\n    let mut client = self.client.lock().await;\n    client.publish(topic, QoS::AtLeastOnce, false, payload).await\n}\n\nasync fn reconnect_task(state: Arc<State>) {\n    loop {\n        if state.link_down.load(Ordering::Relaxed) {\n            let mut client = state.client.lock().await;\n            *client = MqttClient::connect(&state.opts).await?;\n            state.link_down.store(false, Ordering::Relaxed);\n        }\n        sleep(Duration::from_secs(1)).await;\n    }\n}\n\npublish has a 30 second timeout on the network call but no timeout on acquiring the lock", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "changelog for the hub firmware 4.2.2, which is the recovery release:\n\n41c9e0b fix(ota): boot flag moved to its own flash sector\n88f21c0 fix(ota): image tail verified after the flag write, not before\nc0aa774 fix(mqtt): publish no longer holds the client lock across a network timeout\n2e91b45 feat(energy): counter resets are detected and reported explicitly\naa30f19 fix(net): reconnect backoff is now exponential with jitter, capped at 5 minutes\n9c1d004 chore: bootloader minimum version is now 2.1\n4410bb7 feat(recovery): a hub with no valid image now exposes a recovery access point\nb77e910 fix(time): hub clock is validated against the server before signing telemetry\n\nour readers are partner hardware teams and our own support staff; two of these are the fix for bricked devices and one requires a bootloader update first", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "design spec for the home app's automation editor, which is where users spend their time:\n\nAutomation editor (mobile, portrait)\n- Trigger, conditions and actions as three stacked sections, each a list with an add row at the bottom.\n- Adding a trigger opens a sheet of device categories, then devices, then the trigger for that device — three taps maximum to a common case.\n- A condition that can never be true (a sensor that doesn't report the attribute) is flagged inline at edit time, not on save.\n- Actions show the device's current state next to them, greyed if the device is offline, with the last-seen time on tap.\n- Saving an automation that references an offline device warns but does not block, because devices come back.\n- A test run button executes the actions immediately and shows per-action success or failure, which is the single most requested feature.\n- Everything must be operable one-handed and legible in a dark room at minimum brightness.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "review panes desync on zoom", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "one online check for devices", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "prompts out of the pipeline module", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "why did extraction quality drop overnight?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "energy totals jump backwards", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "eu-west queues stall at peak", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "automation screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "next thing on the board", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "model bill tripled because a schema change made a rarely-produced field required and the repair loop resends the whole document five times. beyond the immediate fix i want a position on how we control model cost structurally — per-stage budgets, circuit breakers, cost attribution per customer — because this will happen again with a different field", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"}
{"prompt": "we owe thirty-eight households an explanation for why their heating controller stopped working overnight and needs replacing. write the customer notification — plain language, no blame-shifting to the update process, clear about the replacement and the timeline — and a separate internal write-up for the hardware team that doesn't spare us", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "internal documentation on model calls doesn't exist, and every engineer rediscovers the retry behaviour, the cost accounting gaps and the fact that a rate limit backs up the whole queue. write the guide for internal developers covering how a call is made, what happens on failure, and what it costs this has come up in three separate reviews now and never gets done.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "nobody can tell me whether the publish path can deadlock against the reconnect task, or whether the symptom is something else entirely — hubs go quiet and only a power cycle helps. read both paths and the lock discipline around the client and tell me exactly what sequence produces a hub that keeps running but never publishes again there's no rush on this week specifically, but it keeps costing us time.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "partner cloud-to-cloud integration lands in october and their protocol has no sequence numbers and no completion callbacks. design how we reconcile out-of-order state and asynchronous commands, then build the webhook receiver against it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "hub's four state atomics should become one state machine. do the conversion, and tell me whether the watchdog's reboot decision changes for any state it currently sees", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "i'd like an honest read of whether a device's energy counter reset can be distinguished from a genuine drop, and if it can, the ingestion change that stops zeroing someone's daily total", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "an 84MB upload fails for one customer with a 413 after forty seconds, and there are five different size limits in the path. find which one it is, then switch that route to the presigned upload path we already have", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "go services each define their own Ticket type and convert at every boundary", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "ingest path should detect and record counter resets rather than clamping the difference to zero", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "clause list needs a confidence indicator", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "queue panel clips at 125% text", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "three hardware partners integrate against our MQTT contract from a PDF written in 2024, and the behaviours they get wrong — retained state surviving an offline hub, non-idempotent commands, duplicates under QoS 1 — are the ones we never wrote down. write the integration reference properly, with those three as prominent sections rather than footnotes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "is our match quality metric measuring anything once the window is uncapped", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "a walkthrough of how a command reaches a device would help before i touch the ack path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "smart plugs report energy readings that jump backwards, which corrupts the daily totals:\n\ndevice plug_4471, cumulative energy Wh:\n  10:00  128,441\n  10:15  128,502\n  10:30  128,560\n  10:45  61,204     ← jump backwards\n  11:00  61,290\n  11:15  61,344\n\nfirmware notes: the counter is a u32 of deciwatt-hours stored in flash, written every 15 minutes, and the device reboots on OTA or brownout\nour ingestion computes daily total as last_reading - first_reading of the day", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "die Automationen feuern doppelt, seit wir die Regel-Engine neu ausgerollt haben:\n\n2026-07-29T18:00:00.114Z rule r_4471 triggered (schedule 18:00) → action: turn_on lamp_881\n2026-07-29T18:00:00.118Z rule r_4471 triggered (schedule 18:00) → action: turn_on lamp_881\n2026-07-29T18:00:00.412Z device lamp_881 state=on\n2026-07-29T18:00:00.418Z device lamp_881 state=on\n\nzwei Instanzen der Engine laufen seit dem Rolling-Update, beide lesen denselben Zeitplan aus Postgres und es gibt keine Sperre; die alte Instanz sollte nach 30 Sekunden beendet werden, hängt aber an einer offenen MQTT-Verbindung", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "de"}
{"prompt": "hub fleet runbook should be a page rather than tribal knowledge, and the broker restart that disconnects four hundred thousand devices deserves a confirmation prompt. write the runbook, then add the guard", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "our on-call runbook for the hub fleet is two lines. what the team actually does:\n\n- \"hubs offline\" is almost always the ingest broker, not the hubs; check broker connection count first\n- a broker restart disconnects 400,000 hubs which then reconnect within 60 seconds — do not do this at peak\n- individual hubs stuck offline are usually the publish deadlock; a remote reboot command won't reach them\n- the OTA rollout must be paused before any broker work, otherwise devices update mid-disconnect\n- `hubctl fleet pause-ota` is the command, and it takes about two minutes to take effect\n- if energy readings stop for a region, check the ingest partition lag before assuming devices are down\n\nwrite the runbook page, in the order a person paged at 3am would need it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "the legal customer's data requirements, which now block a renewal:\n\n\"Documents must be processable within our tenancy, with no document content transmitted to a third-party model provider. Where a provider is used, content must not be retained beyond the request and must not be used for training, evidenced contractually. Partial extraction results must not be persisted if extraction fails. Employee access to document content must be logged with a reason and reviewable by us. Deletion must propagate to all derived artefacts including embeddings and logs within 30 days.\"\n\nwe send full documents to a provider, persist partial results, log document text in our own application logs, and have never traced embeddings on deletion. i want the plan by contractual risk", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "device event handling is a match with a branch per device type, inline debounce logic in two of them, and a silent catch-all that hid a new device type for a month. restructure it into a handler per type with shared debounce and validation, and make an unknown type a loud failure rather than a shrug", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "matchmaking in eu-west stalls at every peak because a live event left the relaxation cap and backfill timeout disabled, but the deeper problem is that our pool scan is quadratic and nobody noticed until the region grew. i want a view on the algorithm itself, not just the config, with the party-matching path's bucketing as the obvious starting point", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"}
{"prompt": "our matchmaker config across regions, and only eu-west stalls:\n\n# na-east\npool_scan_interval: 500ms\nmax_pool_size: 20000\nbackfill_timeout: 60s\nrelaxation_step: 100\nrelaxation_cap: 800\nscan_workers: 8\n\n# eu-west\npool_scan_interval: 500ms\nmax_pool_size: 100000\nbackfill_timeout: 0        # disabled last week for a live event\nrelaxation_step: 100\nrelaxation_cap: 0          # uncapped, also from the live event\nscan_workers: 8\n\nand the two regions' shapes at peak:\n\n  na-east   pool 18,400   scan 42ms    matches 118/s   backfills active 41\n  eu-west   pool 96,200   scan 8,400ms matches 0/s     backfills active 1,204\n  ap-south  pool 11,900   scan 31ms    matches 74/s    backfills active 22\n\nthe eu-west values were set for a live event three weeks ago and the ticket to revert them is still open", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"}
{"prompt": "the partner hardware spec we have to implement on the cloud side:\n\nthe partner's devices speak their own protocol to their own cloud, and we integrate cloud-to-cloud:\n  POST /partner/v1/webhook   they call us on every state change, HMAC-SHA256 signed, at most 50/s per account\n  GET  /partner/v1/devices   we poll for the device list every 6 hours; it is not paginated and returns up to 40k devices\n  POST /partner/v1/command   we send commands; they respond 202 and deliver asynchronously with no completion callback\n  their state changes can arrive out of order and they do not include a sequence number, only a timestamp with second precision\n  a device removed on their side simply stops appearing in the device list\n  they rate limit us to 10 requests per second and will not raise it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "device state ownership needs deciding and the reconciliation path needs building either way. work through the model with me, then implement the reconnect reconciliation so hubs returning after days stop overwriting newer cloud state", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "hub fleet spans four firmware versions and we've never deprecated one", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "what guarantees does the matchmaker make that a ticket eventually matches at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "extraction service has three HTTP clients with three timeout and retry policies, and the one used for model calls is the one with no timeout at all. consolidate them, and tell me which current behaviour each caller was relying on before i sign off on a single policy this is the third time it's bitten us and i'd like it to be the last.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "matchmaking operator guide is one command, while the real knowledge — that queue depth is the wrong signal, that killing a backfill is safe, that restarting drops every ticket — lives in two people's heads. write the guide ordered by what someone paged during a peak needs first it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "so our extraction pipeline's cost tripled with no change in volume:\n\nweek 29: 412k documents, 8.1M model calls, $12,400\nweek 30: 409k documents, 24.8M model calls, $38,100\n\ncall breakdown by stage:\n  classifier   409k → 409k\n  extractor    2.4M → 2.4M\n  validator    5.3M → 22.0M\n\nthe validator retries on a schema mismatch, up to 5 times, and we changed the schema on monday to add a required field the model rarely produces", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "session tokens for the mobile app expire early for some users and they get logged out mid-automation:\n\ntoken issued: 2026-07-29T09:00:00Z, exp 2026-08-28T09:00:00Z (30d)\nrejected at:  2026-07-29T14:12:44Z with \"token expired\"\n\nauth service log:\n  jwt validation failed: token used before issued (iat 1753837200, now 1753818764)\n  node: auth-7d9c4f8b6-x2plq\n\nntp status on that node: offset -18436 seconds, last sync 41 days ago\n\nthree of our twelve auth nodes have drifted, and the app retries against a random node until one accepts", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "ok so our validator's retry loop, which apparently tripled the bill:\n\ndef validate(doc, extracted, schema, attempts=5):\n    for i in range(attempts):\n        try:\n            return Schema(schema).validate(extracted)\n        except ValidationError as e:\n            extracted = call_model(\n                REPAIR_PROMPT.format(errors=e.messages, text=doc.text, previous=extracted)\n            )\n    log.warning(\"validation failed after %d attempts\", attempts)\n    return extracted\n\nthe repair prompt includes the full document text, the schema now has a required field the model rarely produces, and there's no check for whether the repair actually changed anything", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "here's the matchmaking relaxation schedule, which i inherited and don't trust:\n\nfunc (t *Ticket) SkillWindow(now time.Time) int {\n    age := now.Sub(t.CreatedAt)\n    steps := int(age.Seconds()) / 30\n    return baseWindow + steps*100\n}\n\nfunc (m *Matchmaker) scan(pool []*Ticket) []Match {\n    for i := range pool {\n        for j := i + 1; j < len(pool); j++ {\n            if compatible(pool[i], pool[j], time.Now()) { ... }\n        }\n    }\n}\n\nno cap on the window, the scan is quadratic in pool size, and compatible() calls SkillWindow for both tickets on every comparison", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "por favor, revisa el manejo del contador de energía antes de que lo desplieguemos:\n\nfn daily_total(readings: &[Reading]) -> u64 {\n    let first = readings.first().map(|r| r.wh).unwrap_or(0);\n    let last = readings.last().map(|r| r.wh).unwrap_or(0);\n    last.saturating_sub(first)\n}\n\nel contador es un u32 en el firmware, se reinicia a cero tras un OTA o un corte de corriente, y el dispositivo puede enviar lecturas fuera de orden tras una reconexión; saturating_sub devuelve cero cuando hay un reinicio, así que el consumo de ese día simplemente desaparece", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "es"}
{"prompt": "honestly the OTA design doc, written before we had the field failures. does it still hold?\n\n## Update flow\nThe hub downloads the image to slot B, verifies the signature, writes the boot flag and reboots. If slot B fails to boot, the bootloader falls back to slot A.\n\n## Assumptions\n- Slot A always holds a known-good image.\n- The boot flag can be written independently of the slots.\n- A failed update costs a reboot, not a device.\n\n## Not covered\nPower loss during the flag write. Devices whose slot A has itself been updated in place. Recovery without physical access.\n\nwe now know the flag shares a flash sector with the tail of slot B, and about one device in two hundred does not come back", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "right, the query behind our device history screen, which is slow for anyone with more than fifty devices:\n\nSELECT d.id, d.name, d.kind, d.last_seen_at,\n       (SELECT state FROM device_states s WHERE s.device_id = d.id ORDER BY s.at DESC LIMIT 1) AS current_state,\n       (SELECT count(*) FROM device_events e WHERE e.device_id = d.id AND e.at > now() - interval '24 hours') AS events_24h,\n       (SELECT sum(wh) FROM energy_readings r WHERE r.device_id = d.id AND r.at::date = current_date) AS energy_today\nFROM devices d\nWHERE d.home_id = $1\nORDER BY d.name;\n\ndevice_states is 4.1 billion rows, device_events 8.8 billion, energy_readings 12 billion, all partitioned by day", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "quick one — the backfill logic in matchmaking, which i think is why the pool never drains:\n\nfunc (m *Matchmaker) backfill(match *Match) {\n    for len(match.Players) < match.Mode.Size {\n        ticket := m.pool.FindBest(match)      // scans the whole pool\n        if ticket == nil {\n            time.Sleep(500 * time.Millisecond)\n            continue                           // no timeout, no give-up\n        }\n        match.Add(ticket)\n        m.pool.Remove(ticket)\n    }\n}\n\nbackfills hold a slot in the match and are counted as active; there are 1,204 of them in eu-west right now and each one scans the pool twice a second", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "support's notes on the energy dashboard complaints, which need to become a help article:\n\n- daily totals occasionally show zero or a wildly wrong number\n- this happens when a plug reboots, because the cumulative counter restarts at zero\n- our daily total is last minus first, so a reboot mid-day either zeroes it or produces a negative we clamp to zero\n- the plug's own counter also wraps at about 4.2 million Wh, which affects a handful of long-running devices\n- customers see this as \"the app forgot my electricity usage\" and some have asked for refunds\n- the underlying readings are all still there; only the daily aggregation is wrong\n\nwrite the help article, and separately tell me which of these is a data problem and which is a presentation problem", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "incident notes from the bricked hubs, and we owe affected customers an explanation:\n\n09:02 first reports of hubs not coming back after the 4.2.1 update\n10:15 confirmed: 41 devices out of 8,400 updated overnight are unresponsive\n11:40 cause identified: the boot flag shares a flash sector with the tail of slot B\n12:00 OTA rollout paused for all remaining devices\n14:30 recovery requires physical access and a serial cable, which customers do not have\n16:00 decision: replace affected units, 41 devices across 38 customers\n\nthe customers are consumers, the hub controls their heating, and several were without it overnight\n\nwrite the customer notification and a separate internal write-up for the hardware team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "as notas da revisão da pipeline de extração, para transformar em documento de decisão:\n\n- o validador repete até cinco vezes quando o esquema não valida, e cada repetição envia o documento inteiro\n- a alteração de segunda-feira tornou obrigatório um campo que a maioria dos contratos não tem\n- o custo semanal triplicou sem aumento de volume\n- opções: tornar o campo opcional, deixar o validador desistir mais cedo, ou enviar apenas o excerto relevante na repetição\n- a equipa jurídica quer o campo obrigatório porque alimenta um relatório\n- ninguém mede a taxa de sucesso das repetições, portanto não sabemos se ajudam\n\nescreve a nota de decisão com as opções, os custos estimados e uma recomendação", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "pt"}
{"prompt": "fyi the questions our legal customer's security team sent, which need answering as a document:\n\n\"Which parts of a document are sent to the model provider, and is any of it retained by them? Can we run in a mode where documents never leave our tenancy? What happens to a document if extraction fails partway — is a partial result stored? Who at your company can read the contents of an uploaded document, and is that access logged? If we delete a document, is it removed from your model provider's logs as well? Do you use customer documents to improve any model?\"\n\nanswer each from the code and our contracts, and write it as a page we can publish rather than a mail thread", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "heads up: the matchmaking service's operator guide is a single command. reality:\n\n- queue depth over 10,000 in one region means the scan is falling behind, not that players are queueing\n- `mmctl pool stats <region>` shows the pool size and scan duration, which is the actual signal\n- backfills are counted as active matches and can starve the pool; `mmctl backfill list` shows them\n- killing a backfill returns its players to the pool, which is safe and is usually the fix\n- restarting the matchmaker drops every ticket, which players experience as being kicked from the queue\n- the relaxation schedule has no cap, so a stuck ticket eventually matches with anyone, which is worse than not matching\n\nwrite the operator guide, ordered by what someone paged during a peak would need", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "社内向けに、モデル呼び出しの運用ドキュメントがありません。現状はこうです:\n\n- 抽出は 1 文書につき最大 3 回モデルを呼ぶ（分類・抽出・検証）\n- 検証が失敗すると最大 5 回まで修復プロンプトを送る。修復プロンプトには文書全文が含まれる\n- タイムアウトは 120 秒、リトライは 3 回、指数バックオフなし\n- レート制限に当たった場合は 429 をそのまま上位に返しており、キュー全体が詰まる\n- コストの計測はバッチ単位でしかできず、顧客別・ステージ別の内訳が出せない\n- プロンプトはコードに直接埋め込まれていて、変更履歴はコミットログにしかない\n\n例:\n\nresp = client.messages.create(model=MODEL, max_tokens=4096,\n                              messages=[{\"role\": \"user\", \"content\": prompt}])\n\nこれを社内の開発者向けドキュメントとしてまとめてください。特にリトライとコストの扱いを明確に\n\n実際のコストの内訳（先週）:\n  classifier   409,000 calls   $1,100\n  extractor  2,400,000 calls  $9,800\n  validator 22,000,000 calls $27,200\n\n  retry_on_429_total = 41,882\n  timeout_total      = 1,204\n  repair_attempts_p99 = 5 (上限)\n\nこの内訳は手作業で集計したもので、ダッシュボードには存在しません", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "ja"}
{"prompt": "clippy on the hub firmware, and one of these is the deadlock:\n\nwarning: this `MutexGuard` is held across an `await` point\n   --> src/mqtt.rs:88:9\n    |\n88  |     let mut client = self.client.lock().await;\n    = help: consider using an async-aware lock or restructuring\nwarning: large enum variant\n   --> src/proto.rs:41:1\nwarning: casting `u32` to `u16` may truncate\n   --> src/energy.rs:141:22\nwarning: this loop never actually loops\n   --> src/ota.rs:22:5\nwarning: `saturating_sub` on values that may legitimately decrease\n   --> src/energy.rs:66:20\n\n5 warnings, and mqtt.rs:88 is exactly where hubs wedge", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"}
{"prompt": "ruff and mypy on the extraction service, gate goes on next sprint:\n\nservices/extract/validator.py:41: error: Argument \"schema\" has incompatible type \"dict[str, Any]\"; expected \"Schema\"  [arg-type]\nservices/extract/validator.py:88: warning: B008 Do not perform function call in argument defaults\nservices/extract/pipeline.py:141: error: Missing return statement  [return]\nservices/extract/prompts.py:22: warning: E501 line too long (412 > 100)\nservices/extract/client.py:66: error: Call to untyped function \"call_model\" in typed context  [no-untyped-call]\n\n3 errors, 2 warnings, and the missing return is in the path that handles a rate limit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "small thing but the CDN and origin limits for uploads, one of these is why an 84MB file fails:\n\ncdn (eu endpoint):     max request body 50MB\nnginx:                 client_max_body_size 100m\ningress annotation:    nginx.ingress.kubernetes.io/proxy-body-size: 100m\napp:                   MAX_UPLOAD_BYTES = 104857600\ns3 presign (unused):   part size 8MB, unlimited total\n\nthe presigned upload path exists in the code, is tested, and is not used by the web client\n\nand the sizes we actually see:\n  p50 upload      1.2 MB\n  p95 upload      18 MB\n  p99 upload      62 MB\n  largest last month  340 MB (rejected)\n\nabout 4% of uploads from that one customer are over the CDN's 50MB limit, and they are the contracts with scanned exhibits attached, which are the ones the customer cares most about", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "not urgent, but the hub's kubernetes ingest deployment, which we restarted during peak by accident:\n\nreplicas: 6\nstrategy:\n  type: RollingUpdate\n  rollingUpdate: { maxSurge: 1, maxUnavailable: 1 }\nterminationGracePeriodSeconds: 30\nreadinessProbe: { httpGet: { path: /healthz, port: 8080 }, periodSeconds: 5 }\nlifecycle:\n  preStop: { exec: { command: [\"sleep\", \"5\"] } }\n\neach pod holds about 70,000 MQTT connections, hubs reconnect immediately with a one second backoff, and a rolling update currently drops a sixth of the fleet at a time", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"}
{"prompt": "les seuils d'alerte du parc de hubs, on nous réveille pour rien :\n\n- alert: HubsOffline\n  expr: sum(hub_connected == 0) > 1000\n  for: 1m\n  labels: { severity: page }\n\n- alert: IngestLag\n  expr: kafka_consumergroup_lag{group=\"telemetry\"} > 100000\n  for: 5m\n  labels: { severity: page }\n\n- alert: OtaFailures\n  expr: increase(ota_failed_total[1h]) > 10\n  for: 0m\n  labels: { severity: ticket }\n\nen réalité : mille hubs hors ligne c'est du bruit sur quatre cent mille appareils ; le lag dépasse 100 000 à chaque redémarrage du broker ; et les 41 appareils briqués n'ont produit qu'un ticket, vu le lendemain matin", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "fr"}
{"prompt": "dependabot on the extraction service, and one is a CVE:\n\npydantic 2.7.1 → 2.9.2       (minor; validation error message format changed, our repair prompt parses it)\nanthropic 0.34.0 → 0.40.0    (minor; streaming API changes, we don't stream)\npillow 10.3.0 → 10.4.0       (CVE-2026-10118, buffer overflow in TIFF decoding)\npytesseract 0.3.10 → 0.3.13  (minor)\n\nwe pass scanned TIFFs through pillow before OCR, and our repair prompt includes the raw pydantic error text", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"}
{"prompt": "this pipeline module does orchestration, retries, cost accounting and prompt assembly in one file:\n\nclass ExtractionPipeline:\n    def run(self, doc):\n        # ocr, with its own retry loop\n        # layout model call, with a different retry loop\n        # chunking, with the chunk size hardcoded per document type\n        # extraction call, with prompt assembled inline from three f-strings\n        # validation with the repair loop\n        # cost accounting by summing token counts into a module-level dict\n        # audit row written at the end, or not at all if anything raised\n\n700 lines, one test that mocks the model client and asserts on the final output", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "unsere Prompt-Bausteine liegen an vier Stellen im Code:\n\n# prompts.py\nEXTRACT_PROMPT = \"Extract all clauses...\"\n\n# pipeline.py\nprompt = f\"{EXTRACT_PROMPT}\\n\\nDocument type: {doc.kind}\\n{text}\"   # zusätzlicher Kontext inline\n\n# validator.py\nREPAIR_PROMPT = \"The following JSON failed validation...\"          # eigene Formatierung\n\n# experiments/ab_test.py\nPROMPT_V2 = \"...\"                                                   # läuft für 10% der Kunden\n\nvier Varianten, keine Versionierung, und niemand kann sagen, welcher Prompt ein bestimmtes Ergebnis erzeugt hat", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "de"}
{"prompt": "quarter planning input, needs sequencing:\n\n- 41 bricked hubs are a product recall problem and the fix needs a bootloader update first\n- the publish deadlock takes hubs offline until a power cycle and affects maybe 2% of the fleet monthly\n- extraction costs tripled and finance has noticed\n- eu-west matchmaking stalls at every peak since the live event config was left in place\n- the legal customer's security questionnaire is blocking a renewal worth a fifth of that product's revenue\n- one firmware engineer, one platform engineer, and the game backend team is two people\n- there's a hardware partner integration due in october that assumes our MQTT contract doesn't change", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "architecture ticket, and i want the thinking before anyone starts:\n\nIOT-540 — Device state ownership\nDevice state currently lives in three places: the hub's memory, a retained MQTT message, and our postgres. They disagree routinely and support has learned to check all three. The proposal is a single authoritative state store with the retained message as a cache. Concerns: hubs go offline for days and must reconcile on reconnect; the automation engine reads state on every rule evaluation and cannot tolerate a database round trip; retained messages are what partner integrations read; and any change to the MQTT contract affects three hardware partners with their own release cycles.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "spec for the document review screen, which lawyers use for hours at a time:\n\nReview screen\n- Document pane on the left with the original scan, extracted clauses highlighted in place, and page thumbnails.\n- Clause list on the right, grouped by type, each showing a confidence indicator and the page it came from.\n- Clicking a clause scrolls both panes; the highlight must survive zoom and rotation.\n- Low-confidence extractions are marked with a shape as well as a colour and sort to the top of their group.\n- Editing a clause's text or type is inline, saves optimistically, and records who changed what.\n- A \"nothing extracted for this section\" state exists and must be visible rather than an absence.\n- Keyboard: j/k moves between clauses, e edits, a accepts, r rejects — lawyers ask for this specifically.\n- Must remain usable at 200% zoom for accessibility, which the current fixed two-pane layout does not.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "accessibility findings for the game's in-client store and queue UI, from a platform certification review:\n\n1. The queue timer is announced continuously by the screen reader, making the client unusable while queueing.\n2. Match-found accept is a 10 second timed action with no way to extend it, which fails the platform's timing requirement.\n3. Store prices are conveyed with strikethrough only for discounts, with no text alternative.\n4. Controller focus is lost when a modal closes, landing on the first element of the page rather than the invoking control.\n5. The rank badge conveys tier by colour alone.\n6. Text scaling above 125% clips the queue panel.\n7. No captions for the voice announcements in the match-found flow.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "design tokens versus what the home app's device screens actually use:\n\ntokens:\n  color.surface      #FFFFFF / #0D1117\n  color.text         #0D1117 / #E6EDF3\n  color.muted        #6E7781\n  color.on           #1A7F37\n  color.off          #6E7781\n  color.warn         #9A6700\n  space 4/8/12/16/24, radius 8/12/20, touch target 44dp minimum\n  type: title 20/26, body 15/22, caption 13/18\n\nthe device screens: six hardcoded colours including two greens, touch targets of 32dp on the toggle rows, an offline state shown only by reduced opacity, and three type sizes not in the scale\n\nbring it onto the tokens, fix the touch targets, and give offline a proper indicator", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "relaxation cap back to 800 in eu-west", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "pillow CVE bump before friday", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
{"prompt": "onboarding email says \"you're hub\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
{"prompt": "backfill timeout back to 60 seconds", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "pause the OTA rollout now", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "la app muestra vatios en vez de kilovatios", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "es"}
{"prompt": "maxUnavailable 1 drops 70k connections", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "make termination_notice_days optional", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "ntp is 41 days stale on three auth nodes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "OtaFailures should page immediately", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "Upload über presigned URLs statt Proxy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "de"}
{"prompt": "hub telemetry is signed using the device's own clock, which on a hub that boots without network is whatever it was when it last had one, so the signature is valid and the timestamp is nonsense. work out how far back this goes in the stored data, then move to server-assigned time with the device clock kept only as a hint", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "our matchmaking pool is scanned three different ways depending on the code path:\n\n// scan.go — the main loop, quadratic over the whole pool\nfor i := range pool { for j := i+1; j < len(pool); j++ { ... } }\n\n// backfill.go — FindBest, linear scan per call, called twice a second per backfill\nfunc (p *Pool) FindBest(m *Match) *Ticket { for _, t := range p.tickets { ... } }\n\n// party.go — party matching, builds a map by skill bucket then scans buckets\nbuckets := map[int][]*Ticket{}\n\nonly the party path uses buckets; the other two ignore them entirely and rebuild nothing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "the schema we agreed for prompt versioning, now it needs building:\n\nCREATE TABLE prompt_versions (\n  id          uuid PRIMARY KEY,\n  name        text NOT NULL,\n  version     int NOT NULL,\n  template    text NOT NULL,\n  schema      jsonb,\n  model       text NOT NULL,\n  params      jsonb NOT NULL,\n  created_by  text NOT NULL,\n  created_at  timestamptz NOT NULL DEFAULT now(),\n  UNIQUE (name, version)\n);\n\nevery model call records the prompt_version id it used; versions are immutable once referenced; an A/B experiment references two versions and the assignment must be recorded per document; and we need to answer \"which prompt produced this extraction\" for any result in the last two years", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "device screens ignore the tokens and use 32dp touch targets on the toggles. bring them onto the tokens and fix the targets, and tell me whether the row height change breaks the compact layout on small phones", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"}
{"prompt": "missing return in the rate limit path", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "test run button on the automation editor", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "toggle rows are 32dp, should be 44", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "rank badge is colour-only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "j and k through the clause list", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "オフラインの機器が薄い色でしか分かりません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "ja"}
{"prompt": "controller focus lost after a modal", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "skill buckets for every scan path", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "une seule machine à états pour le hub", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "fr"}
{"prompt": "`last_seen_at` naming everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "extract the repair loop from validate", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "inline `compatible`, one caller left", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "one retry policy for model calls", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "doc comments on the MQTT topic contract", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "changelog for firmware 4.2.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "nota aos clientes sobre os hubs afetados", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "pt"}
{"prompt": "document the retained-state gotcha", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "summarise the state-ownership proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "PR body for the deadlock fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "can a backfill starve the pool?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "¿el validador reintenta con el documento entero?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "es"}
{"prompt": "walk me through the OTA flow", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "hubs wedge until power cycled", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"}
{"prompt": "warum feuern die Automationen doppelt?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "de"}
{"prompt": "endpoint for a document's extraction lineage", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "carry on with that", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "cheaper, ideally", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "you choose what matters", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "lo de la extracción, continúa", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "es"}
{"prompt": "tidy where you can", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "like the last one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "security answers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "low risk only today", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
{"prompt": "take a look please", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "やり方はお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"}
{"prompt": "forty-one hubs are bricked in customers' homes and the fix needs a bootloader update that itself has to go over the air, which is exactly the mechanism that failed. i want the recovery plan worked through properly — how we ship a bootloader safely, what we do for the devices already dead, and what we change so a partial flash write can never take a device out again", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "legal customer's renewal is blocked on data handling we don't currently do: no third-party model provider, no persisted partial results, no document text in logs, and deletion propagating to embeddings. i'd like the options with honest costs, including the one where we run a model in our own tenancy and what that does to quality and latency", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "OTA design doc assumes the boot flag can be written independently of the slots and that a failed update costs a reboot rather than a device, both of which we now know are false. read it against the flash layout and the bootloader and tell me which of its other assumptions are similarly wrong the last person who touched this left, so there's nobody to ask.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"}
{"prompt": "matchmaking pool is scanned three ways — quadratic in the main loop, linear per backfill, bucketed only in the party path — and the bucketing is the one that works. bring all three onto the bucketed structure, keep match quality measurably the same on a replayed peak, and make the scan cost sublinear in pool size", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "prompts live in four places including an experiment file that runs for a tenth of our customers, and nobody can say which prompt produced a given result. consolidate them into one versioned location, record the version on every call, and keep the experiment running throughout the migration we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "automation editor is where users spend their time and it currently lets you build automations that can never fire, then tells you nothing. build it to the spec — inline impossible-condition warnings, device state next to actions, and the test run button people keep asking for if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "review screen is a fixed two-pane layout that breaks at 200% zoom, which fails the accessibility requirement in a public sector tender. rebuild it to the spec with the keyboard navigation lawyers asked for, and make sure the clause highlighting survives zoom and rotation keep it concrete — file names and line numbers are more use than principles here.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "before we change the OTA flow i want the failure modes written down — power loss at each step, a corrupted slot, a bootloader that itself needs updating — and then the flag relocation implemented against that analysis this has come up in three separate reviews now and never gets done.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"}
{"prompt": "model cost control needs a design — budgets per stage, a circuit breaker, attribution per customer — and the repair loop needs fixing this week regardless. give me the design, then change the repair prompt to send only the failing section", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "unser Matchmaking skaliert nicht mehr und die Konfiguration aus dem Live-Event steht immer noch. Ich hätte gern zuerst ein Konzept für die Poolstruktur und danach die Umstellung des Haupt-Scans auf Buckets", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "de"}
{"prompt": "MQTT integration reference has to exist before the october partner starts, and while writing it please confirm whether a redelivered command really does execute twice, because two partners have asked and we've given different answers", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "model-call guide needs writing and i expect it will surface things we should fix rather than document — the 429 propagation especially. write the guide, and give me that list separately", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "our device event handling has grown a branch per device type:\n\nmatch event.kind {\n    \"plug.energy\" => { /* 40 lines, includes counter reset detection */ }\n    \"plug.state\" => { /* 20 lines */ }\n    \"thermostat.temp\" => { /* 30 lines, has its own smoothing */ }\n    \"thermostat.setpoint\" => { /* 25 lines */ }\n    \"sensor.motion\" => { /* 15 lines, debounce logic inline */ }\n    \"sensor.contact\" => { /* 15 lines, different debounce */ }\n    \"lock.state\" => { /* 35 lines, includes an audit write nothing else does */ }\n    _ => { /* silently ignored, which is how we missed a new device type for a month */ }\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "the hub thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "escribe la guía del operador para el matchmaking y comprueba en el código si matar un backfill devuelve realmente a los jugadores a la cola, porque el runbook lo afirma y nadie lo ha verificado", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"}
{"prompt": "three online checks for devices should become one, and i'd like to know which of the three the automation engine should actually be using before we standardise on it. check that, then unify", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "tokens are being rejected as \"used before issued\" on three auth nodes whose clocks have drifted by five hours. confirm that's the whole story, then fix the nodes and make the validator tolerate a small skew rather than failing outright a rough ordering matters more to me than a complete answer right now.", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "players are being matched against wildly stronger opponents and the relaxation window is my suspect, but i want it confirmed against real tickets. diagnose it, then cap the window at whatever the analysis supports", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "store and queue UI fails platform certification on seven counts including a timed accept with no extension. fix what we can before submission, and write the certification response for the rest", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "prompt versioning needs the immutability rules agreed before it's built — what happens when someone edits a referenced version, and how experiments map to versions. settle that, then implement the table and the recording", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "rename `Ticket.Skill`, it's a rating in one place and a percentile in another", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "could you explain what happens to a retained state message when a hub is factory reset", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "i'd like to understand how a document that fails extraction halfway is stored, if at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "why does the layout model still run now that OCR quality has improved", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "someone should check whether document text ends up in our application logs", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "is it expected that a hub keeps executing automations while disconnected from the cloud", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "pouvez-vous m'expliquer comment le compteur d'énergie gère un redémarrage du boîtier ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "fr"}
{"prompt": "docs/ota.md describes a rollback that the bootloader doesn't actually implement", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "a short note on why prompts are moving into the database, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "partner changelog needs an entry for the command ack topic changing shape", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "rustdoc on publish() promises a 30 second bound that the lock acquisition ignores", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "write the customer note about energy totals being recalculated for the affected days", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "health endpoint reports the matchmaker healthy while it has created no matches for ten minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "staging has one hub and prod has four hundred thousand, with the same broker connection limits", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "how should we handle a hardware partner whose devices we can't update ourselves", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "what's the right way to evaluate an extraction change when the ground truth is a lawyer's judgement", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "i want a position on whether automations should run on the hub or in the cloud", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "two customers want an on-premise deployment of the document pipeline, what would that require", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "we need a plan for supporting a second matchmaking mode with completely different team sizes", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "what should happen to a queued player when their region's matchmaker restarts", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "an endpoint that returns a hub's last twenty state transitions, for support", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "per-customer cost attribution for model calls, since finance can only see the total", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "commands need an idempotency key so a redelivery after a missed ack doesn't run twice", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "device list needs a filter for offline devices, which is what people open the app to check", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "clause list should let a reviewer accept a whole group at once, with undo", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "queue screen should show estimated wait time rather than a spinner that lies", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "energy chart should mark counter resets rather than drawing a cliff", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "whatever unblocks the renewal", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "next bit of the firmware work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
{"prompt": "mobile app and the hub disagree about what \"away mode\" means — one treats it as a mode, the other as a flag that other automations can clear — and users notice when heating comes back on. settle the semantics, then make both sides agree, and tell me which behaviour existing automations depend on whatever you find, write it somewhere the next person will actually look.", "purpose": "refactor", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "python services load secrets three different ways and one of them logs the loaded values at debug level, which is on in staging. fix that today, then unify the loading so it can't happen again", "purpose": "quickFix", "secondary": "refactor", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"}
{"prompt": "extraction queue has no dead letter, so a document that fails five times is retried forever and one bad scan has been cycling since tuesday. add the dead letter, and decide with me first what a human is supposed to do with the documents that land in it i'm not attached to the current approach if there's an obviously better one.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "internal page on the hub's state machine doesn't exist, which is why every firmware bug report starts with three people describing the states differently. write it from the code — the four atomics, who sets what, and what the watchdog does with each combination — as the reference for the rework context if it helps: this has been open since before i joined the team.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "hub reports its firmware version only on connect, so a device that failed an update and rolled back looks like it's still on the old version forever, which is how we undercounted the bricked devices. report the running version on every state message, and backfill what we can from the OTA logs i'd rather have the reasoning written down than a quick answer.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "go services each define their own Ticket type and convert at every boundary, which is why the matchmaker and the party service disagree about whether skill is a rating or a percentile. define it once in a shared package, convert only at the edges where we talk to clients, and prove that a replayed peak produces identical matches", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "validator's repair loop, the OCR retry and the model client's own retry are three nested layers of retrying that nobody designed together, and a single bad document can therefore produce seventy-five model calls. flatten them into one retry policy with an overall budget per document, keeping the successful-path behaviour exactly as it is", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "chunk sizes are hardcoded per document type in the pipeline, the layout model has its own idea of section boundaries, and the extractor gets whichever wins. pull chunking into one place with the document type as a parameter, and keep the extraction output identical for a sample of a thousand documents across all types tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "hub's flash layout, the bootloader's expectations and the OTA writer's assumptions live in three files that have to agree and don't. bring the layout into one definition both the bootloader and the application build from, and make a mismatch a compile error rather than a bricked device nobody has trusted this code for about a year, which is part of the problem.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "nobody can tell me what our match quality metric actually measures once the relaxation window is uncapped, because it compares against the window rather than against the players' skills. read the metric and the matcher together and tell me whether the number we report weekly means anything at all assume whoever picks it up next has no context beyond what you write.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "eu-west matchmaker still runs the live-event configuration from three weeks ago — no relaxation cap, no backfill timeout, a pool five times the size of any other region. put the standard values back, and tell me which of the three actually mattered so we know what the event genuinely needed the sooner we know roughly how big this is, the better for planning.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "ingest deployment does a rolling update with maxUnavailable of one, which drops seventy thousand MQTT connections at a time and produces a reconnect storm that looks exactly like an outage. change the rollout to something the fleet can absorb, and tell me what the safe reconnect rate actually is i've already spent an afternoon on it and got nowhere useful.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
