updating purpose-classifier data:

This commit is contained in:
2026-08-02 20:15:13 -07:00
parent 98311aa932
commit 0f639bfa05
21 changed files with 14248 additions and 14463 deletions
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "extension hangs the whole editor on large repos and this is the profile:\n\nExtension host CPU profile (10s):\n 92.1% (program)\n 88.4% onDidChangeTextDocument\n 86.9% IndexManager.reindexAll\n 84.2% glob('**/*.{ts,tsx,js,jsx}')\n 1.8% ts.createSourceFile\n 3.1% provideCompletionItems\n\nExtension 'lumen.navigator' caused the extension host to become unresponsive.\n[Warning] UNRESPONSIVE extension host: 'lumen.navigator' took 8412ms\n[Info] Extension host terminated unexpectedly 3 times within the last 5 minutes.\n\nreindexAll runs on every keystroke in a workspace with 40,000 files", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "seat maps render wrong for one aircraft type and support sent me the payload:\n\n{\n \"equipment\": \"77W\",\n \"cabins\": [\n {\"class\": \"J\", \"rows\": [{\"number\": 1, \"seats\": [\"A\",\"C\",\"D\",\"G\",\"H\",\"K\"]}]},\n {\"class\": \"W\", \"rows\": [{\"number\": 20, \"seats\": [\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"J\",\"K\"]}]},\n {\"class\": \"Y\", \"rows\": [{\"number\": 30, \"seats\": [\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"J\",\"K\"]}]}\n ],\n \"exit_rows\": [20, 44],\n \"blocked\": [\"30A\", \"30K\"]\n}\n\nour renderer assumes 3-4-3 for wide bodies and lays out the J cabin as if it were economy, so business class shows ten seats across", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "supplier abstraction, three implementations behind it, and a fourth to be added next month:\n\nclass Supplier(Protocol):\n def search(self, query: SearchQuery) -> list[Offer]: ...\n def hold(self, offer_id: str, passengers: list[Passenger]) -> Hold: ...\n def confirm(self, hold_id: str, payment_ref: str) -> Booking: ...\n def cancel(self, record_locator: str) -> None: ...\n def refund(self, record_locator: str, amount: Decimal) -> str: ...\n\namadeus: hold expires in 20 minutes, cancel is free before ticketing\nsabre: no hold concept at all, we fake it with a 5 minute local reservation\ndirect_airline: hold is 60 minutes, cancel after ticketing costs a fee we can't know in advance\n\nis this interface honest about what these suppliers actually do?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "the extension keeps its index as one 40MB JSON blob rewritten in full on every change", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"}
{"prompt": "our react app has three date formatting helpers and the checkout uses a fourth one inline", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "extension's activation events, which i suspect are why it shows up in every startup complaint:\n\n\"activationEvents\": [\"*\"],\n\"main\": \"./dist/extension.js\",\n\"contributes\": {\n \"commands\": [{ \"command\": \"lumen.goToSymbol\", \"title\": \"Lumen: Go to Symbol\" }],\n \"configuration\": {\n \"properties\": {\n \"lumen.indexOnSave\": { \"type\": \"boolean\", \"default\": true },\n \"lumen.excludeGlobs\": { \"type\": \"array\", \"default\": [] }\n }\n }\n}\n\nactivate() builds the whole index synchronously before returning, and the index is 40MB of JSON on a big repo", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "a colleague's PR for the search results page, and i can't decide whether the memoisation is helping:\n\n@@ -22,10 +22,26 @@ export function ResultsList({ results, filters }: Props) {\n- const visible = results.filter(r => matches(r, filters)).sort(byPrice)\n+ const visible = useMemo(\n+ () => results.filter(r => matches(r, filters)).sort(byPrice),\n+ [results, filters]\n+ )\n+ const rowRenderer = useCallback(\n+ (r: Result) => <ResultRow key={r.id} result={r} onSelect={onSelect} />,\n+ [onSelect]\n+ )\n return <div>{visible.map(rowRenderer)}</div>\n }\n\nfilters is an object literal built in the parent's render, onSelect is an inline arrow, and results is typically 200 items", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "supplier integration guide, written for amadeus and never updated. what's true across all three now:\n\n- amadeus: SOAP, session-based, sessions expire after 15 minutes of inactivity, hold 20 minutes\n- sabre: REST, bearer token valid 7 days, no hold, we fake it locally for 5 minutes\n- direct airline: REST, mTLS, hold 60 minutes, cancellation fees unknown until after ticketing\n- all three: record locators are 6 characters but sabre's are case-sensitive and the others aren't\n- error handling differs completely; only amadeus distinguishes \"sold out\" from \"price changed\"\n- rate limits: amadeus 10/s, sabre 50/s, direct airline unpublished and enforced by disconnection\n\nrewrite the guide so it covers all three honestly, for the engineer adding the fourth", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "extension has three code paths that build a file glob, and windows breaks two of them:\n\n// indexer.ts\nconst pattern = `${workspaceRoot}/**/*.{ts,tsx,js,jsx}`\n\n// watcher.ts\nconst pattern = new vscode.RelativePattern(folder, '**/*.ts')\n\n// symbols.ts\nconst pattern = path.join(workspaceRoot, '**', '*.ts')\n\nonly the RelativePattern one behaves correctly on windows; the other two mix separators and silently match nothing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "seat map, again", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "our API changelog needs an entry for the 410 on stale offer tokens, with what integrators should do", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "the results page needs a saved-search feature, since our repeat users run the same query daily", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "booking confirmations stopped for one airline integration and django is throwing this:\n\nTraceback (most recent call last):\n File \"/app/bookings/services/confirm.py\", line 141, in confirm\n pnr = supplier.retrieve(record_locator)\n File \"/app/suppliers/amadeus/client.py\", line 88, in retrieve\n return self._parse(resp.content)\n File \"/app/suppliers/amadeus/client.py\", line 212, in _parse\n return xmltodict.parse(content)[\"Envelope\"][\"Body\"][\"RetrievePNRReply\"]\nKeyError: 'RetrievePNRReply'\n\nresponse body (truncated):\n<soap:Envelope><soap:Body><soap:Fault><faultcode>SOAP-ENV:Server</faultcode>\n<faultstring>Session expired or invalid</faultstring></soap:Fault></soap:Body></soap:Envelope>\n\nabout 4% of confirmations, always the ones where the user took more than ten minutes on the payment page", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "celery workers stop consuming after a few hours, no errors anywhere:\n\n[2026-07-29 09:02:14,881: INFO/MainProcess] Task bookings.tasks.sync_pnr[8f2b1c] received\n[2026-07-29 09:02:15,102: INFO/ForkPoolWorker-4] Task bookings.tasks.sync_pnr[8f2b1c] succeeded in 0.21s\n[2026-07-29 09:14:02,441: INFO/MainProcess] Task bookings.tasks.sync_pnr[91cc40] received\n[2026-07-29 09:14:02,882: WARNING/ForkPoolWorker-2] supplier timeout, retrying in 60s\n[2026-07-29 09:15:03,114: WARNING/ForkPoolWorker-2] supplier timeout, retrying in 120s\n[2026-07-29 09:17:04,002: WARNING/ForkPoolWorker-2] supplier timeout, retrying in 240s\n[2026-07-29 09:21:05,118: WARNING/ForkPoolWorker-1] supplier timeout, retrying in 60s\n[2026-07-29 10:44:12,441: INFO/MainProcess] Task bookings.tasks.sync_pnr[aa1902] received\n\nafter that, nothing. inspect active shows four tasks, all sleeping in the retry backoff, and prefetch is 4", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "what does the silent passenger downgrade do?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "is the seat hold actually exclusive?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "extension's settings, documented nowhere except the schema. write the readme section:\n\n\"lumen.indexOnSave\": true // reindex changed files on save\n\"lumen.excludeGlobs\": [] // added to the built-in excludes, not replacing them\n\"lumen.maxIndexSizeMb\": 200 // index is dropped and rebuilt if it exceeds this\n\"lumen.symbolProviders\": [\"ts\", \"py\", \"go\"] // order matters, first match wins\n\"lumen.experimental.watchNodeModules\": false // enabling this on a monorepo will hang the host\n\"lumen.telemetry\": \"errors\" // off | errors | usage\n\nthings only we know: excludeGlobs are relative to the workspace root, not the file; the index rebuild on exceeding maxIndexSizeMb happens silently and can take minutes; symbolProviders order is why go-to-definition sometimes lands in a .d.ts", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"}
{"prompt": "a customer wants ten thousand devices on a collector that struggles with fourteen hundred, and the current design spawns a goroutine per OID group with no per-device limit. i want to know what a version that scales looks like — whether that's worker pools, sharding by device, or splitting collection from evaluation entirely — and what we'd have to change in the on-premise deployment story to ship it to customers who upgrade by copying a binary", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"}
{"prompt": "alerting rules we inherited from the previous team. worth keeping any of them?\n\n- alert: DeviceDown\n expr: up{job=\"snmp\"} == 0\n for: 0m\n labels: { severity: page }\n\n- alert: InterfaceErrors\n expr: rate(if_in_errors[5m]) > 0\n for: 1m\n labels: { severity: page }\n\n- alert: HighUtilisation\n expr: if_in_octets_rate / if_speed > 0.7\n for: 5m\n labels: { severity: page }\n\n- alert: CollectorLag\n expr: collector_scrape_duration_seconds > 25\n for: 10m\n labels: { severity: ticket }\n\nthe on-call gets about 40 pages a night and acknowledges most of them without looking", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "on-call handbook says \"see the wiki\" and the wiki is empty. what the team actually does:\n\n- pages come from prometheus into pagerduty, and the only real ones are CollectorLag and BookingFailureRate\n- DeviceDown pages 40 times a night and everyone acknowledges without looking, which is its own problem\n- for BookingFailureRate, first check which supplier — the dashboard has a breakdown, the alert doesn't\n- amadeus session expiry is the most common cause and clears itself; if it doesn't, restart the supplier worker\n- if bookings are failing at payment, check whether it's PriceChangedError before waking anyone\n- there is no runbook for the collector at all; the person who wrote it left in March\n\nwrite the on-call handbook, and flag where we're relying on one person's memory", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "three supplier clients each parse errors their own way, and two swallow the distinction we need:\n\n# amadeus/client.py\nif fault := body.get(\"Fault\"):\n raise SupplierError(fault[\"faultstring\"])\n\n# sabre/client.py\nif resp.status_code >= 400:\n raise SupplierError(f\"sabre returned {resp.status_code}\")\n\n# direct_airline/client.py\ntry:\n data = resp.json()\nexcept ValueError:\n raise SupplierError(\"bad response\")\nif data.get(\"errors\"):\n raise SupplierError(data[\"errors\"][0].get(\"detail\", \"unknown\"))\n\nthe booking flow needs to distinguish sold-out, price-changed, session-expired and everything else, and only amadeus surfaces that today", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "price breakdown needs table headers", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "one retry policy across the integrations", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "we silenced a paging alert twice in one night rather than investigate, and the underlying cause was a firmware upgrade changing an SNMP response size. write the incident report, and be straight about the silencing — including that the rule had been noisy for months and everyone knew the report goes to the whole engineering group, not just our team.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "is our price guarantee real?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "celery stops consuming after a few hours", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "booking thing from yesterday", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "what does our extension do when two workspace folders have conflicting index versions", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "refunds are being issued twice for a handful of cancellations, here's the audit trail for one:\n\n11:02:14 POST /api/bookings/88412/cancel user=4471 → 202 accepted\n11:02:14 task refund.issue queued id=8f2b1c booking=88412 amount=214.00\n11:02:44 task refund.issue started id=8f2b1c\n11:03:14 supplier call timed out after 30s\n11:03:14 task refund.issue retry 1 queued id=8f2b1c\n11:03:16 supplier webhook received: refund CONFIRMED ref=RF-990412 amount=214.00\n11:04:14 task refund.issue started id=8f2b1c (retry 1)\n11:04:19 supplier call succeeded ref=RF-990418 amount=214.00\n11:04:19 booking 88412 marked refunded\n\nthe supplier's first call did go through, it just answered slowly", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "e2e suite fails on CI roughly one run in four, always in the seat selection step:\n\n 1) booking flow › selects a seat and continues\n TimeoutError: locator.click: Timeout 30000ms exceeded.\n Call log:\n - waiting for locator('[data-seat=\"12A\"]')\n - locator resolved to <button data-seat=\"12A\" disabled>…</button>\n - attempting click action\n - element is not enabled - waiting...\n\n 2) booking flow › shows the price breakdown\n Error: expect(received).toBe(expected)\n Expected: \"€214.00\"\n Received: \"€214.00 \"\n\n 2 failed, 88 passed (4m 12s)\n\nthe seat becomes enabled once the availability websocket delivers, which locally is instant", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "before i sign off on this, does the locking do what the author thinks?\n\[email protected]\ndef hold_seat(booking_id, seat):\n booking = Booking.objects.select_for_update().get(pk=booking_id)\n existing = SeatHold.objects.filter(flight=booking.flight, seat=seat, released_at__isnull=True)\n if existing.exists():\n raise SeatTaken(seat)\n hold = SeatHold.objects.create(booking=booking, flight=booking.flight, seat=seat,\n expires_at=timezone.now() + timedelta(minutes=15))\n cache.set(f\"seat:{booking.flight_id}:{seat}\", booking_id, 900)\n return hold\n\nfour web workers, postgres read committed, and seat holds also expire via a celery beat task that runs every minute", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "price-lock design, as it exists in the code. is the fifteen minutes real?\n\n1. search caches supplier prices in redis for 300s, keyed on (origin, destination, date, cabin)\n2. adding to cart writes a PriceLock row with expires_at = now + 15 minutes and the cached price\n3. the payment page re-reads the PriceLock but does not re-check the supplier\n4. on submit, the payment service calls the supplier to confirm availability, which returns the live price\n5. if the live price differs by more than 1%, we raise PriceChangedError and the user starts again\n6. there is no step that refreshes the lock or holds inventory with the supplier\n\nmarketing tells customers the price is guaranteed for fifteen minutes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "por favor, dá uma olhada nisto antes de irmos para produção:\n\n@api_view([\"POST\"])\ndef refund(request, booking_id):\n booking = get_object_or_404(Booking, pk=booking_id)\n if booking.status != \"cancelled\":\n return Response({\"error\": \"not cancelled\"}, status=400)\n amount = booking.total - booking.fees\n ref = supplier.refund(booking.record_locator, amount)\n booking.status = \"refunded\"\n booking.refund_ref = ref\n booking.save()\n send_refund_email.delay(booking.id)\n return Response({\"ref\": ref})\n\nnão há idempotência nenhuma, o supplier demora às vezes 30 segundos, e o cliente pode carregar duas vezes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "pt"}
{"prompt": "changelog for the collector, from the commits since 3.1:\n\n41c9e0b fix(snmp): raise the response buffer to 64KB\n88f21c0 feat(poll): per-device concurrency limit\nc0aa774 fix(alert): DeviceDown now requires two consecutive failures\n2e91b45 perf: reuse SNMP sessions instead of dialling per group\naa30f19 feat(api): /v1/devices/{id}/interfaces with pagination\n9c1d004 chore: drop support for SNMPv1\n4410bb7 fix(metrics): interface counters no longer reset on rediscovery\nb77e910 feat(config): per-device polling interval\n\nour users are network engineers who run this on-premise; two of these change alerting behaviour and one is a breaking change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"}
{"prompt": "playwright config and the CI job, and the flakes are all timing:\n\n// playwright.config.ts\nexport default defineConfig({\n timeout: 30_000,\n expect: { timeout: 5_000 },\n retries: 0,\n workers: 8,\n use: { baseURL: process.env.BASE_URL, trace: 'off', actionTimeout: 0 },\n})\n\n# ci.yml\n- run: docker compose up -d\n- run: npx playwright test\n env:\n BASE_URL: http://localhost:8000\n\nno wait for the app to be ready, no retries, eight workers against one container, and traces are off so we can never see what happened", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "django settings diff between environments, one of these explains the session bug:\n\n# base.py\nSESSION_COOKIE_AGE = 1209600\nSESSION_ENGINE = \"django.contrib.sessions.backends.db\"\nCACHES = {\"default\": {\"BACKEND\": \"django_redis.cache.RedisCache\", \"LOCATION\": REDIS_URL}}\n\n# production.py\nSESSION_ENGINE = \"django.contrib.sessions.backends.cache\"\nSESSION_CACHE_ALIAS = \"default\"\nCACHES[\"default\"][\"OPTIONS\"] = {\"MAX_ENTRIES\": 10000, \"CULL_FREQUENCY\": 3}\n\n# staging.py\nSESSION_ENGINE = \"django.contrib.sessions.backends.db\"\n\nusers report being logged out mid-booking in production only, and the cache also holds our search results", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"}
{"prompt": "dependabot batch on the django app, which of these can go in today:\n\ndjango 5.0.7 -> 5.1.2 (minor; release notes mention a change to `Model.save()` positional args)\ncelery 5.3.6 -> 5.4.0 (minor; prefetch behaviour changed for long-running tasks)\nrequests 2.31.0 -> 2.32.4 (advisory: certificate verification bypass in rare configurations)\nxmltodict 0.13.0 -> 0.14.2 (minor; namespace handling changed)\n\nour amadeus client is the only thing using xmltodict, and it parses namespaced SOAP", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "device model has grown fields for every vendor quirk and it's now unreadable:\n\ntype Device struct {\n\tID, Name, Address string\n\tCommunity string // v2c only\n\tUsername, AuthKey, PrivKey string // v3 only\n\tAuthProto, PrivProto string // v3 only\n\tUseBulk bool\n\tMaxRepetitions int\n\tBufferBytes int\n\tSkipInterfaces []string\n\tVendorQuirks map[string]string // \"cisco_ifindex_shift\": \"1\", etc\n\tPollInterval time.Duration\n\tLastSeen time.Time\n\tConsecutiveFails int\n}\n\nhalf these fields are only meaningful for one SNMP version, and VendorQuirks is read by string key in six places", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "collector's future, as the team sees it. i need this turned into a plan i can defend:\n\n- 1,400 devices today, a customer wants 10,000 next year\n- one process, one goroutine per OID group, no per-device limits, which is why it falls over\n- SNMPv1 support was dropped last month and two customers noticed\n- gNMI streaming telemetry is what the newer devices want, and we don't support it\n- the alerting rules are unusable and everyone silences them\n- on-premise customers upgrade by copying a binary, and we have no migration story for config\n- one engineer knows the SNMP internals, and it isn't me", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"}
{"prompt": "search cache TTL down to 60s", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"}
{"prompt": "snmp buffer to 64KB in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "per-device concurrency cap of 4", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "i'd like to understand what happens to a seat hold when the booking is abandoned at payment", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "one error taxonomy for suppliers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "alerting is so noisy that on-call acknowledges without reading, which is how a real outage went unnoticed for six hours last month. rather than tune individual rules i'd like a view on what our alerting should be built around — symptoms rather than causes, what deserves a page versus a ticket, and how we'd know whether the change worked", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "price guarantee we advertise is a marketing promise with no technical backing, and support answers the resulting complaints from memory. write the help centre article that explains honestly what our price lock does and doesn't do, why a price can change at payment, and what a customer can do about it — without either lying or making us sound careless", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "on-call handbook says \"see the wiki\" and the wiki is empty, so everything lives in one person's memory — including the fact that half our pages are known-noisy and which supplier failure clears itself. write the handbook properly, and mark clearly every place where the honest answer is that only one person knows", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "three supplier clients parse errors three different ways and two of them collapse everything into a single exception type, so the booking flow can't distinguish sold-out from price-changed from session-expired. introduce one error taxonomy, map each supplier's failures onto it, and keep the retry behaviour of each client exactly as it is today the retry counts and delays per client are deliberate, so keep them exactly as they are.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "we should store the offer token's supplier and expiry rather than inferring them, and the API needs to return a clear 410 rather than a generic error. decide the shape with me, then build it", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "poller reports interfaces down that are demonstrably up, intermittently:\n\n2026-07-29T11:02:14Z WARN snmp: timeout polling 10.44.2.71 oid=1.3.6.1.2.1.2.2.1.8 (ifOperStatus) attempt=1\n2026-07-29T11:02:19Z WARN snmp: timeout polling 10.44.2.71 oid=1.3.6.1.2.1.2.2.1.8 attempt=2\n2026-07-29T11:02:24Z ERROR snmp: giving up on 10.44.2.71, marking 48 interfaces down\n2026-07-29T11:02:25Z INFO alert: DeviceDown fired for core-sw-04 (48 interfaces)\n2026-07-29T11:02:41Z INFO snmp: poll of 10.44.2.71 succeeded in 182ms\n2026-07-29T11:02:41Z INFO alert: DeviceDown resolved for core-sw-04\n\nthis device has 480 interfaces, we poll it every 30 seconds, and the timeouts cluster at the top of the minute", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "extension icon needs to be 128px", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
{"prompt": "seat map assumes a 3-4-3 layout for wide bodies, which is why business class renders ten seats across on one aircraft type. rebuild it to derive the layout entirely from the payload's seat letters, keep the existing states and interactions, and make sure it still handles the narrow bodies that make up most of our traffic narrow bodies are about eighty percent of our traffic, so they must not regress at all.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "supplier spec for the fourth integration, we build against this:\n\nPOST /partner/v2/reservations\n auth: mutual TLS plus a signed JWT, 60 second expiry, our clock must be within 5 seconds of theirs\n body: { offer_token, passengers[], contact, payment: { method: \"agency_deposit\" }, hold_minutes }\n hold_minutes: 15, 30 or 60; anything else is rejected\n response 201: { reservation_id, expires_at, price: { amount, currency }, ticketing_deadline }\n response 409: the offer token is stale — they expect us to re-search rather than retry\n response 422: passenger data rejected, with a field-level error list\n reservations not ticketed by expires_at are released automatically and we are not charged\n ticketing is a separate call and is irreversible; there is no cancel endpoint, only a refund workflow by email", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "the interface detail panel should overlay a 24h traffic chart with errors and discards on one axis", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "our health endpoint reports healthy while celery has no consumers at all", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "extension's package.json versus what the marketplace wants:\n\n{\n \"name\": \"navigator\",\n \"publisher\": \"lumen\",\n \"version\": \"1.4.2\",\n \"engines\": { \"vscode\": \"^1.74.0\" },\n \"activationEvents\": [\"*\"],\n \"categories\": [\"Other\"],\n \"repository\": \"[email protected]:lumen/navigator.git\",\n \"icon\": \"images/icon.png\"\n}\n\nmarketplace warnings on publish:\n WARNING Using '*' activation is deprecated and will hurt startup performance\n WARNING Repository URL should be an https URL\n WARNING Icon should be at least 128x128 (found 96x96)\n WARNING A README.md with content is recommended", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"}
{"prompt": "a colleague added useMemo and useCallback to the results list, but the filters object is built inline in the parent and onSelect is an inline arrow, so i suspect nothing is actually memoised. rather than argue in the PR, work out what the render behaviour really is with two hundred results and tell me whether the change helps, hurts, or does nothing two hundred results is the normal case and a thousand is our worst.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "supplier integration guide was written for amadeus and never updated, while sabre has no hold concept and the direct airline can't tell us cancellation fees in advance. rewrite it to cover all three honestly, structured so the engineer adding the fourth can see which behaviours are supplier-specific and which our code assumes are universal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "extension, startup", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "seat map needs to handle premium cabins properly and the same work should give us keyboard selection, which the audit flagged. do the layout fix first, then the accessibility pass, and tell me if the two conflict anywhere", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "our staging poller polls twelve devices and prod polls fourteen hundred, with the same timeout", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "the symbol tree should show a progress node while indexing instead of appearing empty", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "booking funnel fails seven accessibility items and our largest partner commissioned the audit, so the fixes need to be real. work through them, and produce the summary we send back to the partner describing what changed", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "celery workers stop consuming after a few hours and all four are sitting in retry backoff with prefetch set to four, which looks like the whole story but i'd like it confirmed. diagnose it properly, then change whatever configuration or code prevents a slow supplier from parking the entire pool", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"}
{"prompt": "what guarantees does the poller make about interface counters after a device reboots", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "is the offer dedupe in the search view actually removing duplicates, or just adjacent ones", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "extension's settings are documented only by their JSON schema descriptions, which don't mention that excludeGlobs are relative to the workspace root, that exceeding the size limit silently triggers a minutes-long rebuild, or that provider order explains why go-to-definition sometimes lands in a type declaration file. write the settings reference that covers the behaviour rather than the types assume the reader is a developer who has already installed it and is puzzled.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "a walkthrough of the booking state transitions would help before i touch the cancellation flow", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "vscode's output channel for our extension on a windows machine, works fine on mac:\n\n[lumen.navigator] activating\n[lumen.navigator] workspace root: c:\\Users\\dana\\src\\Platform\n[lumen.navigator] index path: c:\\Users\\dana\\src\\Platform/.lumen/index.json\n[lumen.navigator] ENOENT: no such file or directory, open 'c:\\Users\\dana\\src\\Platform/.lumen/index.json'\n[lumen.navigator] creating index...\n[lumen.navigator] resolved 0 symbols from 41,882 files\n[lumen.navigator] go-to-definition returned no results for 'BookingService'\n[lumen.navigator] pattern used: c:\\Users\\dana\\src\\Platform/**/*.ts\n\nsomething is mixing separators and i'm not sure which layer is at fault", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "les prix affichés changent entre la recherche et le paiement pour environ 2% des réservations :\n\nrecherche vol=LH1234 date=2026-09-12 prix=214.00 EUR devise_source=EUR cache=HIT age=118s\npanier vol=LH1234 date=2026-09-12 prix=214.00 EUR verrouillé_à=11:02:14\npaiement vol=LH1234 date=2026-09-12 prix=228.50 EUR source=fournisseur cache=MISS\nerreur PriceChangedError levée, l'utilisateur voit « le prix a changé »\n\nle verrou de prix est censé durer 15 minutes, l'écart apparaît surtout entre 11h et 13h, et le fournisseur nous facture chaque appel de vérification", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "fr"}
{"prompt": "grafana shows the collector dropping metrics and the go runtime numbers look off:\n\ngo_goroutines{job=\"collector\"} 41,882\ngo_memstats_heap_inuse_bytes{job=\"collector\"} 6.1e+09\ngo_memstats_heap_objects{job=\"collector\"} 82,441,102\ngo_gc_duration_seconds{quantile=\"0.99\"} 2.41\ngo_sched_latencies_seconds{quantile=\"0.99\"} 0.88\nprocess_cpu_seconds_total rate 3.8 cores\nprocess_open_fds{job=\"collector\"} 38,112\ncollector_samples_dropped_total rate 1,204/s\ncollector_scrape_duration_seconds{quantile=\"0.5\"} 11.2\ncollector_scrape_duration_seconds{quantile=\"0.9\"} 28.4\ncollector_poll_errors_total rate 88/s\n\ndeployment: 1 replica, 8 vCPU, 8 GiB limit, restarts 3 times in the last day\nscrape interval 30s, 1,400 devices, each device poll spawns a goroutine per OID group, and every group dials its own SNMP session\n\nthe drops started when we onboarded the last 400 devices, and nothing in the collector's own config changed", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "polling loop that everything else hangs off. is the concurrency model defensible?\n\nfunc (c *Collector) Run(ctx context.Context) {\n\tticker := time.NewTicker(c.interval)\n\tfor {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\treturn\n\t\tcase <-ticker.C:\n\t\t\tfor _, dev := range c.devices {\n\t\t\t\tgo func(d Device) {\n\t\t\t\t\tfor _, group := range d.OIDGroups {\n\t\t\t\t\t\tgo c.pollGroup(ctx, d, group)\n\t\t\t\t\t}\n\t\t\t\t}(dev)\n\t\t\t}\n\t\t}\n\t}\n}\n\n1,400 devices, 6 to 40 OID groups each, 30 second interval, and pollGroup has a 25 second timeout", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "support's notes on the price-change complaints, they need to become a customer-facing explanation:\n\n- price shown in search can be up to 5 minutes stale because we cache supplier responses\n- adding to cart locks our price for 15 minutes, but does not reserve anything with the airline\n- at payment we re-check with the airline, and if their price moved more than 1% the booking fails\n- this happens most often on the busiest routes at midday\n- the customer sees \"the price has changed\" and has to search again, losing their seat selection\n- we do not currently show the new price, which is the single most common complaint\n\nwrite the help centre article, and be honest without making us sound careless", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"}
{"prompt": "incident notes from last night's alert storm. the write-up is due at noon:\n\n23:41 first DeviceDown page for core-sw-04\n23:41 to 00:12 — 38 more DeviceDown pages across 14 devices\n00:14 on-call silences the DeviceDown rule entirely\n00:20 discovers all devices are reachable by hand\n00:44 collector restarted, alerts clear\n01:02 alerts return, on-call silences again and goes back to bed\n08:30 root cause found: a firmware upgrade on the aggregation switch changed the SNMP response size, our poller's buffer is 8KB and the response is now 9KB\n09:15 buffer raised to 64KB, deployed, no recurrence\n\nthe honest bit is that we silenced a page rather than investigating, twice, and the rule had cried wolf for months", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "die Notizen aus dem Architektur-Meeting, daraus soll ein Entscheidungsdokument werden:\n\n- der Suchdienst cached Angebote 300 Sekunden, das ist historisch gewachsen und niemand weiß, warum genau 300\n- die Preisgarantie von 15 Minuten ist ein Marketing-Versprechen ohne technische Entsprechung\n- ein echter Bestand-Hold beim Anbieter kostet Geld pro Anfrage, etwa 0,02 €\n- bei 40.000 Suchen täglich und 3% Konversion wären das rund 24 € pro Tag für echte Holds\n- Alternative: den Preis auf eigene Kosten garantieren und die Differenz selbst tragen\n- Finanzen hat noch keine Zahlen dazu gesehen\n\nschreib das als Entscheidungsvorlage mit Optionen und einer Empfehlung", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "de"}
{"prompt": "我们的公开 API 只有一份过时的 postman collection,需要写一份正式文档。这是搜索接口目前的行为:\n\nGET /v1/search\n 参数:origin、destination(IATA 三字码,必填)、date(YYYY-MM-DD,必填)、return_date(可选)、\n cabin(economy|premium|business|first,默认 economy)、passengers(默认 1,最多 9)、\n currency(默认按 IP 判断,可覆盖)、max_stops(可选)\n 返回:offers 数组,按价格升序;每个 offer 含 offer_id、price、currency、segments、fare_rules_url\n offer_id 有效期 300 秒,过期后加入购物车会返回 410\n 同一组参数在 300 秒内返回缓存结果,响应头 X-Cache 标记 HIT/MISS\n 错误:400 参数无效、404 无航线、429 超限(每分钟 60 次)、502 供应商不可用\n 注意:passengers 超过 6 时部分供应商会拒绝,我们会静默降级为返回更少的 offers\n\n请写成对外的接口文档,特别把 300 秒有效期和静默降级说清楚", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "zh"}
{"prompt": "ruff and mypy on the bookings package, and the gate goes on friday:\n\nbookings/services/confirm.py:88: error: Item \"None\" of \"Optional[Hold]\" has no attribute \"id\" [union-attr]\nbookings/services/confirm.py:141: error: Argument 1 to \"retrieve\" has incompatible type \"Optional[str]\"; expected \"str\" [arg-type]\nbookings/tasks.py:22: error: Function is missing a return type annotation [no-untyped-def]\nbookings/models.py:212: error: Incompatible types in assignment (expression has type \"str\", variable has type \"Decimal\") [assignment]\nsuppliers/sabre/client.py:41: note: By default the bodies of untyped functions are not checked\n\nFound 4 errors in 4 files (checked 212 source files)\n\nthe models.py one looks like an actual bug rather than a typing complaint", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"}
{"prompt": "prod and staging poller config, and staging has never reproduced a single timeout:\n\n# staging/snmp.yaml\nsnmp:\n timeout: 10s\n retries: 3\n max_repetitions: 10\n buffer_bytes: 65536\n per_device_concurrency: 4\n session_reuse: true\n interval: 60s\n devices: 12\n\n# prod/snmp.yaml\nsnmp:\n timeout: 5s\n retries: 2\n max_repetitions: 50\n buffer_bytes: 8192\n per_device_concurrency: 0 # unlimited\n session_reuse: false\n interval: 30s\n devices: 1400\n\n# what prod looks like at the top of a minute\n snmp_timeouts_total rate 41/s\n snmp_response_bytes p99 9,214\n goroutines 41,882\n\nthe aggregation switches were upgraded last month and their responses grew; staging's switches are two firmware versions behind", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "eslint on the react app after we turned on the exhaustive-deps rule:\n\nsrc/search/ResultsList.tsx\n 22:6 warning React Hook useMemo has a missing dependency: 'onSelect' react-hooks/exhaustive-deps\n 41:11 warning The 'filters' object makes the dependencies of useMemo change on every render react-hooks/exhaustive-deps\n\nsrc/booking/SeatMap.tsx\n 88:5 warning React Hook useEffect has a missing dependency: 'flightId' react-hooks/exhaustive-deps\n 112:9 error React Hook \"useSeatAvailability\" is called conditionally react-hooks/rules-of-hooks\n\nsrc/checkout/PriceSummary.tsx\n 19:3 warning React Hook useCallback received a function whose dependencies are unknown\n\n✖ 5 problems (1 error, 4 warnings)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"}
{"prompt": "this view has accumulated every requirement we've had for two years. same responses, better structure:\n\ndef search(request):\n q = parse_query(request.GET)\n if q.passengers > 6 and not request.user.is_staff:\n q.passengers = 6 # silent downgrade, product asked for this\n key = cache_key(q)\n if cached := cache.get(key):\n offers = cached\n else:\n offers = []\n for name, supplier in SUPPLIERS.items():\n if name == \"sabre\" and q.cabin == \"first\":\n continue # sabre first class is unreliable\n try:\n offers += supplier.search(q)\n except SupplierError:\n logger.warning(\"supplier %s failed\", name)\n offers = dedupe(sorted(offers, key=lambda o: o.price))\n cache.set(key, offers, 300)\n if request.GET.get(\"max_stops\"):\n offers = [o for o in offers if o.stops <= int(request.GET[\"max_stops\"])]\n return Response(OfferSerializer(offers, many=True).data)", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"}
{"prompt": "nuestro código de reintentos está copiado en cinco sitios con parámetros distintos:\n\n# bookings/tasks.py\[email protected](bind=True, max_retries=5, default_retry_delay=60)\n\n# suppliers/amadeus/client.py\nfor attempt in range(3):\n try: return self._call(...)\n except Timeout: time.sleep(2 ** attempt)\n\n# suppliers/sabre/client.py\n@retry(stop=stop_after_attempt(4), wait=wait_exponential(multiplier=1, max=30))\n\n# payments/gateway.py\nwhile tries < 3:\n ...\n tries += 1\n\n# notifications/email.py\[email protected](bind=True, max_retries=10, default_retry_delay=300)\n\nquiero una sola política, configurable por integración, sin cambiar el comportamiento actual de cada una", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "es"}
{"prompt": "react components each fetch their own data and it shows on the results page:\n\nResultsPage\n ├─ FiltersPanel → GET /v1/filters?query=…\n ├─ ResultsList → GET /v1/search?…\n │ └─ ResultRow ×200 → GET /v1/airlines/{code} (one per row, cached in a module-level map)\n ├─ PriceHistogram → GET /v1/search?… (same call as ResultsList, different component)\n └─ RecommendedBadge → GET /v1/recommendations?…\n\nthe airline lookups are the same twelve airlines repeated, and the search call fires twice on every filter change", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"}
{"prompt": "quarter planning input, and i owe a sequenced plan by friday:\n\n- a fourth supplier integration is contractually due in november\n- the price-change failure is our top conversion loss and product wants it fixed \"properly\"\n- the collector's alerting is so noisy that on-call has stopped reading it\n- the vscode extension has 40,000 installs and a one-star review problem about startup time\n- we're one engineer down until october and the person leaving owns the supplier layer\n- there's a compliance requirement to store PNR data in-region for EU bookings from january\n- the search cache is 300 seconds because someone typed 300 in 2022", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "architecture ticket, i want the thinking before anyone starts:\n\nTRV-410 — Real inventory holds\nToday the fifteen-minute price guarantee is a local database row with no supplier-side reservation, which is why 2% of bookings fail at payment with a price change. The proposal is to take a real hold with the supplier when a user reaches checkout. Costs: about €0.02 per hold, roughly 1,200 checkouts a day. Complications: only two of our three suppliers support holds; hold durations differ (20 vs 60 minutes); a held seat that isn't paid for must be released or we're charged; and our checkout has no concept of an expiring reservation in the UI.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "compliance requirement landed with no technical detail, which means the plan is on us:\n\n\"From 1 January, passenger name record data for bookings originating in the EU must be stored and processed within the EU. This includes backups, search indexes and any derived analytics. Access from outside the EU is permitted for support purposes only, must be logged, and must be justifiable per access. Suppliers acting as processors must be listed with their locations.\"\n\nwe run in one US region, our search index is a managed service in the same region, analytics goes to a US warehouse, and two of our three suppliers process in the US. i want the options and an honest cost per option", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"}
{"prompt": "design spec for the seat map, react, replacing the one that can't handle premium cabins:\n\nSeat map\n- Cabin sections stacked vertically with a sticky class label; layout comes from the payload, never assumed.\n- Seats 32px square, 4px gaps, aisles rendered as 24px gaps derived from the seat letter sequence.\n- States: available (outline), selected (filled accent), occupied (filled muted, not clickable), blocked (diagonal hatch), extra-legroom (small badge).\n- Exit rows get a subtle marker on the row number and a tooltip explaining the restrictions.\n- Selecting a seat with a fee opens an inline confirmation with the price before committing.\n- Hovering shows seat number, features and price; keyboard focus shows the same in a live region.\n- Below 480px the map scrolls horizontally with the row numbers pinned to the left.\n- Availability arrives over a websocket and seats must update without losing the user's current selection.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"}
{"prompt": "handoff for the extension's tree view, build it against the vscode API:\n\nSymbol explorer (tree view in the sidebar)\n- Root nodes are the workspace folders; children are files with symbols, lazily loaded on expand.\n- Symbol icons follow the built-in ThemeIcon set so they match the user's icon theme.\n- Selecting a symbol reveals it in the editor without stealing focus; double-click focuses the editor.\n- A filter box at the top of the view, debounced 150ms, matching on fuzzy symbol name, showing match counts per file.\n- While indexing, show a progress item at the root rather than an empty tree.\n- If the index is stale, show a warning node with a \"Reindex\" inline action.\n- Respect the user's `lumen.excludeGlobs` and never show files excluded by the workspace's files.exclude.\n- The whole view must be usable when the index is missing entirely — degrade to on-demand parsing of the open file.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "accessibility findings for the booking funnel, from an audit our largest partner commissioned:\n\n1. The date picker is unusable with a keyboard; arrow keys move the page, not the focused date.\n2. Seat selection conveys availability with colour alone, and the seat buttons have no accessible names.\n3. Errors on the passenger form appear above the form but focus stays where it was, so they are never announced.\n4. The price breakdown is a table with no headers, read as a stream of numbers.\n5. The countdown timer on checkout is announced by screen readers every second.\n6. The \"continue\" button is disabled until the form validates, with no explanation of what's missing.\n7. Contrast on the muted price text is 3.4:1.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "dashboard spec from the network team, they live in this screen during an incident:\n\nDevice overview\n- Left: device tree by site then role, with a status dot per node that rolls up the worst child state.\n- Main: interface table — name, admin/oper status, utilisation in and out as inline bars, errors, last change. Sortable, 50 rows a page, sticky header.\n- Utilisation bars use a fixed scale to 100% of interface speed, with a marker at the alert threshold.\n- Selecting an interface opens a 24h detail panel with traffic, errors and discards on one time axis.\n- Down interfaces sort to the top by default but the sort must be overridable and remembered.\n- Polling status is visible: last successful poll per device, and a clear indicator when data is stale rather than showing old numbers as current.\n- The whole page has to work on a 1366x768 laptop in a datacentre, which is what the field engineers carry.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"}
{"prompt": "schema we agreed for in-region PNR storage, needs implementing:\n\nCREATE TABLE pnr_records (\n id uuid PRIMARY KEY,\n booking_id uuid NOT NULL REFERENCES bookings(id),\n region text NOT NULL CHECK (region IN ('eu','us')),\n record_locator text NOT NULL,\n payload_enc bytea NOT NULL,\n key_id text NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n purge_after timestamptz NOT NULL\n);\n\nEU rows must live in the EU database only; the US service may reference them by id but must never read payload_enc; support access has to be logged with a reason; and the purge job must run in-region and be provable to an auditor", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "requests advisory bump, please", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"}
{"prompt": "confirmation email has the old support address", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"}
{"prompt": "el selector de moneda ignora la del usuario", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "es"}
{"prompt": "DeviceDown needs two consecutive failures", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "drop the wildcard activation event", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "playwright retries to 2 on CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "Sitzungsdauer in Staging auf 14 Tage", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "de"}
{"prompt": "trace on for failed playwright runs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "aisle gaps from the seat letters", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "sticky cabin labels on the seat map", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "extension has forty thousand installs and a one-star review problem about startup time, which activation events and a synchronous index build explain entirely. before rewriting the indexer i want a view on the right architecture — lazy activation, background indexing, incremental updates, and where the index should live — and an idea of what we can ship in a week versus what needs a month", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "seat availability websocket reconnects without resubscribing, so the map goes stale silently", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "supplier protocol declares five methods that all three implementations satisfy on paper, while in practice one of them fakes holds locally and another can't report cancellation fees. read the interface against the three clients and tell me where the abstraction is lying, and which of those lies has actually cost us money i want the list ordered by what it has actually cost us, not by how ugly it looks.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "the spec for the availability websocket, which we now have to implement server-side:\n\nWS /v1/flights/{id}/availability\n auth: the same bearer token as the REST API, passed as a subprotocol; anonymous sessions get a short-lived token from /v1/sessions\n on connect: server sends a full snapshot { seats: { \"12A\": \"available\", \"12B\": \"held\", ... }, version }\n thereafter: deltas only, { changes: { \"12A\": \"held\" }, version } where version increments by one\n a client that sees a version gap must resubscribe rather than guess; the server must tolerate that at any rate\n heartbeat: server ping every 20s, client must respond within 10s or be dropped\n a seat held by this session is reported as \"mine\" rather than \"held\"\n peak: about 4,000 concurrent sessions per popular flight in the hour before departure, and roughly 40 changes per second on those\n the snapshot must be servable from cache; only deltas need to be per-flight ordered", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"}
{"prompt": "our seat holds expire via a beat task every minute, and i suspect that's the wrong mechanism entirely", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "filter box in the symbol tree", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "utilisation bars on the interface table", "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": "countdown announces every second", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "date picker ignores arrow keys", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "stale poll data looks current", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "muted price text fails contrast", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "`RelativePattern` everywhere in the extension", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "pull the filters out of the search view", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "split Device by SNMP version", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "une seule couche de cache, pas trois", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "fr"}
{"prompt": "`record_locator` naming, be consistent", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"}
{"prompt": "lift the airline lookup into one query", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "inline `cache_key`, single caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"}
{"prompt": "docstrings on the supplier protocol", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"}
{"prompt": "changelog for collector 3.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"}
{"prompt": "nota sobre o bloqueio de preço, para o suporte", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "pt"}
{"prompt": "document the offer token expiry", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "summarise the hold design for the team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "PR body for the buffer fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"}
{"prompt": "¿por qué el poller marca 48 interfaces caídas?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "es"}
{"prompt": "can the index rebuild block activation?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "walk me through the refund path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "go-to-definition finds nothing on windows", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "double refunds on slow cancellations", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "warum meldet der Collector Geräte als down?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"}
{"prompt": "endpoint for per-device poll status", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "push on with it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "less noisy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "you decide what's next", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "lo del cache, otra vez", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "es"}
{"prompt": "tidy that up", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
{"prompt": "same as the other one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "whatever helps on-call most", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "one last pass", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"}
{"prompt": "keep it moving", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "any of them, your call", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "try something better", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"}
{"prompt": "real inventory holds are the fix for our biggest conversion loss, but only two of our three suppliers support them, the durations differ, an unpaid hold has to be released or we get charged, and our checkout UI has no concept of an expiring reservation at all. i'd like the whole thing thought through — including whether we hold on entering checkout or on reaching payment — before anyone writes a line of it, because the wrong choice here costs money per booking rather than per deploy", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "EU data residency requirement lands in january and today we run in one US region, with a managed search index in the same region, analytics in a US warehouse, and two of three suppliers processing in the US. before we promise anything to legal i need the realistic options laid out, including the one where we tell them we can't do it by january, with the cost and the risk of each written plainly", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"}
{"prompt": "fourth supplier integration is contractually due in november and the engineer who owns the supplier layer leaves in three weeks. i'd like a plan that treats that as the main constraint: what has to be documented before they go, what the integration actually requires given their reservation model is unlike the other three, and where we should deliberately do the dumb thing to hit the date", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"}
{"prompt": "nobody can tell me whether our seat hold is genuinely exclusive: it takes a row lock on the booking rather than the seat, checks for an existing hold, and also writes a cache key that a separate expiry task deletes. work through what two concurrent requests for the same seat actually do, including the case where the expiry task fires between the check and the insert", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "alerting rules we inherited page on any interface error rate above zero and on device unreachability with no delay, which is most of our forty nightly pages. go through each rule and tell me what it would fire on in a healthy network, so i can take an evidence-based proposal to the team rather than an opinion assume i have to defend the proposal to a network engineer who wrote the originals.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "search view has accumulated two years of requirements inline — a silent passenger downgrade, a supplier skipped for one cabin class, caching, filtering after the cache read — and it's now impossible to change safely. restructure it so each of those is a named, testable piece, with identical responses for every query in last week's access log last week's access log is in the analytics bucket if you want real queries to compare against.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "device struct has fields that only apply to one SNMP version, a vendor quirks map read by string key in six places, and polling state mixed in with configuration. separate configuration from runtime state and make the version-specific fields impossible to set wrongly, without changing how any existing device config file is parsed every customer's config file must parse unchanged, including the ones with unknown keys.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "results page fires the same search request from two components, looks up the same twelve airlines two hundred times, and caches them in a module-level map that never invalidates. consolidate the data fetching without changing what renders, and make the airline lookup a single request rather than a hidden N+1 the twelve airlines are effectively static, so a single request at page load is fine.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "bookings fail at payment for about two percent of users with a price change, and the pattern is midday on busy routes, but i can't tell from the code whether that's genuine airline price movement or our own cache going stale between search and checkout. work it through end to end before we start proposing fixes i'd like the diagnosis before any proposal, including how we'd measure whether a fix worked.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"}
{"prompt": "network dashboard shows stale poll data as though it were current, which during an incident is actively dangerous. surface the last successful poll per device, mark stale rows unmistakably, and keep the table usable on the 1366x768 laptops the field engineers actually carry the field engineers are the ones who will tell us if it's still unusable, so keep it dense.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"}
{"prompt": "before the fourth supplier integration starts i want the reservation model designed properly — holds, ticketing deadlines, what we do when a supplier has no cancel endpoint — and then the reservation state machine implemented against it, so the integration itself is mostly mapping their sandbox is available now, so anything we can validate early is worth doing early.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "collector needs to scale to ten thousand devices and the first honest step is admitting the current concurrency model can't. design the target — pools, sharding, backpressure — then implement the per-device concurrency limit so tonight's pages stop while the bigger work happens on-premise customers upgrade by copying a binary, which constrains what the design can assume.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "data residency needs a plan and also needs something started, because january is not far away. give me the options for EU PNR storage with costs, then set up the region-tagged storage layer so the rest can follow whichever option we pick legal wants the options in writing before they'll commit to a date with the regulator.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"}
{"prompt": "das Alerting ist unbrauchbar und niemand liest es mehr. Ich hätte gern zuerst ein Konzept, welche Alarme überhaupt einen Pager rechtfertigen, und danach die Umsetzung für die beiden lautesten Regeln, damit die Nacht ruhiger wird", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "de"}
{"prompt": "extension's startup problem needs an architecture, not a patch, but we also can't ship nothing for a month. plan the lazy-activation and background-indexing design, then do the activation events change so the next release is at least not catastrophic forty thousand installs means a bad release is visible in the reviews within a day.", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"}
{"prompt": "price-lock behaviour needs documenting for support and, while writing it, i expect you'll find that the fifteen minutes doesn't mean what marketing thinks. produce the article, and separately tell me every claim on our pricing page that the code doesn't support support answers this several times a day and every answer is slightly different.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "public search API is documented by a stale postman collection. write the proper reference, and confirm from the code whether the silent downgrade above six passengers still happens, because if it does it needs to be in the docs rather than a surprise two partners integrate against it and both have asked for a real reference this quarter.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "escribe la guía de integración para el cuarto proveedor y, de paso, comprueba si nuestra interfaz de supplier soporta su modelo de reservas o si vamos a necesitar cambiarla", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"}
{"prompt": "on-call handbook has to exist before our supplier-layer owner leaves. write it from what the team does today, and add the two runbook entries for the failures they're the only one who knows how to fix they have three weeks left and are already half-committed to handover meetings.", "purpose": "writing", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "retry logic is copied into five places with different limits and delays. unify it behind one configurable policy, keeping each integration's current effective behaviour, and then document which integration uses which settings and why none of these can change behaviour without finance noticing, so keep the effective numbers identical.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "extension builds file globs three different ways and two of them are broken on windows. standardise on the API's own pattern type, and add the note to the contributing guide about why string concatenation of paths is not acceptable here roughly a third of our installs are on windows, which is where this actually matters.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"}
{"prompt": "django settings differ across environments in ways nobody tracks, and the session backend difference is probably why production logs people out mid-booking. rationalise the settings layering, and confirm whether the cache eviction is what's killing sessions before you change anything production is the only environment with the cache-backed sessions, which is suspicious on its own.", "purpose": "refactor", "secondary": "debugging", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "supplier abstraction hides real differences behind a uniform interface. restructure it so the differences are explicit in the types, and while you're in there tell me which of the three clients would break if we added a timeout shorter than their slowest observed response the fourth supplier lands in november and will make this worse if we don't move first.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "refunds are occasionally issued twice when the supplier answers slowly, and the retry has no idempotency key. find out exactly how the duplicate arises, then make the refund path idempotent end to end — including the case where our own webhook arrives before the original call returns finance has caught three of these this quarter and would like to stop being the detection mechanism.", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"}
{"prompt": "e2e suite flakes one run in four on the seat step because availability arrives over a websocket that's instant locally. work out whether that's the only cause, then fix the tests so they wait on the right condition rather than on time", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt": "dependabot batch has one advisory and three minors, one of which changes namespace handling in the library our SOAP client depends on. work out which are safe, apply those, and note what testing the xmltodict one would need", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"}
{"prompt": "snmp buffer is 8KB in production and 64KB in staging, which is the whole incident. change it, and check whether any other tuning parameter differs between the two in a way that would hide a production failure", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.4, "slice": "mixed", "lang": "en"}
{"prompt": "booking model has a `status` string with eleven values and no state machine, and three of them are only ever set by a script", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "celery tasks catch bare exceptions and log them, so a supplier failure and a bug in our code look identical in the logs", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "rename the collector's `Device.Community` field, it's meaningless for the v3 devices that are now the majority", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"}
{"prompt": "could you explain how a supplier session expiry surfaces to the user, and why it takes ten minutes to appear", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"}
{"prompt": "why does the collector re-dial SNMP sessions for every OID group rather than reusing one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "someone should check whether our refund endpoint can be called twice by a double-click", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"}
{"prompt": "is it expected that search results are cached across users including their currency and loyalty tier", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"}
{"prompt": "pouvez-vous m'expliquer comment le verrou de prix interagit avec le cache de recherche ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "fr"}
{"prompt": "docs/suppliers.md describes a hold API that only one of our three suppliers actually has", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"}
{"prompt": "a short note for the team explaining why the search cache TTL is changing, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"}
{"prompt": "社内向けに、予約が失敗したときの調査手順をまとめてください", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "ja"}
{"prompt": "collector's config reference documents six options and the binary reads nineteen", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "write the marketplace description for the extension, the current one is three sentences from 2023", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"}
{"prompt": "precisamos de uma página que explique aos clientes o que acontece quando o preço muda no pagamento", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "pt"}
{"prompt": "price on the confirmation email is formatted with the server's locale rather than the customer's", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"}
{"prompt": "how should we handle suppliers that can't tell us a cancellation fee until after ticketing", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "what's the right way to test the booking flow against three suppliers without hitting their sandboxes constantly", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"}
{"prompt": "i want a position on whether the extension's index belongs on disk, in memory, or in a language server", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"}
{"prompt": "we need a story for on-premise collector upgrades, customers currently copy a binary and hope", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"}
{"prompt": "what should our approach be to gNMI streaming telemetry, given the newer devices expect it and we only speak SNMP", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"}
{"prompt": "three suppliers, three rate limits, one of them unpublished and enforced by disconnection — how should we shape our outbound traffic", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"}
{"prompt": "an endpoint that returns a booking's full timeline — searched, held, paid, ticketed, cancelled — for support", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"}
{"prompt": "seat holds should release automatically when the payment session expires, rather than fifteen minutes later", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"}
{"prompt": "per-device polling intervals, so the noisy core switches can be polled less often than the edge", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"}
{"prompt": "passenger form errors should move focus to the first invalid field and announce the summary", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"}
{"prompt": "whichever of those is quickest", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"}
{"prompt": "finish the supplier bit", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"}
{"prompt": "i'd like an honest read of whether our booking status field is a state machine or just a string that eleven things write to, and if it's the latter, the transitions modelled properly with the three script-only values either legitimised or removed", "purpose": "review", "secondary": "refactor", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"}
{"prompt": "our celery error handling catches bare exceptions everywhere, so a supplier timeout and a genuine bug in our code produce identical log lines. separate them properly, and tell me how many of last week's \"supplier failures\" were actually our own errors in disguise", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"}
{"prompt": "the booking timeline endpoint support keeps asking for needs designing before it's built — what events we record, how far back, whether it reads from the audit log or its own table. decide that with me, then implement it", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"}
{"prompt":"Staging: Incident timeline — INC-47119\n\n08:02 deploy GossamerDriftConsoleFlow 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nCapture the GossamerDriftConsoleFlow decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt":"Ticket OPS-47132: retire the legacy replay path for GossamerWrenExportFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nTurn the material above into a concise GossamerWrenExportFlow release note and operator runbook section. State impact, detection, rollback, and the client-visible contract; do not modify code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"pasted-context","lang":"en"}
{"prompt":"Two deliverables are holding up GossamerBirchMigratorCoordinator. First, lay out a staged migration for GossamerBirchMigratorCoordinator. In the same workstream, also add the visible loading and offline states. The relevant starting point is projects/gossamer/web/components/FilterDrawer.vue, which follows Room conventions and currently suffers from lease renewal code copied across three workers. Keep voiceover and keyboard navigation working.\n\nPlease make the boundary between analysis and changes obvious, preserve tenant and wire compatibility, exercise cancellation plus retries, and leave unrelated generators alone. The handoff should include one measurable rollback signal and enough repository evidence for separate reviewers to verify each outcome.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt":"Move GossamerEmberRelayService behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Milestones for replacing GossamerBeaconStoreStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"GossamerOspreyJobService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Bring the drawer and detail pane to production polish with fluid sizing, honest skeletons, focus restoration, accessible announcements, and touch targets that survive large text.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current OpenTelemetry operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"GossamerAsterWebhookCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt":"On compact widths, GossamerRainfallDBService's filter drawer should slide over the results, trap focus, and expose a visible close control without changing the desktop layout.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Bring GossamerAsterWebhookStore's confirmation sheet in line with the design tokens, including destructive emphasis, dark appearance, Dynamic Type, and swipe-to-dismiss behavior.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"// projects/gossamer/web/components/FilterDrawer.vue\nfinal class GossamerMarbleTokenFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nRestructure GossamerMarbleTokenFlow so duplicated normalization and shutdown ownership have one home. Preserve public behavior, wire values, logging fields, and ordering; extend characterization coverage first.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Read projects/gossamer/Sources/App/SessionStore.swift and tell me whether GossamerPineMetricsStore can acknowledge work before its durable write completes; this is a read-only safety pass. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerQuartzPlayerService has four wrappers that only translate the same error enum. Collapse them into one adapter and preserve every public case, message, and metric label.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerCraneWorkspaceCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt":"CI: Ticket OPS-47154: retire the legacy replay path for GossamerDeltaCanvasCoordinator\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nAssess GossamerDeltaCanvasCoordinator for durability, tenant isolation, races, and misleading observability. Separate blockers from questions and do not produce a patch.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"// projects/gossamer/services/ledger/replay.go\nfinal class GossamerSableParserCoordinatorCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Restructure GossamerSableParserCoordinator so duplicated normalization and shutdown ownership have one home. Preserve public behavior, wire values, logging fields, and ordering; extend characterization coverage first.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Atlas: projects/gossamer/cmd/exporter/main.py 里的 GossamerFrostPanelService 最近在 gRPC 流程中出现间歇性问题。 请阅读现有流程,判断 ownership、取消和顺序是否安全,只需要分析。\n\n约束:\n- 继续使用 gRPC\n- 保持兼容性和取消语义\n- 改动只限于 GossamerFrostPanelService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"zh"}
{"prompt":"GossamerMarbleTokenCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt":"Beacon: # projects/gossamer/Sources/App/SessionStore.swift\n[worker.gossamernovapickercoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamernovapickercoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamernovapickercoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerNovaPickerCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47150\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nThe intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/gossamer/Sources/App/SessionStore.swift and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"Cinder: Incident timeline — INC-47129\n\n08:02 deploy GossamerOrbitSyncFlow 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Turn the material above into a concise GossamerOrbitSyncFlow release note and operator runbook section. State impact, detection, rollback, and the client-visible contract; do not modify code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"pasted-context","lang":"en"}
{"prompt":"Delta: // projects/gossamer/cmd/exporter/main.py\nfinal class GossamerBasilRunnerFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nConsolidate GossamerBasilRunnerFlow's parallel adapters behind a single internal boundary, with no changes to API, timing, serialization, metrics, or error text.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerPrismCacheFlow needs an idempotent replay endpoint backed by Swift 6; accept a cursor, cap each page at 500 items, and return a stable continuation token.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"GossamerSlateEditorService occasionally exhibits duplicate retries after a network handoff, but only after a reconnect. Follow the data and cancellation paths in projects/gossamer/src/sync/reconcile.ts and identify the cause before changing anything.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Could GossamerDeltaCanvasFlow show the active FastAPI sync phase as an accessible progress row, including reduced-motion behavior?","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Does GossamerCloudReconcilerService enforce tenant scope before decoding its cursor, and could any early-return path reveal whether a foreign record exists?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Test Suite 'GossamerBeaconStoreFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[GossamerBeaconStoreFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/gossamer/Sources/App/SessionStore.swift:144: error: -[GossamerBeaconStoreFlowTests testRestoresSelectionAfterBackgrounding] : XCTAssertEqual failed: (\"Optional(4)\") is not equal to (\"Optional(3)\")\nAccessibility hierarchy at failure:\n Application, 0x104c, pid: 812\n Window, identifier: \"main\"\n NavigationStack, identifier: \"catalog\"\n Button, label: \"Filters\", value: \"2 active\"\n CollectionView, identifier: \"results-grid\", rows: 24\n Sheet, identifier: \"filter-sheet\"\n TextField, label: \"Search filters\", value: \"\"\n Switch, label: \"Available offline\", value: \"1\"\n Button, label: \"Apply\", enabled: true\nTest Case '-[GossamerBeaconStoreFlowTests testRestoresSelectionAfterBackgrounding]' failed (4.812 seconds).\n\nSimulator: iPhone 17 Pro, iOS 27.0, en_US, content size XXXL, Reduce Motion enabled. The screenshot looks correct. The mismatch is the internal selected-segment index after the scene becomes active; tapping Apply a second time makes it three again.\n\nReconstruct the GossamerBeaconStoreFlow failure timeline, test competing hypotheses against the pasted evidence, and identify the first broken invariant rather than treating later warnings as causes.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Does GossamerLedgerGateStore enforce tenant scope before decoding its cursor, and could any early-return path reveal whether a foreign record exists? I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Draft GossamerBeaconStoreService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"Ember: The data is already available in projects/gossamer/Sources/CLI/Commands/Doctor.swift; render it as a sortable table with a compact mobile card fallback, visible focus, and honest loading placeholders.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current GossamerGarnetModalService design actually guarantees what its callers assume. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerGarnetModalService\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Could GossamerLedgerGateService show the active Room sync phase as an accessible progress row, including reduced-motion behavior?","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Frost: projects/gossamer/services/ledger/replay.go 里的 GossamerHarborIndexStore 最近在 Room 流程中出现间歇性问题。 请给出阶段、兼容层、指标、rollback 和 ownership,先不要修改代码。\n\n约束:\n- 继续使用 Room\n- 保持兼容性和取消语义\n- 改动只限于 GossamerHarborIndexStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"zh"}
{"prompt":"Incident timeline — INC-47139\n\n08:02 deploy GossamerJuniperCLIFlow 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nFrom this evidence, draft consumer-facing migration guidance for GossamerJuniperCLIFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt":"Garnet: Ticket OPS-47124: retire the legacy replay path for GossamerSummitProxyFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nAssess GossamerSummitProxyFlow for durability, tenant isolation, races, and misleading observability. Separate blockers from questions and do not produce a patch.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"How does GossamerCraneWorkspaceStore propagate cancellation through the Swift 6 boundary, and are there code paths where ownership becomes ambiguous? I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"On compact widths, GossamerCloudReconcilerStore's filter drawer should slide over the results, trap focus, and expose a visible close control without changing the desktop layout.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"$ pnpm test --filter GossamerIrisBatchFlow\n RUN v3.2.4 /workspace/apps/console\n × GossamerIrisBatchFlow > restores a suspended upload after reconnect 1543ms\n → expected cursor \"seg-0184\" to equal \"seg-0183\"\n\nAssertionError: expected 'seg-0184' to deeply equal 'seg-0183'\n at packages/sync/test/reconnect.spec.ts:188:31\n at async withFakeClock (packages/testkit/clock.ts:72:9)\n at async Promise.all (index 1)\n\nstdout:\n session=47127 phase=resume storedCursor=seg-0183\n session=47127 phase=fetch requestCursor=seg-0183 pageSize=200\n session=47127 phase=commit receivedCursor=seg-0184 itemCount=0\n session=47127 phase=ack durable=false\n\nThe assertion passes when this file runs alone and fails about one time in twelve in the full shard. Fake time is reset in afterEach, Redis is flushed, and no production incident has been tied to it. CI uses Node 24 on Linux; local repro attempts were on macOS.\n\nReconstruct the GossamerIrisBatchFlow failure timeline, test competing hypotheses against the pasted evidence, and identify the first broken invariant rather than treating later warnings as causes.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerLedgerGateCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt":"One contained cleanup in projects/gossamer/web/components/FilterDrawer.vue: remove the obsolete GossamerSableParserFlow import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"boundary","lang":"en"}
{"prompt":"For GossamerSummitProxyCoordinator, separate GossamerSummitProxyCoordinator's policy from transport without behavior changes; once that is complete, correct the known stale timeout beside it. Work from projects/gossamer/crates/index/src/segment.rs, stay with FastAPI, and keep VoiceOver and keyboard navigation working. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"Harbor: # projects/gossamer/internal/auth/refresh.go\n[worker.gossameramberfilterflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossameramberfilterflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossameramberfilterflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerAmberFilterFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47128\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nMake the one confirmed configuration correction in projects/gossamer/internal/auth/refresh.go. Keep retry counts, shutdown grace, dependencies, formatting, and production values exactly as they are.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"The next client release depends on a new GossamerNovaPickerService capability in projects/gossamer/Sources/CLI/Commands/Doctor.swift, with gRPC already chosen by the platform group. Implement the endpoint and durable cursor, enforce tenant authorization and idempotency, emit useful spans, cap work per request, and include focused tests for retries, cancellation, and malformed cursors.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to GossamerNovaPickerService and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Lay out a two-milestone strategy for eliminating a deadlock that appears only during shutdown in GossamerRainfallDBStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Iris: The first GossamerSableParserStore request after credential refresh gets 401, while an immediate retry succeeds. Follow token publication and request capture timing before recommending a fix.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current GossamerBasilRunnerStore design actually guarantees what its callers assume. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerBasilRunnerStore\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.\n\nReturn an assessment of the existing artifact; only quote enough to make the walkthrough understandable.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Assess the GossamerCoralUploadService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Summarize the GossamerAmberFilterService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Juniper: Could GossamerTideWorkerStore show the active Room sync phase as an accessible progress row, including reduced-motion behavior?","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Kestrel: // projects/gossamer/web/components/FilterDrawer.vue\nfinal class GossamerHarborIndexFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nAdd the bounded GossamerHarborIndexFlow replay flow described here, including authorization, key rotation, cancellation, lag metrics, and tests for malformed and cross-tenant cursors.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"Lumen: // projects/gossamer/workers/thumbnail/consumer.ex\nfinal class GossamerFernSnapshotFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Split GossamerFernSnapshotFlow by responsibility and make cancellation ownership explicit. Characterize the current sequence before moving code and keep callers unchanged.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"EXPLAIN (ANALYZE, BUFFERS)\nSELECT e.tenant_id, e.stream_id, max(e.sequence)\nFROM event_log e\nJOIN active_streams s\n ON s.tenant_id = e.tenant_id AND s.id = e.stream_id\nWHERE e.tenant_id = 't_47121'\n AND e.created_at >= now() - interval '24 hours'\nGROUP BY e.tenant_id, e.stream_id;\n\nHashAggregate (cost=184922.10..185011.81 rows=8971 width=40) (actual time=8421.294..8422.551 rows=123 loops=1)\n Group Key: e.tenant_id, e.stream_id\n Batches: 1 Memory Usage: 945kB\n -> Hash Join (cost=2118.42..181004.17 rows=522391 width=32) (actual time=42.118..8279.405 rows=918412 loops=1)\n Hash Cond: ((e.tenant_id = s.tenant_id) AND (e.stream_id = s.id))\n -> Bitmap Heap Scan on event_log e (actual time=18.602..7922.884 rows=1261044 loops=1)\n Recheck Cond: (tenant_id = 't_47121'::text)\n Filter: (created_at >= (now() - '24:00:00'::interval))\n Rows Removed by Filter: 8045512\nPlanning Time: 2.814 ms\nExecution Time: 8423.104 ms\n\nPostgreSQL 17.2, default_statistics_target=100. The same query was under 300 ms last week, no migration landed, and an ANALYZE temporarily returns it to normal.\n\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Wire GossamerKiteSchedulerFlow's schema, storage, handler, and worker path so continuation is signed, duplicate delivery is stable, and shutdown cannot acknowledge uncommitted work.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerRavenSessionFlow's staging timeout is already known to be wrong: change the single projects/gossamer/internal/auth/refresh.go value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"GossamerWillowCodecCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt":"GossamerCopperBridgeCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt":"GossamerJuniperCLICoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt":"The destination for GossamerRavenSessionService is broadly agreed; the missing piece is a reversible route from projects/gossamer/internal/auth/refresh.go to that target. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerRavenSessionService\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt":"Centre la modale GossamerDriftConsoleService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"fr"}
{"prompt":"diff --git a/projects/gossamer/Sources/CLI/Commands/Doctor.swift b/projects/gossamer/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/gossamer/Sources/CLI/Commands/Doctor.swift\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nRead the artifact above as a skeptical reviewer. Is GossamerMapleQueueFlow's current ordering, ownership, and cancellation behavior safe? Return findings with evidence, without editing files.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Maple: # projects/gossamer/Sources/App/SessionStore.swift\n[worker.gossamermicaprofileflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamermicaprofileflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamermicaprofileflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerMicaProfileFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47110\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nMake the one confirmed configuration correction in projects/gossamer/Sources/App/SessionStore.swift. Keep retry counts, shutdown grace, dependencies, formatting, and production values exactly as they are.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"Vereinheitliche die GossamerDriftConsoleStore-Validatoren","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"de"}
{"prompt":"Translate the GossamerSummitProxyService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"diff --git a/projects/gossamer/Sources/CLI/Commands/Doctor.swift b/projects/gossamer/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/gossamer/Sources/CLI/Commands/Doctor.swift\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nSplit GossamerPineMetricsFlow by responsibility and make cancellation ownership explicit. Characterize the current sequence before moving code and keep callers unchanged.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Translate the GossamerWrenExportService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"# projects/gossamer/ui/settings/PrivacyPane.tsx\n[worker.gossamercraneworkspaceflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamercraneworkspaceflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamercraneworkspaceflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerCraneWorkspaceFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47147\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nThe intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/gossamer/ui/settings/PrivacyPane.tsx and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerBasilRunnerCoordinator is blocking the next release because a query plan that changes after statistics refresh. I need two concrete outcomes from a single pass: finish GossamerBasilRunnerCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing gRPC conventions in projects/gossamer/ml/pipeline/features.py; keep VoiceOver and keyboard navigation working. Keep the outcomes distinct so reviewers can see which evidence supports the assessment and which files or prose satisfy the requested change.\n\nConstraints:\n- preserve public wire values and tenant boundaries\n- cover cancellation and retry behavior\n- avoid generated code and unrelated cleanup\n- include a rollback trigger that an on-call engineer can measure\n\nThis is a fresh workstream for the release, so derive everything from the repository and the context here.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"PM needs a concise migration note for GossamerDeltaCanvasStore, including the user impact, rollback trigger, and the one configuration key operators must change.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"For GossamerBeaconStoreCoordinator, produce a consumer guide for GossamerBeaconStoreCoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/gossamer/Sources/CLI/Commands/Doctor.swift, stay with gRPC, and keep VoiceOver and keyboard navigation working. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt":"Give GossamerOrbitSyncStore a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"What sequence would let GossamerNimbusFormFlow adopt Swift 6 with dual reads but no dual writes? Include data validation, canary scope, and the decision that ends compatibility mode.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Two engineers disagree about whether GossamerAsterWebhookService's cache is authoritative. Walk the reads and writes in projects/gossamer/ml/pipeline/features.py and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"This should remain a deliberately small patch: GossamerLumenChartService has one known configuration mistake in projects/gossamer/lib/codec/frame.cc, not an open-ended failure investigation. Change the staging timeout from 15 seconds to 30, adjust the adjacent assertion that encodes that value, and avoid unrelated formatting, renames, dependency bumps, or cleanup.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to GossamerLumenChartService and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Three teams extended GossamerBirchMigratorService independently, leaving parallel adapters and normalization branches that are supposed to behave identically. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current Room operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"# projects/gossamer/cmd/exporter/main.py\n[worker.gossamerfrostpanelflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamerfrostpanelflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamerfrostpanelflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerFrostPanelFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47135\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nThe intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/gossamer/cmd/exporter/main.py and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"Fresh release brief for GossamerSpruceDaemonCoordinator:\n- primary outcome: produce a consumer guide for GossamerSpruceDaemonCoordinator\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/gossamer/pkg/cache/lease.rs\n- platform constraint: FastAPI\n- known complication: duplicate retries after a network handoff\n\nBoth results are required, but they should remain independently reviewable. Keep voiceover and keyboard navigation working; retain serialization and authorization boundaries; cover cancellation, idempotent retries, and rollback; and avoid drive-by cleanup. Use the code as the source of truth, call out assumptions, and state how an on-call engineer can tell that either part is unsafe to ship.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"GossamerVelaDrawerCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt":"GossamerCedarPolicyCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt":"GossamerRainfallDBCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt":"En projects/gossamer/web/components/FilterDrawer.vue, GossamerSableParserService tiene un problema intermitente en el flujo de Room. Termina el layout responsive, estados vacío y retry, foco por teclado, dark mode y reduced motion.\n\nRestricciones:\n- seguir con Room\n- conservar compatibilidad y cancelación\n- limitar el cambio a GossamerSableParserService","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"es"}
{"prompt":"Why does GossamerCedarPolicyStore's OpenTelemetry worker stop making progress while its health endpoint remains green? Gather evidence from the scheduler and queue code and narrow the failure mode.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Trace GossamerMosaicGridStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current GossamerPrismCacheService design actually guarantees what its callers assume. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerPrismCacheService\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Ticket OPS-47146: retire the legacy replay path for GossamerCloudReconcilerFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nCapture the GossamerCloudReconcilerFlow decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"boundary","lang":"en"}
{"prompt":"GossamerMapleQueueCoordinator: ship, then correct","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt":"GossamerFrostPanelCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt":"UI ticket DES-47145: finish the compact GossamerAsterWebhookFlow filter experience\n\nRoute: /catalog/search\nSource: projects/gossamer/ml/pipeline/features.py\nFramework: gRPC\n\nCurrent QA notes\n- at 390 px the filter sheet is wider than the viewport by 16 px\n- returning from background selects segment four while the visible chip says three\n- keyboard focus falls behind the sheet after Apply\n- VoiceOver announces the internal value `sync_state_retriable`\n- the loading spinner never resolves into an offline action\n- dark appearance uses the light divider token\n- Reduce Motion still runs the spring transition\n- at accessibility XXXL the footer buttons overlap\n\nBrowser console during the transition:\n[ui] sheet.presented source=toolbar selected=3\n[ui] scene.inactive cachedSelection=3\n[ui] scene.active restoredSelection=4\n[ui] focus.restore target=filter-button result=detached\n[ui] network.status value=offline renderedState=loading\n\nAcceptance criteria from design\nThe phone layout should use an edge-to-edge sheet; tablet keeps the anchored panel. Applying filters returns focus to the opener and announces the result count. Empty, offline, retrying, and loaded states must be visually distinct. Use existing design tokens, support keyboard escape, preserve current data requests, and provide a no-animation path when Reduce Motion is enabled.\n\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Use the UI evidence to complete GossamerAsterWebhookFlow's compact and accessibility behavior, including focus restoration, large text, offline recovery, and honest loading feedback.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Before touching projects/gossamer/Sources/CLI/Commands/Doctor.swift, propose how to retire its legacy format while old clients remain active for ninety days and operators retain a reversible escape hatch.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"GossamerOrbitSyncCoordinator needs a paired pass: change GossamerOrbitSyncCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/gossamer/config/staging.toml as the source of truth, preserve the FastAPI contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt":"GossamerAcornWidgetStore's FilterDrawer.vue needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"GossamerEmberRelayCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt":"Unify the GossamerWrenExportStore validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Nimbus: # projects/gossamer/engine/render/atlas.cpp\n[worker.gossamerrainfalldbflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamerrainfalldbflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamerrainfalldbflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerRainfallDBFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47142\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nAlign GossamerRainfallDBFlow's staging timeout with the shown production value and refresh only the focused config test; nothing else in the paste should move.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"pasted-context","lang":"en"}
{"prompt":"Collapse the GossamerMarbleTokenService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Opal: diff --git a/projects/gossamer/src/sync/reconcile.ts b/projects/gossamer/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/src/sync/reconcile.ts\n+++ b/projects/gossamer/src/sync/reconcile.ts\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nRestructure GossamerMoonlitSDKCoordinator so duplicated normalization and shutdown ownership have one home. Preserve public behavior, wire values, logging fields, and ordering; extend characterization coverage first.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"What is the safest way to split projects/gossamer/packages/api/openapi.yaml into independently owned modules while GossamerFlintTimelineFlow's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Clarify GossamerAtlasSearchService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Release verification found a single stale GossamerSpruceDaemonStore value; the cause, desired value, and affected assertion are already agreed. Align the one stale configuration entry with production, refresh only its focused snapshot, and leave retries, grace periods, dependencies, and neighboring comments untouched.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current FastAPI operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Prism: // projects/gossamer/services/ledger/replay.go\nfinal class GossamerBirchMigratorFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Split GossamerBirchMigratorFlow by responsibility and make cancellation ownership explicit. Characterize the current sequence before moving code and keep callers unchanged.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Production says GossamerNimbusFormService is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Reconstruct the failing timeline from logs and tests, identify which invariant first breaks, and distinguish causal signals from effects or cleanup noise.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current Swift 6 operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Move GossamerVelaDrawerStore behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Could GossamerNovaPickerStore show the active gRPC sync phase as an accessible progress row, including reduced-motion behavior?","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Security flagged GossamerWillowCodecStore for a read-only pass because its Swift 6 boundary mixes tenant data, retries, and cancellation in subtle ways. Follow one successful request and each early exit through the code, then rank findings by impact and state which apparent hazards are already ruled out by invariants.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current Swift 6 operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.\n\nReturn an assessment of the existing artifact; only quote enough to make the walkthrough understandable.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Quartz: What is the safest way to split projects/gossamer/workers/thumbnail/consumer.ex into independently owned modules while GossamerFernSnapshotService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt":"Our support and SDK teams keep answering the same questions about GossamerBirchMigratorStore, but the current prose in projects/gossamer/web/components/FilterDrawer.vue only describes the happy path. Produce a reader-first guide that states the contract, calls out retries and cancellation, gives one copyable example, and separates operator advice from application-developer advice.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing Room deployment\n- keep the work scoped to GossamerBirchMigratorStore and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.\n\nProduce durable prose rather than a code assessment or implementation change.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"UI ticket DES-47131: finish the compact GossamerCoralUploadFlow filter experience\n\nRoute: /catalog/search\nSource: projects/gossamer/apps/console/routes/usage.svelte\nFramework: OpenTelemetry\n\nCurrent QA notes\n- at 390 px the filter sheet is wider than the viewport by 16 px\n- returning from background selects segment four while the visible chip says three\n- keyboard focus falls behind the sheet after Apply\n- VoiceOver announces the internal value `sync_state_retriable`\n- the loading spinner never resolves into an offline action\n- dark appearance uses the light divider token\n- Reduce Motion still runs the spring transition\n- at accessibility XXXL the footer buttons overlap\n\nBrowser console during the transition:\n[ui] sheet.presented source=toolbar selected=3\n[ui] scene.inactive cachedSelection=3\n[ui] scene.active restoredSelection=4\n[ui] focus.restore target=filter-button result=detached\n[ui] network.status value=offline renderedState=loading\n\nAcceptance criteria from design\nThe phone layout should use an edge-to-edge sheet; tablet keeps the anchored panel. Applying filters returns focus to the opener and announces the result count. Empty, offline, retrying, and loaded states must be visually distinct. Use existing design tokens, support keyboard escape, preserve current data requests, and provide a no-animation path when Reduce Motion is enabled.\n\nBring GossamerCoralUploadFlow's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Remove GossamerBasilRunnerService's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"The first GossamerCraneWorkspaceService request after credential refresh gets 401, while an immediate retry succeeds. Follow token publication and request capture timing before recommending a fix.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Raven: projects/gossamer/app/src/main/SyncWorker.kt の GossamerOspreyJobFlow で、OpenTelemetry の flow に断続的な問題が起きています。 consumer 向けに contract、error、retry、コピー可能な例を含む文書を書き、handler は変更しないでください。\n\n制約:\n- OpenTelemetry を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は GossamerOspreyJobFlow のみ","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"ja"}
{"prompt":"Ticket OPS-47122: retire the legacy replay path for GossamerVelaDrawerFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nCapture the GossamerVelaDrawerFlow decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Summarize the GossamerAtlasSearchStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"GossamerWrenExportCoordinator needs a paired pass: change GossamerWrenExportCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/gossamer/engine/render/atlas.cpp as the source of truth, preserve the Swift 6 contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt":"Incident timeline — INC-47125\n\n08:02 deploy GossamerMosaicGridFlow 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nMap a safe route from the current GossamerMosaicGridFlow behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"Two engineers disagree about whether GossamerOpalRouterStore's cache is authoritative. Walk the reads and writes in projects/gossamer/config/staging.toml and settle that question from the code. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerHarborIndexCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt":"Memory attributed to GossamerPrismCacheStore rises after every cancelled import and never falls. Trace task ownership, buffers, and callbacks to identify what remains reachable.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Why does GossamerGarnetModalStore's gRPC worker stop making progress while its health endpoint remains green? Gather evidence from the scheduler and queue code and narrow the failure mode.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Decouple GossamerMapleQueueStore's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Spell GossamerWillowCodecService's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"Describe GossamerAcornWidgetService's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt":"Read projects/gossamer/internal/auth/refresh.go and tell me whether GossamerTideWorkerService can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerDriftConsoleCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"GossamerAtlasSearchCoordinator needs a paired pass: finish GossamerAtlasSearchCoordinator's responsive empty and retry states, plus give the existing implementation a read-only safety pass. Use projects/gossamer/src/sync/reconcile.ts as the source of truth, preserve the OpenTelemetry contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"Em projects/gossamer/ml/pipeline/features.py, o GossamerFrostPanelStore tem um problema intermitente no fluxo de gRPC. Finalize o layout responsivo, estados vazio e retry, foco por teclado, dark mode e reduced motion.\n\nRestrições:\n- continuar com gRPC\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao GossamerFrostPanelStore","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"pt"}
{"prompt":"projects/gossamer/web/components/FilterDrawer.vue の GossamerHarborIndexService で、Room の flow に断続的な問題が起きています。 原因は判明済みです。staging timeout だけを 15 秒から 30 秒へ変え、対応する assertion を直してください。\n\n制約:\n- Room を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は GossamerHarborIndexService のみ","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"ja"}
{"prompt":"projects/gossamer/db/migrations/20260730_events.sql has grown through several launches, and GossamerMoonlitSDKService now mixes policy, transport, persistence, and metrics in one place. Separate those responsibilities into focused units, remove the duplicated normalization branches, and keep public types, wire values, log fields, timing, and test-observable behavior exactly the same.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing OpenTelemetry deployment\n- keep the work scoped to GossamerMoonlitSDKService and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"GossamerEchoRegistryStore crashes after reconnect","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"diff --git a/projects/gossamer/lib/codec/frame.cc b/projects/gossamer/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/lib/codec/frame.cc\n+++ b/projects/gossamer/lib/codec/frame.cc\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nSplit GossamerPrismCacheCoordinator by responsibility and make cancellation ownership explicit. Characterize the current sequence before moving code and keep callers unchanged.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Bring GossamerCedarPolicyService's confirmation sheet in line with the design tokens, including destructive emphasis, dark appearance, Dynamic Type, and swipe-to-dismiss behavior.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"GossamerFernSnapshotStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/gossamer/ui/settings/PrivacyPane.tsx and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Sable: Ticket OPS-47116: retire the legacy replay path for GossamerEmberRelayFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nMap a safe route from the current GossamerEmberRelayFlow behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"Incident timeline — INC-47155\n\n08:02 deploy GossamerGarnetModalCoordinator 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nMap a safe route from the current GossamerGarnetModalCoordinator behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"Tide: Ticket OPS-47126: retire the legacy replay path for GossamerAtlasSearchFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nUsing this as the starting evidence, propose a staged GossamerAtlasSearchFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerPineMetricsCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt":"Draft GossamerVelaDrawerService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"For GossamerAcornWidgetCoordinator, separate GossamerAcornWidgetCoordinator's policy from transport without behavior changes; once that is complete, correct the known stale timeout beside it. Work from projects/gossamer/web/components/FilterDrawer.vue, stay with Room, and keep VoiceOver and keyboard navigation working. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"Could GossamerCopperBridgeService show the active FastAPI sync phase as an accessible progress row, including reduced-motion behavior?","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Does GossamerMoonlitSDKFlow enforce tenant scope before decoding its cursor, and could any early-return path reveal whether a foreign record exists? I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"The behavior of GossamerRavenSessionStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/gossamer/infra/modules/edge/main.tf. Turn the repository behavior into a compact reference with prerequisites, request and response examples, failure semantics, a rollback note, and links to the authoritative config keys.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current Room operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.\n\nProduce durable prose rather than a code assessment or implementation change.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"GossamerLumenChartCoordinator is blocking the next release because an accessibility label that reads the internal enum. I need two concrete outcomes from a single pass: finish GossamerLumenChartCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing Swift 6 conventions in projects/gossamer/engine/render/atlas.cpp; keep VoiceOver and keyboard navigation working. Keep the outcomes distinct so reviewers can see which evidence supports the assessment and which files or prose satisfy the requested change.\n\nConstraints:\n- preserve public wire values and tenant boundaries\n- cover cancellation and retry behavior\n- avoid generated code and unrelated cleanup\n- include a rollback trigger that an on-call engineer can measure\n\nThis is a fresh workstream for the release, so derive everything from the repository and the context here.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"Sketch the GossamerEchoRegistryService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"thread 'tokio-runtime-worker' panicked at projects/gossamer/src/sync/reconcile.ts:217:18:\ncalled `Result::unwrap()` on an `Err` value: SendError { .. }\n\nstack backtrace:\n 0: std::panicking::begin_panic_handler\n 1: core::panicking::panic_fmt\n 2: core::result::unwrap_failed\n 3: gossamerslateeditorflow::scheduler::LeaseTask::flush\n at ./projects/gossamer/src/sync/reconcile.ts:217:18\n 4: gossamerslateeditorflow::scheduler::LeaseTask::shutdown\n at ./src/scheduler/lease.rs:301:14\n 5: tokio::runtime::task::core::Core::poll\n 6: tokio::runtime::scheduler::multi_thread::worker::Context::run_task\n 7: tokio::runtime::context::runtime::enter_runtime\n\nnote: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.\nruntime metrics: active_tasks=3 queued_tasks=0 open_channels=0 shutdown_reason=SIGTERM grace_ms=10000\nThe panic is only visible during rolling deploys. Requests have already drained, the sender is intentionally dropped by the coordinator, and the process exits successfully despite the panic hook writing this trace.\n\nReconstruct the GossamerSlateEditorFlow failure timeline, test competing hypotheses against the pasted evidence, and identify the first broken invariant rather than treating later warnings as causes.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Two deliverables are holding up GossamerMicaProfileCoordinator. First, assess ownership and failure handling in projects/gossamer/Sources/CLI/Commands/Doctor.swift. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/gossamer/Sources/CLI/Commands/Doctor.swift, which follows gRPC conventions and currently suffers from lost focus when the drawer animation finishes. Keep voiceover and keyboard navigation working.\n\nPlease make the boundary between analysis and changes obvious, preserve tenant and wire compatibility, exercise cancellation plus retries, and leave unrelated generators alone. The handoff should include one measurable rollback signal and enough repository evidence for separate reviewers to verify each outcome.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"GossamerEchoRegistryCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt":"Umbra: # projects/gossamer/infra/modules/edge/main.tf\n[worker.gossamerravensessioncoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamerravensessioncoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamerravensessioncoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerRavenSessionCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47158\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nMake the one confirmed configuration correction in projects/gossamer/infra/modules/edge/main.tf. Keep retry counts, shutdown grace, dependencies, formatting, and production values exactly as they are.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"Ticket OPS-47118: retire the legacy replay path for GossamerEchoRegistryFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nFrom this evidence, draft consumer-facing migration guidance for GossamerEchoRegistryFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"pasted-context","lang":"en"}
{"prompt":"Vela: // projects/gossamer/apps/console/routes/usage.svelte\nfinal class GossamerCinderAuthFlowCoordinator {\n private let store: EventStore\n private let clock: Clock\n private var pending: [Event.ID: Task<Void, Never>] = [:]\n\n func accept(_ event: Event) {\n pending[event.id]?.cancel()\n pending[event.id] = Task {\n let normalized = normalize(event)\n try? await store.persist(normalized)\n await MainActor.run {\n NotificationCenter.default.post(\n name: .eventDidPersist,\n object: event.id\n )\n }\n }\n }\n\n func stop() {\n pending.values.forEach { $0.cancel() }\n pending.removeAll()\n }\n}\n\n// A second copy lives in PreviewCoordinator.swift. It uses the same normalization\n// rules but calls store.persist before assigning the Task into `pending`.\n\nTests currently cover successful persistence and explicit stop. They do not cover replacement of an in-flight event with the same ID, cancellation thrown by the store, or whether the notification may arrive after stop returns. Public callers rely on accept being synchronous.\n\nRestructure GossamerCinderAuthFlow so duplicated normalization and shutdown ownership have one home. Preserve public behavior, wire values, logging fields, and ordering; extend characterization coverage first.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerCloudReconcilerCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt":"In projects/gossamer/apps/console/routes/usage.svelte hat GossamerCinderAuthService ein sporadisches Problem im OpenTelemetry-Ablauf. Verfolge Queue, Scheduler und Abbruch, vergleiche Hypothesen und finde die Ursache vor jeder Änderung.\n\nRandbedingungen:\n- OpenTelemetry weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf GossamerCinderAuthService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um GossamerCinderAuthService mit OpenTelemetry kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt":"UI ticket DES-47151: finish the compact GossamerOspreyJobCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/gossamer/apps/console/routes/usage.svelte\nFramework: OpenTelemetry\n\nCurrent QA notes\n- at 390 px the filter sheet is wider than the viewport by 16 px\n- returning from background selects segment four while the visible chip says three\n- keyboard focus falls behind the sheet after Apply\n- VoiceOver announces the internal value `sync_state_retriable`\n- the loading spinner never resolves into an offline action\n- dark appearance uses the light divider token\n- Reduce Motion still runs the spring transition\n- at accessibility XXXL the footer buttons overlap\n\nBrowser console during the transition:\n[ui] sheet.presented source=toolbar selected=3\n[ui] scene.inactive cachedSelection=3\n[ui] scene.active restoredSelection=4\n[ui] focus.restore target=filter-button result=detached\n[ui] network.status value=offline renderedState=loading\n\nAcceptance criteria from design\nThe phone layout should use an edge-to-edge sheet; tablet keeps the anchored panel. Applying filters returns focus to the opener and announces the result count. Empty, offline, retrying, and loaded states must be visually distinct. Use existing design tokens, support keyboard escape, preserve current data requests, and provide a no-animation path when Reduce Motion is enabled.\n\nUse the UI evidence to complete GossamerOspreyJobCoordinator's compact and accessibility behavior, including focus restoration, large text, offline recovery, and honest loading feedback.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Pin GossamerOrbitSyncService's FastAPI dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"Exponha retryAfter em GossamerIrisBatchService","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt":"GossamerQuartzPlayerCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt":"Willow: Incident timeline — INC-47141\n\n08:02 deploy GossamerCedarPolicyFlow 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nUsing this as the starting evidence, propose a staged GossamerCedarPolicyFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerSlateEditorCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current GossamerFlintTimelineStore design actually guarantees what its callers assume. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerFlintTimelineStore\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.\n\nReturn an assessment of the existing artifact; only quote enough to make the walkthrough understandable.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Xylem: Incident timeline — INC-47157\n\n08:02 deploy GossamerNimbusFormCoordinator 6.18.0 begins in eu-west\n08:06 write latency rises from 22 ms to 410 ms; error rate remains below 0.2%\n08:08 autoscaler adds three workers; queue lag continues rising\n08:11 on-call disables feature flag `parallel_commit_v2`\n08:13 latency returns to 31 ms, but duplicate-event warnings increase\n08:19 traffic moved to the previous worker pool\n08:27 queue lag clears; no customer data loss observed\n\nWhat changed\nThe release moved metrics emission into the same Promise.all as the durable write and added NFC normalization to event payloads. Database CPU peaked at 64%, Redis stayed normal, and the downstream consumer reported 183 duplicate keys that its uniqueness constraint ignored.\n\nConstraints from incident command\n- no emergency schema change\n- preserve tenant ordering\n- canary must include a forced consumer rebalance\n- rollback decision must use two independent signals\n- ownership between storage and ingestion teams must be explicit\n\nThe next regular release window is in six days.\n\nFrom this evidence, draft consumer-facing migration guidance for GossamerNimbusFormCoordinator, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt":"diff --git a/projects/gossamer/workers/thumbnail/consumer.ex b/projects/gossamer/workers/thumbnail/consumer.ex\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/workers/thumbnail/consumer.ex\n+++ b/projects/gossamer/workers/thumbnail/consumer.ex\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nRead the artifact above as a skeptical reviewer. Is GossamerWillowCodecFlow's current ordering, ownership, and cancellation behavior safe? Return findings with evidence, without editing files.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerJuniperCLIService's metric is misspelled as succesful_total in one declaration. Correct that literal and its exact test expectation, without renaming anything else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"Spell GossamerCoralUploadStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"On compact widths, GossamerQuartzPlayerStore's filter drawer should slide over the results, trap focus, and expose a visible close control without changing the desktop layout.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Assess the GossamerKiteSchedulerStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Lay out a two-milestone strategy for eliminating a misleading timeout name used in five packages in GossamerMoonlitSDKStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"Yarrow: diff --git a/projects/gossamer/crates/index/src/segment.rs b/projects/gossamer/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/crates/index/src/segment.rs\n+++ b/projects/gossamer/crates/index/src/segment.rs\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nAdd the bounded GossamerQuartzPlayerFlow replay flow described here, including authorization, key rotation, cancellation, lag metrics, and tests for malformed and cross-tenant cursors.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"Two asks around GossamerCoralUploadCoordinator: (1) separate GossamerCoralUploadCoordinator's policy from transport without behavior changes; (2) give the existing implementation a read-only safety pass. Keep voiceover and keyboard navigation working, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt":"Fresh release brief for GossamerCinderAuthCoordinator:\n- primary outcome: lay out a staged migration for GossamerCinderAuthCoordinator\n- companion outcome: then implement the bounded durable-cursor handler\n- repository entry point: projects/gossamer/app/src/main/SyncWorker.kt\n- platform constraint: OpenTelemetry\n- known complication: timestamps rendered one day ahead near UTC midnight\n\nBoth results are required, but they should remain independently reviewable. Keep voiceover and keyboard navigation working; retain serialization and authorization boundaries; cover cancellation, idempotent retries, and rollback; and avoid drive-by cleanup. Use the code as the source of truth, call out assumptions, and state how an on-call engineer can tell that either part is unsafe to ship.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt":"GossamerOspreyJobStore's metric is misspelled as succesful_total in one declaration. Correct that literal and its exact test expectation, without renaming anything else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt":"Zephyr: Two asks around GossamerAmberFilterCoordinator: (1) assess ownership and failure handling in projects/gossamer/infra/modules/edge/main.tf; (2) capture the contract and rollback note for consumers. Keep voiceover and keyboard navigation working, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt":"En projects/gossamer/app/src/main/SyncWorker.kt, GossamerCinderAuthStore tiene un problema intermitente en el flujo de OpenTelemetry. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con OpenTelemetry\n- conservar compatibilidad y cancelación\n- limitar el cambio a GossamerCinderAuthStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con OpenTelemetry alrededor de GossamerCinderAuthStore.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt":"GossamerFernSnapshotCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt":"What sequence would let GossamerJuniperCLIStore adopt FastAPI with dual reads but no dual writes? Include data validation, canary scope, and the decision that ends compatibility mode.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Checkout: # projects/gossamer/crates/index/src/segment.rs\n[worker.gossamersprucedaemonflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossamersprucedaemonflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossamersprucedaemonflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerSpruceDaemonFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47114\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nThe intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/gossamer/crates/index/src/segment.rs and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"We expect GossamerEmberRelayStore to outgrow its current OpenTelemetry arrangement next quarter, but changing everything at once would be risky. Give me a staged design with ownership boundaries, compatibility seams, migration order, telemetry, failure drills, rollback criteria, and explicit decisions we can defer; stop before implementation.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing OpenTelemetry deployment\n- keep the work scoped to GossamerEmberRelayStore and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt":"Test Suite 'GossamerCopperBridgeFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[GossamerCopperBridgeFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/gossamer/pkg/cache/lease.rs:144: error: -[GossamerCopperBridgeFlowTests testRestoresSelectionAfterBackgrounding] : XCTAssertEqual failed: (\"Optional(4)\") is not equal to (\"Optional(3)\")\nAccessibility hierarchy at failure:\n Application, 0x104c, pid: 812\n Window, identifier: \"main\"\n NavigationStack, identifier: \"catalog\"\n Button, label: \"Filters\", value: \"2 active\"\n CollectionView, identifier: \"results-grid\", rows: 24\n Sheet, identifier: \"filter-sheet\"\n TextField, label: \"Search filters\", value: \"\"\n Switch, label: \"Available offline\", value: \"1\"\n Button, label: \"Apply\", enabled: true\nTest Case '-[GossamerCopperBridgeFlowTests testRestoresSelectionAfterBackgrounding]' failed (4.812 seconds).\n\nSimulator: iPhone 17 Pro, iOS 27.0, en_US, content size XXXL, Reduce Motion enabled. The screenshot looks correct. The mismatch is the internal selected-segment index after the scene becomes active; tapping Apply a second time makes it three again.\n\nDetermine why GossamerCopperBridgeFlow produces this result. Trace ordering, cancellation, shared state, and scheduler behavior; identify the root cause before suggesting a patch.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"PM is preparing the GossamerLumenChartStore rollout and needs prose that works for both application developers and the operators who will carry the pager. Draft an ADR plus migration note that records the decision, rejected alternatives, compatibility window, observability signals, and the exact action required from consumers.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside GossamerLumenChartStore\n- keep VoiceOver and keyboard navigation working\n\nThe relevant code crosses healthcare, Svelte, Kafka. Prefer evidence from the repository and make any assumption explicit.\n\nProduce durable prose rather than a code assessment or implementation change.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt":"Corrige le timeout de GossamerIrisBatchStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"fr"}
{"prompt":"Sketch the GossamerSummitProxyStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"UI ticket DES-47159: finish the compact GossamerFlintTimelineCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/gossamer/config/staging.toml\nFramework: FastAPI\n\nCurrent QA notes\n- at 390 px the filter sheet is wider than the viewport by 16 px\n- returning from background selects segment four while the visible chip says three\n- keyboard focus falls behind the sheet after Apply\n- VoiceOver announces the internal value `sync_state_retriable`\n- the loading spinner never resolves into an offline action\n- dark appearance uses the light divider token\n- Reduce Motion still runs the spring transition\n- at accessibility XXXL the footer buttons overlap\n\nBrowser console during the transition:\n[ui] sheet.presented source=toolbar selected=3\n[ui] scene.inactive cachedSelection=3\n[ui] scene.active restoredSelection=4\n[ui] focus.restore target=filter-button result=detached\n[ui] network.status value=offline renderedState=loading\n\nAcceptance criteria from design\nThe phone layout should use an edge-to-edge sheet; tablet keeps the anchored panel. Applying filters returns focus to the opener and announces the result count. Empty, offline, retrying, and loaded states must be visually distinct. Use existing design tokens, support keyboard escape, preserve current data requests, and provide a no-animation path when Reduce Motion is enabled.\n\nFinish the visible GossamerFlintTimelineCoordinator state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"diff --git a/projects/gossamer/internal/auth/refresh.go b/projects/gossamer/internal/auth/refresh.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/internal/auth/refresh.go\n+++ b/projects/gossamer/internal/auth/refresh.go\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nConsolidate GossamerTideWorkerFlow's parallel adapters behind a single internal boundary, with no changes to API, timing, serialization, metrics, or error text.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt":"Support wants the behavior in projects/gossamer/workers/thumbnail/consumer.ex recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Ticket OPS-47138: retire the legacy replay path for GossamerLedgerGateFlow\n\nBackground\nThe mobile clients now send monotonic cursors, but the worker still supports the pre-2024 offset token. That compatibility branch performs an extra database lookup on every page and owns a separate retry counter. Support confirmed that the oldest active client is version 8.14, which uses cursors.\n\nAcceptance notes\n- existing cursor tokens must remain valid during a two-release overlap\n- operators need one metric showing legacy traffic by client version\n- a rollback must not require restoring deleted columns\n- tenant isolation remains enforced in the storage query\n- SDK examples should show how to persist the continuation token\n- the public route and current 429 envelope cannot change\n\nOpen questions\nDo we delete the offset decoder immediately or quarantine it behind a flag? Who owns the mobile version gate? Can the database index be removed in the same deploy? Security wants evidence that forged cursors cannot select another tenant.\n\nSlack excerpt\nMina 09:42: “I can provide client adoption numbers, but not a guarantee about sideloaded builds.”\nRavi 09:47: “Please make the rollback trigger explicit; queue lag alone is too noisy.”\n\nUsing this as the starting evidence, propose a staged GossamerLedgerGateFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt":"GossamerTideWorkerCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt":"Our support and SDK teams keep answering the same questions about GossamerFlintTimelineService, but the current prose in projects/gossamer/packages/api/openapi.yaml only describes the happy path. Produce a reader-first guide that states the contract, calls out retries and cancellation, gives one copyable example, and separates operator advice from application-developer advice.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to GossamerFlintTimelineService and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Compare GossamerMarbleTokenStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt":"Security flagged GossamerMicaProfileService for a read-only pass because its gRPC boundary mixes tenant data, retries, and cancellation in subtle ways. Follow one successful request and each early exit through the code, then rank findings by impact and state which apparent hazards are already ruled out by invariants.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current gRPC operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"This should remain a deliberately small patch: GossamerMicaProfileStore has one known configuration mistake in projects/gossamer/Sources/CLI/Commands/Doctor.swift, not an open-ended failure investigation. Change the staging timeout from 15 seconds to 30, adjust the adjacent assertion that encodes that value, and avoid unrelated formatting, renames, dependency bumps, or cleanup.\n\nConstraints:\n- keep VoiceOver and keyboard navigation working\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to GossamerMicaProfileStore and its direct tests\n\nThis repository spans healthcare, Svelte, Kafka; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt":"Outline a safer GossamerKiteSchedulerService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"The GossamerOpalRouterService surface in projects/gossamer/packages/api/openapi.yaml is stable now; turn its edge cases into API documentation with one successful example and one cancellation example.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Exporter: Two asks around GossamerMosaicGridCoordinator: (1) ship the idempotent GossamerMosaicGridCoordinator replay endpoint; (2) give the existing implementation a read-only safety pass. Keep voiceover and keyboard navigation working, and leave a clear boundary between the resulting artifacts or edits.","purpose":"backendImpl","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"# projects/gossamer/packages/api/openapi.yaml\n[worker.gossameropalrouterflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossameropalrouterflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossameropalrouterflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerOpalRouterFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47149\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nMake the one confirmed configuration correction in projects/gossamer/packages/api/openapi.yaml. Keep retry counts, shutdown grace, dependencies, formatting, and production values exactly as they are.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"pasted-context","lang":"en"}
{"prompt":"# projects/gossamer/services/ledger/replay.go\n[worker.gossameracornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.gossameracornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.gossameracornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.GossamerAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-47133\nThe upstream gateway minimum was raised to thirty seconds last month. Production was corrected in the same change, but the staging override and its focused assertion were missed. The service owner has confirmed this is a configuration-only correction: no retry counts, grace periods, pool sizes, production values, or dependency versions should move. A staging deploy is sufficient validation, and rollback is the previous config map.\n\nAlign GossamerAcornWidgetFlow's staging timeout with the shown production value and refresh only the focused config test; nothing else in the paste should move.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt":"Add a bounded GossamerCopperBridgeStore export stream that resumes from checkpoints, respects cancellation, and exposes queue lag plus terminal failure counters.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt":"For GossamerIrisBatchCoordinator, produce a consumer guide for GossamerIrisBatchCoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/gossamer/workers/thumbnail/consumer.ex, stay with Swift 6, and keep VoiceOver and keyboard navigation working. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"Check GossamerMapleQueueService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerKiteSchedulerCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt":"GossamerGarnetModalFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/gossamer/ml/pipeline/features.py and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt":"Decouple GossamerSpruceDaemonService's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"GossamerOpalRouterCoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt":"Three teams extended GossamerDeltaCanvasService independently, leaving parallel adapters and normalization branches that are supposed to behave identically. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep VoiceOver and keyboard navigation working\n- retain the current FastAPI operational envelope\n\nSeveral teams work in this healthcare, Svelte, Kafka monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt":"Scheduler: diff --git a/projects/gossamer/lib/codec/frame.cc b/projects/gossamer/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/gossamer/lib/codec/frame.cc\n+++ b/projects/gossamer/lib/codec/frame.cc\n@@ -41,18 +41,27 @@ export async function reconcile(input: Batch) {\n- const rows = input.items.map(normalize);\n- await store.write(rows);\n- await metrics.count(\"reconciled\", rows.length);\n+ const scope = tracer.startActiveSpan(\"reconcile\");\n+ try {\n+ const rows = input.items.map(normalize);\n+ await Promise.all([\n+ store.write(rows),\n+ metrics.count(\"reconciled\", rows.length),\n+ ]);\n+ return { cursor: input.next, count: rows.length };\n+ } finally {\n+ scope.end();\n+ }\n }\n\n@@ -88,7 +97,11 @@ function normalize(item: WireItem): Row {\n- return { id: item.id, value: item.payload ?? \"\" };\n+ return {\n+ id: item.id.trim(),\n+ value: item.payload?.normalize(\"NFC\") ?? \"\",\n+ receivedAt: clock.now(),\n+ };\n }\n\nPR note: staging p95 drops by 18 ms. Tests assert row counts but not whether metrics happen before the durable write.\n\nConsolidate GossamerLumenChartFlow's parallel adapters behind a single internal boundary, with no changes to API, timing, serialization, metrics, or error text.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt":"Investigate the GossamerMosaicGridService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt":"Could the reasoning behind GossamerSlateEditorStore's OpenTelemetry choices be captured as an ADR for engineers joining the project next quarter?","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt":"Does GossamerAmberFilterStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}