151 lines
36 KiB
JSON
151 lines
36 KiB
JSON
{"prompt": "quick one — need `acme init` to detect an existing config and offer to merge instead of overwriting", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
|||
|
|
{"prompt": "stand up the plugin loader for the cli: discover from ~/.acme/plugins and PATH, version check against the host api, and fail loudly on a mismatch rather than half-loading", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "help text is 200 lines of one flat list. group by topic with short section headers, and the examples move to the bottom", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "spinner in the cli doesn't clear on ctrl-c and leaves the terminal cursor hidden", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "curious about the plugin api surface before we commit to it publicly — what are we exposing that we'd regret, read plugin/host.go and tell me", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "trim the duplicate flag parsing — every subcommand re-declares --profile, --verbose and --json. one shared flag set, identical help output per command", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "output is garbled when you pipe it — ansi codes in the json. should be detecting a tty somewhere and clearly isn't", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "cli reference docs, one page per command, generated from the command definitions so they can't drift", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "so the thing i keep circling on is whether the cli should talk to the api directly or go through a local daemon. daemon gives us caching and a socket for the editor plugin but it's another thing to install and keep alive. write up both and pick", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "fastapi endpoint for bulk tag assignment, accepts up to 1000 ids, partial success reporting per id, all in one transaction per chunk", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the async db session is created per request but the background tasks reuse it after the response, which is why we get those closed-session errors. i think. sort it out properly", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "pydantic v1 to v2 across the api models, validators included, same request/response shapes", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the uvicorn worker count is 1 in the container", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "point me at where the request timeout is enforced — i see a setting in three places and none of them seem to be the one that fires", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "requests pile up and the event loop stalls for seconds at a time, roughly when the export endpoint is being used. i thought that was async", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "swiftui: the compose sheet needs an attachment tray, a send button that disables on empty, and it must not lose the draft if you swipe it away by accident", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "keyboard avoidance is broken in the compose sheet on ios 26, the toolbar sits under the keyboard", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "corner radius on the attachment thumbnails should be 8 not 12, matching the message bubbles", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "map out how we bring the mac app to feature parity. right now it's a catalyst build and it shows — no menu bar commands, no multiple windows, no keyboard nav. i want phases and an honest estimate", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "give me a walkthrough of how our undo manager interacts with the swiftdata context, i don't trust it and want to understand before touching anything", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "write the release notes and the app store what's-new for 4.1, plus the internal note about the schema migration for support", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "ticket says:\n\nTITLE: `acme sync` silently succeeds when the remote rejects half the batch\nREPRO:\n 1. create 40 local records, 3 with names > 255 chars\n 2. run `acme sync --push`\n 3. output: \"synced 40 records\"\n 4. server has 37\nEXPECTED: non-zero exit, report which records failed and why\nNOTES: the api returns 207 with a per-item status array. we only check the http status.\n\nplease fix and make the exit code meaningful", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
|
||
|
|
{"prompt": "pull the shared http retry/auth code out of the cli and the editor plugin into one package, both consumers behave identically after", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "progress output for long operations — a proper multi-line status that redraws, degrades to plain lines when not a tty", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "and now?", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"}
|
||
|
|
{"prompt": "…thinking about the worker topology again. one queue with priorities, or separate queues per job class with dedicated pools. we have 30 job types, three of them are latency sensitive and the rest are batch. write the analysis and a recommendation", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "job scheduling with priorities and per-tenant fairness so one big customer can't starve everyone, python + redis streams", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "queue dashboard: depth per queue, oldest job age, workers online, and a retry-all for the dlq with a count confirmation", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the dlq alert threshold is 1 and it pages for a single poison message, make it 25 over 10 minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "every job class reimplements the same enqueue-with-dedupe-key logic slightly differently. one base class, and prove the dedupe behavior is unchanged per job type", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "jobs get processed twice when a worker is oomkilled mid-job. i know why in general terms but not what OUR code does about it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "is the visibility timeout longer than our slowest job? check the numbers, i suspect one job class exceeds it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "runbook for a backed up queue: how to tell if it's a slow consumer or a producer spike, and the safe ways to shed load", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "hook up structured logging in the workers with the job id, tenant and attempt on every line", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the retry count shows attempt 0 for first tries, off by one in the display", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "roadmap for the api gateway work — auth offload, rate limits, request validation from the openapi spec. what order, and what we do about the services that currently do their own auth", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "request validation middleware driven by the openapi spec, rejecting with the same error shape as our handlers do today", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "our openapi spec is hand maintained and lies in about 15 places. generate it from the code, and list every place the old spec was wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "explain the difference between what the gateway rejects and what the service rejects, i want to know where a bad request actually dies", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "gateway adds 80ms to every request and the upstream reports 4ms. that gap has to be the auth lookup but the cache hit rate says 99%", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "api playground page — endpoint picker, editable request body, send, and show the curl equivalent", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the gateway timeout is shorter than the upstream's, which means we return 504 while the work completes. align them", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "consolidate the three request-id header names we accept into one canonical, still accepting the legacy ones on input", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "design the tenant isolation story for the gateway — noisy neighbor protection, per-tenant quotas, and what we do when one tenant is under attack", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "sort out the plan for the search rewrite and then build the indexer", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
|
||
|
|
{"prompt": "take a look at the caching layer and clean up the naming while you're in there", "purpose": "review", "secondary": "refactor", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"}
|
||
|
|
{"prompt": "onwards", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"}
|
||
|
|
{"prompt": "got a note from the security team, pasting it as is:\n\n> Finding S-2026-041 (Medium)\n> The password reset endpoint (POST /auth/reset/request) responds with 404 when the email\n> is not registered and 204 when it is. This allows account enumeration.\n> Additionally the reset token is a 6-digit numeric code with a 30 minute TTL and\n> no attempt limiting observed on POST /auth/reset/confirm.\n> Recommendation: uniform response, longer token entropy, and rate limiting per\n> account and per IP.\n>\n> Please advise on remediation timeline.\n\nneed this handled", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
|
||
|
|
{"prompt": "webauthn registration and login, resident keys, and a fallback path that still works if the browser lacks support", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "passkey prompt ui with the platform sheet, and a clear explanation for people who've never seen one", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "session cookie is missing Secure in the staging config", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "our permission checks are string comparisons on role names scattered everywhere. introduce typed permissions with a single check function, identical allow/deny for every existing role", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "an org owner lost access to their own org and the only change was inviting a member. i cannot reproduce it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "tell me whether our csrf protection covers the json api or only the form posts", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "security page for the docs: what we do about encryption, sessions, mfa, and our vuln disclosure process. factual, no puffery", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "figure out how we'd do granular sharing permissions — view/comment/edit per resource, inherited from folders, with overrides. write the model", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "role editor ui: matrix of permissions by resource type, with inherited values shown greyed and overrides highlighted", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the 'admin' label in the members list should say 'owner' for the org creator", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "audit log for every permission change, who granted what to whom, immutable, and queryable by resource", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "a member with view-only can still hit the update endpoint directly and it works. that's obviously bad, find where the check is missing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "write up how permission inheritance works for the help center, with a worked example that has an override", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "review the invite flow for anything that lets someone escalate their own role", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "hmm, wondering if the right move is to just... ok. plan how we support customer-managed encryption keys. what's encrypted with what, key rotation, and what happens to backups", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "envelope encryption for the sensitive columns, kms-backed data keys cached in memory with a short ttl", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the encryption key id column is nullable and shouldn't be", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "our crypto helpers are spread across three modules with two different iv strategies. consolidate onto the correct one and re-encrypt nothing, just handle both on read", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "decryption fails for records written between march and may. those were written by the version with the old key derivation and i don't know what changed", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "key management doc — where keys live, who can access them, rotation cadence, and the break-glass procedure", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "settings ui for byok: key arn field, a test button that proves we can encrypt and decrypt, and a scary confirm before switching", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "does anything log the plaintext before encryption? grep-level answer is fine but i want you to actually check the paths", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "meh, do the simple version", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
|
||
|
|
{"prompt": "j'aimerais un plan pour découper notre service de notifications en deux : l'envoi et les préférences. on a 40 endpoints et pas de tests d'intégration", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "fr"}
|
||
|
|
{"prompt": "in-app notification center backend: fan-out on write, per-user read state, and a cap so a heavy account doesn't accumulate 100k rows", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "notification bell with an unread count, dropdown list, and a subtle animation when a new one lands while you're looking at it", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the count caps at 99 but shows '99' not '99+'", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "we build notification payloads in 14 places with 14 slightly different shapes. one builder, one shape, and the clients keep working", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "notifications arrive out of order in the list, timestamps look right in the db", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "how do we decide whether something goes to email, push, in-app, or all three? point me at the actual decision code", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "docs for the notification types — every event, the default channels, and which ones users can turn off", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "plan the digest emails: what gets batched, the windowing, timezone handling per user, and how we avoid sending an empty digest", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "digest builder job that assembles per-user summaries at their local 8am, skipping users with nothing new", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "mute controls: per-project and per-thread, with a snooze-until picker", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "digest sends at 8am utc for everyone regardless of their timezone setting", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "the batch window constant is 15 minutes, we agreed on 5", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "check whether a muted thread can still trigger a push through the mention path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "our timezone handling uses three different libraries depending on the file. standardize, and verify the digest send times don't move for existing users", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "write the copy for the digest email template, including the empty-ish case where there's only one item", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "propose how we'd let users build their own alert rules — conditions on our event stream, thresholds, and delivery. i want the model and the ui shape sketched", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "rule evaluation engine over the event stream, windowed aggregates, and dedupe so a flapping condition doesn't spam", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "rule builder ui: condition rows with and/or grouping, a live preview of how many events matched in the last day", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "rules with an empty condition list match everything, they should match nothing", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "a rule fires repeatedly for the same underlying event, dozens of times, and the dedupe key looks correct to me", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "explain the windowing semantics we implemented — tumbling or sliding? the code comments say both in different places", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "user docs for alert rules, with three example rules people actually want and the gotcha about evaluation delay", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "same", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"}
|
||
|
|
{"prompt": "picking the import pipeline back up from last week — next thing is the csv column type inference. dates in 6 formats, numbers with thousands separators, and booleans as yes/no/1/0. make it configurable per column with a sensible guess", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "plan out the whole import experience end to end — upload, map, validate, preview, commit, and what happens when 3% of rows fail", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "error report screen for a partial import: row number, the offending value, the reason, and a downloadable csv of just the failures", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "we say 'invalid date' without saying which column or row", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the csv, xlsx and json importers each have their own validation. share it — one validator, three readers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "xlsx imports lose the leading zeros on postcodes but csv doesn't", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "read the importer and tell me what happens if the process dies at 60% — do we have a half-imported dataset", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "template csv plus a doc explaining every column, required vs optional, and the accepted formats", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "export the other way too — full account export as a zip of csvs plus the attachments, generated async with an email when ready", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "export button gives no feedback for the 30 seconds before the download starts", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "the export filename has a colon in it which windows rejects", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "figure out our gdpr data export and deletion story properly, including the data in our warehouse and the backups, and write the plan", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "verify that the deletion job actually covers every table with user data — enumerate the tables and check each one against the job", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "our data retention doc says 90 days for logs and 30 for exports. the code says otherwise in both cases. update the doc to match reality and flag anything that looks like a compliance problem", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "deletion requests complete but the user's data reappears in search a day later", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "design and then build the first version of the activity feed, i'll take over the ui", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
|
||
|
|
{"prompt": "find out why the export job stalls and once you know, add a note to the runbook", "purpose": "debugging", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
|
||
|
|
{"prompt": "por favor sigue", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "es"}
|
||
|
|
{"prompt": "here's the whole thread from #incident-4419, i've only skimmed it:\n\n[09:12] otto: api error rate 4% and climbing\n[09:13] otto: mostly 500s from /v1/timeline\n[09:14] priya: rolled back the 09:02 deploy, no change\n[09:16] priya: db cpu is 40%, connections normal\n[09:18] otto: the 500s all have a redis timeout in the trace\n[09:19] priya: redis cpu 12%, memory 61%, no evictions\n[09:22] otto: hold on, redis latency p99 is 800ms and it was 2ms an hour ago\n[09:24] priya: SLOWLOG has a bunch of KEYS calls?? who is calling KEYS\n[09:26] otto: error rate down to 0.4% on its own\n[09:31] otto: back to normal, nothing changed\n\nnobody knows what happened. figure it out", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
|
||
|
|
{"prompt": "replace the KEYS usage with SCAN wherever it appears, and add a lint rule so it can't come back", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "redis maxmemory-policy is noeviction, should be allkeys-lru for the cache instance", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "plan the split of our single redis into a cache instance and a queue instance, including the migration with no lost jobs", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "cache warming on deploy for the top 200 tenants so we don't thundering-herd the db every release", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "cache stats panel in the admin: hit rate per key prefix, memory by prefix, and the top 20 largest keys", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "explain our cache invalidation for the tenant settings object — i count three writers and one of them doesn't invalidate", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "write the caching guidelines: what's cacheable, key naming, ttls by data class, and the rule about never caching authorization decisions", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "the ttl on the settings cache is 24h with no invalidation, that's why changes take a day. drop it to 60s as a stopgap", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "cache keys don't include the schema version so after a deploy we deserialize old shapes into new structs. tighten that up properly", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "after a deploy we get a burst of nil-pointer errors for about 30 seconds then it's fine. something about deserializing cached objects i think but i want certainty", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "sketch what a proper read-through cache layer looks like for us so callers stop hand-rolling get-or-set everywhere", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "read-through cache helper with single-flight so 400 concurrent misses become one db query", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "loading states flash on cached data because we always start in loading. only show loading if we don't have a cached value", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "wondering whether the single-flight actually dedupes across pods or just within one, tell me what our implementation does", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "ok fine", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"}
|
||
|
|
{"prompt": "need the architecture for our webhooks-out feature written down before we build it. customer-configured endpoints, at-least-once, signed, replayable from the ui, and it must not be able to take down our workers when a customer's endpoint hangs for 30 seconds", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "webhook delivery worker with per-endpoint circuit breaking, a 10s timeout, and delivery attempts recorded for the ui", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "webhook detail page: endpoint config, recent deliveries with status and duration, a replay button, and the request/response bodies", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "the signature header name has a typo, 'X-Acme-Signaure'. it's public so we need both for a while", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "our event serialization for webhooks duplicates the api serializers with small differences. share them so the payloads can't drift, and diff the output on the fixtures", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "one customer sees deliveries marked failed that they definitely received and processed", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "is our retry schedule actually exponential? the numbers in the config look linear to me", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "webhook integration guide: event catalog, signature verification in three languages, retry behavior, and how to test locally", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "plan the event catalog itself — naming convention, versioning of payload shapes, and how we add a field without breaking anyone", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "local tunnel helper in the cli so integrators can receive webhooks on localhost without ngrok", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "event picker for the webhook config — grouped checkboxes with a select-all per group and a count of selected", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "we send events for internal state changes customers shouldn't see, filter those out of the catalog", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "endpoint verification on save — send a test ping and require a 2xx before enabling, with a clear error if it fails", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "tell me if a customer could use the webhook config to make us send requests to internal addresses", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "changelog entry for the webhook signature change, with the migration window and exactly what integrators need to do", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "extract the ssrf-safe http client we half-wrote in the pdf renderer and use it for webhooks too", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "deliveries stop entirely for one endpoint with no failures logged, and resume if you toggle it off and on", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
|
||
|
|
{"prompt": "das Retry-Intervall ist auf 1 Sekunde festgelegt, das sollte exponentiell sein — plan es erst, dann bau es", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "de"}
|
||
|
|
{"prompt": "review the delivery worker and fix anything obviously wrong as you go", "purpose": "review", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
|
||
|
|
{"prompt": "sidebar item spacing feels off, tighten it up a bit", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
|
||
|
|
{"prompt": "make the dashboard feel faster", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"}
|