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
+60 -60
View File
@@ -1,12 +1,66 @@
{ {
"datasetVersion": "purpose-dataset-sol-high-v2",
"humanLabelAndDifficultyReview": {
"decision": "Every supervised target was regenerated with gpt-5.6-sol at high reasoning effort.",
"decisionBasis": "The dataset owner invalidated the original labels and required a complete Sol-high relabel.",
"decisionDate": "2026-08-02",
"generatedArtifact": "ml/purpose-classifier/.artifacts/human-review-v1.csv",
"populationRecords": 12193,
"reviewFields": [
"purpose",
"secondary",
"difficulty",
"slice",
"review status",
"notes"
],
"sampleFraction": 0.1,
"sampleRecords": 1219,
"seed": 10558743,
"status": "superseded-by-sol-high-relabel",
"strata": [
"purpose",
"slice",
"primary language"
]
},
"schemaVersion": 1, "schemaVersion": 1,
"datasetVersion": "purpose-dataset-v1", "semanticDuplicateReview": {
"auditVersion": "purpose-semantic-audit-v1",
"decision": "The prior semantic decisions were tied to the invalidated label population; the reset uses deterministic lexical curation only.",
"excluded": [
{
"droppedPromptHash": "7348d764d602cfff72dd2b1d369ad0375a96ea52b38174aa0bd6168a548bcc2f",
"matchedPromptHash": "3ad9cfbb664504f0e7ae84b905520937e7812d4e879fa706415782341f2cd400",
"similarity": 0.984897
},
{
"droppedPromptHash": "a0c6e7984e92adc11ea6855c39688d733bf7665f5f965939325b15f3ba39e937",
"matchedPromptHash": "17f79a890a323c08770193a94b100dadaa00116405bdb7d14c1b89abc3c3066a",
"similarity": 0.980998
},
{
"droppedPromptHash": "bfd7791069fd04c13797f39ba99224ad68ca2deebbc912f08b10815954a7d223",
"matchedPromptHash": "dc48031efb18f25a56a3beddcdd814f26473b23cd496482ce1884ae6f697417a",
"similarity": 0.973329
}
],
"excludedCandidates": 3,
"retained": [
{
"leftPromptHash": "70944e70e0062e947476f73b704ec01ecee19420d06fd174c58a41c04e8112f6",
"rightPromptHash": "cb3e63992cbf5830a222933dc7b44be39933baedcb46e335be02e3c379685517",
"similarity": 0.970376
}
],
"retainedCandidates": 1,
"reviewedCandidates": 4,
"status": "superseded-by-sol-high-relabel"
},
"wordTrigramExclusionReview": { "wordTrigramExclusionReview": {
"status": "complete",
"reviewedRecords": 18,
"confirmedTemplateDuplicates": 18, "confirmedTemplateDuplicates": 18,
"rejectedExclusions": 0,
"decision": "All 18 pairs preserve the same task, requested outcome, and purpose label; differences are generated identifiers, ticket numbers, cosmetic context prefixes, or difficulty/slice metadata. Keep the earliest member and exclude the later template copy.", "decision": "All 18 pairs preserve the same task, requested outcome, and purpose label; differences are generated identifiers, ticket numbers, cosmetic context prefixes, or difficulty/slice metadata. Keep the earliest member and exclude the later template copy.",
"rejectedExclusions": 0,
"reviewedDroppedPromptHashes": [ "reviewedDroppedPromptHashes": [
"f29de1d646055017f80346055bb3ac1468c49af7ab0c6249f45f19cf386f9fa7", "f29de1d646055017f80346055bb3ac1468c49af7ab0c6249f45f19cf386f9fa7",
"dabbcd0a19d2918199b5d0d35fac49fd5413cb17a5164252b789114fc68ec43b", "dabbcd0a19d2918199b5d0d35fac49fd5413cb17a5164252b789114fc68ec43b",
@@ -26,62 +80,8 @@
"fdc04376376dbffcaf9928e9edcef29376203640b49c200c2c117f78891125a1", "fdc04376376dbffcaf9928e9edcef29376203640b49c200c2c117f78891125a1",
"432e67ead52d6cd57e4a5034cd8bcde14bd2da13f88cb5532c42fd8fbd8daf05", "432e67ead52d6cd57e4a5034cd8bcde14bd2da13f88cb5532c42fd8fbd8daf05",
"24f3759ff4a3fb9fc77bed4c8525f30f9af2479a6cffbb0c4842043f99a7d8f1" "24f3759ff4a3fb9fc77bed4c8525f30f9af2479a6cffbb0c4842043f99a7d8f1"
]
},
"semanticDuplicateReview": {
"status": "complete",
"auditVersion": "purpose-semantic-audit-v1",
"reviewedCandidates": 4,
"excludedCandidates": 3,
"retainedCandidates": 1,
"decision": "Exclude three same-purpose generated template copies. One pair ('make the screen nicer' / 'Make this screen nicer') remains because it is a deliberate vague-language variant, lives entirely in validation, and does not contaminate the frozen evaluation boundary.",
"excluded": [
{
"droppedPromptHash": "7348d764d602cfff72dd2b1d369ad0375a96ea52b38174aa0bd6168a548bcc2f",
"matchedPromptHash": "3ad9cfbb664504f0e7ae84b905520937e7812d4e879fa706415782341f2cd400",
"similarity": 0.984897
},
{
"droppedPromptHash": "a0c6e7984e92adc11ea6855c39688d733bf7665f5f965939325b15f3ba39e937",
"matchedPromptHash": "17f79a890a323c08770193a94b100dadaa00116405bdb7d14c1b89abc3c3066a",
"similarity": 0.980998
},
{
"droppedPromptHash": "bfd7791069fd04c13797f39ba99224ad68ca2deebbc912f08b10815954a7d223",
"matchedPromptHash": "dc48031efb18f25a56a3beddcdd814f26473b23cd496482ce1884ae6f697417a",
"similarity": 0.973329
}
], ],
"retained": [ "reviewedRecords": 18,
{ "status": "complete"
"leftPromptHash": "70944e70e0062e947476f73b704ec01ecee19420d06fd174c58a41c04e8112f6",
"rightPromptHash": "cb3e63992cbf5830a222933dc7b44be39933baedcb46e335be02e3c379685517",
"similarity": 0.970376
}
]
},
"humanLabelAndDifficultyReview": {
"status": "accepted-as-generated",
"populationRecords": 12193,
"sampleFraction": 0.1,
"sampleRecords": 1219,
"seed": 10558743,
"strata": [
"purpose",
"slice",
"primary language"
],
"reviewFields": [
"purpose",
"secondary",
"difficulty",
"slice",
"review status",
"notes"
],
"generatedArtifact": "ml/purpose-classifier/.artifacts/human-review-v1.csv",
"decisionDate": "2026-07-31",
"decisionBasis": "The dataset owner explicitly directed the project to assume the generated labels, secondary purposes, difficulties, and slices are correct and validated without completing the row-by-row sample.",
"decision": "Accept the curated generated population as-is. No relabel or reject decisions are inferred, and the blank CSV remains an optional future audit artifact rather than a rollout blocker."
} }
} }
+76 -79
View File
@@ -1,21 +1,18 @@
{ {
"curation": { "curation": {
"excludedDuplicates": { "excludedDuplicates": {
"near": 18, "near": 18
"semantic-reviewed": 3
}, },
"inputRecords": 12214, "inputRecords": 12007,
"nearDuplicateMethod": "word-trigram Jaccard after SimHash LSH candidate search", "nearDuplicateMethod": "word-trigram Jaccard after SimHash LSH candidate search",
"nearDuplicateThreshold": 0.92, "nearDuplicateThreshold": 0.92,
"retainedRecords": 12193, "retainedRecords": 11989,
"reviewPath": "ml/purpose-classifier/data/curation-review-v1.json",
"reviewSha256": "1721ab77a0f723a4b03f42b14850b5c351ead2cd8fa72bb2d1fe3f0d2bb568da",
"vagueEvalPolicy": "validation/test only" "vagueEvalPolicy": "validation/test only"
}, },
"datasetVersion": "purpose-dataset-v1", "datasetVersion": "purpose-dataset-sol-high-v2",
"frozenEval": { "frozenEval": {
"classifiableShippedFixtureRecords": 87, "classifiableShippedFixtureRecords": 89,
"excludedGeneralFixtureRecords": 5, "excludedGeneralFixtureRecords": 3,
"hardSliceDefinition": [ "hardSliceDefinition": [
"boundary", "boundary",
"mixed", "mixed",
@@ -24,9 +21,9 @@
], ],
"shippedFixtureRecords": 92, "shippedFixtureRecords": 92,
"shippedFixturesPath": "Tests/NucleicCoreTests/Fixtures/purpose-prompts.json", "shippedFixturesPath": "Tests/NucleicCoreTests/Fixtures/purpose-prompts.json",
"shippedFixturesSha256": "6c8f0eedce35f9da7a407934009e87737b5e85c7371f6a118982d9fae2ea7aae", "shippedFixturesSha256": "876068ea26d7109365bcfbd1dc44ba3f1a0400c80dc7fdacf008b3fa07cd92cc",
"syntheticPath": "ml/purpose-classifier/data/frozen-test-v1.jsonl", "syntheticPath": "ml/purpose-classifier/data/frozen-test-v1.jsonl",
"syntheticSha256": "5d34c8ac3d39c5b4e2e739c4c9058093beb6f790a42a1397cedefae6271654ab" "syntheticSha256": "9997dbaa6d305ea56d8c161e39b925368761ab613a706eb8c2ba55d0e58b1906"
}, },
"ratios": { "ratios": {
"test": 0.1, "test": 0.1,
@@ -38,113 +35,113 @@
"sources": [ "sources": [
{ {
"path": "ml/purpose-classifier/data/purpose-prompts.jsonl", "path": "ml/purpose-classifier/data/purpose-prompts.jsonl",
"records": 9214, "records": 9007,
"sha256": "3c7f8b496ef2014794a50433a78e3125c0dd4a03dc2a7773b52ee25587ac48e7" "sha256": "6fbd08df113ca4c6f9da151222772dc3e25e1b9b19c9c2b7df9f572053af2507"
}, },
{ {
"path": "ml/purpose-classifier/data/purpose-prompts-round2.jsonl", "path": "ml/purpose-classifier/data/purpose-prompts-round2.jsonl",
"records": 3000, "records": 3000,
"sha256": "0a35eac2549e95b31518cd0eee99b83b03761c26a0fb258f427fe04a632699ed" "sha256": "a3c5bbede5b7db743c9f31756491990b388edd2aa9b41c8b2b9ec95b7115f4aa"
} }
], ],
"splits": { "splits": {
"test": { "test": {
"classifiableFixtureRecords": 87, "classifiableFixtureRecords": 89,
"distribution": { "distribution": {
"language": { "language": {
"de": 7, "de": 6,
"en": 1110, "en": 1084,
"es": 9, "es": 7,
"fr": 5, "fr": 7,
"ja": 3, "ja": 5,
"pt": 4, "pt": 7,
"zh": 3 "zh": 3
}, },
"purpose": { "purpose": {
"backendImpl": 171, "backendImpl": 140,
"debugging": 149, "debugging": 168,
"frontendImpl": 157, "frontendImpl": 159,
"planning": 132, "planning": 120,
"quickFix": 140, "quickFix": 136,
"refactor": 136, "refactor": 149,
"review": 127, "review": 131,
"writing": 129 "writing": 116
}, },
"slice": { "slice": {
"boundary": 179, "boundary": 51,
"core": 507, "core": 635,
"mixed": 80, "mixed": 87,
"pasted-context": 84, "pasted-context": 77,
"vague-eval": 291 "vague-eval": 269
} }
}, },
"hardSyntheticRecords": 634, "hardSyntheticRecords": 484,
"logicalRecords": 1228, "logicalRecords": 1208,
"sha256": "5d34c8ac3d39c5b4e2e739c4c9058093beb6f790a42a1397cedefae6271654ab", "sha256": "9997dbaa6d305ea56d8c161e39b925368761ab613a706eb8c2ba55d0e58b1906",
"syntheticRecords": 1141 "syntheticRecords": 1119
}, },
"train": { "train": {
"distribution": { "distribution": {
"language": { "language": {
"de": 100, "de": 84,
"en": 9324, "en": 9257,
"es": 100, "es": 82,
"fr": 81, "fr": 64,
"ja": 77, "ja": 62,
"pt": 70, "pt": 56,
"zh": 72 "zh": 57
}, },
"purpose": { "purpose": {
"backendImpl": 1226, "backendImpl": 1223,
"debugging": 1245, "debugging": 1355,
"frontendImpl": 1234, "frontendImpl": 1092,
"planning": 1223, "planning": 1208,
"quickFix": 1230, "quickFix": 1184,
"refactor": 1223, "refactor": 1204,
"review": 1230, "review": 1203,
"writing": 1213 "writing": 1193
}, },
"slice": { "slice": {
"boundary": 2066, "boundary": 605,
"core": 5818, "core": 7175,
"mixed": 906, "mixed": 987,
"pasted-context": 1034 "pasted-context": 895
} }
}, },
"records": 9824, "records": 9662,
"sha256": "40a5064c2a95d4394d71b3edbad7d03dce7d67b2e5ba9ab9320476e35e3a4953" "sha256": "0e16940308dc7557c73b1b804bf7b715c86d263b613201588ec274169ee01e89"
}, },
"validation": { "validation": {
"distribution": { "distribution": {
"language": { "language": {
"de": 8, "de": 10,
"en": 1178, "en": 1165,
"es": 12, "es": 10,
"fr": 7, "fr": 7,
"ja": 8, "ja": 5,
"pt": 8, "pt": 4,
"zh": 7 "zh": 7
}, },
"purpose": { "purpose": {
"backendImpl": 183, "backendImpl": 152,
"debugging": 157, "debugging": 182,
"frontendImpl": 168, "frontendImpl": 174,
"planning": 141, "planning": 128,
"quickFix": 151, "quickFix": 140,
"refactor": 149, "refactor": 163,
"review": 140, "review": 143,
"writing": 139 "writing": 126
}, },
"slice": { "slice": {
"boundary": 195, "boundary": 57,
"core": 541, "core": 677,
"mixed": 83, "mixed": 95,
"pasted-context": 95, "pasted-context": 88,
"vague-eval": 314 "vague-eval": 291
} }
}, },
"records": 1228, "records": 1208,
"sha256": "3d0a3730931db360dd8346cf12d03901ac139acf5be1d9e84975ac591186c588" "sha256": "301cd3d1c69e1bb92b811e857093ad12fb8c5c11bb402ee2993403d5e4467969"
} }
} }
} }
+985 -1007
View File
File diff suppressed because it is too large Load Diff
+26 -9
View File
@@ -1,10 +1,9 @@
{ {
"schemaVersion": 1,
"dataset": "purpose-classifier-source-v1",
"canonicalFiles": [ "canonicalFiles": [
"purpose-prompts.jsonl", "purpose-prompts.jsonl",
"purpose-prompts-round2.jsonl" "purpose-prompts-round2.jsonl"
], ],
"dataset": "purpose-classifier-source-v1",
"derivedBatchFiles": [ "derivedBatchFiles": [
"round2-01.jsonl", "round2-01.jsonl",
"round2-02.jsonl", "round2-02.jsonl",
@@ -24,34 +23,52 @@
], ],
"generations": [ "generations": [
{ {
"date": "2026-07-29",
"file": "purpose-prompts.jsonl", "file": "purpose-prompts.jsonl",
"model": "mixed frontier-model runs (legacy sol/opus aliases; exact model IDs were not retained)", "model": "mixed frontier-model runs (legacy sol/opus aliases; exact model IDs were not retained)",
"date": "2026-07-29", "notes": "The canonical aggregate was curated from the original per-model batches. Three exact overlaps with the shipped eval fixture were removed on 2026-07-30.",
"prompt": "../datagen-prompt.md", "prompt": "../datagen-prompt.md",
"topics": [ "topics": [
"web and mobile", "web and mobile",
"backend and data", "backend and data",
"infrastructure and systems", "infrastructure and systems",
"developer tooling" "developer tooling"
], ]
"notes": "The canonical aggregate was curated from the original per-model batches. Three exact overlaps with the shipped eval fixture were removed on 2026-07-30."
}, },
{ {
"date": "2026-07-30",
"file": "purpose-prompts-round2.jsonl", "file": "purpose-prompts-round2.jsonl",
"model": "Nucleic frontier-model generator (exact underlying model ID was not retained)", "model": "Nucleic frontier-model generator (exact underlying model ID was not retained)",
"date": "2026-07-30", "notes": "Corrective generation that counterbalances round-one label, slice, length, opener, and language drift.",
"prompt": "../datagen-prompt-2.md", "prompt": "../datagen-prompt-2.md",
"topics": [ "topics": [
"boundary confusion pairs", "boundary confusion pairs",
"pasted context", "pasted context",
"mixed intent", "mixed intent",
"non-English developer prompts" "non-English developer prompts"
], ]
"notes": "Corrective generation that counterbalances round-one label, slice, length, opener, and language drift."
} }
], ],
"labeling": {
"date": "2026-08-02",
"files": {
"purpose-prompts-round2.jsonl": {
"records": 3000,
"sha256": "a3c5bbede5b7db743c9f31756491990b388edd2aa9b41c8b2b9ec95b7115f4aa"
},
"purpose-prompts.jsonl": {
"records": 9007,
"sha256": "6fbd08df113ca4c6f9da151222772dc3e25e1b9b19c9c2b7df9f572053af2507"
}
},
"model": "gpt-5.6-sol",
"reasoningEffort": "high",
"schemaVersion": 1,
"scope": "all canonical public prompts; rejected junk removed"
},
"limitations": [ "limitations": [
"The exact generator model IDs and sampling parameters were not recorded when the source corpora were created.", "The exact generator model IDs and sampling parameters were not recorded when the source corpora were created.",
"The round2-NN files are retained generation batches and duplicate the round-two canonical aggregate; dataset tooling must read canonicalFiles only." "The round2-NN files are retained generation batches and duplicate the round-two canonical aggregate; dataset tooling must read canonicalFiles only."
] ],
"schemaVersion": 1
} }
File diff suppressed because it is too large Load Diff
+7151 -7358
View File
File diff suppressed because it is too large Load Diff
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "our on-call runbook for the settlement job is four years stale. rewrite it against how the job actually behaves today — retry semantics, the manual replay command, who to page", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"AegisQuartzPlayerService 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": "a partner integration is coming that needs us to expose per-line-item tax breakdown, which we don't currently persist — we compute it at invoice time and throw it away. before we start storing it i want to think through retention, whether we backfill, and what it means for the invoice PDFs that were already generated with the old rounding", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Find AegisBirchMigratorStore's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our device provisioning flow is undocumented and also slightly wrong — the cert rotation step happens after first telemetry, which nobody intended. i need the sequence written up for the field team, and the ordering bug sorted out in the firmware handshake", "purpose": "writing", "secondary": "debugging", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Design handed over a final pass for AegisCraneWorkspaceService, and the basic data flow in projects/aegis/ml/pipeline/features.py already works. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing Tokio deployment\n- keep the work scoped to AegisCraneWorkspaceService and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "a contractor delivered the disputes module last month and it works, but i haven't read a line of it and we're about to depend on it heavily. go through `services/disputes/` and tell me what you'd flag: correctness, error handling, anything that will hurt at volume, and anything that reads like it was written against an older version of our gateway SDK", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"AegisFlintTimelineCoordinator: ship, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "we're about to move order history off postgres onto a partitioned setup and i genuinely don't know the sequencing. constraints: no downtime, 400M rows, reporting queries hit the same tables, and the mobile team ships a release every tuesday so any API change has to be additive for at least two months. want a migration strategy with rollback points before anyone writes code", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"projects/aegis/lib/codec/frame.cc now contains AegisSummitProxyService's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "three helpers in utils/money.ts do rounding: `roundMoney`, `toCents`, `safeRound`. two of them disagree on negatives. collapse them into one and update the ~60 call sites", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"The AegisHarborIndexStore surface in projects/aegis/apps/console/routes/usage.svelte 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": "webhook delivery worker needs exponential backoff with jitter, capped at 6 hours, max 12 attempts, then dead-letter", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Split AegisDriftConsoleStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "payout table needs zebra striping", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"AegisGarnetModalCoordinator: diagnose, then correct","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "drop the currency symbol from the cart subtotal, product asked", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: AegisCraneWorkspaceStore works, but staging still carries a setting that production corrected last month. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside AegisCraneWorkspaceStore\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.\n\nThe cause and exact value change are already known, so keep this as a contained correction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "src/pipeline/transform_orders.py is 1100 lines and every dbt model imports from it. i want it broken into something sane — but first tell me how you'd carve it up and in what order, then do the first slice", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"En projects/aegis/workers/thumbnail/consumer.ex, AegisOpalRouterStore tiene un problema intermitente en el flujo de NATS JetStream. La causa ya está clara: cambia solo el timeout de staging de 15 a 30 segundos y ajusta su assertion.\n\nRestricciones:\n- seguir con NATS JetStream\n- conservar compatibilidad y cancelación\n- limitar el cambio a AegisOpalRouterStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"es"}
{"prompt": "same three lines of duplicated setup at the top of every one of these tests. worth extracting a fixture?\n\ndef test_charge_declined(db, monkeypatch):\n gw = FakeGateway()\n monkeypatch.setattr(charges, \"gateway\", gw)\n order = make_order(db, total=Decimal(\"25.00\"), currency=\"usd\")\n gw.next_response = DECLINE\n with pytest.raises(ChargeDeclined):\n charges.capture(order)\n\ndef test_charge_partial(db, monkeypatch):\n gw = FakeGateway()\n monkeypatch.setattr(charges, \"gateway\", gw)\n order = make_order(db, total=Decimal(\"25.00\"), currency=\"usd\")\n gw.next_response = PARTIAL\n result = charges.capture(order)\n assert result.captured == Decimal(\"10.00\")\n\ndef test_charge_retries_on_timeout(db, monkeypatch):\n gw = FakeGateway()\n monkeypatch.setattr(charges, \"gateway\", gw)\n order = make_order(db, total=Decimal(\"25.00\"), currency=\"usd\")\n gw.responses = [TIMEOUT, OK]\n assert charges.capture(order).attempts == 2", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-41124: retire the legacy replay path for AegisLumenChartFlow\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 artifact into a reversible AegisLumenChartFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "design ticket from figma handoff — build the empty state for the payouts screen:\n\nPayouts • Empty state\nIllustration: 160x160, centered, 32px above the heading. Use the existing `illustration/wallet` asset.\nHeading: \"No payouts yet\" — text-lg, semibold, foreground.\nBody: \"Payouts appear here once your first order settles. This usually takes 2 business days.\" — text-sm, muted-foreground, max-width 420px, centered.\nPrimary button: \"View settlement schedule\" — secondary variant, opens the schedule sheet.\nSpacing: 96px top padding on desktop, 48px on mobile.\nDark mode: illustration swaps to the `-dark` variant; nothing else changes.\nMotion: fade + 8px rise on mount, 180ms ease-out, respects reduced-motion.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/aegis/config/staging.toml\n[worker.aegiscinderauthflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegiscinderauthflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegiscinderauthflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisCinderAuthFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41123\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/aegis/config/staging.toml and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "paste of the dedup helper in the ingestion job. two of these live in the repo (one in `ingest/`, one in `backfill/`) and they've drifted. unify them:\n\ndef dedupe(rows, key=lambda r: r[\"id\"]):\n seen = set()\n out = []\n for r in rows:\n k = key(r)\n if k in seen:\n continue\n seen.add(k)\n out.append(r)\n return out\n\n# backfill/util.py version\ndef dedupe_rows(rows, key_field=\"id\", keep=\"last\"):\n index = {}\n for r in rows:\n k = r.get(key_field)\n if keep == \"last\" or k not in index:\n index[k] = r\n return list(index.values())\n\ncallers: ingest/orders.py:88, ingest/refunds.py:41, backfill/orders.py:210, backfill/merchants.py:77, tools/reconcile.py:19", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Apparently: # projects/aegis/workers/thumbnail/consumer.ex\n[worker.aegisflinttimelineflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisflinttimelineflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisflinttimelineflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisFlintTimelineFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41121\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Align AegisFlintTimelineFlow'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": "can you look over the new webhook signature verification and also write up how partners should implement it on their end", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Bring AegisIrisBatchStore'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": "o job de conciliação está a demorar 3h e ninguém sabe porquê. antes de mexer, explica-me o que ele faz passo a passo", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "pt"} {"prompt":"Release verification found a single stale AegisRainfallDBService 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 public behavior and serialized data unchanged\n- retain the current Tokio operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "invoice numbering has to be gapless per legal entity, and right now it's a `MAX(id)+1` in the app. i need both the approach and the actual implementation — sequence table vs advisory lock vs something else, then build it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"AegisPrismCacheStore 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 public behavior and serialized data unchanged\n- retain the current Tokio operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes 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": "before we ship split-tender i want a written threat model of the auth-then-void window, and then the guard rails implemented in the charge service", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Two asks around AegisEmberRelayCoordinator: (1) assess ownership and failure handling in projects/aegis/crates/index/src/segment.rs; (2) capture the contract and rollback note for consumers. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "settlement docs and the settlement code disagree about when a batch closes. figure out which one is lying, then fix whichever is wrong", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"diff --git a/projects/aegis/Sources/App/SessionStore.swift b/projects/aegis/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/Sources/App/SessionStore.swift\n+++ b/projects/aegis/Sources/App/SessionStore.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\nConsolidate AegisRainfallDBCoordinator'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": "the k6 run against staging ingest, before and after we turned on batching. is this actually better or am i reading noise?\n\n scenarios: (100.00%) 1 scenario, 400 max VUs, 5m30s max duration\n\n checks.........................: 99.81% ✓ 238914 ✗ 452\n data_received..................: 1.4 GB 4.6 MB/s\n http_req_blocked...............: avg=1.21ms min=1µs med=4µs max=1.02s\n http_req_duration..............: avg=411.02ms min=18.11ms med=298ms max=9.81s\n { expected_response:true }...: avg=402.55ms min=18.11ms med=291ms max=9.81s\n http_req_failed................: 0.18% ✓ 452 ✗ 238914\n http_reqs......................: 239366 798.55/s\n iteration_duration.............: avg=1.24s min=201ms med=1.11s max=11.2s\n vus............................: 400 min=40 max=400\n\n ✗ p(95) < 500ms\n ↳ p(95)=1.42s", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"AegisQuartzPlayerCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "support keeps forwarding this and i want one canonical doc instead of ten slack answers:\n\n> Hi — we're integrating your payouts API and the docs don't say what happens when a payout fails. Do you retry automatically? Is there a webhook? We saw a payout go from `pending` to `failed` and then back to `pending` two hours later which we did not expect. Also: are `failure_code` values stable enough to switch on, or should we treat them as display-only? Our finance team needs to know whether a `failed` payout can still settle later, because we've already reversed the ledger entry on our side by then.\n\nwrite the page that answers all of that", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"AegisFrostPanelCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "two of these do the same job with different names and one of them silently swallows the error. collapse them:\n\n// packages/gateway/src/http.ts\nexport async function postJSON(url: string, body: unknown, timeoutMs = 30_000) {\n const ctrl = new AbortController()\n const t = setTimeout(() => ctrl.abort(), timeoutMs)\n try {\n const res = await fetch(url, { method: 'POST', body: JSON.stringify(body), signal: ctrl.signal })\n if (!res.ok) throw new GatewayError(res.status, await res.text())\n return await res.json()\n } finally {\n clearTimeout(t)\n }\n}\n\n// packages/gateway/src/legacy/request.ts\nexport async function sendJson(url, payload, opts = {}) {\n try {\n const res = await fetch(url, { method: 'POST', body: JSON.stringify(payload) })\n return await res.json()\n } catch (e) {\n return null\n }\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Please turn AegisFrostPanelService's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "someone drafted this migration for the split-tender work. would this lock the table in prod?\n\nBEGIN;\n\nALTER TABLE orders ADD COLUMN tender_count smallint NOT NULL DEFAULT 1;\n\nALTER TABLE payments\n ADD COLUMN instrument_kind text NOT NULL DEFAULT 'card',\n ADD CONSTRAINT payments_instrument_kind_chk\n CHECK (instrument_kind IN ('card','gift_card','store_credit'));\n\nCREATE INDEX idx_payments_order_instrument\n ON payments (order_id, instrument_kind);\n\nUPDATE payments SET instrument_kind = 'gift_card'\n WHERE gateway = 'internal_gc';\n\nALTER TABLE payments ALTER COLUMN instrument_kind DROP DEFAULT;\n\nCOMMIT;\n\npayments is 190M rows, postgres 15, no downtime window", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Describe AegisWillowCodecStore's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "there's a `docs/adr/` folder with eleven ADRs and four of them describe systems we deleted. clear out the dead ones, and write a new ADR covering the ledger v2 decision we actually made in march but never recorded", "purpose": "writing", "secondary": "refactor", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"AegisMoonlitSDKCoordinator: sequence, then restructure","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "firmware devices on the 4.1 build sometimes report telemetry timestamps a year in the future and our ingest happily accepts them, poisoning the warehouse. find out where the clock goes wrong on the device side, and add the ingest-side guard so bad timestamps never land again", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"AegisOrbitSyncCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "merchant dashboard imports the design system in three different ways depending on when the file was written: barrel imports, deep paths, and a couple of copy-pasted components that were never migrated. normalise all of it, delete the copies, same pixels on screen afterwards", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Lately: // projects/aegis/apps/console/routes/usage.svelte\nfinal class AegisMarbleTokenFlowCoordinator {\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 AegisMarbleTokenFlow 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": "dedupe the two CSV writers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Oddly: // projects/aegis/ui/settings/PrivacyPane.tsx\nfinal class AegisDriftConsoleFlowCoordinator {\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\nWalk through what the artifact proves about AegisDriftConsoleFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "we inherited a rust firmware crate from an acquisition and the interrupt handling in `src/rt/isr.rs` looks unusual to me — there's a static mut ring buffer touched from both the ISR and the main loop with a bare `unsafe` and no critical section. is that actually sound on a single-core cortex-m, or are we one compiler upgrade away from disaster", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"AegisCoralUploadCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "three of us reviewed the ledger PR and disagreed about whether the compensating-entry approach is sound. settle it — read `internal/ledger/` and tell me who's right", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Summarize the AegisSpruceDaemonService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "webhook signing helper is duplicated between the node SDK and the python SDK and they've drifted on how they canonicalise the payload. get them back in sync, then add the note to both SDK readmes so integrators know which versions changed", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Responsive layout for AegisFlintTimelineStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "we're a four-person team and every deploy needs someone to babysit the settlement job afterwards. that's not sustainable for the next quarter when we double order volume. what would you sequence — better alerting first, or making the job idempotent so a bad deploy doesn't need a human? give me the reasoning and a rough order of work, not code", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"For AegisEchoRegistryCoordinator, separate AegisEchoRegistryCoordinator's policy from transport without behavior changes; once that is complete, correct the known stale timeout beside it. Work from projects/aegis/src/sync/reconcile.ts, stay with PostgreSQL 17, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "payout amount doc, for support", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-41153\n\n08:02 deploy AegisCedarPolicyCoordinator 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上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Turn the material above into a concise AegisCedarPolicyCoordinator 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": "checkout blows up for about 1 in 40 carts and this is all sentry gives me:\n\nTypeError: Cannot read properties of undefined (reading 'currency')\n at normalizeLineItem (/srv/checkout/dist/cart/normalize.js:88:31)\n at Array.map (<anonymous>)\n at buildOrderDraft (/srv/checkout/dist/cart/draft.js:42:38)\n at async createOrder (/srv/checkout/dist/orders/create.js:117:20)\n at async /srv/checkout/dist/http/routes/orders.js:29:24\n at async Object.handler (/srv/checkout/node_modules/fastify/lib/handleRequest.js:129:9)\n {\n requestId: 'req_9f2b1c',\n cartId: 'cart_01HQ8V',\n lineItems: 4,\n promoApplied: true,\n userAgent: 'Shopify-Mobile/9.4.1 (iOS 18.2)'\n }\n\nit only ever fires when a promo is on the cart, never on a plain cart. no idea what makes those items different", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-41151: finish the compact AegisJuniperCLICoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/ui/settings/PrivacyPane.tsx\nFramework: NATS JetStream\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 AegisJuniperCLICoordinator'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": "why does the ESP32 reboot roughly 40s after it associates to wifi? nothing in my firmware touches the watchdog", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Currently: projects/aegis/apps/console/routes/usage.svelte 里的 AegisMarbleTokenService 最近在 PostgreSQL 17 流程中出现间歇性问题。 请实现幂等 endpoint,包含持久 cursor、tenant 鉴权、spans 和 retry 测试。\n\n约束:\n- 继续使用 PostgreSQL 17\n- 保持兼容性和取消语义\n- 改动只限于 AegisMarbleTokenService","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"zh"}
{"prompt": "toolbar icons are 1px off center in dark mode only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Split projects/aegis/workers/thumbnail/consumer.ex by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "npm audit tail from the payments package, tell me which of these actually matter for us and just do the safe upgrades:\n\n# npm audit report\n\naxios 1.6.0 - 1.7.3\nSevere: Server-Side Request Forgery in axios\nfix available via `npm audit fix --force`\nWill install [email protected], which is a breaking change\nnode_modules/axios\n @acme/gateway-sdk 0.4.0 - 0.9.2\n Depends on vulnerable versions of axios\n node_modules/@acme/gateway-sdk\n\ntar-fs 2.0.0 - 2.1.1\nModerate: Link Following in tar-fs\nfix available via `npm audit fix`\nnode_modules/tar-fs\n\n7 vulnerabilities (4 moderate, 3 high)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current AegisNovaPickerStore 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 AegisNovaPickerStore\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "continue from where the sync work stopped", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Release engineering needs a AegisAmberFilterService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "here's the hunk that landed friday. does it hold up?\n\n@@ -41,17 +41,24 @@ func (s *Settler) Settle(ctx context.Context, batchID string) error {\n-\ttx, err := s.db.BeginTx(ctx, nil)\n+\ttx, err := s.db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelReadCommitted})\n \tif err != nil {\n \t\treturn err\n \t}\n-\tdefer tx.Rollback()\n+\tdefer func() { _ = tx.Rollback() }()\n \n \trows, err := tx.QueryContext(ctx, selectPendingSQL, batchID)\n \tif err != nil {\n \t\treturn err\n \t}\n+\tdefer rows.Close()\n \n \tfor rows.Next() {\n \t\tvar p payout\n \t\tif err := rows.Scan(&p.ID, &p.AmountCents, &p.Currency); err != nil {\n \t\t\treturn err\n \t\t}\n-\t\tif err := s.send(ctx, p); err != nil {\n+\t\tgo func(p payout) {\n+\t\t\t_ = s.send(ctx, p)\n+\t\t}(p)\n-\t\t\treturn err\n-\t\t}\n \t}\n \treturn tx.Commit()\n }", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/aegis/Sources/App/SessionStore.swift b/projects/aegis/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/Sources/App/SessionStore.swift\n+++ b/projects/aegis/Sources/App/SessionStore.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 AegisPrismCacheFlow'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": "ticket copy below, turn it into customer-facing release notes for the 4.2 firmware drop. keep it short, they are field techs not engineers:\n\nFW-2201 — Modbus RTU timing\nDevices on long RS-485 runs (>300m) intermittently dropped frames when polled faster than 20Hz. Root cause was the inter-frame delay being computed from the nominal baud rate rather than the measured one. Fixed by sampling the actual bit time at link-up.\n\nFW-2214 — Battery gauge drift\nThe SoC estimate drifted up to 12% after ~40 charge cycles because the coulomb counter was never re-zeroed at full charge. Now re-zeroes when terminal voltage holds above 4.15V for 90 seconds.\n\nFW-2230 — OTA rollback\nA failed OTA could leave slot B marked valid. Bootloader now requires a heartbeat from the new image within 60s before confirming.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-41145: finish the compact AegisAcornWidgetFlow filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/app/src/main/SyncWorker.kt\nFramework: PostgreSQL 17\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 AegisAcornWidgetFlow'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": "rename `TxnCtx` to `PaymentContext` everywhere, it's in about 30 files", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-41115\n\n08:02 deploy AegisSableParserFlow 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\nTurn the artifact into a reversible AegisSableParserFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "pytest output, no clue why this only fails on CI:\n\n=================================== FAILURES ===================================\n_______________ test_settlement_rounds_half_even[eur-2.005] ____________________\n\namounts = ['2.005', '10.115', '0.005']\n\n @pytest.mark.parametrize(\"currency,amount\", CASES)\n def test_settlement_rounds_half_even(currency, amount):\n got = settle(Decimal(amount), currency)\n> assert got == Decimal(\"2.00\")\nE assert Decimal('2.01') == Decimal('2.00')\nE + where Decimal('2.01') = settle(Decimal('2.005'), 'eur')\n\ntests/test_settlement.py:64: AssertionError\n=========================== short test summary info ============================\nFAILED tests/test_settlement.py::test_settlement_rounds_half_even[eur-2.005]\nFAILED tests/test_settlement.py::test_settlement_rounds_half_even[eur-0.005]\n2 failed, 318 passed in 41.22s\n\nlocally all 320 pass. same python version per the container image", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"AegisIrisBatchCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "give the dashboard some love", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"} {"prompt":"AegisVelaDrawerCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "quiero un README para el paquete `acme-payments-sdk`, con ejemplos de uso y la tabla de errores", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "es"} {"prompt":"Test Suite 'AegisMicaProfileFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[AegisMicaProfileFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/aegis/infra/modules/edge/main.tf:144: error: -[AegisMicaProfileFlowTests 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 '-[AegisMicaProfileFlowTests 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\nFind the source of this AegisMicaProfileFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "epic dropped in my lap this morning, need a shape for it before standup:\n\nPAY-880: Split-tender checkout\nCustomers should be able to pay with up to three instruments on one order (gift card + card + store credit). Partial authorization must be supported; if the second instrument declines we must void the first within 30s or the customer sees a phantom hold. Refunds must unwind in reverse order of capture. Accounting needs one journal entry per instrument, not per order. Mobile and web both in scope; POS is explicitly out of scope for this quarter. Legal wants a written record of authorization order for disputes.\n\nno estimates yet, just want the milestones and where the risk is", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'AegisEmberRelayFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[AegisEmberRelayFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/aegis/pkg/cache/lease.rs:144: error: -[AegisEmberRelayFlowTests 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 '-[AegisEmberRelayFlowTests 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\nBring AegisEmberRelayFlow'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": "skeleton loader for the orders table please, matching the card one we already have", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Today: Incident timeline — INC-41119\n\n08:02 deploy AegisNimbusFormFlow 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 AegisNimbusFormFlow 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": "git log since v3.8 is below, produce the changelog entry. group by user-visible vs internal, drop the noise:\n\n8f21c0a fix(cart): guard against null promo on line items\n1b93de2 chore: bump esbuild 0.21.5 -> 0.23.0\nc0aa774 feat(checkout): remember last used shipping method\n77de110 refactor(orders): extract draft builder\n2e91b45 fix(orders): don't double-count tax on split shipments\naa30f19 test: flaky settlement rounding case\n9c1d004 feat(admin): bulk refund from the order list\n4410bb7 chore(deps): dependabot bump tar-fs\nb77e910 fix(webhooks): retry paypal IPN on 5xx instead of dropping\n30cc219 docs: correct the payout schedule table\ne1f0a52 perf(cart): memoize currency formatter", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Unifie les validateurs de AegisNimbusFormService","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"fr"}
{"prompt": "walk me through what `reconcileLedger` actually does before i touch it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Why is AegisMapleQueueService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "serial console from the gateway board, it wedges after a few hours in the field but never on my desk:\n\n[00:04:12.331] mqtt: connected broker=ssl://ingest.acme.io:8883\n[01:58:03.117] mqtt: publish qos=1 topic=v1/telemetry len=284\n[01:58:03.402] mqtt: puback id=41221\n[02:11:44.980] wifi: rssi=-81 (weak)\n[02:11:47.002] mqtt: keepalive timeout, reconnecting\n[02:11:47.004] net: dhcp renew\n[02:11:52.118] mqtt: connect failed rc=-2\n[02:12:02.118] mqtt: connect failed rc=-2\n[02:12:12.119] mqtt: connect failed rc=-2\n[02:12:12.120] heap: free=3128 largest=1024 min_ever=3128\n[02:12:22.121] mqtt: connect failed rc=-2\n[02:12:22.122] heap: free=2104 largest=768 min_ever=2104\n[02:12:32.123] mqtt: connect failed rc=-2\n[02:12:32.124] heap: free=1080 largest=512 min_ever=1080\n<no further output>", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Context: # projects/aegis/db/migrations/20260730_events.sql\n[worker.aegisledgergatecoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisledgergatecoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisledgergatecoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisLedgerGateCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41150\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/aegis/db/migrations/20260730_events.sql and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "nochmal die Frage: warum ruft der Checkout `getShippingRates` zweimal auf, wenn man die Adresse ändert?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "de"} {"prompt":"Move AegisEmberRelayStore behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "do the thing with the invoices", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Ticket OPS-41132: retire the legacy replay path for AegisMapleQueueFlow\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 AegisMapleQueueFlow 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": "ruff is unhappy on the pipeline package, clear these out:\n\npipelines/orders/load.py:12:1: F401 [*] `datetime.timezone` imported but unused\npipelines/orders/load.py:88:5: E722 Do not use bare `except`\npipelines/orders/load.py:141:9: F841 Local variable `rowcount` is assigned to but never used\npipelines/orders/transform.py:23:1: E402 Module level import not at top of file\npipelines/orders/transform.py:210:80: E501 Line too long (118 > 100)\npipelines/orders/transform.py:377:15: B008 Do not perform function call `dict()` in argument defaults\npipelines/common/io.py:5:1: F401 [*] `typing.Optional` imported but unused\npipelines/common/io.py:66:12: SIM108 Use ternary operator instead of `if`-`else`-block\nFound 8 errors (3 fixable with the `--fix` option).", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"We need to move AegisQuartzPlayerStore from the legacy store to NATS JetStream. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "our staging environment shares a gateway sandbox account with two other teams, which is why our e2e tests are flaky, and i'm tired of it. options as i see them: our own sandbox account, a recorded-fixtures approach, or a fake gateway we maintain. weigh those up for a team our size and tell me what you'd do", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Draft AegisSpruceDaemonStore's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "a merchant reported that their payout for tuesday arrived split into two payments with different reference numbers, which shouldn't be possible. i've been staring at the batching code for an hour. the batch closes on a size trigger and a time trigger and i think both can fire, but i can't prove it from reading. take a look and explain what's happening", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"AegisBirchMigratorService's SyncWorker.kt needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "our checkout conversion dropped 4% on android chrome last week and nothing in the payments code changed. the only thing i can find is that the card element sometimes doesn't get focus on first tap. i don't know whether that's the cause or a red herring, and i don't know how to tell", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"The next client release depends on a new AegisNovaPickerService capability in projects/aegis/internal/auth/refresh.go, with WebGPU 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 public behavior and serialized data unchanged\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to AegisNovaPickerService and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "a `/v1/instruments` endpoint is needed: list saved payment instruments for the authenticated merchant's customer, with the default one first, expired cards excluded unless `include_expired=true`, and last-four plus brand only — never the token. keep it consistent with how `/v1/orders` handles auth and pagination", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"AegisMarbleTokenCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "finish it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Clarify AegisEchoRegistryStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "POST /v1/refunds handler is pasted below — i need the public API reference page for it. request/response schema, every error code, and an idempotency note:\n\[email protected](\"/v1/refunds\", status_code=201)\nasync def create_refund(body: RefundIn, idem: str = Header(alias=\"Idempotency-Key\")):\n order = await orders.get(body.order_id)\n if order is None:\n raise HTTPException(404, \"order_not_found\")\n if order.state not in (\"captured\", \"partially_refunded\"):\n raise HTTPException(409, \"order_not_refundable\")\n if body.amount_cents > order.refundable_cents:\n raise HTTPException(422, \"amount_exceeds_refundable\")\n existing = await idem_store.get(idem)\n if existing:\n return existing\n refund = await gateway.refund(order.charge_id, body.amount_cents, reason=body.reason)\n await idem_store.put(idem, refund, ttl=86400)\n return refund", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Where did AegisWillowCodecService's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "airflow scheduler log tail — the daily orders DAG has been marked success while producing nothing for three days:\n\n[2026-07-27, 02:00:04 UTC] {scheduler_job.py:412} INFO - DAG orders_daily scheduled run 2026-07-26\n[2026-07-27, 02:00:09 UTC] {taskinstance.py:1157} INFO - Executing extract_orders on 2026-07-26T00:00:00+00:00\n[2026-07-27, 02:00:11 UTC] {sql.py:88} INFO - Running: SELECT * FROM orders WHERE updated_at >= '2026-07-26' AND updated_at < '2026-07-27'\n[2026-07-27, 02:00:12 UTC] {sql.py:96} INFO - Fetched 0 rows\n[2026-07-27, 02:00:12 UTC] {taskinstance.py:1372} INFO - Marking task as SUCCESS\n[2026-07-27, 02:00:13 UTC] {taskinstance.py:1157} INFO - Executing load_warehouse on 2026-07-26T00:00:00+00:00\n[2026-07-27, 02:00:14 UTC] {load.py:52} INFO - upserting 0 rows into warehouse.fct_orders\n[2026-07-27, 02:00:14 UTC] {taskinstance.py:1372} INFO - Marking task as SUCCESS\n[2026-07-27, 02:00:15 UTC] {dagrun.py:604} INFO - Marking run <DagRun orders_daily @ 2026-07-26> successful\n\nthe source table definitely has rows for those days", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Background: UI ticket DES-41113: finish the compact AegisOspreyJobFlow filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/packages/api/openapi.yaml\nFramework: SQLite\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Bring AegisOspreyJobFlow'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": "explain plan for our slowest reporting query, is the sort the real problem or is it the nested loop:\n\nGroupAggregate (cost=2841002.31..2912441.09 rows=1428215 width=48) (actual time=18422.113..21033.885 rows=1201 loops=1)\n Group Key: m.merchant_id, date_trunc('day', o.captured_at)\n -> Sort (cost=2841002.31..2844572.85 rows=1428215 width=32) (actual time=18421.980..19884.210 rows=4118222 loops=1)\n Sort Key: m.merchant_id, (date_trunc('day', o.captured_at))\n Sort Method: external merge Disk: 214880kB\n -> Nested Loop (cost=0.43..2610411.02 rows=1428215 width=32) (actual time=0.061..14022.771 rows=4118222 loops=1)\n -> Seq Scan on merchants m (cost=0.00..812.44 rows=3244 width=16) (actual time=0.008..1.902 rows=3244 loops=1)\n -> Index Scan using orders_merchant_captured_idx on orders o (cost=0.43..798.11 rows=440 width=24) (actual time=0.004..3.902 rows=1269 loops=3244)\n Index Cond: (merchant_id = m.merchant_id)\nPlanning Time: 0.641 ms\nExecution Time: 21041.223 ms", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"AegisNovaPickerCoordinator is blocking the next release because two validators with subtly different error strings. I need two concrete outcomes from a single pass: finish AegisNovaPickerCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing WebGPU conventions in projects/aegis/infra/modules/edge/main.tf; keep public behavior and serialized data unchanged. 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": "gift card balance shows stale after a partial redemption — i think it's just the cache key missing the version, one-line change if so", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Production says AegisCloudReconcilerStore 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 public behavior and serialized data unchanged\n- retain the current SQLite operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes 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": "dependabot opened this and i can't tell if it's safe to merge blind:\n\nBumps `pyarrow` from 14.0.2 to 17.0.0.\n\nRelease notes (17.0.0):\n- ARROW-41567: [Python] Deprecate `pyarrow.parquet.ParquetDataset` legacy behaviour; `use_legacy_dataset` removed\n- ARROW-42011: [C++] Default compression for `write_table` changed from `snappy` to `zstd`\n- ARROW-40199: [Python] `Table.to_pandas` now returns nullable dtypes by default when `types_mapper` is unset\n- ARROW-43121: [C++] Minimum supported glibc raised to 2.28\n\nCommits\n- 9a1b2c3 MINOR: bump version\n- 77aa019 ARROW-43121: raise glibc floor\n- 2b91d40 ARROW-40199: nullable dtypes by default\n\nCompatibility score: 61%", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Two engineers disagree about whether AegisFernSnapshotStore's cache is authoritative. Walk the reads and writes in projects/aegis/cmd/exporter/main.py and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "browser console on the checkout page, customers report the pay button doing nothing:\n\nrefused to execute inline script because it violates the following Content Security Policy directive: \"script-src 'self' https://js.stripe.com\"\n (index):1\nUncaught (in promise) IntegrationError: We could not retrieve data from the specified Element. Please make sure the Element you are attempting to use is still mounted.\n at Bn (v3:1:19233)\n at e._handleMessage (v3:1:41102)\n at e._handleMessage (v3:1:40011)\npayment-form.tsx:212 Uncaught TypeError: Cannot read properties of null (reading 'confirmPayment')\n at handleSubmit (payment-form.tsx:212:28)\n at HTMLFormElement.callCallback (react-dom.development.js:4164:14)\nGET https://api.acme.io/v1/payment_intents/pi_3Qb 401 (Unauthorized)\n\nhappens on safari only as far as we can tell", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Before we approve AegisSlateEditorStore, assess whether two validators with subtly different error strings is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "comparto el hilo de slack de anoche, resúmelo en un post-mortem para el canal #incidents:\n\nmarta: el settlement job lleva 40 min parado\nmarta: los locks en payouts están al rojo\ndani: yo veo la conexión del pooler saturada, 200/200\ndani: creo que alguien lanzó el replay manual sin el flag de batch\nmarta: confirmado, jorge lo lanzó a las 21:14 para el merchant 8812\njorge: perdón, pensaba que el replay ya iba en lotes\ndani: he matado el proceso, los locks se liberaron a las 21:52\nmarta: cola drenada a las 22:06, sin pagos perdidos\ndani: mañana metemos un guard para que replay sin --batch no arranque\nmarta: y hay que documentarlo, nadie sabía que era peligroso", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "es"} {"prompt":"Fresh release brief for AegisPrismCacheCoordinator:\n- primary outcome: change AegisPrismCacheCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/aegis/Sources/CLI/Commands/Doctor.swift\n- platform constraint: Tokio\n- known complication: a misleading timeout name used in five packages\n\nBoth results are required, but they should remain independently reviewable. Keep public behavior and serialized data unchanged; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "tax calculation lives in the order service, the cart service and the admin refund flow. i want one owner for it. sketch the target shape and the steps to get there without a big-bang cutover", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Question: diff --git a/projects/aegis/db/migrations/20260730_events.sql b/projects/aegis/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/db/migrations/20260730_events.sql\n+++ b/projects/aegis/db/migrations/20260730_events.sql\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\nWire AegisEchoRegistryFlow'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "got this in prod, go service, no idea:\n\npanic: send on closed channel\n\ngoroutine 214 [running]:\nacme/settle.(*Batcher).enqueue(0xc0001a4000, {0xc0004b2100, 0x18})\n\t/build/settle/batcher.go:132 +0x9c\nacme/settle.(*Batcher).Add(...)\n\t/build/settle/batcher.go:98\nacme/settle.(*Worker).handle(0xc0000b6060, {0x8f2d40, 0xc0001bc0c0})\n\t/build/settle/worker.go:74 +0x1c5\nacme/settle.(*Worker).Run.func1()\n\t/build/settle/worker.go:41 +0x59\ncreated by acme/settle.(*Worker).Run in goroutine 1\n\t/build/settle/worker.go:39 +0x8d\n\nexit status 2\n\nit survived four weeks in staging without a single one of these", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-41142: retire the legacy replay path for AegisBeaconStoreFlow\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 AegisBeaconStoreFlow, 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": "terraform for the ingest bucket, below. anything here that would make an auditor unhappy?\n\nresource \"aws_s3_bucket\" \"ingest\" {\n bucket = \"acme-ingest-prod\"\n}\n\nresource \"aws_s3_bucket_public_access_block\" \"ingest\" {\n bucket = aws_s3_bucket.ingest.id\n block_public_acls = true\n ignore_public_acls = true\n block_public_policy = false\n restrict_public_buckets = false\n}\n\nresource \"aws_s3_bucket_policy\" \"ingest\" {\n bucket = aws_s3_bucket.ingest.id\n policy = jsonencode({\n Version = \"2012-10-17\"\n Statement = [{\n Effect = \"Allow\"\n Principal = \"*\"\n Action = [\"s3:GetObject\"]\n Resource = \"${aws_s3_bucket.ingest.arn}/public/*\"\n }]\n })\n}\n\nresource \"aws_s3_bucket_lifecycle_configuration\" \"ingest\" {\n bucket = aws_s3_bucket.ingest.id\n rule {\n id = \"expire-raw\"\n status = \"Enabled\"\n expiration { days = 3650 }\n }\n}", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"In projects/aegis/ui/settings/PrivacyPane.tsx hat AegisOpalRouterService ein sporadisches Problem im NATS JetStream-Ablauf. Verfolge Queue, Scheduler und Abbruch, vergleiche Hypothesen und finde die Ursache vor jeder Änderung.\n\nRandbedingungen:\n- NATS JetStream weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf AegisOpalRouterService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um AegisOpalRouterService mit NATS JetStream kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt": "spec below, stand up the endpoint. postgres + sqlc, follow how /v1/orders does it:\n\nGET /v1/settlements\n query: merchant_id (required), from (date), to (date), status (pending|paid|failed), cursor, limit (default 50, max 200)\n auth: merchant-scoped API key; a platform key may pass merchant_id for any merchant it owns\n response: { data: Settlement[], next_cursor: string|null }\n Settlement: { id, merchant_id, amount_cents, currency, status, expected_at, paid_at|null, failure_code|null }\n ordering: expected_at desc, id desc\n errors: 400 invalid_range if to < from, 403 merchant_not_owned, 422 limit_out_of_range\n the cursor must be opaque and must survive new rows being inserted mid-page", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"The API work is done; what remains for AegisSableParserStore is the visible interaction layer across loading, offline, empty, and success cases. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside AegisSableParserStore\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "diff below — write the commit message. we squash, so one subject line plus a body:\n\ndiff --git a/internal/ledger/post.go b/internal/ledger/post.go\n@@ -18,6 +18,7 @@ type Entry struct {\n \tAccount string\n \tAmount int64\n \tCurrency string\n+\tBatchID string\n }\n@@ -55,9 +56,16 @@ func Post(ctx context.Context, db DB, entries []Entry) error {\n-\tfor _, e := range entries {\n-\t\tif _, err := db.Exec(ctx, insertEntry, e.Account, e.Amount, e.Currency); err != nil {\n-\t\t\treturn err\n-\t\t}\n-\t}\n+\tbatch := &pgx.Batch{}\n+\tfor _, e := range entries {\n+\t\tbatch.Queue(insertEntry, e.Account, e.Amount, e.Currency, e.BatchID)\n+\t}\n+\tres := db.SendBatch(ctx, batch)\n+\tdefer res.Close()\n+\tfor range entries {\n+\t\tif _, err := res.Exec(); err != nil {\n+\t\t\treturn fmt.Errorf(\"post entry: %w\", err)\n+\t\t}\n+\t}\n \treturn nil\n }", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"A previously stable test around AegisSummitProxyStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "sort out the invoice thing from yesterday", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"For AegisBasilRunnerCoordinator, produce a consumer guide for AegisBasilRunnerCoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/aegis/services/ledger/replay.go, stay with WebGPU, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "docs/webhooks.md still describes the v1 payload shape we killed in march. bring it in line with what we send now, and add the migration note partners keep asking for", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Security flagged AegisTideWorkerService for a read-only pass because its PostgreSQL 17 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 public behavior and serialized data unchanged\n- retain the current PostgreSQL 17 operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes 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": "help", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"# projects/aegis/cmd/exporter/main.py\n[worker.aegiscraneworkspacecoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegiscraneworkspacecoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegiscraneworkspacecoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisCraneWorkspaceCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41159\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/aegis/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": "summarise what the settlement service does for a new hire, then turn that into the actual service README", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"} {"prompt":"Before we approve AegisLedgerGateStore, assess whether two validators with subtly different error strings is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "reading through the fraud scoring service for the first time. give me the tour — entry points, what calls what, where the model gets loaded, and anything that looks load-bearing but undocumented", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"projects/aegis/packages/api/openapi.yaml 里的 AegisCoralUploadStore 最近在 SQLite 流程中出现间歇性问题。 请给出阶段、兼容层、指标、rollback 和 ownership,先不要修改代码。\n\n约束:\n- 继续使用 SQLite\n- 保持兼容性和取消语义\n- 改动只限于 AegisCoralUploadStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "loading spinner on the refunds table flashes for 40ms then disappears, looks broken", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Observation: # projects/aegis/lib/codec/frame.cc\n[worker.aegisdeltacanvasflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisdeltacanvasflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisdeltacanvasflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisDeltaCanvasFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41116\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/aegis/lib/codec/frame.cc. 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": "unify the two date formatters and then note it in the changelog", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.35, "slice": "mixed", "lang": "en"} {"prompt":"Constraint: projects/aegis/pkg/cache/lease.rs now contains AegisCloudReconcilerFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "dark mode on the invoice preview inverts the PDF thumbnail and it looks terrible", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up AegisTideWorkerCoordinator. First, separate AegisTideWorkerCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/aegis/src/sync/reconcile.ts, which follows PostgreSQL 17 conventions and currently suffers from duplicate retries after a network handoff. Keep public behavior and serialized data unchanged.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "needs to be faster", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Teach AegisMosaicGridStore to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "docstrings in `pipelines/common/io.py` are wrong about what happens on partial writes — they describe behaviour we removed. correct them to match the code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"AegisBeaconStoreCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "我们的 payout 对账逻辑要不要拆成独立服务?先给我一个方案对比,别写代码", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "zh"} {"prompt":"Why does AegisFrostPanelStore's WebGPU 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": "same thing as last time but for refunds", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Request: Ticket OPS-41139: retire the legacy replay path for AegisIrisBatchFlow\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 AegisIrisBatchFlow 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": "tell me whether the retry logic in `gateway/client.go` can double-charge, and if it can, patch it", "purpose": "review", "secondary": "quickFix", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Spell AegisDriftConsoleService's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "stale `TODO(marta): remove after Q1` comments all over the ingest package, it's Q3", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Goal: // projects/aegis/apps/console/routes/usage.svelte\nfinal class AegisHarborIndexCoordinatorCoordinator {\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\nSplit AegisHarborIndexCoordinator 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": "just make the dashboard usable again", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"AegisDeltaCanvasCoordinator: polish, then correct","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "jest is red after the money refactor and i can't tell if the test or the code is wrong:\n\n FAIL src/cart/__tests__/totals.test.ts\n ● cart totals › applies percentage promo before shipping\n\n expect(received).toEqual(expected) // deep equality\n\n - Expected - 3\n + Received + 3\n\n Object {\n - \"discountCents\": 450,\n - \"shippingCents\": 599,\n - \"totalCents\": 4649,\n + \"discountCents\": 449,\n + \"shippingCents\": 599,\n + \"totalCents\": 4650,\n \"subtotalCents\": 4500,\n }\n\n at Object.<anonymous> (src/cart/__tests__/totals.test.ts:88:23)\n\nTests: 1 failed, 214 passed, 215 total\nSnapshots: 0 total\nTime: 18.446 s", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Memory attributed to AegisPineMetricsStore 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": "prometheus alert fired overnight and i don't understand the rule, let alone the alert:\n\nALERT SettlementLagHigh\n expr: max by (region) (settlement_batch_age_seconds{env=\"prod\"}) > 900\n for: 10m\n labels: { severity: page, team: payments }\n annotations:\n summary: \"settlement batches lagging in {{ $labels.region }}\"\n\nfiring instances:\n settlement_batch_age_seconds{env=\"prod\",region=\"eu-west-1\",shard=\"3\"} 1841\n settlement_batch_age_seconds{env=\"prod\",region=\"eu-west-1\",shard=\"7\"} 1802\n settlement_batch_age_seconds{env=\"prod\",region=\"us-east-1\",shard=\"1\"} 212\n\nlag cleared on its own at 04:12 without anyone touching it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Does AegisCopperBridgeFlow 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": "jira ticket, verbatim, and i want the rollout plan not the code:\n\nDATA-417 — Retire the nightly full refresh\nToday `warehouse_refresh` truncates and rebuilds fct_orders, fct_payments and dim_merchant every night (runtime 3h10m, growing ~4%/month). We want incremental models instead. Constraints: finance reconciles against fct_payments at 06:00 UTC and cannot see partial state; the merchant dimension is SCD2 and history must not be rewritten; three downstream Looker models and one ML feature job read these tables. There is no staging warehouse with production volume. Prior attempt in February was rolled back after duplicate rows appeared in fct_payments.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Support wants the behavior in projects/aegis/app/src/main/SyncWorker.kt recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "eslint output after the checkout rewrite, just make it quiet:\n\n/app/src/checkout/PaymentForm.tsx\n 14:8 warning 'useMemo' is defined but never used @typescript-eslint/no-unused-vars\n 88:11 error 'cardToken' is assigned a value but never used @typescript-eslint/no-unused-vars\n 132:5 error React Hook useEffect has a missing dependency: 'merchantId' react-hooks/exhaustive-deps\n 204:7 warning Unexpected console statement no-console\n\n/app/src/checkout/SummaryPanel.tsx\n 9:1 error 'formatMoney' is defined but never used @typescript-eslint/no-unused-vars\n 41:22 error Missing \"key\" prop for element in iterator react/jsx-key\n\n✖ 6 problems (4 errors, 2 warnings)\n 3 errors and 0 warnings potentially fixable with the `--fix` option.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"Flip AegisMoonlitSDKStore's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "cargo clippy on the firmware crate, mostly noise but a couple look real:\n\nwarning: this `if` statement can be collapsed\n --> src/modbus/frame.rs:118:5\n |\n118 | / if crc_ok {\n119 | | if len >= MIN_FRAME {\n | |_________^\n = help: for further information visit https://rust-lang.github.io/rust-clippy/\n\nwarning: casting `u32` to `u16` may truncate the value\n --> src/modbus/timing.rs:44:23\n |\n44 | let ticks: u16 = (bit_time_ns / 1000) as u16;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: large size difference between variants\n --> src/proto/mod.rs:12:1\n |\n12 | enum Msg { Ping, Telemetry([u8; 512]) }\n\nwarning: `acme-fw` (lib) generated 14 warnings", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"I inherited AegisOspreyJobStore and need a careful read of projects/aegis/config/staging.toml before I can sign off on the next release. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing SQLite deployment\n- keep the work scoped to AegisOspreyJobStore and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "ingest handler as it stands, pasted below. i want the same behaviour with the nesting flattened out, it's five levels deep in places:\n\nfunc (h *Handler) Ingest(w http.ResponseWriter, r *http.Request) {\n\tif r.Method == http.MethodPost {\n\t\tif ct := r.Header.Get(\"Content-Type\"); ct == \"application/json\" {\n\t\t\tvar batch Batch\n\t\t\tif err := json.NewDecoder(r.Body).Decode(&batch); err == nil {\n\t\t\t\tif len(batch.Readings) > 0 {\n\t\t\t\t\tif h.limiter.Allow(batch.DeviceID) {\n\t\t\t\t\t\tif err := h.store.Write(r.Context(), batch); err == nil {\n\t\t\t\t\t\t\tw.WriteHeader(202)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\thttp.Error(w, \"store\", 500)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\thttp.Error(w, \"rate\", 429)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\thttp.Error(w, \"bad json\", 400)\n\t\t\treturn\n\t\t}\n\t}\n\thttp.Error(w, \"nope\", 400)\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Unify the AegisMicaProfileStore validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "docker logs from the ingest pod, it restarts every ~9 minutes under load:\n\n2026-07-29T11:02:14.881Z INFO ingest listening on :8080\n2026-07-29T11:04:02.113Z INFO batch accepted device=dev_7781 readings=512\n2026-07-29T11:06:41.552Z WARN write queue depth 8192 (max 8192)\n2026-07-29T11:07:03.918Z WARN write queue depth 8192 (max 8192)\n2026-07-29T11:08:22.004Z WARN gc pause 812ms\n2026-07-29T11:09:15.337Z WARN gc pause 1.44s\n2026-07-29T11:10:58.221Z ERROR liveness probe failed: context deadline exceeded\n2026-07-29T11:11:02.119Z INFO SIGTERM received, draining\n2026-07-29T11:11:32.120Z ERROR drain timed out, 6112 readings dropped\nstream closed EOF for prod/ingest-7d9c4f8b6-x2plq (ingest)\n\nmemory limit is 2Gi and it never reports above 1.3Gi", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Symptom: Two engineers disagree about whether AegisIrisBatchService's cache is authoritative. Walk the reads and writes in projects/aegis/cmd/exporter/main.py and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "le rapport de l'audit sécurité, section paiements. dis-moi ce qui est vraiment exploitable chez nous :\n\nF-03 — Les clés API marchand sont stockées en clair dans la table `api_keys` (colonne `secret`). Rotation manuelle uniquement.\nF-07 — L'endpoint `/v1/charges` accepte un champ `merchant_id` dans le corps de la requête et ne vérifie pas qu'il correspond au scope du token.\nF-11 — Les webhooks sortants ne signent pas le corps ; les partenaires vérifient uniquement l'adresse IP source.\nF-14 — Les journaux applicatifs contiennent le PAN tronqué (6+4) ainsi que le nom du porteur.\nF-19 — Pas de limite de tentatives sur `/v1/auth/token` (bruteforce possible sur les clés courtes).", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "fr"} {"prompt":"AegisAtlasSearchCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "figma spec for the settlement timeline widget on the merchant dashboard:\n\nSettlement timeline (desktop ≥1024px)\n- Horizontal rail, 4 nodes: Captured → In transit → Paid → Reconciled. Node diameter 20px, 3px stroke.\n- Completed nodes: filled accent, white check glyph. Current node: accent stroke, pulsing 2s ease-in-out halo. Future nodes: 1px muted stroke, no fill.\n- Connector: 2px line, accent up to the current node, muted after. Animate the fill left-to-right over 400ms when a node completes.\n- Under each node: label (text-xs, medium) and timestamp (text-xs, muted). Timestamps in merchant local time, \"—\" when unknown.\n- Failed state: current node turns destructive, connector stops, an inline banner appears below the rail with the failure reason and a Retry link.\n- Below 1024px the rail becomes vertical, nodes left-aligned, 16px gutter.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Bump AegisLumenChartService's timeout to 30s","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "handoff notes for the mobile checkout sheet, build it in SwiftUI against our design system:\n\nCheckoutSheet\n- Presented as a `.sheet` with detents [.medium, .large]; drag indicator visible.\n- Header: order total (title2, bold) with the merchant name beneath (footnote, secondary).\n- Instrument list: rows of 56pt, leading icon 24pt, trailing checkmark on the selected row. Tapping a row selects it; long-press opens the remove menu.\n- \"Add payment method\" row pinned to the bottom of the list, tinted accent, chevron trailing.\n- Pay button: full width, 50pt tall, 12pt corner radius, disabled until an instrument is selected, spinner replaces the label while authorizing.\n- Errors surface as an inline red caption under the Pay button, never as an alert.\n- Dynamic Type up to AX3 must not clip the total; the row stack switches to vertical past AX1.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-41125: finish the compact AegisBirchMigratorFlow filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/app/src/main/SyncWorker.kt\nFramework: PostgreSQL 17\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 AegisBirchMigratorFlow'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": "css for our status chips, currently copy-pasted per status. i want one component out of this without any visual change:\n\n.chip-pending {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 2px 10px; border-radius: 9999px;\n font-size: 12px; font-weight: 500; line-height: 20px;\n background: var(--gray-100); color: var(--gray-700);\n}\n.chip-paid {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 2px 10px; border-radius: 9999px;\n font-size: 12px; font-weight: 500; line-height: 20px;\n background: var(--green-100); color: var(--green-800);\n}\n.chip-failed {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 2px 10px; border-radius: 9999px;\n font-size: 12px; font-weight: 600; line-height: 20px;\n background: var(--red-100); color: var(--red-800);\n}", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Read projects/aegis/pkg/cache/lease.rs and tell me whether AegisSlateEditorService 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": "paste from the RFC someone abandoned in march. is any of it still true, and what would you keep?\n\n## Ledger v2 — motivation\nThe current ledger writes one row per order and derives per-instrument amounts at read time. With split tender this stops working: the derivation assumes a single capture. Proposal is double-entry with an `entries` table keyed by (account, batch_id) and a nightly compaction job.\n\n## Open questions\n- Do we backfill history or start fresh at cutover?\n- Compaction under load: the February prototype held locks for 40+ minutes.\n- Reporting reads go through `v_ledger_flat`; do we keep the view or force callers to migrate?\n\n## Not doing\nMulti-currency netting. Real-time reconciliation.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ist AegisNimbusFormStore sicher?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"de"}
{"prompt": "这是 backfill 脚本的报错,跑到一半就挂了,看不出是数据问题还是代码问题:\n\nTraceback (most recent call last):\n File \"tools/backfill_payments.py\", line 141, in <module>\n main()\n File \"tools/backfill_payments.py\", line 118, in main\n load_chunk(conn, rows)\n File \"tools/backfill_payments.py\", line 87, in load_chunk\n cur.executemany(UPSERT_SQL, [as_tuple(r) for r in rows])\n File \"/usr/lib/python3.12/site-packages/psycopg/cursor.py\", line 742, in executemany\n raise ex.with_traceback(None)\npsycopg.errors.UniqueViolation: duplicate key value violates unique constraint \"fct_payments_pkey\"\nDETAIL: Key (payment_id)=(pay_01HR9K2M) already exists.\n\n已经跑过一次 partial backfill,可能有关系", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "zh"} {"prompt":"Headsup: # projects/aegis/workers/thumbnail/consumer.ex\n[worker.aegisorbitsyncflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisorbitsyncflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisorbitsyncflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisOrbitSyncFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41141\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/aegis/workers/thumbnail/consumer.ex and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"pasted-context","lang":"en"}
{"prompt": "README for the reconciliation CLI is basically the argparse help text. here's what the tool actually takes now, write something a new operator could follow:\n\nusage: reconcile [-h] --since SINCE [--until UNTIL] [--merchant MERCHANT]\n [--source {gateway,ledger,both}] [--batch BATCH] [--dry-run]\n [--out OUT] [--format {csv,ndjson,table}] [--fail-on-drift]\n [--tolerance-cents TOLERANCE_CENTS] [--parallel PARALLEL]\n\nnotes the team knows but never wrote down: --dry-run still writes the audit row; --fail-on-drift is what CI uses; --parallel above 8 starves the pooler; --source both is the only mode that catches missing gateway events; running without --merchant on a full day takes ~25 minutes.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"FYI: Ticket OPS-41112: retire the legacy replay path for AegisNovaPickerFlow\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 AegisNovaPickerFlow 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": "incident timeline from last night, in raw form. turn it into the post-mortem doc, our template has Summary / Impact / Timeline / Root cause / Action items:\n\n21:04 alert SettlementLagHigh eu-west-1\n21:07 on-call ack, sees pooler at 200/200 connections\n21:12 manual replay found running for merchant 8812, started 20:51\n21:14 replay killed\n21:18 connections recover to 40/200, lag still climbing\n21:31 second replay discovered on shard 7, also killed\n21:52 locks released, batches start draining\n22:06 queue empty, lag back under 60s\n22:20 confirmed no payouts lost, 41 delayed by >30m\n09:15 next day: guard added to block replay without --batch\n\nimpact numbers: 41 merchants saw delayed payouts, longest 74 minutes, no financial loss", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Is there a cleaner way to separate AegisOrbitSyncStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "grafana panel query plus what support is telling us. something's off and i want the endpoint documented properly once we know:\n\nsum(rate(http_requests_total{route=\"/v1/payouts\",code=~\"4..\"}[5m])) by (code)\n\n code=\"400\" 0.02/s\n code=\"401\" 0.00/s\n code=\"409\" 1.84/s\n code=\"422\" 0.31/s\n\nsupport ticket: \"we get 409 conflict on about a third of our payout creates but the payout is created anyway, so we ignore it now\"\n\nnobody can tell me what 409 means on that route — it isn't in the reference at all", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Set AegisRavenSessionStore's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "pyproject and the CI matrix disagree and the build is amber. smallest change that makes them agree:\n\n[project]\nname = \"acme-pipelines\"\nrequires-python = \">=3.10\"\ndependencies = [\n \"pandas>=2.0,<2.2\",\n \"pyarrow>=14,<15\",\n \"psycopg[binary]>=3.1\",\n \"dbt-core==1.7.9\",\n]\n\n# .github/workflows/ci.yml\nstrategy:\n matrix:\n python: [\"3.10\", \"3.11\", \"3.12\", \"3.13\"]\n\n# failure on 3.13:\nERROR: Could not find a version that satisfies the requirement pandas<2.2,>=2.0\nERROR: No matching distribution found for pandas<2.2,>=2.0", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"A flaky failure around AegisPineMetricsService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside AegisPineMetricsService\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "helm values diff between staging and prod, i think one of these is why prod is slower:\n\n--- staging/values.yaml\n+++ prod/values.yaml\n@@ -8,7 +8,7 @@ ingest:\n replicas: 4\n- maxUnavailable: 1\n+ maxUnavailable: 0\n@@ -18,10 +18,10 @@ ingest:\n resources:\n requests:\n- cpu: 500m\n- memory: 1Gi\n+ cpu: 250m\n+ memory: 2Gi\n limits:\n- cpu: \"2\"\n+ cpu: 500m\n memory: 2Gi\n@@ -31,6 +31,7 @@ ingest:\n env:\n WRITE_QUEUE_MAX: \"8192\"\n+ GOGC: \"20\"\n BATCH_FLUSH_MS: \"250\"", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-41111\n\n08:02 deploy AegisOpalRouterFlow 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\nTurn the material above into a concise AegisOpalRouterFlow 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": "o ficheiro `services/payouts/schedule.py` está assim há dois anos e ninguém lhe toca. o que é que ele faz exatamente, sobretudo a parte dos feriados?\n\ndef next_payout_date(merchant, after=None):\n d = after or date.today()\n delay = merchant.payout_delay_days or 2\n d = d + timedelta(days=delay)\n while d.weekday() >= 5 or d in HOLIDAYS.get(merchant.country, ()):\n d = d + timedelta(days=1)\n if merchant.payout_schedule == \"weekly\":\n while d.weekday() != merchant.payout_weekday:\n d = d + timedelta(days=1)\n elif merchant.payout_schedule == \"monthly\":\n d = d.replace(day=min(merchant.payout_dom, monthrange(d.year, d.month)[1]))\n if d <= (after or date.today()):\n d = (d + timedelta(days=32)).replace(day=merchant.payout_dom)\n return d", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "pt"} {"prompt":"Ticket OPS-41148: retire the legacy replay path for AegisSlateEditorFlow\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 AegisSlateEditorFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "three call sites, three different ways of building the same gateway request. i want one builder and identical behaviour:\n\n# charges.py\nreq = {\"amount\": amount_cents, \"currency\": cur.lower(), \"source\": token,\n \"capture\": True, \"metadata\": {\"order\": order_id}}\n\n# refunds.py\nreq = dict(amount=amount_cents, currency=cur.upper(), charge=charge_id,\n reason=reason or \"requested_by_customer\",\n metadata={\"order\": str(order_id), \"actor\": actor})\n\n# admin/tools/manual_charge.py\nreq = {}\nreq[\"amount\"] = int(amount * 100)\nreq[\"currency\"] = cur\nreq[\"source\"] = token\nreq[\"capture\"] = capture\nif order_id:\n req[\"metadata\"] = {\"order\": order_id, \"manual\": \"1\"}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"AegisSlateEditorCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "gateway client's retry decorator, which is wrapped around six methods and looks wrong to me but i want it restructured rather than rewritten:\n\ndef with_retries(attempts=3, backoff=0.5):\n def deco(fn):\n @wraps(fn)\n def inner(*a, **kw):\n last = None\n for i in range(attempts):\n try:\n return fn(*a, **kw)\n except (Timeout, ConnectionError) as e:\n last = e\n time.sleep(backoff * (2 ** i))\n except GatewayError as e:\n if e.status >= 500:\n last = e\n time.sleep(backoff * (2 ** i))\n else:\n raise\n raise last\n return inner\n return deco", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Meanwhile: # projects/aegis/Sources/App/SessionStore.swift\n[worker.aegisveladrawerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisveladrawerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisveladrawerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisVelaDrawerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41134\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/aegis/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": "legacy module header, comments included. same behaviour, modern shape, no new deps:\n\n# NOTE(2019): this file predates the payments service split. it talks to the\n# old ledger over a socket. do not remove the sleep on line 40, it is load\n# bearing (see INC-221).\n\nclass LedgerBridge(object):\n def __init__(self, host, port, retries=3):\n self.host = host\n self.port = port\n self.retries = retries\n self._sock = None\n\n def _connect(self):\n if self._sock is None:\n self._sock = socket.create_connection((self.host, self.port), 5)\n time.sleep(0.25)\n return self._sock\n\n def post(self, entry):\n for i in range(self.retries):\n try:\n s = self._connect()\n s.sendall(json.dumps(entry).encode() + b\"\\n\")\n return json.loads(s.recv(65536).decode())\n except Exception:\n self._sock = None\n raise RuntimeError(\"ledger unreachable\")", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Sequence AegisGarnetModalService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "product wrote this in the ticket and i need it broken into shippable pieces with an order and the risky bits called out:\n\nMerchants should be able to set their own payout schedule from the dashboard: daily, weekly on a chosen weekday, or monthly on a chosen day. Changing the schedule must not affect payouts already in flight. Merchants on manual payouts should see the option but disabled with an upsell. We need an audit record of every schedule change including who changed it. Finance wants a report of merchants whose schedule changed in the last 30 days. Support needs the ability to override a schedule temporarily without the merchant seeing it change permanently.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current AegisHarborIndexService 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 AegisHarborIndexService\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "rate limiting keeps coming up and we keep deferring it. below is what ops observed last week; i want the design written down before any code — where counters live, redis failure behaviour, response headers, and the order we roll it across v1/v2/v3:\n\ntop talkers, 7d, requests per minute at peak:\n merchant 8812 14,200 rpm (bulk order sync every 5 min)\n merchant 4419 9,850 rpm (polling /v1/payouts once per second per store)\n merchant 7702 6,140 rpm (webhook replay loop, self-inflicted)\n everyone else < 900 rpm\n\ntwo of those three took the API down for everyone on tuesday for eleven minutes", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Locally: Ticket OPS-41144: retire the legacy replay path for AegisWrenExportFlow\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 AegisWrenExportFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "reconciliation service has grown three responsibilities and i want a target architecture on paper before anyone opens an editor — and while you're in there, the naming is a mess. two deliverables: the design doc first, then the rename pass across the package", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Is there a cleaner way to separate AegisCedarPolicyFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "finance asked for a plain-language explanation of how we compute the payout amount, including fees and reserves, and while writing it i realised the reserve calculation in `payouts/amount.go` doesn't match what we tell merchants. do both: the explainer, and then correct whichever side is wrong", "purpose": "writing", "secondary": "debugging", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Production: Ticket OPS-41136: retire the legacy replay path for AegisSummitProxyFlow\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 artifact into a reversible AegisSummitProxyFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "tengo dos problemas con el exportador de CSV: primero, nadie sabe qué significan las columnas y hace falta documentación para soporte; segundo, tarda 40 minutos con un millón de filas y creo que hay una consulta N+1 escondida. mira las dos cosas", "purpose": "writing", "secondary": "debugging", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"AegisWrenExportCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "`services/settlement/` has a `utils.py` that's become a junk drawer — 40 functions, no theme. split it along actual responsibilities, and once that's done i want the module docstrings to actually describe the new layout", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"AegisSummitProxyCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "customers on the merchant dashboard see payout amounts flicker between the cached and fresh value for about a second. i suspect the SWR key, but i also want the loading behaviour on that whole screen rethought so it stops happening in general", "purpose": "debugging", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Staging: projects/aegis/engine/render/atlas.cpp has grown through several launches, and AegisCopperBridgeService 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 public behavior and serialized data unchanged\n- stay compatible with the existing NATS JetStream deployment\n- keep the work scoped to AegisCopperBridgeService and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "since thursday the nightly dbt run fails about half the time on `fct_payments` with a duplicate key, and it started right after the incremental change went in. work out what's actually duplicating, then put a test in the model so it can't happen silently again", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Corrija o timeout de AegisBasilRunnerService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"pt"}
{"prompt": "il y a deux composants `MoneyInput` dans le repo, un dans `packages/ui` et un dans l'app checkout, et ils gèrent les décimales différemment. garde-en un seul, et corrige au passage le padding qui saute sur mobile", "purpose": "refactor", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "fr"} {"prompt":"CI: Ticket OPS-41118: retire the legacy replay path for AegisMoonlitSDKFlow\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 AegisMoonlitSDKFlow 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": "`X-Merchant-Id` is accepted on six endpoints and ignored on the rest, which is confusing enough that partners get it wrong constantly. decide what the right behaviour is and write it up, then make the handlers consistent", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Security flagged AegisAsterWebhookService for a read-only pass because its WebGPU 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 public behavior and serialized data unchanged\n- retain the current WebGPU operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes 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": "settlement batch size is a magic 500 in four files. bump it to 2000 everywhere and note the change in the runbook so on-call isn't surprised", "purpose": "quickFix", "secondary": "writing", "mixed": true, "difficulty": 0.3, "slice": "mixed", "lang": "en"} {"prompt":"The name pendingAck means two different things across AegisCopperBridgeStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "admin refund modal still says \"Refund order\" when it's a partial. change the copy to reflect the amount, and update the help-centre article that shows the old screenshot", "purpose": "quickFix", "secondary": "writing", "mixed": true, "difficulty": 0.25, "slice": "mixed", "lang": "en"} {"prompt":"Describe AegisSableParserService's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "we've been asked to support offline payments on the POS terminals, which means queueing captures on device and reconciling when the network comes back. i have no idea how we handle a capture that expires while queued, or a refund issued against a capture that hasn't reached us yet. i want the whole flow reasoned through — device state machine, server-side dedupe, what the merchant sees in the dashboard while things are pending — before we commit to a shape", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Why is AegisDeltaCanvasService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "honestly the biggest problem with our data platform is that nobody knows which tables are canonical. there are three `orders` tables in two schemas, one of them is a view over another, and the ML team reads a fourth one that a contractor built in 2023. i want a plan for consolidating this: what we keep, what we deprecate, how we migrate the readers, and how we stop it happening again", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"A flaky failure around AegisCloudReconcilerService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside AegisCloudReconcilerService\n- keep public behavior and serialized data unchanged\n\nThe relevant code crosses payments, iOS, Kubernetes. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "firmware team wants over-the-air updates delivered in waves rather than all at once, with automatic halt if the failure rate crosses a threshold. we have 30k devices on flaky rural links, no device-side telemetry beyond a heartbeat, and no way to roll back once slot B is confirmed. what does a safe rollout system look like here, and what has to exist before we can even start", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/aegis/crates/index/src/segment.rs b/projects/aegis/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/crates/index/src/segment.rs\n+++ b/projects/aegis/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\nRead the artifact above as a skeptical reviewer. Is AegisAtlasSearchFlow'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": "engineering handbook has nothing about how we handle money in code and every new hire asks the same questions — cents vs decimals, where rounding happens, why the go service uses int64 and python uses Decimal, what to do about currencies with three decimal places. i'd like a proper page on it with examples from our own codebase", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"# projects/aegis/web/components/FilterDrawer.vue\n[worker.aegisfrostpanelflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisfrostpanelflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisfrostpanelflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisFrostPanelFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41147\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/aegis/web/components/FilterDrawer.vue and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "public API changelog has been a bulleted list of git commits for a year and partners have told us politely that it's useless. rewrite the last three months of it the way stripe does theirs — what changed, who it affects, what you need to do, with dates and version markers. the raw commits are in `CHANGELOG-raw.md`", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Two asks around AegisBirchMigratorCoordinator: (1) change AegisBirchMigratorCoordinator's known staging timeout from 15 to 30 seconds; (2) give the existing implementation a read-only safety pass. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "we're deprecating the v1 payouts endpoints in january and i need the comms package: the deprecation notice for the docs site, the email to affected merchants, the response header we'll add, and a short internal note about what support should say when someone calls. tone should be apologetic but firm about the date", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Atlas: Is there a cleaner way to separate AegisCraneWorkspaceFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "i've been asked to summarise, for the security review board, exactly what data crosses the boundary between our app servers and the gateway, in what direction, and how long we retain each field. i can read the code but writing this in a form a non-engineer reviewer will accept is the hard part", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"En projects/aegis/config/staging.toml, AegisCedarPolicyService tiene un problema intermitente en el flujo de SQLite. Añade el endpoint idempotente con cursor durable, autorización tenant, spans y tests de retry.\n\nRestricciones:\n- seguir con SQLite\n- conservar compatibilidad y cancelación\n- limitar el cambio a AegisCedarPolicyService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con SQLite alrededor de AegisCedarPolicyService.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"es"}
{"prompt": "nobody on the team can explain how the fraud score gets into the checkout decision, including the person who wrote it. i want to understand the whole path: what features are computed where, which service calls the model, what happens when the model times out, and whether the fallback is a hard-coded threshold or something smarter", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Three teams extended AegisJuniperCLIService 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 public behavior and serialized data unchanged\n- retain the current NATS JetStream operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes 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": "two engineers are arguing about whether our webhook delivery is at-least-once or effectively at-most-once given how the worker acks. rather than take sides i'd like someone to actually trace the code path from event write through delivery and ack, and say plainly which it is and where the gap is", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"# projects/aegis/ml/pipeline/features.py\n[worker.aegisfernsnapshotflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisfernsnapshotflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisfernsnapshotflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisFernSnapshotFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41149\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/aegis/ml/pipeline/features.py. 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": "before the pen test next month, go over how we authenticate merchant API calls end to end — key issuance, storage, the scope check middleware, rotation, and what happens with a revoked key that's already in flight. i'm not asking for changes yet, i want to know where we stand", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Could the reasoning behind AegisWrenExportService's Tokio 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": "src/sync/reconcile.ts is 900 lines and does fetching, diffing, conflict resolution and persistence in one file. no behaviour should change, but i want it in modules that a new person could navigate, with the conflict rules isolated enough that they're testable on their own", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"AegisWrenExportStore has four wrappers that only translate the same error enum. Collapse them into one adapter and preserve every public case, message, and metric label. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "every service in the monorepo has its own hand-rolled config loading — env vars in some, a yaml file in others, and the python one reads both plus a json blob from consul. i'd like one approach across all of them, same values resolved the same way, and no service changing behaviour as a result", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"We need to move AegisVelaDrawerStore from the legacy store to Tokio. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "dependency situation in the settlement worker is grim: database handle, gateway client, metrics recorder and feature-flag client all reached through package-level singletons, which is why it's untestable. thread them through as dependencies instead without changing what the worker does", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"I inherited AegisDeltaCanvasStore and need a careful read of projects/aegis/engine/render/atlas.cpp before I can sign off on the next release. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing NATS JetStream deployment\n- keep the work scoped to AegisDeltaCanvasStore and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "device registry needs a bulk enrolment path: operators upload a CSV of serial numbers and MAC addresses, we mint certs for each, and the whole thing has to be resumable because they upload 20k rows over a hotel wifi connection. postgres and a worker queue are fine, no new infra", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Split projects/aegis/web/components/FilterDrawer.vue by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "chip radius should be 4px not 9999px", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"} {"prompt":"Fresh release brief for AegisOpalRouterCoordinator:\n- primary outcome: separate AegisOpalRouterCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/aegis/workers/thumbnail/consumer.ex\n- platform constraint: NATS JetStream\n- known complication: a query plan that changes after statistics refresh\n\nBoth results are required, but they should remain independently reviewable. Keep public behavior and serialized data unchanged; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "modal close button sits 2px too high", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of AegisGarnetModalStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/aegis/web/components/FilterDrawer.vue. 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 public behavior and serialized data unchanged\n- retain the current WebGPU operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "console.log left in the payment form", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"AegisRavenSessionCoordinator: sequence, then ship","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"vague-eval","lang":"en"}
{"prompt": "receipt footer has last year's address", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/aegis/src/sync/reconcile.ts b/projects/aegis/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/src/sync/reconcile.ts\n+++ b/projects/aegis/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\nRead the artifact above as a skeptical reviewer. Is AegisRavenSessionFlow'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": "\"recieve\" on the billing empty state", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"We need to move AegisBeaconStoreService from the legacy store to WebGPU. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "turn split_tender on in staging", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"AegisAtlasSearchStore has four wrappers that only translate the same error enum. Collapse them into one adapter and preserve every public case, message, and metric label. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "webhook timeout 5s -> 15s", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Match AegisMoonlitSDKService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "pin dbt-core to 1.7.9 in CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"AegisCinderAuthCoordinator: sequence, then ship","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"vague-eval","lang":"en"}
{"prompt": "CHANGELOG date says 2025, should be 2026", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"} {"prompt":"Design handed over a final pass for AegisLedgerGateService, and the basic data flow in projects/aegis/src/sync/reconcile.ts already works. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to AegisLedgerGateService and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "raise the payout page size to 100", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Polish the AegisEchoRegistryService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "das Retry-Limit auf 5 setzen, bitte", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "de"} {"prompt":"Beacon: # projects/aegis/db/migrations/20260730_events.sql\n[worker.aegistideworkerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegistideworkerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegistideworkerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisTideWorkerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41110\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/aegis/db/migrations/20260730_events.sql. 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": "flag icons next to the currency codes", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/aegis/ui/settings/PrivacyPane.tsx recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "empty cart art above the fold on mobile", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Cinder: We need to move AegisPineMetricsFlow from the legacy store to WebGPU. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "disable bulk refund when nothing's selected", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Delta: // projects/aegis/services/ledger/replay.go\nfinal class AegisMosaicGridFlowCoordinator {\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 AegisMosaicGridFlow 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": "pricing page hover feels sluggish", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Read projects/aegis/db/migrations/20260730_events.sql and tell me whether AegisAmberFilterStore 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": "sticky header on the orders list", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Make AegisFlintTimelineService keyboard navigable","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "toast should slide, not fade", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"AegisFernSnapshotCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "tighten the mobile card gap to 8px", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Could the reasoning behind AegisAtlasSearchService's SQLite 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": "spinner flashes for 40ms, looks broken", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"AegisSpruceDaemonCoordinator needs a paired pass: lay out a staged migration for AegisSpruceDaemonCoordinator, plus then implement the bounded durable-cursor handler. Use projects/aegis/lib/codec/frame.cc as the source of truth, preserve the NATS JetStream contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "failed chip amber with an icon", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"AegisMapleQueueCoordinator needs a paired pass: lay out a staged migration for AegisMapleQueueCoordinator, plus then implement the bounded durable-cursor handler. Use projects/aegis/infra/modules/edge/main.tf as the source of truth, preserve the WebGPU contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "`TxnCtx` should be `PaymentContext`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Ember: diff --git a/projects/aegis/services/ledger/replay.go b/projects/aegis/services/ledger/replay.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/aegis/services/ledger/replay.go\n+++ b/projects/aegis/services/ledger/replay.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\nRead the artifact above as a skeptical reviewer. Is AegisGarnetModalFlow'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": "one money helper, not three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"AegisRainfallDBStore occasionally exhibits cancellation being swallowed at the repository boundary, but only after a reconnect. Follow the data and cancellation paths in projects/aegis/Sources/App/SessionStore.swift and identify the cause before changing anything.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "pull the promo logic out of `buildOrderDraft`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-41133: finish the compact AegisKiteSchedulerFlow filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/packages/api/openapi.yaml\nFramework: SQLite\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 AegisKiteSchedulerFlow'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": "kill the barrel file in packages/ui", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Frost: // projects/aegis/crates/index/src/segment.rs\nfinal class AegisCloudReconcilerCoordinatorCoordinator {\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\nWalk through what the artifact proves about AegisCloudReconcilerCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "`amt` -> `amountCents` across the go service", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Garnet: The AegisMosaicGridService empty state in projects/aegis/services/ledger/replay.go needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "die Test-Helper gehören in ein eigenes Paket", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "de"} {"prompt":"Release engineering needs a AegisVelaDrawerService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "split settlement/utils.py by responsibility", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"AegisNimbusFormCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "inline the single-use `formatChip` helper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"AegisEmberRelayService leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "who calls `LedgerBridge.post` these days?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Harbor: projects/aegis/config/staging.toml の AegisCoralUploadService で、SQLite の flow に断続的な問題が起きています。 queue、scheduler、cancel 経路を追い、仮説を比較して、変更前に原因を特定してください。\n\n制約:\n- SQLite を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は AegisCoralUploadService のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "is our webhook signature check constant-time?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Iris: The AegisBeaconStoreStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "what does `reconcileLedger` do on a partial?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"A copied hex color in AegisAcornWidgetStore lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "safe to run two settlement workers?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Two asks around AegisDriftConsoleCoordinator: (1) assess ownership and failure handling in projects/aegis/workers/thumbnail/consumer.ex; (2) capture the contract and rollback note for consumers. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "¿es seguro exponer `failure_code` a los partners?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "es"} {"prompt":"Support wants the behavior in projects/aegis/services/ledger/replay.go recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "PR description for the batching change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Juniper: # projects/aegis/lib/codec/frame.cc\n[worker.aegiscopperbridgecoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegiscopperbridgecoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegiscopperbridgecoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisCopperBridgeCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41156\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/aegis/lib/codec/frame.cc and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "docstring for `next_payout_date`, please", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=aegisbasilrunnerflow pod=aegisbasilrunnerflow-7cf8 request_id=41127 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=aegisbasilrunnerflow request_id=41127 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=aegisbasilrunnerflow request_id=41127 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=aegisbasilrunnerflow request_id=41127 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=aegisbasilrunnerflow request_id=41127 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=aegisbasilrunnerflow request_id=41127 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=aegisbasilrunnerflow request_id=41127 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=aegisbasilrunnerflow request_id=41127 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nReconstruct the AegisBasilRunnerFlow 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": "one-paragraph summary of the ledger ADR", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-41157: retire the legacy replay path for AegisAsterWebhookCoordinator\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 AegisAsterWebhookCoordinator 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": "release notes für Firmware 4.2, bitte kurz", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "de"} {"prompt":"Split AegisCinderAuthStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "design doc for per-merchant limits", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"For AegisLumenChartCoordinator, lay out a staged migration for AegisLumenChartCoordinator; once that is complete, consolidate the duplicated normalization paths without changing behavior. Work from projects/aegis/Sources/App/SessionStore.swift, stay with Tokio, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "milestones for the POS offline work", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Payments: Support wants the behavior in projects/aegis/app/src/main/SyncWorker.kt recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "`/v1/devices/{id}/certs` rotate endpoint, go", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"AegisMosaicGridCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "nightly job to expire stale carts", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Give AegisKiteSchedulerService a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "cursor pagination on the disputes list", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-41143: finish the compact AegisCoralUploadFlow filter experience\n\nRoute: /catalog/search\nSource: projects/aegis/config/staging.toml\nFramework: SQLite\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 AegisCoralUploadFlow'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":"core","lang":"en"}
{"prompt": "dedupe the money helpers, then note it in the changelog", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.35, "slice": "mixed", "lang": "en"} {"prompt":"Kestrel: Split projects/aegis/packages/api/openapi.yaml by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "scope out the retry redesign, then land step one", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"AegisWillowCodecCoordinator needs a paired pass: lay out a staged migration for AegisWillowCodecCoordinator, plus then implement the bounded durable-cursor handler. Use projects/aegis/cmd/exporter/main.py as the source of truth, preserve the Tokio contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "the usual, for the payouts screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Ticket OPS-41126: retire the legacy replay path for AegisSpruceDaemonFlow\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\nDeliver the AegisSpruceDaemonFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "pick up the reconciliation thing", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Corrige le timeout de AegisBasilRunnerStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"fr"}
{"prompt": "tidy", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"} {"prompt":"AegisMicaProfileCoordinator: document, then correct","purpose":"writing","secondary":"debugging","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "otra vez lo del checkout", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "es"} {"prompt":"Two deliverables are holding up AegisOspreyJobCoordinator. First, produce a consumer guide for AegisOspreyJobCoordinator. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/aegis/config/staging.toml, which follows SQLite conventions and currently suffers from memory growth during hour-long imports. Keep public behavior and serialized data unchanged.\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":"writing","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "can you look at the thing", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Map AegisRavenSessionService's ownership split","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "ship the rest of it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Incident timeline — INC-41129\n\n08:02 deploy AegisWillowCodecFlow 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 AegisWillowCodecFlow 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": "設定画面のあれ、直しておいて", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "ja"} {"prompt":"AegisSableParserCoordinator is blocking the next release because stale cursors when a page is resumed. I need two concrete outcomes from a single pass: finish AegisSableParserCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing PostgreSQL 17 conventions in projects/aegis/app/src/main/SyncWorker.kt; keep public behavior and serialized data unchanged. 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":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "payout CSV header says Amount, make it Amount (cents)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a deadlock that appears only during shutdown in AegisRainfallDBFlow, 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": "sandbox base URL still points at api-test", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"The AegisFernSnapshotService surface in projects/aegis/ml/pipeline/features.py 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": "drop the unused `legacy_gc` column", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Rename AegisLumenChartStore's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "merchant avatar should be circular", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"projects/aegis/workers/thumbnail/consumer.ex の AegisJuniperCLIFlow で、NATS JetStream の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- NATS JetStream を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は AegisJuniperCLIFlow のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "amount column right-aligned, monospaced", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Any races in AegisMicaProfileService?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "keyboard focus ring is invisible on dark", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"projects/aegis/src/sync/reconcile.ts has grown through several launches, and AegisTideWorkerStore 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 public behavior and serialized data unchanged\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to AegisTideWorkerStore and its direct tests\n\nThis repository spans payments, iOS, Kubernetes; use its existing conventions rather than importing a new abstraction.\n\nThe individual edits look tiny, but the semantic cleanup spans the repository and must preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "payments team wiki has a page called \"How refunds work\" that three different people have edited in three different directions, so it now contradicts itself twice — once about whether partial refunds can exceed the captured amount and once about the 90-day window. sort out what's actually true from the code and rewrite the page so it reads like one person wrote it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"AegisAmberFilterCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "new engineers keep asking why there are two settlement services, and the honest answer is that one was a migration that never finished. i'd like that written down somewhere permanent — what each one owns today, which one is authoritative for which merchant cohort, and the fact that nobody should add features to the old one", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"For AegisKiteSchedulerCoordinator, ship the idempotent AegisKiteSchedulerCoordinator replay endpoint; once that is complete, capture the contract and rollback note for consumers. Work from projects/aegis/config/staging.toml, stay with SQLite, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "support is drowning in \"where is my payout\" tickets and half of them are answered by explaining the two-day settlement delay. give me a help-centre article that covers the normal timeline, what a weekend or bank holiday does to it, why a payout can show as pending for longer, and when they should actually escalate to us", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Lumen: # projects/aegis/engine/render/atlas.cpp\n[worker.aegisquartzplayerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.aegisquartzplayerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.aegisquartzplayerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.AegisQuartzPlayerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-41146\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/aegis/engine/render/atlas.cpp. 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": "there's a class in the checkout service called `OrderCoordinator` that everyone is afraid of, about 600 lines, and it's the last thing standing between us and deleting the old cart module. read it and tell me what it's actually responsible for, what state it owns, and which of its methods are dead code — i'm not asking for changes yet", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Summarize the AegisMapleQueueStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "a junior on the team opened a PR that adds caching to the merchant lookup and it's got 40 files in it because they also reformatted everything. i can't see the actual change through the noise. tell me what the substantive change is, whether the cache invalidation is sound, and what i should push back on", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of AegisOspreyJobService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/aegis/packages/api/openapi.yaml. 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 public behavior and serialized data unchanged\n- retain the current SQLite operational envelope\n\nSeveral teams work in this payments, iOS, Kubernetes monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "someone on the data team wants to know whether our `fct_payments` model can be trusted for revenue reporting, given that it's incremental and keyed on payment_id with a merge strategy. i'd like an honest read of the model and its tests, including what happens when a payment row is updated after the incremental window has passed", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Before touching projects/aegis/src/sync/reconcile.ts, 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": "error handling in the payments package is a mix of sentinel errors, wrapped errors with %w, and a custom `PaymentError` type that swallows the cause about half the time. i want one convention applied throughout, callers updated, and identical behaviour at the API boundary — same status codes, same response bodies", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Em projects/aegis/app/src/main/SyncWorker.kt, o AegisMarbleTokenStore tem um problema intermitente no fluxo de PostgreSQL 17. Finalize o layout responsivo, estados vazio e retry, foco por teclado, dark mode e reduced motion.\n\nRestrições:\n- continuar com PostgreSQL 17\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao AegisMarbleTokenStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"pt"}
{"prompt": "our integration tests spin up the whole stack through a 300-line bash script that predates docker compose, and every new test copies a chunk of it. i'd like the setup expressed once, in something maintainable, with the tests themselves unchanged — they should pass exactly as they do now, just faster to reason about", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"AegisAcornWidgetCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "analytics team wants event-level payment data in the warehouse within five minutes instead of the current nightly batch, and my instinct is CDC off the postgres WAL, but i haven't thought through schema evolution, backfill, or what we do when the consumer falls behind. talk me through the options and what you'd pick for a team that has no streaming experience", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Any races in AegisPrismCacheService?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "roughly once a day a merchant's dashboard shows a payout that then disappears on refresh, and support has three screenshots proving it. the API returns the payout from one replica and not from another as far as i can tell, but our reads are supposed to be routed to the primary for that endpoint. no errors anywhere in the logs", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Queue AegisKiteSchedulerStore's expired sessions","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "invoice preview screen renders server-side HTML in a webview and it's slow, janky on scroll, and completely inaccessible to VoiceOver. rebuild it as a native SwiftUI view backed by the same invoice model, matching the existing PDF layout closely enough that finance won't notice, including the itemised tax rows and the footer", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Maple: Ticket OPS-41140: retire the legacy replay path for AegisAmberFilterFlow\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 AegisAmberFilterFlow 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": "we need an internal endpoint that support can hit to force-close a settlement batch early, with a reason and an actor recorded, guarded so it can only run on batches older than an hour and never on one that's mid-transfer. it should return the resulting batch state and the ids of anything it skipped", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Nimbus: Ticket OPS-41152: retire the legacy replay path for AegisPineMetricsCoordinator\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 AegisPineMetricsCoordinator 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": "telemetry ingest endpoint currently accepts one reading per request and devices batch by sending 500 requests in a burst. add a batch endpoint that takes up to 1000 readings, rejects the whole batch if any reading fails validation, dedupes on (device_id, captured_at) against the last hour, and returns per-reading status", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Investigate the AegisCinderAuthService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "a consultant reviewed our compose code and left a list of \"performance issues\" that i'm not sure i believe — unstable lambdas, missing keys in lazy lists, derivedStateOf everywhere, and a claim that our whole schedule screen recomposes on every scroll tick. check the actual code and tell me which of those are real for us", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-42142\n\n08:02 deploy BorealNimbusFormFlow 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 BorealNimbusFormFlow 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": "our accessibility story on android is \"we ran the scanner once\". i'd like a plan for getting the booking flow to a state we could defend in a procurement review, and as a first step the slot picker fixed properly — content descriptions, touch targets, focus order, the lot", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Release engineering needs a BorealFlintTimelineService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "the retry delays array in constants.ts goes 1s 2s 4s 8s but the client only ever reads the first two, wire the rest up", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Before we approve BorealGarnetModalStore, assess whether lost focus when the drawer animation finishes is an actual correctness risk or merely confusing structure. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "appointment reminders stopped going out saturday night, here's the sidekiq log around then:\n\n2026-07-25T22:58:01.114Z pid=41 tid=9x8 class=ReminderJob jid=8f2b1c INFO: start\n2026-07-25T22:58:01.882Z pid=41 tid=9x8 class=ReminderJob jid=8f2b1c INFO: 412 reminders queued\n2026-07-25T23:00:00.004Z pid=41 tid=a02 class=ReminderJob jid=91cc40 INFO: start\n2026-07-25T23:00:00.119Z pid=41 tid=a02 class=ReminderJob jid=91cc40 INFO: 0 reminders queued\n2026-07-25T23:02:00.006Z pid=41 tid=b71 class=ReminderJob jid=aa1902 INFO: start\n2026-07-25T23:02:00.101Z pid=41 tid=b71 class=ReminderJob jid=aa1902 INFO: 0 reminders queued\n2026-07-26T00:00:00.008Z pid=41 tid=c19 class=ReminderJob jid=bb7711 INFO: start\n2026-07-26T00:00:00.093Z pid=41 tid=c19 class=ReminderJob jid=bb7711 INFO: 0 reminders queued\n\nno errors, it just decided there was nothing to send", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"PM needs a concise migration note for BorealOpalRouterService, 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": "we need the waitlist offer job written, here's what product agreed to:\n\n- triggered when an appointment is cancelled or a slot opens through a reschedule\n- eligible entries: same clinic, same day, provider matches or the entry says \"any\", not expired, not already holding an offer\n- FIFO by created_at, one offer at a time, 2-hour acceptance window (configurable per clinic)\n- offer goes out on the patient's preferred channel; if that channel fails, fall back to the other and record it\n- if the window passes, the offer moves to the next eligible entry automatically\n- if nobody accepts within 24 hours, the slot goes back to normal availability and we stop\n- everything must survive a redeploy mid-window\n\nrails, sidekiq, postgres — same patterns as the reminder job", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealBirchMigratorCoordinator: handle the lingering thing","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "a mid-size clinic reported that dragging an appointment to a new time occasionally moves a different appointment instead, maybe once a day, and we have no way to reproduce it. the drag layer keys blocks by index in some places and by id in others, which smells, but i can't connect that to what they're seeing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Set BorealSlateEditorService's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "our error codes are documented nowhere and support guesses; produce the table from `app/errors/` with a human explanation per code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Opal: # projects/boreal/services/ledger/replay.go\n[worker.borealravensessionflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.borealravensessionflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.borealravensessionflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.BorealRavenSessionFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-42143\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/boreal/services/ledger/replay.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "the endpoint for cancelling an appointment takes a reason enum that the mobile app doesn't send, so 40% of cancellations are `unspecified`, and product wants that fixed properly rather than defaulted", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Release verification found a single stale BorealIrisBatchService value; the cause, desired value, and affected assertion are already agreed. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Kafka operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "we have to support double-booking because three of our five pilot clinics deliberately overbook for no-show buffer, and our model currently forbids overlapping appointments at the database level with an exclusion constraint. i need to know what changes, how the schedule screen renders it, what the API says when someone books into an occupied slot, and how we let clinics that hate the idea keep the current behaviour", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Dedupe BorealOrbitSyncService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "appointment blocks on the week grid are laid out with absolute positioning and magic offsets, so on a 13-inch laptop the 8am row is cut off and on a 4k monitor there's a band of dead space at the bottom. make the grid size to the viewport properly, keeping the existing look at the default zoom", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Documente le contrat BorealRainfallDBStore","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"fr"}
{"prompt": "compose theme file, inherited from a contractor. before i extend it for the dark palette i want to know what i'm dealing with:\n\n@Composable\nfun ClinicalTheme(\n darkTheme: Boolean = isSystemInDarkTheme(),\n dynamicColor: Boolean = true,\n content: @Composable () -> Unit\n) {\n val colorScheme = when {\n dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {\n val ctx = LocalContext.current\n if (darkTheme) dynamicDarkColorScheme(ctx) else dynamicLightColorScheme(ctx)\n }\n darkTheme -> DarkColors\n else -> LightColors\n }\n val view = LocalView.current\n if (!view.isInEditMode) {\n SideEffect {\n val window = (view.context as Activity).window\n window.statusBarColor = colorScheme.primary.toArgb()\n WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme\n }\n }\n MaterialTheme(colorScheme = colorScheme, typography = ClinicalType, content = content)\n}", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Why does BorealLumenChartService's Kafka 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.6,"slice":"core","lang":"en"}
{"prompt": "unity console after the build, the frame time doubled and i think one of these is the culprit:\n\n[Profiler] PlayerLoop 33.4ms\n ├ Update.ScriptRunBehaviourUpdate 21.8ms\n │ ├ EnemySpawner.Update() 14.2ms (GC.Alloc 1.4 MB)\n │ ├ PathfindingManager.Update() 5.1ms\n │ └ HUDController.Update() 2.4ms (GC.Alloc 220 KB)\n ├ PreLateUpdate.DirectorUpdate 3.1ms\n └ Render.OpaqueGeometry 7.6ms\n\nWarning: Instantiating 'Bullet(Clone)' 240 times this frame\nWarning: GameObject.FindWithTag called from EnemySpawner.Update()\nWarning: Camera.main accessed 240 times this frame\n[GC] Incremental GC collected 3.2 MB in 8.1ms", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Give BorealCraneWorkspaceService a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "play console ANR cluster from last week's release, 0.9% of sessions:\n\nANR in io.clinicly.app (io.clinicly.app/.MainActivity)\nPID: 4471\nReason: Input dispatching timed out (Application does not respond)\n\n\"main\" prio=5 tid=1 Blocked\n | group=\"main\" sCount=1 dsCount=0 flags=1 obj=0x72b9c4d0\n at io.clinicly.data.SyncCoordinator.awaitIdle(SyncCoordinator.kt:88)\n - waiting to lock <0x0a11c3f2> (a java.lang.Object) held by thread 42\n at io.clinicly.data.AppointmentRepository.refresh(AppointmentRepository.kt:214)\n at io.clinicly.ui.ScheduleViewModel$load$1.invokeSuspend(ScheduleViewModel.kt:66)\n\n\"DefaultDispatcher-worker-3\" prio=5 tid=42 Native\n at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native method)\n at io.clinicly.data.local.AppointmentDao_Impl.upsertAll(AppointmentDao_Impl.java:181)\n\nlocked <0x0a11c3f2>", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Prism: // projects/boreal/Sources/App/SessionStore.swift\nfinal class BorealFrostPanelFlowCoordinator {\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 BorealFrostPanelFlow'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": "sentry issue, been firing since the timezone work went in:\n\nActiveRecord::StatementInvalid: PG::DatetimeFieldOverflow: ERROR: date/time field value out of range: \"2026-11-01 02:30:00\"\nHINT: Perhaps you need a different \"datestyle\" setting.\n\n app/models/clinic_hours.rb:41:in `slots_for'\n app/services/appointments/availability.rb:88:in `block in build'\n app/services/appointments/availability.rb:84:in `each'\n app/services/appointments/availability.rb:84:in `build'\n app/controllers/api/v2/availability_controller.rb:19:in `index'\n\n clinic_id: 4412 (America/Santiago)\n requested_date: 2026-11-01\n events: 1,204 in 6 days\n users affected: 38\n\nonly clinics in a handful of timezones, and always on specific dates", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealSummitProxyService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Cloudflare Workers operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "gradle keeps failing on CI only, works on my machine and on two other laptops:\n\n> Task :app:kaptGenerateStubsReleaseKotlin FAILED\ne: file:///home/runner/work/clinicly/app/src/main/java/io/clinicly/di/AppModule.kt:44:1 error: [Dagger/DuplicateBindings] io.clinicly.data.Clock is bound multiple times:\n @Provides @Singleton io.clinicly.data.Clock io.clinicly.di.AppModule.provideClock()\n @Provides @Singleton io.clinicly.data.Clock io.clinicly.di.TestClockModule.provideClock()\n\nFAILURE: Build failed with an exception.\n* What went wrong:\nExecution failed for task ':app:kaptGenerateStubsReleaseKotlin'.\n> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution\n\n* Try:\n> Run with --stacktrace option to get the stack trace.\n\nBUILD FAILED in 4m 12s", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Quartz: // projects/boreal/crates/index/src/segment.rs\nfinal class BorealJuniperCLIFlowCoordinator {\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\nWalk through what the artifact proves about BorealJuniperCLIFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "PR i'm meant to approve today. it's from someone senior so i want a second opinion before i comment:\n\n@@ -12,6 +12,28 @@ class Appointment < ApplicationRecord\n belongs_to :clinic\n belongs_to :patient\n \n+ after_commit :sync_to_calendar, on: [:create, :update]\n+\n+ def sync_to_calendar\n+ CalendarSyncJob.perform_now(id)\n+ rescue => e\n+ Rails.logger.warn(\"calendar sync failed: #{e.message}\")\n+ end\n+\n+ def self.overlapping(clinic_id, range)\n+ where(clinic_id: clinic_id)\n+ .where(\"tstzrange(starts_at, ends_at) && tstzrange(?, ?)\", range.first, range.last)\n+ end\n+\n scope :upcoming, -> { where(\"starts_at > ?\", Time.current) }\n@@ -41,7 +63,7 @@ class Appointment < ApplicationRecord\n- validates :starts_at, presence: true\n+ validates :starts_at, presence: true, if: -> { !skip_validation }", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealFlintTimelineCoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "das ist unsere Migration für die Mandantentrennung. Bevor wir sie ausführen: hältst du das für sicher?\n\nclass AddClinicScopeToAppointments < ActiveRecord::Migration[7.1]\n def change\n add_column :appointments, :clinic_id, :bigint\n add_index :appointments, :clinic_id, algorithm: :concurrently\n Appointment.reset_column_information\n Appointment.find_each do |a|\n a.update_column(:clinic_id, a.patient.clinic_id)\n end\n change_column_null :appointments, :clinic_id, false\n add_foreign_key :appointments, :clinics\n end\nend\n\nTabelle hat 22 Millionen Zeilen, Postgres 16, kein Wartungsfenster", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"Ticket OPS-42115: retire the legacy replay path for BorealBeaconStoreFlow\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 BorealBeaconStoreFlow 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": "changelog time, we ship the android app thursday. commits since 3.4:\n\n* a81f22c feat(schedule): week view swipe gestures\n* 4409ba1 fix(sync): don't drop local edits when the server 409s\n* 77c0e19 fix(a11y): talkback reads slot times correctly now\n* 2b1904d chore: bump compose bom to 2026.06.00\n* 9911aa0 feat(booking): waitlist join from a full day\n* 31de770 perf(schedule): remove recomposition storm on day change\n* cc4102b fix(notifications): reminder deep link opened the wrong appointment\n* 6f2b901 chore: crashlytics ndk symbols upload\n* 0091ac4 fix(login): biometric prompt dismissed on first launch\n\nplay store listing, so friendly and short, no commit hashes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealJuniperCLICoordinator needs a paired pass: produce a consumer guide for BorealJuniperCLICoordinator, plus correct the known stale timeout beside it. Use projects/boreal/pkg/cache/lease.rs as the source of truth, preserve the Cloudflare Workers contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "support macro draft below is terrible and i have to send something today. rewrite it:\n\n\"Hi, Thank you for contacting Clinicly Support. Regarding your issue with appointment reminders not being sent, this is caused by the clinic timezone setting being incorrect in your Clinic Settings page which needs to be set correctly by an administrator of your clinic account. Please navigate to Settings > Clinic > Regional and select the correct timezone from the dropdown list and then save the changes and reminders will be sent correctly going forward. Note that appointments already scheduled will not be updated retroactively. Thank you for your patience. Best regards, Clinicly Support Team\"\n\nkeep the facts, lose the bureaucracy, and add the bit about existing appointments needing a manual resend", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Raven: Incident timeline — INC-42136\n\n08:02 deploy BorealOspreyJobFlow 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 BorealOspreyJobFlow 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": "app crashes on API 34 the moment you open notifications settings, and the fix is probably one line:\n\njava.lang.SecurityException: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts\n\tat android.os.Parcel.createExceptionOrNull(Parcel.java:3057)\n\tat android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1826)\n\tat io.clinicly.notifications.ReminderSettingsFragment.onStart(ReminderSettingsFragment.kt:44)\n\ntargetSdk went from 33 to 34 in the last release", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealQuartzPlayerCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "HUD prefab is a mess of anchors and i've been asked to make it work on ultrawide and on steam deck. current layout values:\n\nCanvas: Scale With Screen Size, ref 1920x1080, match 0.5\nHealthBar: anchor min (0,1) max (0,1), pos (120, -60), size (240, 24)\nAmmoCounter: anchor min (1,1) max (1,1), pos (-140, -60), size (180, 40)\nMinimap: anchor min (1,0) max (1,0), pos (-160, 160), size (280, 280)\nWaveBanner: anchor min (0.5,1) max (0.5,1), pos (0, -40), size (600, 80)\nBossHealth: anchor min (0.5,1) max (0.5,1), pos (0, -140), size (900, 32)\n\nat 21:9 the minimap sits under the bezel on deck and the boss bar overlaps the wave banner", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealMicaProfileCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "clinic phone number missing from the receipt", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Sable: Release verification found a single stale BorealAmberFilterStore value; the cause, desired value, and affected assertion are already agreed. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Kotlin coroutines operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "waitlist window default to 90 minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'BorealEchoRegistryCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[BorealEchoRegistryCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/boreal/web/components/FilterDrawer.vue:144: error: -[BorealEchoRegistryCoordinatorTests 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 '-[BorealEchoRegistryCoordinatorTests 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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Use the UI evidence to complete BorealEchoRegistryCoordinator'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": "one slot-eligibility function, not three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Introduce a durable deduplication key for BorealNimbusFormService events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "kdoc on SyncCoordinator, please", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Tide: projects/boreal/engine/render/atlas.cpp now contains BorealWillowCodecStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "is our tenant scoping actually enforced?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Umbra: Incident timeline — INC-42140\n\n08:02 deploy BorealGarnetModalFlow 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\nTurn the material above into a concise BorealGarnetModalFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "schedule thing again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Give BorealMoonlitSDKStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "there is no document anywhere that says what happens to a patient's data when a clinic leaves us, and both legal and two prospects have now asked. from the code and the ops runbooks, work out what actually happens today — export format, deletion timeline, what stays in backups — and write it up as a page we can hand to a customer without lawyering it first", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'BorealKiteSchedulerCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[BorealKiteSchedulerCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/boreal/db/migrations/20260730_events.sql:144: error: -[BorealKiteSchedulerCoordinatorTests 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 '-[BorealKiteSchedulerCoordinatorTests 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 BorealKiteSchedulerCoordinator 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": "i'd like to understand how room assignment picks a room when two appointments could use the same one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Vela: The destination for BorealWrenExportStore is broadly agreed; the missing piece is a reversible route from projects/boreal/workers/thumbnail/consumer.ex to that target. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealWrenExportStore\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "compose app is one gradle module and builds take four minutes on the CI runners, which is starting to hurt. modularising is the obvious answer but i've seen it go badly — circular dependencies, dagger components everywhere, nobody agreeing where things live. what would a sane module structure look like for an app this size, and in what order would you carve it up", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Could the reasoning behind BorealDriftConsoleStore's Cloudflare Workers 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": "logcat from a tester's Pixel, the appointment list just goes blank:\n\nE/AndroidRuntime( 8812): FATAL EXCEPTION: main\nE/AndroidRuntime( 8812): Process: io.clinicly.app, PID: 8812\nE/AndroidRuntime( 8812): java.lang.IllegalStateException: Reading a state that was created after the snapshot was taken or in a snapshot that has not yet been applied\nE/AndroidRuntime( 8812): \tat androidx.compose.runtime.snapshots.SnapshotKt.readError(Snapshot.kt:2371)\nE/AndroidRuntime( 8812): \tat androidx.compose.runtime.snapshots.SnapshotStateList.get(SnapshotStateList.kt:88)\nE/AndroidRuntime( 8812): \tat io.clinicly.schedule.DayColumnKt$DayColumn$1$2.invoke(DayColumn.kt:141)\nE/AndroidRuntime( 8812): \tat androidx.compose.foundation.lazy.LazyListKt.items(LazyList.kt:212)\nE/AndroidRuntime( 8812): \tat io.clinicly.schedule.ScheduleScreenKt.ScheduleScreen(ScheduleScreen.kt:88)\nE/AndroidRuntime( 8812): \tat io.clinicly.MainActivity$onCreate$1.invoke(MainActivity.kt:52)\n\nonly reproduces after you rotate while the refresh is in flight", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Walk through BorealFernSnapshotStore's atlas.cpp","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "rspec is red on main and the diff that broke it is three commits back somewhere:\n\nFailures:\n\n 1) Appointments::Reschedule moves the slot and notifies the patient\n Failure/Error: expect(appointment.reload.starts_at).to eq(new_slot.starts_at)\n\n expected: 2026-08-03 14:00:00.000000000 +0000\n got: 2026-08-03 13:00:00.000000000 +0000\n\n (compared using ==)\n # ./spec/services/appointments/reschedule_spec.rb:41:in `block (2 levels)'\n\n 2) Appointments::Reschedule refuses a slot outside clinic hours\n Failure/Error: expect { subject }.to raise_error(OutsideClinicHours)\n expected OutsideClinicHours, got #<ActiveRecord::RecordInvalid: Validation failed: Starts at must be in the future>\n # ./spec/services/appointments/reschedule_spec.rb:63:in `block (2 levels)'\n\nFinished in 1 minute 12.4 seconds (files took 6.1 seconds to load)\n412 examples, 2 failures\n\nboth of these passed on friday and nobody touched the scheduler", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new BorealSpruceDaemonStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "ログにこれが延々と出ていて、予約の同期が止まります。原因が分かりません:\n\nW/SyncWorker(3312): retrying sync attempt=4 delay=8000ms\nW/SyncWorker(3312): retrying sync attempt=5 delay=16000ms\nE/SyncWorker(3312): sync failed: retrofit2.HttpException: HTTP 409 Conflict\nE/SyncWorker(3312): \tat io.clinicly.net.ApiClient$sync$2.invokeSuspend(ApiClient.kt:141)\nE/SyncWorker(3312): \tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\nI/WM-WorkerWrapper(3312): Worker result RETRY for Work [ id=8f21-c0aa-4771, tags={ sync } ]\nI/WM-Processor(3312): Processor stopping foreground work sync\nW/SyncWorker(3312): retrying sync attempt=6 delay=32000ms\n\nサーバー側のログでは 409 は「revision mismatch」と書いてあります", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "ja"} {"prompt":"Could the reasoning behind BorealCinderAuthStore's GraphQL 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": "crash reporter groups these together but the stacks look unrelated to me:\n\nNullReferenceException: Object reference not set to an instance of an object\n at Clinicly.Game.WaveDirector.OnEnemyKilled (Clinicly.Game.Enemy e) [0x00021] in /Assets/Scripts/WaveDirector.cs:118\n at Clinicly.Game.Enemy.Die () [0x0000c] in /Assets/Scripts/Enemy.cs:88\n at Clinicly.Game.DamageSystem.Apply (Clinicly.Game.Enemy target, System.Single amount) [0x00044] in /Assets/Scripts/DamageSystem.cs:52\n at Clinicly.Game.Bullet.OnTriggerEnter (UnityEngine.Collider other) [0x0001a] in /Assets/Scripts/Bullet.cs:41\n\nMissingReferenceException: The object of type 'Transform' has been destroyed but you are still trying to access it.\n at UnityEngine.Transform.get_position ()\n at Clinicly.Game.HomingBullet.FixedUpdate () [0x00010] in /Assets/Scripts/HomingBullet.cs:33\n\n480 users, all on the wave-12 boss", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-42157: retire the legacy replay path for BorealVelaDrawerCoordinator\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 BorealVelaDrawerCoordinator 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": "detekt and the runtime disagree about this coroutine scope, and users see duplicate bookings:\n\nclass BookingViewModel(\n private val repo: AppointmentRepository,\n private val scope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Default)\n) : ViewModel() {\n\n fun book(slotId: String) {\n scope.launch {\n val result = repo.book(slotId)\n _state.update { it.copy(booked = result) }\n }\n }\n\n override fun onCleared() {\n super.onCleared()\n }\n}\n\ntapping book twice quickly creates two appointments about 30% of the time, and rotating the phone mid-book does it every time", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/boreal/ml/pipeline/features.py b/projects/boreal/ml/pipeline/features.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/ml/pipeline/features.py\n+++ b/projects/boreal/ml/pipeline/features.py\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 BorealNovaPickerFlow'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": "security questionnaire from a hospital customer came back with this section and i need to answer honestly:\n\n7.3 — Does the application enforce role-based access control at the API layer, and are authorization decisions logged?\n7.4 — Are patient records segregated per tenant at the database level, and if so by what mechanism?\n7.5 — Describe session invalidation on password change and on administrative account suspension.\n7.6 — Are audit logs immutable and retained for at least six years?\n7.9 — Can a clinic administrator export all data for a single patient on request, and how long does that take?\n\ngo through our rails app and tell me what's actually true for each of these", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"A previously stable test around BorealBirchMigratorService now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "someone's proposed this ECS refactor in the game repo and i can't tell if it's an improvement or just fashion:\n\n// current\npublic class Enemy : MonoBehaviour {\n public float speed; public int hp;\n void Update() { transform.position += dir * speed * Time.deltaTime; }\n}\n\n// proposed\npublic struct Position : IComponentData { public float3 Value; }\npublic struct Velocity : IComponentData { public float3 Value; }\npublic partial struct MoveSystem : ISystem {\n public void OnUpdate(ref SystemState state) {\n foreach (var (pos, vel) in SystemAPI.Query<RefRW<Position>, RefRO<Velocity>>())\n pos.ValueRW.Value += vel.ValueRO.Value * SystemAPI.Time.DeltaTime;\n }\n}\n\nwe have maybe 300 enemies on screen at peak and a two-person team", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Dokumentiere BorealQuartzPlayerStore kurz","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"de"}
{"prompt": "accessibility audit output for the booking flow, tell me which of these are real problems and which are the tool being pedantic:\n\nsrc/booking/SlotPicker.tsx\n serious Buttons must have discernible text (button-name) — 14 nodes\n serious Form elements must have labels (label) — 3 nodes\n moderate Elements must have sufficient color contrast (color-contrast) — 22 nodes (4.1:1 vs required 4.5:1)\n minor Heading levels should only increase by one (heading-order) — 2 nodes\n\nsrc/booking/Confirmation.tsx\n critical <html> element must have a lang attribute (html-has-lang)\n serious ARIA attributes must conform to valid values (aria-valid-attr-value) — aria-live=\"polite \" (trailing space)\n moderate Interactive controls must not be nested (nested-interactive) — 1 node\n\n47 total violations, 0 incomplete", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"For BorealHarborIndexCoordinator, separate BorealHarborIndexCoordinator's policy from transport without behavior changes; once that is complete, capture the contract and rollback note for consumers. Work from projects/boreal/internal/auth/refresh.go, stay with Kotlin coroutines, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "here's the query the scheduling page runs every time someone changes the week. is 400ms reasonable for this or is something dumb happening?\n\nSELECT a.id, a.starts_at, a.ends_at, a.status,\n p.first_name, p.last_name, p.date_of_birth,\n pr.display_name AS provider_name,\n r.name AS room_name,\n (SELECT COUNT(*) FROM appointment_notes n WHERE n.appointment_id = a.id) AS note_count\nFROM appointments a\nJOIN patients p ON p.id = a.patient_id\nJOIN providers pr ON pr.id = a.provider_id\nLEFT JOIN rooms r ON r.id = a.room_id\nWHERE a.clinic_id = $1\n AND a.starts_at >= $2 AND a.starts_at < $3\n AND a.status <> 'cancelled'\nORDER BY a.starts_at ASC;\n\nindexes: appointments(clinic_id, starts_at), patients(id), providers(id)", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Is BorealBeaconStoreService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "two engineers wrote the same helper in the same sprint. which one would you keep, and why?\n\n// version A — utils/time.ts\nexport function slotsBetween(open: Date, close: Date, minutes: number): Date[] {\n const out: Date[] = []\n for (let t = open.getTime(); t + minutes * 60000 <= close.getTime(); t += minutes * 60000)\n out.push(new Date(t))\n return out\n}\n\n// version B — booking/slots.ts\nexport const buildSlots = ({ open, close, step, skip = [] }: SlotArgs) =>\n Array.from(\n { length: Math.floor((+close - +open) / (step * 60000)) },\n (_, i) => new Date(+open + i * step * 60000)\n ).filter(d => !skip.some(([s, e]) => d >= s && d < e))\n\nboth are used in production right now, on different screens", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"On compact widths, BorealBasilRunnerFlow'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": "raw notes from the clinic onboarding call, turn them into the implementation guide we hand to new customers:\n\n- they get a CSV of patients from their old system, columns never match, we map by hand today\n- provider availability set up in the admin, but recurring blocks (lunch, admin time) are a separate screen nobody finds\n- rooms are optional; single-provider clinics skip them entirely\n- SMS reminders need their own twilio number, takes 2-3 days for approval, has to start before go-live\n- test appointment then a test reminder is how we prove it works\n- go-live is always a monday, they keep the old system read-only for a month\n- most common failure: nobody set the clinic timezone and every reminder goes out an hour off", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around BorealCedarPolicyCoordinator: (1) find the unknown cause of two validators with subtly different error strings; (2) capture the contract and rollback note for consumers. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "api reference for the availability endpoint is one sentence long. here's the controller — write the real thing:\n\ndef index\n clinic = Clinic.find(params[:clinic_id])\n authorize! :read, clinic\n range = DateRange.parse!(params[:from], params[:to])\n raise TooWide if range.days > 62\n providers = clinic.providers.where(id: params[:provider_ids].presence || clinic.provider_ids)\n slots = Appointments::Availability.new(clinic:, providers:, range:, duration: params.fetch(:duration, 30).to_i).build\n render json: { data: slots.map { |s| SlotSerializer.new(s) }, meta: { timezone: clinic.timezone } }\nend\n\ncover the 30-day default, the 62-day cap, what duration does, and that all times come back in clinic-local ISO8601", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealSableParserService 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": "escreve o texto do post-mortem a partir destas notas, formato: impacto, cronologia, causa, ações:\n\n14:02 — clientes reportam que a agenda aparece vazia\n14:06 — on-call confirma: API devolve 200 com lista vazia para clínicas com fuso -03\n14:11 — deploy das 13:40 identificado como suspeito (mudança no cálculo de intervalos)\n14:19 — rollback iniciado\n14:26 — rollback concluído, agendas voltam ao normal\n14:40 — confirmado: 61 clínicas afetadas durante 24 minutos, nenhuma consulta perdida\n15:10 — causa: o novo cálculo usava a data do servidor em UTC em vez do fuso da clínica\n\nações combinadas: teste de regressão com fusos negativos, alerta para respostas vazias acima de 5%", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "pt"} {"prompt":"projects/boreal/lib/codec/frame.cc has grown through several launches, and BorealIrisBatchStore now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to BorealIrisBatchStore and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL 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": "kotlin file has zero kdoc and the next person will hate us. document the public surface based on what it does:\n\nclass SyncCoordinator(\n private val api: ApiClient,\n private val dao: AppointmentDao,\n private val clock: Clock,\n) {\n suspend fun pull(since: Instant?): SyncResult { /* ... */ }\n suspend fun push(pending: List<PendingEdit>): SyncResult { /* ... */ }\n suspend fun awaitIdle(timeout: Duration = 30.seconds)\n fun observeState(): Flow<SyncState>\n val lastSuccessfulSync: Instant?\n}\n\nthings worth capturing: pull with a null `since` does a full refresh and can take minutes on a big clinic; push is all-or-nothing per batch; awaitIdle throws on timeout; observeState never completes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealSpruceDaemonCoordinator: could this be clearer","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "i have to explain our offline behaviour to the app review team and to our own support staff. here's what the code does, in bullets, from my reading:\n\n- edits made offline go into a `pending_edits` room table with a local revision\n- on reconnect, push happens before pull, oldest first\n- a 409 from the server means the server version won, and the local edit is discarded silently\n- appointments created offline get a client-generated UUID that the server honours\n- if the app is killed mid-sync, the worker restarts the whole batch\n- there is no user-visible indication that a local edit was discarded\n\nturn that into two documents: one for the app review notes, one for support", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealSableParserCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "README for the game repo hasn't been touched since the jam version. current state of things:\n\n- unity 6000.0.28f1, URP, addressables for the level packs\n- three scenes that matter: Boot, Hub, Run. everything else is test scaffolding\n- input via the new Input System, bindings in Assets/Settings/PlayerControls.inputactions\n- steam build via a bash script in tools/, needs SteamCMD on PATH and a `.env` with the app id\n- tests: EditMode only, playmode tests are broken and skipped in CI\n- known: opening Run directly from the editor bypasses save loading and softlocks after the first wave\n\nwrite it so a new contributor can get to a running build without asking anyone", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "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_42122'\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_42122'::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\nDetermine why BorealFernSnapshotFlow 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": "ktlint is blocking the merge, all of it looks cosmetic:\n\napp/src/main/java/io/clinicly/ui/ScheduleScreen.kt:41:1: Wildcard import (cannot be auto-corrected)\napp/src/main/java/io/clinicly/ui/ScheduleScreen.kt:88:121: Exceeded max line length (120)\napp/src/main/java/io/clinicly/ui/ScheduleScreen.kt:141:5: Missing newline before \"}\"\napp/src/main/java/io/clinicly/data/SyncCoordinator.kt:19:1: Package name must not contain underscore\napp/src/main/java/io/clinicly/data/SyncCoordinator.kt:66:33: Unnecessary semicolon\napp/src/main/java/io/clinicly/di/AppModule.kt:12:1: Imports must be ordered in lexicographic order\n\n> Task :app:ktlintMainSourceSetCheck FAILED\n6 style violations", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealNimbusFormCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "rubocop after the rebase, just get it green:\n\nOffenses:\n\napp/services/appointments/availability.rb:14:5: C: Metrics/MethodLength: Method has too many lines. [22/15]\napp/services/appointments/availability.rb:41:81: C: Layout/LineLength: Line is too long. [104/100]\napp/services/appointments/reschedule.rb:9:3: C: Style/Documentation: Missing top-level class documentation comment.\napp/models/clinic_hours.rb:33:11: W: Lint/UselessAssignment: Useless assignment to variable - `tz`.\napp/controllers/api/v2/availability_controller.rb:22:7: C: Style/GuardClause: Use a guard clause instead of wrapping the code inside a conditional expression.\nspec/factories/appointments.rb:5:1: C: Naming/VariableNumber: Use normalcase for symbol numbers.\n\n612 files inspected, 6 offenses detected, 3 offenses auto-correctable", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealAcornWidgetCoordinator: correct, then assess","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "dependency check flagged these in the rails app, pick the ones we should just bump today:\n\nName: nokogiri\nVersion: 1.16.2\nAdvisory: CVE-2026-11221\nCriticality: High\nSolution: upgrade to '>= 1.17.1'\n\nName: rack\nVersion: 3.0.9\nAdvisory: CVE-2026-10884\nCriticality: Medium\nTitle: Possible ReDoS in Rack::Request header parsing\nSolution: upgrade to '>= 3.0.11'\n\nName: image_processing\nVersion: 1.12.2\nAdvisory: GHSA-7x2f-9k1c\nCriticality: Low\nSolution: upgrade to '>= 1.13.0'\n\nVulnerabilities found!", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealSlateEditorCoordinator: sequence, then polish","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "tsc is unhappy after the react 19 bump, and i think these are all the same mistake repeated:\n\nsrc/booking/SlotPicker.tsx:44:7 - error TS2322: Type '{ children: Element; ref: MutableRefObject<HTMLDivElement | null>; }' is not assignable to type 'IntrinsicAttributes & SlotGridProps'.\n Property 'ref' does not exist on type 'IntrinsicAttributes & SlotGridProps'.\n\nsrc/booking/Confirmation.tsx:19:23 - error TS2769: No overload matches this call.\n Argument of type '(e: React.FormEvent) => Promise<void>' is not assignable to parameter of type 'FormEventHandler<HTMLFormElement>'.\n\nsrc/schedule/WeekGrid.tsx:88:11 - error TS2339: Property 'defaultProps' does not exist on type 'FunctionComponent<WeekGridProps>'.\n\nFound 3 errors in 3 files.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealPrismCacheService'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": "a short note for the team explaining why we moved reminders off after_commit, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Move BorealSummitProxyFlow's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our repository interfaces return `Result<T>` in some places and throw in others; pick one and apply it, no behaviour change at the UI layer", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Before touching projects/boreal/db/migrations/20260730_events.sql, 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": "the usual pre-release pass, you know the drill", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"The BorealDeltaCanvasStore empty state in projects/boreal/config/staging.toml needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "appointment types are hardcoded as an enum in three languages: a rails enum, a kotlin sealed class, and a typescript union that's already out of date. how would you like to see this owned in one place? tell me the approach and then do the rails side", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current BorealEmberRelayService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealEmberRelayService\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "we keep telling customers that appointment data syncs \"in near real time\" and i genuinely don't know if that's true anymore given the worker changes. read the sync path, work out what the actual guarantees are — latency, ordering, what happens on conflict — and write the honest version for the docs site, including the caveats we'd rather not advertise", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"On compact widths, BorealCinderAuthService'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": "a migration note for integrators about the v2 availability response shape, they need to know about the `meta.timezone` field", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"BorealRainfallDBCoordinator needs a paired pass: separate BorealRainfallDBCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/boreal/ui/settings/PrivacyPane.tsx as the source of truth, preserve the Kafka contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "our CI runs the android lint task twice, once in the check job and once in the release job, drop one", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current BorealDriftConsoleService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealDriftConsoleService\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "the compose theme file came from a contractor and i've been told it's \"basically standard\" three times by people who haven't opened it. i'd like an actual assessment against how material 3 expects to be set up, particularly the dynamic colour branch and the status bar side effect, before i add a dark palette on top of it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"This should remain a deliberately small patch: BorealMarbleTokenService has one known configuration mistake in projects/boreal/infra/modules/edge/main.tf, not an open-ended failure investigation. 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- leave generated files and vendored code alone\n- stay compatible with the existing Kotlin coroutines deployment\n- keep the work scoped to BorealMarbleTokenService and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "we owe the partner an eligibility-check endpoint on our side by the end of the month: they call us with a patient reference and a payer id, we look up the patient, hit their sandbox, cache the answer for an hour, and return a normalised status. rate limit is 5 rps on their side and they penalise us for exceeding it", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-42128\n\n08:02 deploy BorealHarborIndexFlow 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\nTurn the material above into a concise BorealHarborIndexFlow 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": "appointment durations over 4 hours render as a block with no end time, clamp it or show the end explicitly", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/boreal/cmd/exporter/main.py b/projects/boreal/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/cmd/exporter/main.py\n+++ b/projects/boreal/cmd/exporter/main.py\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 BorealPineMetricsFlow 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": "config drift between the two staging clinics, one of them sends reminders at the wrong hour:\n\n# clinic 4412 (settings.yml)\nreminder_lead_hours: 24\nreminder_send_window: \"08:00-20:00\"\ntimezone: \"America/Santiago\"\nsms_enabled: true\nemail_enabled: true\nwaitlist_offer_window_minutes: 120\ndouble_booking_allowed: false\nslot_minutes: 30\n\n# clinic 4419 (settings.yml)\nreminder_lead_hours: 24\nreminder_send_window: \"08:00-20:00\"\ntimezone: \"UTC\"\nsms_enabled: true\nemail_enabled: false\nwaitlist_offer_window_minutes: 120\ndouble_booking_allowed: false\nslot_minutes: 15\n\n# production template both were cloned from\nreminder_lead_hours: 24\nreminder_send_window: \"08:00-20:00\"\ntimezone: null # must be set per clinic on creation\nsms_enabled: true\nemail_enabled: true\nwaitlist_offer_window_minutes: 120\ndouble_booking_allowed: false\nslot_minutes: 30\n\nboth were meant to be copies of that template and neither matches it", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"In projects/boreal/app/src/main/SyncWorker.kt hat BorealAtlasSearchService ein sporadisches Problem im GraphQL-Ablauf. Vervollständige Responsive Layout, Empty- und Retry-State, Tastaturfokus, Dark Mode und Reduced Motion.\n\nRandbedingungen:\n- GraphQL weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf BorealAtlasSearchService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um BorealAtlasSearchService mit GraphQL kompatibel.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt": "unity throws this every time the level loads and it's just noise in the console but it's hiding real errors:\n\nAssets/Scripts/UI/HUDController.cs(41,17): warning CS0618: 'Object.FindObjectOfType<T>()' is obsolete: 'Object.FindObjectOfType has been deprecated. Use Object.FindFirstObjectByType instead or if finding any instance is acceptable the faster Object.FindAnyObjectByType'\nAssets/Scripts/WaveDirector.cs(88,9): warning CS0618: same\nAssets/Scripts/Audio/MusicManager.cs(22,13): warning CS0618: same\nAssets/Scripts/Save/SaveSystem.cs(112,21): warning CS0672: 'SaveSystem.Serialize(Stream)' overrides obsolete member\n\n41 warnings total, 12 of them this one", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"Split BorealAsterWebhookStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "esta función se repite en tres pantallas casi igual. quiero una sola versión, sin cambiar el comportamiento:\n\n// SlotPicker.tsx\nconst isBookable = (s: Slot) =>\n !s.taken && s.startsAt > new Date() && !s.blocked && s.providerId === selectedProvider\n\n// WeekGrid.tsx\nfunction bookable(slot) {\n if (slot.taken) return false\n if (slot.blocked) return false\n if (new Date(slot.startsAt) <= new Date()) return false\n return !provider || slot.providerId === provider\n}\n\n// WaitlistSheet.tsx\nconst canOffer = (slot: Slot, providerId?: string) =>\n [!slot.taken, !slot.blocked, +new Date(slot.startsAt) > Date.now(),\n providerId ? slot.providerId === providerId : true].every(Boolean)", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "es"} {"prompt":"The name pendingAck means two different things across BorealMarbleTokenFlow's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "this composable has grown a fifth responsibility and i want it split without changing a pixel:\n\n@Composable\nfun ScheduleScreen(vm: ScheduleViewModel = hiltViewModel()) {\n val state by vm.state.collectAsStateWithLifecycle()\n val snackbar = remember { SnackbarHostState() }\n LaunchedEffect(state.error) { state.error?.let { snackbar.showSnackbar(it) } }\n LaunchedEffect(Unit) { vm.trackScreenView() }\n Scaffold(\n topBar = { /* 40 lines of week picker, provider filter and overflow menu */ },\n snackbarHost = { SnackbarHost(snackbar) },\n floatingActionButton = { /* 20 lines with three conditional states */ },\n ) { padding ->\n when {\n state.loading -> ShimmerGrid(padding)\n state.days.isEmpty() -> EmptyDay(padding, onRefresh = vm::refresh)\n else -> /* 90 lines of day columns, drag-to-reschedule and overlap layout */\n }\n }\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/boreal/packages/api/openapi.yaml\n[worker.borealquartzplayerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.borealquartzplayerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.borealquartzplayerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.BorealQuartzPlayerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-42119\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/boreal/packages/api/openapi.yaml and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "service object that grew organically. same behaviour, better seams, and it needs to stay callable from the controller exactly as it is:\n\nclass Appointments::Reschedule\n def initialize(appointment, new_slot, actor:, notify: true, skip_validation: false)\n @appointment = appointment; @new_slot = new_slot; @actor = actor\n @notify = notify; @skip_validation = skip_validation\n end\n\n def call\n raise OutsideClinicHours unless @skip_validation || within_hours?\n raise SlotTaken if Appointment.overlapping(@appointment.clinic_id, @new_slot.range).where.not(id: @appointment.id).exists?\n ActiveRecord::Base.transaction do\n @appointment.update!(starts_at: @new_slot.starts_at, ends_at: @new_slot.ends_at)\n AuditLog.create!(actor: @actor, action: \"reschedule\", subject: @appointment)\n CalendarSyncJob.perform_later(@appointment.id)\n PatientMailer.rescheduled(@appointment).deliver_later if @notify\n SmsSender.new(@appointment.patient).rescheduled(@appointment) if @notify && sms?\n end\n @appointment\n end\nend", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Dedupe BorealFrostPanelStore's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "four scripts in the unity project all reach for the player the same way. i want one accessor and no behaviour change:\n\n// WaveDirector.cs\nvar player = GameObject.FindWithTag(\"Player\").GetComponent<PlayerController>();\n\n// HomingBullet.cs\nvar player = GameObject.Find(\"Player\").transform;\n\n// HUDController.cs\nPlayerController player = FindObjectOfType<PlayerController>();\n\n// SaveSystem.cs\nvar player = GameObject.FindGameObjectsWithTag(\"Player\").FirstOrDefault()?.GetComponent<PlayerController>();\n\nall four are called from Update or from OnEnable, some of them every frame", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Stream BorealFernSnapshotService's audit events","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "test suite has this shape repeated 60-odd times and it's why nobody adds tests:\n\nRSpec.describe Appointments::Availability do\n let(:clinic) { create(:clinic, timezone: \"America/New_York\") }\n let(:provider) { create(:provider, clinic: clinic) }\n let!(:hours) { create(:clinic_hours, clinic: clinic, weekday: 1, opens_at: \"09:00\", closes_at: \"17:00\") }\n let(:range) { Date.new(2026, 8, 3)..Date.new(2026, 8, 3) }\n\n before do\n travel_to Time.zone.parse(\"2026-08-01 08:00\")\n allow(FeatureFlags).to receive(:enabled?).with(:waitlist).and_return(false)\n end\n\n after { travel_back }\n # ... 8 examples\nend\n\nsame five let blocks, same travel_to, same flag stub, in every scheduling spec", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Does BorealOspreyJobStore 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": "navigation in the app is half compose-navigation and half fragments, this is the current graph plus the leftovers:\n\nNavHost(navController, startDestination = \"schedule\") {\n composable(\"schedule\") { ScheduleScreen() }\n composable(\"booking/{slotId}\") { BookingScreen(it.arguments?.getString(\"slotId\")!!) }\n composable(\"patient/{id}\") { PatientScreen(it.arguments?.getString(\"id\")!!) }\n activity(\"legacy_settings\") { activityClass = SettingsActivity::class }\n}\n\n// still around\nclass PatientListFragment : Fragment() // reached from SettingsActivity\nclass ProviderPickerFragment : DialogFragment() // shown from ScheduleScreen via FragmentManager\nclass OnboardingActivity : AppCompatActivity() // launched from MainActivity.onCreate\n\nthe hybrid is why back handling is inconsistent. same destinations, one mechanism", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"PM needs a concise migration note for BorealFlintTimelineStore, 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": "un fichier de constantes qui a mal vieilli, je veux le réorganiser sans rien casser :\n\n// constants.ts\nexport const SLOT_MINUTES = 30\nexport const MAX_RANGE_DAYS = 62\nexport const API_BASE = process.env.NEXT_PUBLIC_API ?? \"https://api.clinicly.io\"\nexport const COLORS = { booked: \"#2f6fed\", blocked: \"#9aa0a6\", free: \"#ffffff\" }\nexport const REMINDER_LEAD_HOURS = 24\nexport const WAITLIST_WINDOW_MIN = 120\nexport const FEATURE_WAITLIST = true\nexport const DATE_FMT = \"yyyy-MM-dd\"\nexport const TZ_FALLBACK = \"UTC\"\nexport const SUPPORT_EMAIL = \"[email protected]\"\nexport const RETRY_DELAYS = [1000, 2000, 4000, 8000]\nexport const LEGACY_SLOT_MINUTES = 15 // still used by the old week grid\n\nimporté par 41 fichiers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "fr"} {"prompt":"BorealOrbitSyncCoordinator is blocking the next release because cancellation being swallowed at the repository boundary. I need two concrete outcomes from a single pass: assess ownership and failure handling in projects/boreal/crates/index/src/segment.rs, and capture the contract and rollback note for consumers. Use the existing Cloudflare Workers conventions in projects/boreal/crates/index/src/segment.rs; leave generated files and vendored code alone. 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":"review","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "discovery notes from the clinic visits last week. i need this turned into a roadmap with phases, not a feature list:\n\n- front desk staff use paper for the waitlist because the digital one takes too many taps\n- three of five clinics double-book deliberately for no-show buffer; our model forbids it\n- providers want to see their own day on a phone, receptionists want the whole clinic on a monitor\n- nobody uses the reporting screen; two clinics export to excel weekly instead\n- the biggest complaint is that cancelling requires four confirmations\n- one clinic runs two locations from one account and it half-works\n- insurance eligibility check is done outside our system entirely, on a separate portal", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-42114: retire the legacy replay path for BorealOrbitSyncFlow\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 BorealOrbitSyncFlow 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": "leadership handed down this constraint set for the mobile rewrite and i need a realistic sequencing before we commit to dates:\n\n- android and ios must ship the same features at the same time from Q4\n- the current android app is kotlin/compose, ios is a webview wrapper nobody maintains\n- team is four android engineers, one ios contractor starting in september\n- offline support is non-negotiable for both, clinics have bad wifi\n- the design system exists in figma but only android components are built\n- there is a hard deadline: a customer conference in march where both must demo\n- we cannot stop shipping android features in the meantime", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealOspreyJobCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "game's save system is about to become a problem and i'd rather design now than patch later. current state:\n\n- SaveSystem.cs writes a JSON blob to Application.persistentDataPath every checkpoint\n- no versioning; loading an old save from before the wave rework silently zeroes progress\n- cloud saves via steam are on the roadmap for the 1.0 release\n- players have already reported losing runs when the game is force-quit mid-write\n- we want a run history screen eventually, which means multiple saves, not one blob\n\nwhat should the shape of this be, and what's the migration path for saves already in the wild", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new BorealVelaDrawerStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "compliance ticket landed and i don't want to start coding before we agree the shape:\n\nCOMP-118 — Audit trail for patient record access\nEvery read of a patient record must be recorded: who, when, which record, from which client, and the stated reason where one is required. Records must be queryable by patient (for subject access requests) and by user (for internal investigations). Retention six years, tamper-evident. Must not measurably slow the schedule screen, which reads dozens of patient summaries per page load. Applies to API, admin panel and the mobile apps. Existing access is not backfilled.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Remove BorealFrostPanelService's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "figma redlines for the new day column, build it in compose:\n\nDay column (phone, 360dp)\n- Header: weekday abbrev (labelMedium) over day number (headlineSmall). Today: number in a 32dp filled circle, onPrimary text.\n- Hour rows 64dp tall, 1dp divider at 12% onSurface. Half-hour: dotted divider, 6% opacity.\n- Appointment block: 8dp corner, 4dp inset from the column edges, 3dp leading accent bar coloured by appointment type. Title bodyMedium truncated to one line; patient name bodySmall, 70% alpha.\n- Overlaps: split the column evenly, 2dp gutter, max three side by side, then \"+N\" chip on the third.\n- Now line: 2dp accent, dot at the leading edge, only shown for today.\n- Drag to reschedule: block lifts 4dp with shadow, snaps to 15-minute steps, target row highlighted at 8% accent.\n- Empty state: centred \"Nothing booked\" bodyMedium at 50% alpha.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"BorealGarnetModalCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "ticket with the designer's notes attached, the waitlist sheet on web:\n\nWaitlist sheet (desktop modal, 480px)\n- Title \"Join the waitlist\" (20px semibold), subtitle with the chosen day in long form.\n- Provider select: our existing Select component, defaults to \"Any provider\", shows avatars.\n- Time-of-day preference: three toggle chips (Morning / Afternoon / Any), single select, \"Any\" default.\n- Contact preference: radio group, SMS / Email, prefilled from the patient record, with the masked contact shown next to each.\n- Footnote in 12px muted: \"We'll hold your spot for 2 hours once we offer it.\"\n- Primary \"Join waitlist\", secondary \"Cancel\". Primary disabled while submitting, spinner inside the button.\n- On success the modal is replaced in place by a confirmation state with a checkmark, no navigation.\n- Errors render above the buttons in a red inline alert, never a toast.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Willow: The BorealMicaProfileStore surface in projects/boreal/ml/pipeline/features.py 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.3,"slice":"core","lang":"en"}
{"prompt": "这是设计稿标注,帮我把预约确认页写出来(React + Tailwind):\n\n确认页(移动端 375px)\n- 顶部:诊所名称 16px 中等字重,下面是地址 13px 灰色,右侧是地图图标按钮 40x40。\n- 主卡片:圆角 12px,1px 边框,内边距 16px。第一行日期 20px 半粗,第二行时间段 15px。\n- 医生一行:32px 头像 + 姓名 + 科室,中间用 8px 间距。\n- 提醒开关:默认开启,副标题写「就诊前 24 小时短信提醒」。\n- 底部按钮:主按钮「确认预约」占满宽度 48px 高,次要按钮「取消」文字按钮。\n- 加载中:主按钮内显示 spinner,其余内容保持不动。\n- 出错时在按钮上方显示红色提示条,不要弹窗。", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "zh"} {"prompt":"Xylem: projects/boreal/web/components/FilterDrawer.vue 里的 BorealRavenSessionStore 最近在 Kotlin coroutines 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 Kotlin coroutines\n- 保持兼容性和取消语义\n- 改动只限于 BorealRavenSessionStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "spec from the integration partner, build our side of it:\n\nPOST /v2/webhooks/eligibility\n headers: X-Partner-Signature (HMAC-SHA256 of the raw body, secret per partner), X-Partner-Id\n body: { request_id, patient_ref, payer_id, status: \"active\"|\"inactive\"|\"unknown\", copay_cents?, checked_at }\n we must respond 200 within 3 seconds or they retry with the same request_id for 24 hours\n duplicate request_id must be a no-op that still returns 200\n unknown patient_ref: respond 200 and record it, do not 404 (they treat 4xx as a hard failure and disable the hook)\n signature mismatch: 401, and we should alert\n they send roughly 40k of these a day, bursty around 06:00 clinic-local", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Two deliverables are holding up BorealBeaconStoreCoordinator. First, finish BorealBeaconStoreCoordinator's responsive empty and retry states. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/boreal/cmd/exporter/main.py, which follows Spring Boot conventions and currently suffers from a feature flag whose default differs between environments. Leave generated files and vendored code alone.\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":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "reminder lead time to 48h", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Yarrow: Two asks around BorealCraneWorkspaceCoordinator: (1) change BorealCraneWorkspaceCoordinator's known staging timeout from 15 to 30 seconds; (2) capture the contract and rollback note for consumers. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "versionCode wasn't bumped for the hotfix", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Zephyr: Ticket OPS-42151: retire the legacy replay path for BorealEmberRelayCoordinator\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 BorealEmberRelayCoordinator 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": "\"appointement\" in the confirmation email", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Where did BorealHarborIndexService's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "proguard rule for the analytics SDK", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/boreal/infra/modules/edge/main.tf: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: borealbirchmigratorflow::scheduler::LeaseTask::flush\n at ./projects/boreal/infra/modules/edge/main.tf:217:18\n 4: borealbirchmigratorflow::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\nFind the source of this BorealBirchMigratorFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "strip the debug toast from BookingScreen", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'BorealSpruceDaemonFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[BorealSpruceDaemonFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/boreal/config/staging.toml:144: error: -[BorealSpruceDaemonFlowTests 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 '-[BorealSpruceDaemonFlowTests 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 BorealSpruceDaemonFlow 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": "sentry DSN is still the staging one", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Before touching projects/boreal/engine/render/atlas.cpp, 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": "delete the dead `LEGACY_SLOT_MINUTES`", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"# CI job 42147: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Kafka\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] BorealLumenChartFlowIntegration.replays_after_timeout ... ok\n[test] BorealLumenChartFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nWire BorealLumenChartFlow'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": "el copy del botón dice «Reservar», debería ser «Confirmar»", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "es"} {"prompt":"Checkout: projects/boreal/src/sync/reconcile.ts now contains BorealKiteSchedulerFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "nokogiri to 1.17.1 please", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'BorealWrenExportFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[BorealWrenExportFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/boreal/ui/settings/PrivacyPane.tsx:144: error: -[BorealWrenExportFlowTests 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 '-[BorealWrenExportFlowTests 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\nUse the UI evidence to complete BorealWrenExportFlow'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": "turn off dynamicColor for now", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Exporter: # projects/boreal/ui/settings/PrivacyPane.tsx\n[worker.borealprismcacheflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.borealprismcacheflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.borealprismcacheflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.BorealPrismCacheFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-42137\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. The intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/boreal/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": "today's date needs a filled circle", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Scheduler: // projects/boreal/Sources/CLI/Commands/Doctor.swift\nfinal class BorealAsterWebhookFlowCoordinator {\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\nSplit BorealAsterWebhookFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "pull-to-refresh on the day view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-42112\n\n08:02 deploy BorealIrisBatchFlow 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 BorealIrisBatchFlow 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": "provider avatars in the week header", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-42129: retire the legacy replay path for BorealCopperBridgeFlow\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Turn the artifact into a reversible BorealCopperBridgeFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "minimap clips on ultrawide", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Outline a safer BorealCraneWorkspaceStore cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "empty day needs an illustration", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-42110: finish the compact BorealMosaicGridFlow filter experience\n\nRoute: /catalog/search\nSource: projects/boreal/Sources/CLI/Commands/Doctor.swift\nFramework: Spring Boot\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 BorealMosaicGridFlow 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": "ボタンのタップ領域が小さすぎます", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "ja"} {"prompt":"diff --git a/projects/boreal/web/components/FilterDrawer.vue b/projects/boreal/web/components/FilterDrawer.vue\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/web/components/FilterDrawer.vue\n+++ b/projects/boreal/web/components/FilterDrawer.vue\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 BorealTideWorkerFlow 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": "cancel confirmation should be one tap", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"BorealCinderAuthCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "slot chips wrap badly at 320dp", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"How should BorealLedgerGateStore be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "now-line should be accent, not red", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Em projects/boreal/cmd/exporter/main.py, o BorealNovaPickerStore tem um problema intermitente no fluxo de Spring Boot. Proponha fases, compatibilidade, métricas, rollback e ownership; pare antes de alterar código.\n\nRestrições:\n- continuar com Spring Boot\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao BorealNovaPickerStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"pt"}
{"prompt": "HUD scale is wrong on deck", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Dashboard: Incident timeline — INC-42146\n\n08:02 deploy BorealCinderAuthFlow 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\nTurn the material above into a concise BorealCinderAuthFlow 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": "`ApptSvc` should read `AppointmentService`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"A previously stable test around BorealOpalRouterStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "lift the week picker out of ScheduleScreen", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Worker: The BorealWillowCodecFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "die Konstanten nach Bereichen gruppieren", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "de"} {"prompt":"PM is preparing the BorealMosaicGridService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealMosaicGridService\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "a nightly job that flags appointments whose provider no longer works at the clinic, so front desk can reassign them before the patient turns up", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"BorealMapleQueueStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/boreal/ml/pipeline/features.py and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "our staging data is a six-month-old production dump with names scrambled, which is why timezone bugs never show up before release. what should the test data story actually be", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"BorealAsterWebhookCoordinator needs a paired pass: change BorealAsterWebhookCoordinator's known staging timeout from 15 to 30 seconds, plus give the existing implementation a read-only safety pass. Use projects/boreal/Sources/App/SessionStore.swift as the source of truth, preserve the Spring Boot contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "the changelog for the android app has been \"bug fixes and improvements\" for six releases, which is embarrassing given how much has actually changed. go through the commits since 3.0, write proper release notes for each version, and while you're in there fix the two entries in the existing changelog that describe features we cut", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.4, "slice": "mixed", "lang": "en"} {"prompt":"BorealCopperBridgeService flakes under UTC","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "collapse the two slot builders", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"projects/boreal/services/ledger/replay.go の BorealRavenSessionService で、Kotlin coroutines の flow に断続的な問題が起きています。 responsive layout、empty/retry state、keyboard focus、dark mode、reduced motion を仕上げてください。\n\n制約:\n- Kotlin coroutines を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は BorealRavenSessionService のみ","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"ja"}
{"prompt": "`starts_at` naming, consistent everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: BorealMarbleTokenStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealMarbleTokenStore\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "shared rspec context for scheduling specs", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Simulator: // projects/boreal/workers/thumbnail/consumer.ex\nfinal class BorealRainfallDBFlowCoordinator {\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\nWalk through what the artifact proves about BorealRainfallDBFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "one player accessor for all scripts", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-42134: finish the compact BorealOpalRouterFlow filter experience\n\nRoute: /catalog/search\nSource: projects/boreal/pkg/cache/lease.rs\nFramework: Cloudflare Workers\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 BorealOpalRouterFlow 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": "inline `bookable`, it's used once", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Walk through BorealJuniperCLIService's segment.rs","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "play store release notes, friendly tone", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"BorealPrismCacheCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "changelog entry for the waitlist", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"BorealDeltaCanvasCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "kurze Doku für den Reminder-Job", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "de"} {"prompt":"Summarize the BorealWrenExportService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "summarise `Availability#build` for the wiki", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"BorealMoonlitSDKCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "PR body for the ANR fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/boreal/packages/api/openapi.yaml b/projects/boreal/packages/api/openapi.yaml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/packages/api/openapi.yaml\n+++ b/projects/boreal/packages/api/openapi.yaml\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 BorealDeltaCanvasFlow 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": "where does `skip_validation` come from?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Match BorealPineMetricsService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "¿qué hace exactamente `SyncCoordinator.pull`?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "es"} {"prompt":"Incident timeline — INC-42158\n\n08:02 deploy BorealMarbleTokenCoordinator 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\nTurn the material above into a concise BorealMarbleTokenCoordinator 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": "which of these two helpers is safer?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Release engineering needs a BorealDriftConsoleFlow changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "walk me through the offer job", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Why is BorealLedgerGateService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "any reason `after_commit` fires twice here?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"What sequence would let BorealDeltaCanvasService adopt Cloudflare Workers 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": "reminders went out an hour early", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Enforce BorealTideWorkerStore's idempotency key","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "week view flickers on day change", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Ownership of BorealCoralUploadStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current GraphQL operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "booking twice creates two appointments", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Documente o contrato de BorealRainfallDBService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt": "le calendrier reste vide après le login", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "fr"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current BorealAmberFilterService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealAmberFilterService\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "soft-delete on appointments, rails side", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Extract BorealCedarPolicyService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "plan the audit trail, then build phase one", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Does BorealPineMetricsStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "scope the ios rewrite, then start the shell", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"projects/boreal/cmd/exporter/main.py has grown through several launches, and BorealBeaconStoreStore now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to BorealBeaconStoreStore and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL 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": "same as yesterday", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Ticket OPS-42155: retire the legacy replay path for BorealMapleQueueCoordinator\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 BorealMapleQueueCoordinator 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": "clean this up", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"} {"prompt":"Runbook: diff --git a/projects/boreal/web/components/FilterDrawer.vue b/projects/boreal/web/components/FilterDrawer.vue\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/web/components/FilterDrawer.vue\n+++ b/projects/boreal/web/components/FilterDrawer.vue\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Restructure BorealAmberFilterFlow 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": "go ahead with the waitlist", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"BorealSableParserStore's staging timeout is already known to be wrong: change the single projects/boreal/infra/modules/edge/main.tf value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "nicer", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "vague-eval", "lang": "en"} {"prompt":"Release verification found a single stale BorealKiteSchedulerService value; the cause, desired value, and affected assertion are already agreed. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current GraphQL operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "onboarding, but properly this time", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Trace: Ticket OPS-42150: retire the legacy replay path for BorealBasilRunnerCoordinator\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 BorealBasilRunnerCoordinator 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "weiter wie besprochen", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "de"} {"prompt":"What does BorealJuniperCLIStore own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "you know what to do", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"} {"prompt":"Outline a safer BorealAcornWidgetService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "できるところまでお願いします", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "ja"} {"prompt":"Profiler: Incident timeline — INC-42144\n\n08:02 deploy BorealFlintTimelineFlow 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 BorealFlintTimelineFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "round two on the sync", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Console: # projects/boreal/internal/auth/refresh.go\n[worker.borealacornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.borealacornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.borealacornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.BorealAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-42118\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/boreal/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": "make the wave feel meaner", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Workspace: projects/boreal/apps/console/routes/usage.svelte の BorealEmberRelayFlow で、GraphQL の flow に断続的な問題が起きています。 consumer 向けに contract、error、retry、コピー可能な例を含む文書を書き、handler は変更しないでください。\n\n制約:\n- GraphQL を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は BorealEmberRelayFlow のみ","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"ja"}
{"prompt": "do the needful on scheduling", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Fresh release brief for BorealMosaicGridCoordinator:\n- primary outcome: finish BorealMosaicGridCoordinator's responsive empty and retry states\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/boreal/Sources/App/SessionStore.swift\n- platform constraint: Spring Boot\n- known complication: two validators with subtly different error strings\n\nBoth results are required, but they should remain independently reviewable. Leave generated files and vendored code alone; 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":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "tidy the theme file", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"} {"prompt":"PM is preparing the BorealVelaDrawerService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealVelaDrawerService\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "o de sempre, mas para a agenda", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "pt"} {"prompt":"Repository: Release verification found a single stale BorealMosaicGridStore value; the cause, desired value, and affected assertion are already agreed. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Spring Boot operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "clinics with two locations are running on one account and it half works today: shared provider list, shared patient records, but the schedule screen can only show one location's rooms at a time and reminders always use the first location's address. before we build multi-location properly i want to know whether that's a data model change or a permissions change, and what it does to every clinic already on the platform", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Read projects/boreal/Sources/App/SessionStore.swift and tell me whether BorealGarnetModalService 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": "insurance eligibility is checked on a separate portal today and front desk staff retype the result into a note. bringing it in-house means a partner API, PHI leaving our boundary in a new direction, and a support burden when the payer is down. i'd like the options laid out — full integration, deep link with prefill, or nothing — with what each costs us over a year", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Assess the BorealAcornWidgetStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "game needs a difficulty curve that isn't just hp multipliers and i keep going back and forth. we have wave composition, enemy stats, spawn rate, arena hazards and drop rates as knobs, plus a run-length target of about 25 minutes. sketch out how you'd structure the tuning so a designer can iterate without touching code, and what we'd need to log to know whether it's working", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"BorealLumenChartStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/boreal/ui/settings/PrivacyPane.tsx and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "hospital group wants us on their infrastructure rather than our cloud, which we have never done. that means a deployment story, a licence story, an upgrade story and a support story, none of which exist. i want the shape of what we'd have to build and what we'd have to say no to, before sales promises anything in the next call", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"Give BorealEchoRegistryFlow's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "clinic staff turnover is high and every new receptionist gets trained by the last one, which is why nobody knows about half the features. i'd like a proper training guide: the daily workflow start to finish, the five things that go wrong most often and how to fix them, and a one-page cheat sheet they can print and stick on the monitor", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Split projects/boreal/app/src/main/SyncWorker.kt by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "android release process lives in one engineer's head: which branch, when to bump versionCode, the staged rollout percentages, when to promote, what to do when crashlytics spikes mid-rollout, and how to halt. write it down as a runbook that someone else could follow on a wednesday afternoon without asking them anything", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Ownership of BorealBasilRunnerService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Spring Boot operational envelope\n\nThe relevant code crosses computer vision, React, PostgreSQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "steam page copy is three sentences and reads like a placeholder because it is one. the game is a roguelike with a clinic aesthetic, run-based, 25-minute runs, deck-of-treatments mechanic. write the store description, the short blurb, and the five bullet features, in a voice that isn't every other roguelike page", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"BorealFrostPanelCoordinator: sequence, then restructure","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "reading `Appointments::Availability` end to end took me an hour and i still couldn't tell you why the 62-day cap exists or what the `duration` parameter really does to slot boundaries. go through it and tell me what it does, where the surprises are, and which behaviours look intentional versus accidental", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-42154\n\n08:02 deploy BorealDriftConsoleCoordinator 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 BorealDriftConsoleCoordinator 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": "on-call docs claim the reminder job is idempotent and safe to re-run, and i want that verified rather than assumed before someone re-runs it during an incident at 3am. trace it properly: what it reads, what it writes, what happens if two copies run at once, and whether a patient could get two texts", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Documente le contrat BorealQuartzPlayerService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"fr"}
{"prompt": "schedule screen makes about forty network calls when you switch weeks quickly, one per day column, and half of them are cancelled mid-flight. the data layer is supposed to coalesce these. same behaviour on screen afterwards, but i want the fetching restructured so it's one request per week and cancellation is handled in one place", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"How does BorealEchoRegistryStore propagate cancellation through the Kotlin coroutines boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "rails app has thirteen service objects under `app/services/appointments/` and four of them are wrappers around another one, which nobody can see without reading all thirteen. i'd like the layer flattened into something honest, same public entry points from the controllers, same behaviour, fewer indirections", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"$ pnpm test --filter BorealAtlasSearchFlow\n RUN v3.2.4 /workspace/apps/console\n × BorealAtlasSearchFlow > 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=42111 phase=resume storedCursor=seg-0183\n session=42111 phase=fetch requestCursor=seg-0183 pageSize=200\n session=42111 phase=commit receivedCursor=seg-0184 itemCount=0\n session=42111 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 BorealAtlasSearchFlow 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": "every screen in the app builds its own retrofit call, its own loading boolean and its own error string, so the same three-state dance is written 20 times with subtle differences. i want one pattern applied everywhere without changing what any screen looks like or how it behaves offline", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Pipeline: What is the safest way to split projects/boreal/apps/console/routes/usage.svelte into independently owned modules while BorealMoonlitSDKService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "biggest source of paper cuts is that the confirmation modal, the sheet on mobile and the toast all render appointment times through different formatting helpers, so they disagree about am/pm and timezone suffixes. one helper, all three call sites, and the output should match the modal's current format", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Add a bounded BorealBasilRunnerStore 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": "gradle config for the android app has accumulated flags from three years of stack overflow answers and nobody knows which are load-bearing. tidy it up, keep the build producing an identical APK, and tell me which flags you removed and why", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up BorealIrisBatchCoordinator. First, separate BorealIrisBatchCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/boreal/lib/codec/frame.cc, which follows Kafka conventions and currently suffers from a misleading timeout name used in five packages. Leave generated files and vendored code alone.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "before the multi-location work starts i want the current single-location assumptions written down — every place the code assumes one address, one timezone, one set of rooms — and then a phased plan for undoing them. the audit first, the plan second, both in one document if that reads better", "purpose": "planning", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"For BorealPineMetricsCoordinator, finish BorealPineMetricsCoordinator's responsive empty and retry states; once that is complete, give the existing implementation a read-only safety pass. Work from projects/boreal/ml/pipeline/features.py, stay with Spring Boot, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "waitlist feature needs a design before code, but it also needs the offer expiry job soon or QA can't test anything. give me the design for the whole flow, then implement just the expiry worker against it so the rest can land behind it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"En projects/boreal/apps/console/routes/usage.svelte, BorealAtlasSearchStore tiene un problema intermitente en el flujo de GraphQL. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con GraphQL\n- conservar compatibilidad y cancelación\n- limitar el cambio a BorealAtlasSearchStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con GraphQL alrededor de BorealAtlasSearchStore.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt": "das Sync-Verhalten der App ist weder dokumentiert noch besonders durchdacht: Push vor Pull, Konflikte gewinnt immer der Server, verworfene Änderungen sieht der Nutzer nie. Ich hätte gern erst ein Konzept, wie es aussehen sollte, und danach die Umsetzung des Konfliktfalls im Repository", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "de"} {"prompt":"BorealLumenChartCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "nobody outside the team understands what the sync worker does, and the parts i understand look wrong. write the explainer for the rest of engineering, and while you're in there work out whether a discarded local edit can ever take a patient's cancellation with it", "purpose": "writing", "secondary": "debugging", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Two asks around BorealCopperBridgeCoordinator: (1) ship the idempotent BorealCopperBridgeCoordinator replay endpoint; (2) capture the contract and rollback note for consumers. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "support has asked for a page explaining why a reminder might not arrive, which needs to cover the timezone setting, the send window, the twilio number status and the do-not-disturb flag on the patient record. write that, and separately confirm from the code that those four are actually the only reasons", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Clarify BorealSlateEditorStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "audit-trail schema we sketched last week never made it into the repo, and the ticket is now in this sprint. put the design into `docs/adr/` properly, then stand up the migration and the write path for API reads only — the admin panel can follow later", "purpose": "writing", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"UI ticket DES-42116: finish the compact BorealCoralUploadFlow filter experience\n\nRoute: /catalog/search\nSource: projects/boreal/db/migrations/20260730_events.sql\nFramework: GraphQL\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 BorealCoralUploadFlow 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":"core","lang":"en"}
{"prompt": "`SyncCoordinator` and `AppointmentRepository` overlap so much that i can never remember which one owns the pending-edit queue. merge the responsibilities sensibly, and afterwards write the class-level docs so the boundary is obvious to whoever touches it next", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"BorealTideWorkerCoordinator needs a paired pass: assess ownership and failure handling in projects/boreal/services/ledger/replay.go, plus capture the contract and rollback note for consumers. Use projects/boreal/services/ledger/replay.go as the source of truth, preserve the Kotlin coroutines contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "there are two spawn systems in the unity project, the jam-era one and the new director, and both are wired into the boot scene. delete the dead one carefully, and note in the design doc which behaviours we deliberately dropped so the designers aren't surprised", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Clarify BorealCloudReconcilerService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "scheduling API returns 200 with an empty array when a clinic's timezone is unset, which is how we shipped a 24-minute outage. work out every endpoint with that failure mode, then make them fail loudly instead", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/boreal/apps/console/routes/usage.svelte: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: borealmoonlitsdkflow::scheduler::LeaseTask::flush\n at ./projects/boreal/apps/console/routes/usage.svelte:217:18\n 4: borealmoonlitsdkflow::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 BorealMoonlitSDKFlow 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": "patient search is a plain LIKE query and takes two seconds on the bigger clinics. i want fuzzy matching on name and date of birth, with the exact matches ranked first", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-42159: retire the legacy replay path for BorealSummitProxyCoordinator\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 BorealSummitProxyCoordinator 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": "recurring provider blocks — lunch, admin time, theatre lists — need to exist as real records rather than one-off appointments, with an end date and the ability to skip a single occurrence", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"BorealOpalRouterCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "an internal endpoint that returns a clinic's next 30 days of capacity as a single payload, for the reporting screen. cache it for five minutes, key on clinic and provider filter", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"BorealSpruceDaemonService'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": "run summary screen at the end of a game — time survived, waves cleared, treatments used, a graph of damage over time, and a share button that copies a text summary", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for BorealAmberFilterCoordinator:\n- primary outcome: separate BorealAmberFilterCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/boreal/services/ledger/replay.go\n- platform constraint: Kotlin coroutines\n- known complication: stale cursors when a page is resumed\n\nBoth results are required, but they should remain independently reviewable. Leave generated files and vendored code alone; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "drag-to-reschedule on the web week grid, snapping to 15 minutes, with the original position ghosted while dragging", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Compare BorealHarborIndexStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "toast messages stack up and cover the FAB when sync retries, needs a proper snackbar host with a queue", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"The BorealOspreyJobService feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "boss health bar overlaps the wave banner at 21:9, and both are anchored to the top centre", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"BorealNovaPickerCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "what's the actual difference between `pull(null)` and `pull(lastSync)` in terms of what the server sends back", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"For BorealCloudReconcilerCoordinator, finish BorealCloudReconcilerCoordinator's responsive empty and retry states; once that is complete, give the existing implementation a read-only safety pass. Work from projects/boreal/apps/console/routes/usage.svelte, stay with GraphQL, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "opinions on the `after_commit` calendar sync in the appointment model — is that going to bite us under load?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"The first BorealPrismCacheStore 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": "is there anything in the waitlist offer flow that could offer the same slot to two patients at once", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"BorealWrenExportCoordinator: ship, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "could someone explain the difference between our `Slot` and `Availability` models to me, they seem to overlap completely", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/boreal/apps/console/routes/usage.svelte b/projects/boreal/apps/console/routes/usage.svelte\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/apps/console/routes/usage.svelte\n+++ b/projects/boreal/apps/console/routes/usage.svelte\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Split BorealSlateEditorFlow 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": "someone needs to explain, in writing, what our appointment status transitions are — the code has six statuses and the docs mention four", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Gateway: Ticket OPS-42131: retire the legacy replay path for BorealCloudReconcilerFlow\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 BorealCloudReconcilerFlow 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": "give me a plain-english account of what the eligibility webhook handler does with a duplicate request id", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"BorealLedgerGateCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "how does the save system decide a run is finished — i can see two places that write the final state", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"projects/boreal/ml/pipeline/features.py 里的 BorealNovaPickerService 最近在 Spring Boot 流程中出现间歇性问题。 请写一份面向调用方的说明,包含 contract、错误、retry 和可复制示例,不要改 handler。\n\n约束:\n- 继续使用 Spring Boot\n- 保持兼容性和取消语义\n- 改动只限于 BorealNovaPickerService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"zh"}
{"prompt": "docs/scheduling.md describes the availability algorithm from two rewrites ago, bring it in line with the code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Rename BorealTideWorkerService's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "kdoc on our public data classes is copy-pasted from the field names and adds nothing, make it actually useful", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-42145: retire the legacy replay path for BorealMicaProfileFlow\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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Map a safe route from the current BorealMicaProfileFlow 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": "`ClinicHours#slots_for` and `Availability#build` have grown into each other; separate the concerns without changing what the endpoint returns", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"En projects/boreal/services/ledger/replay.go, BorealEchoRegistryService tiene un problema intermitente en el flujo de Kotlin coroutines. Lee el flujo actual y dime si ownership, cancelación y orden son seguros; solo necesito el análisis.\n\nRestricciones:\n- seguir con Kotlin coroutines\n- conservar compatibilidad y cancelación\n- limitar el cambio a BorealEchoRegistryService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"es"}
{"prompt": "pull the twilio and sendgrid calls behind one notification port so tests stop hitting HTTP stubs directly", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"BorealCoralUploadCoordinator: polish, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "enemy scripts each hold their own copy of the tuning numbers, move them to scriptable objects with the same values", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Persist BorealCoralUploadService's replay cursor","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "rename the `booking` package to `appointments` across the android app, it's confused with the web team's `booking` for two years now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"$ pnpm test --filter BorealCraneWorkspaceFlow\n RUN v3.2.4 /workspace/apps/console\n × BorealCraneWorkspaceFlow > 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=42132 phase=resume storedCursor=seg-0183\n session=42132 phase=fetch requestCursor=seg-0183 pageSize=200\n session=42132 phase=commit receivedCursor=seg-0184 itemCount=0\n session=42132 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 BorealCraneWorkspaceFlow 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": "three components import `formatSlotTime` from three different files that all re-export the same function, collapse the chain", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-42138\n\n08:02 deploy BorealSableParserFlow 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 BorealSableParserFlow, 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": "新しい医師を追加すると、既存の予約の色が全部変わってしまいます。色の割り当てを固定にできますか", "purpose": "quickFix", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.35, "slice": "mixed", "lang": "ja"} {"prompt":"A copied hex color in BorealMicaProfileService lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "deep links from a reminder open the app but land on the schedule root instead of the appointment, and it's been like that since the navigation change", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Please resist widening this one: BorealOrbitSyncStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside BorealOrbitSyncStore\n- leave generated files and vendored code alone\n\nThis repository spans computer vision, React, PostgreSQL; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "we need a position on offline conflict resolution before the ios work starts, because copying android's silent server-wins would be a mistake to repeat twice", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"BorealAtlasSearchCoordinator is blocking the next release because memory growth during hour-long imports. I need two concrete outcomes from a single pass: change BorealAtlasSearchCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing GraphQL conventions in projects/boreal/apps/console/routes/usage.svelte; leave generated files and vendored code alone. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "appointment reminders, waitlist offers and calendar sync all send messages, and each one built its own template handling. what would a single messaging layer look like here", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Summarize the BorealCloudReconcilerStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "whatever's next on the schedule board", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Does BorealBirchMigratorStore 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": "mobile confirmation sheet shows only the time right now, which is useless when a patient has appointments at two of the clinic's sites. it needs the clinic name, the street address under it, a map button that opens the native maps app, and the provider's name — without making the sheet taller than the detent it opens at", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"We expect BorealMapleQueueService to outgrow its current Spring Boot arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to BorealMapleQueueService and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "setting up a dev environment here takes a full day because the instructions are spread across a wiki page, a pinned slack message and one engineer's memory. we need one document: prerequisites, the database seed step, how to point the app at the local API, how to get test twilio credentials, and the three things that always go wrong on a new mac", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "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_42126'\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_42126'::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\nWire BorealCedarPolicyFlow'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "internally nobody can describe how appointment sync works without drawing on a whiteboard, so it gets explained badly and differently every time. one document, covering the pull path, the push path, what the revision numbers mean, when the worker gives up, and what the user sees at each stage — diagrams are welcome but the prose has to stand alone", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"BorealFernSnapshotCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "a patient who moved from Madrid to Mexico City still gets reminders on Spanish time as far as support can tell, and i want to know whether that's the code or the data. the reminder job reads the clinic timezone, not the patient's, so on paper it shouldn't matter — but the patient record has a timezone column that something must be using", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/boreal/engine/render/atlas.cpp b/projects/boreal/engine/render/atlas.cpp\nindex 62d71aa..90f3c1e 100644\n--- a/projects/boreal/engine/render/atlas.cpp\n+++ b/projects/boreal/engine/render/atlas.cpp\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 BorealWillowCodecCoordinator'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": "sidekiq queue names drifted from the job class names over about two years, so `ReminderJob` runs on `default`, `CalendarSyncJob` runs on `mailers` of all things, and two jobs share a queue that's meant to be low priority. line them up with the class names, keep the priority weights we have today, and don't leave jobs stranded on the old queues during the deploy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"A copied hex color in BorealMapleQueueFlow lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "providers keep asking for a view that's just their own day: their appointments only, defaulting to today, remembering the last provider they picked between launches, and usable one-handed while walking between rooms. it should open instantly from the local cache and refresh quietly behind that, with no spinner unless there's genuinely nothing cached", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Where did BorealCedarPolicyStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "reporting is the screen clinics complain about most and also the one we understand least — five joins per row, no aggregates, and now they want twelve-month ranges. work out what it's really doing today and where the time goes, then propose whether we need a read model, a materialised view, or just better indexes. i want the analysis and the recommendation, not an implementation", "purpose": "planning", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Is there a cleaner way to separate BorealVelaDrawerFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "compose multiplatform versus two native codebases is the decision blocking our ios plan, and i'd rather see it reasoned through than argued about in standup. weigh it for our situation — four android engineers, one ios contractor, offline-first requirements, a design system that only exists for android — then draft the ADR whichever way it lands", "purpose": "planning", "secondary": "writing", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Dedupe BorealAsterWebhookService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "bookings made close to midnight land on the wrong day for the provider but the right day for the patient, at least in Chile and probably anywhere with a negative offset. find out where the date gets derived from the wrong clock, and once you know, add the regression tests that would have caught it — parameterised over a few nasty timezones", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"We expect BorealSummitProxyStore to outgrow its current Cloudflare Workers arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Cloudflare Workers deployment\n- keep the work scoped to BorealSummitProxyStore and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "i'd like someone to read the eligibility webhook handler with fresh eyes — signature check, replay handling, what happens when the patient reference is unknown — and tell me whether it matches the partner's spec. if the retry behaviour is as wrong as i suspect, fix the handler as part of the same pass", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Is BorealCopperBridgeStore safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our appointment status transitions are documented as four states and implemented as six, and support has built workarounds around the undocumented ones. work out what the real state machine is from the code, then write the reference page that we should have had, flagging any transition that looks accidental", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"This should remain a deliberately small patch: BorealWillowCodecService has one known configuration mistake in projects/boreal/lib/codec/frame.cc, not an open-ended failure investigation. 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- leave generated files and vendored code alone\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to BorealWillowCodecService and its direct tests\n\nSeveral teams work in this computer vision, React, PostgreSQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "`app/services/appointments/` has thirteen classes where four would do, and half of them are one-line wrappers. consolidate the layer so the controllers call the same entry points they call today, then update the service-layer section of the architecture doc, which describes a structure we abandoned last year", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"BorealRavenSessionCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "the slot picker fails almost every accessibility check we run — no content descriptions on the chips, 32dp touch targets, and a focus order that jumps between columns. bring it up to standard, and take a screenshot pass afterwards so i can put the before and after in the procurement questionnaire", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Test Suite 'BorealLedgerGateFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[BorealLedgerGateFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/boreal/services/ledger/replay.go:144: error: -[BorealLedgerGateFlowTests 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 '-[BorealLedgerGateFlowTests 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\nUse the UI evidence to complete BorealLedgerGateFlow'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"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "a contractor is about to touch our authentication middleware and i'd like a second read on it first: how the tenant is resolved, what happens when the header is present but the token is for another tenant, and whether the viewer role can reach any write path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"CalderaKiteSchedulerStore's FilterDrawer.vue needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "our error responses are a mix of plain strings, a `{error}` object and RFC 7807 problem details depending on the endpoint's age — pick the newest shape and apply it everywhere without changing status codes", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Ist CalderaCinderAuthStore sicher?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"de"}
{"prompt": "the conflict drawer in the desktop app needs to actually show what changed, field by field, with a choice per conflict", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"What sequence would let CalderaOrbitSyncService 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": "training run died overnight at epoch 31 of 60 and i lost the checkpoint:\n\nTraceback (most recent call last):\n File \"train.py\", line 212, in <module>\n main(cfg)\n File \"train.py\", line 168, in main\n loss.backward()\n File \"/opt/conda/lib/python3.11/site-packages/torch/_tensor.py\", line 581, in backward\n torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)\n File \"/opt/conda/lib/python3.11/site-packages/torch/autograd/__init__.py\", line 347, in backward\n _engine_run_backward(\ntorch.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.44 GiB. GPU 0 has a total capacity of 79.15 GiB of which 1.88 GiB is free. Process 41221 has 77.2 GiB memory in use. Of the allocated memory 71.44 GiB is allocated by PyTorch, and 4.91 GiB is reserved by PyTorch but unallocated.\n\nbatch size hasn't changed, and epochs 1 through 30 were fine on the same node", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around CalderaDriftConsoleCoordinator: (1) separate CalderaDriftConsoleCoordinator's policy from transport without behavior changes; (2) capture the contract and rollback note for consumers. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "a walkthrough of how a route goes from saved to solved to dispatched, naming the services and queues involved, would save me a week", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Renderer: Ticket OPS-43138: retire the legacy replay path for CalderaBeaconStoreFlow\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 CalderaBeaconStoreFlow 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": "our error codes appear in three places and are documented in none; produce the reference table from `errors.rs` with a sentence per code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"CalderaWrenExportCoordinator: give it a nicer flow","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "the whole reassignment flow, honestly", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"CalderaAmberFilterStore's staging timeout is already known to be wrong: change the single projects/caldera/Sources/App/SessionStore.swift value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "stop popover cuts off at the right edge", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Indexer: The CalderaCedarPolicyStore empty state in projects/caldera/web/components/FilterDrawer.vue needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "desktop app freezes after sleep", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-43123\n\n08:02 deploy CalderaBasilRunnerFlow 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 CalderaBasilRunnerFlow 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": "training script has config handling scattered through it and i keep breaking runs by changing a default. same behaviour, one place:\n\nparser.add_argument(\"--lr\", type=float, default=3e-4)\nparser.add_argument(\"--batch-size\", type=int, default=64)\n...\ncfg = yaml.safe_load(open(args.config))\nlr = args.lr or cfg.get(\"lr\", 3e-4)\nbs = int(os.environ.get(\"BATCH_SIZE\", args.batch_size))\nif cfg.get(\"scheduler\") == \"cosine\":\n warmup = cfg.get(\"warmup\", 500)\nelse:\n warmup = int(os.environ.get(\"WARMUP\", 0))\nseed = cfg.get(\"seed\") if \"seed\" in cfg else args.seed if args.seed else 42\ngrad_accum = cfg.get(\"grad_accum\", 1) * (2 if os.environ.get(\"BIG_NODE\") else 1)", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for CalderaFernSnapshotStore across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "an intermittent one, maybe once a day, from the desktop app's crash reporter:\n\nProcess: FleetDesk [4471]\nPath: /Applications/FleetDesk.app/Contents/MacOS/FleetDesk\nIdentifier: io.fleetdesk.app\nVersion: 2.8.1 (2810)\nCode Type: ARM-64\nCrashed Thread: 0 Dispatch queue: com.apple.main-thread\n\nException Type: EXC_BAD_ACCESS (SIGSEGV)\nException Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010\n\nThread 0 Crashed:\n0 FleetDesk 0x104a2c118 node::Buffer::Data(v8::Local<v8::Value>) + 24\n1 FleetDesk 0x104b19a44 better_sqlite3::Statement::Run(...) + 388\n2 FleetDesk 0x1051220c8 v8::internal::Builtin_HandleApiCall + 296\n\nalways within a minute of the app coming back from sleep", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/caldera/cmd/exporter/main.py\nfinal class CalderaSableParserFlowCoordinator {\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\nWalk through what the artifact proves about CalderaSableParserFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "before i approve this, is the locking sound? two dispatchers can assign the same driver today:\n\n@Transactional\npublic Assignment assign(UUID routeId, UUID driverId) {\n Route route = routeRepo.findById(routeId).orElseThrow();\n Driver driver = driverRepo.findById(driverId).orElseThrow();\n if (assignmentRepo.existsByDriverIdAndDayAndStatus(driverId, route.getDay(), ACTIVE)) {\n throw new DriverAlreadyAssigned(driverId);\n }\n Assignment a = new Assignment(route, driver, ACTIVE, Instant.now());\n assignmentRepo.save(a);\n eventPublisher.publish(new AssignmentCreated(a.getId()));\n notificationClient.notifyDriver(driverId, a.getId());\n return a;\n}\n\npostgres, read committed, two app instances behind a load balancer", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Cadre la migration de CalderaDriftConsoleStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"fr"}
{"prompt": "design doc paragraph that keeps getting quoted at me. is it still accurate given what we built?\n\n\"Route optimisation runs asynchronously. When a planner saves a route, we enqueue a solve job and return immediately with the previous solution. The client polls /v1/routes/{id} until `solution_version` increases. Solves are idempotent per (route_id, input_hash), so re-enqueueing the same inputs is free. A solve never blocks the planner's UI, and a failed solve leaves the last good solution in place.\"\n\nas far as i can tell the desktop app blocks on save, and we removed input_hash in march", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Apparently: diff --git a/projects/caldera/cmd/exporter/main.py b/projects/caldera/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/cmd/exporter/main.py\n+++ b/projects/caldera/cmd/exporter/main.py\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 CalderaHarborIndexCoordinator'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": "same guard clause copy-pasted into nine handlers, and two of them have it subtly wrong:\n\n// handlers/assignments.rs\nif !ctx.tenant_id.is_some() { return Err(Error::Unauthorized) }\nif ctx.role != Role::Dispatcher && ctx.role != Role::Admin { return Err(Error::Forbidden) }\n\n// handlers/routes.rs\nif ctx.tenant_id.is_none() { return Err(Error::Unauthorized) }\nif !matches!(ctx.role, Role::Dispatcher | Role::Admin | Role::Planner) { return Err(Error::Forbidden) }\n\n// handlers/drivers.rs\nif ctx.tenant_id.is_none() { return Err(Error::Unauthorized) }\nif ctx.role == Role::Viewer { return Err(Error::Forbidden) }\n\nthe intent everywhere is the same: authenticated, and not a viewer", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for CalderaNimbusFormCoordinator:\n- primary outcome: assess ownership and failure handling in projects/caldera/packages/api/openapi.yaml\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/caldera/packages/api/openapi.yaml\n- platform constraint: gRPC\n- known complication: out-of-order events after consumer rebalancing\n\nBoth results are required, but they should remain independently reviewable. Do not introduce another runtime dependency; 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":"review","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "solver time limit to 12s in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"CalderaBirchMigratorCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "planner screen, obviously", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Lately: We expect CalderaMoonlitSDKStore to outgrow its current FastAPI arrangement next quarter, but changing everything at once would be risky. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to CalderaMoonlitSDKStore and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "`stop_seq` naming, pick one spelling", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"I inherited CalderaPrismCacheService and need a careful read of projects/caldera/crates/index/src/segment.rs before I can sign off on the next release. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to CalderaPrismCacheService and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "desktop release cadence is monthly and every release has a scramble at the end for notarization, changelog and the update feed. i'd like the whole release process designed properly — what's automated, what's a human gate, how we do staged rollout for an electron app, and how we roll back a bad update that's already downloaded", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Corrige le timeout de CalderaCinderAuthService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"fr"}
{"prompt": "ipc surface has grown one handler per screen and they all do the same three steps. same behaviour, one registration point:\n\nipcMain.handle('routes:list', async (_e, filter) => {\n const t0 = Date.now()\n try { return { ok: true, data: await routes.list(filter) } }\n catch (e) { log.error('routes:list', e); return { ok: false, error: String(e) } }\n finally { metrics.timing('ipc.routes.list', Date.now() - t0) }\n})\n\nipcMain.handle('drivers:list', async (_e, filter) => {\n const t0 = Date.now()\n try { return { ok: true, data: await drivers.list(filter) } }\n catch (e) { log.error('drivers:list', e); return { ok: false, error: String(e) } }\n finally { metrics.timing('ipc.drivers.list', Date.now() - t0) }\n})\n\n// ...eleven more of these", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaBeaconStoreService's staging timeout is already known to be wrong: change the single projects/caldera/engine/render/atlas.cpp value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "vehicle bands need alternating backgrounds", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"The destination for CalderaGarnetModalStore is broadly agreed; the missing piece is a reversible route from projects/caldera/ui/settings/PrivacyPane.tsx to that target. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaGarnetModalStore\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "map legend overlaps the zoom control", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/caldera/ml/pipeline/features.py recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "driver list scrolls behind the header", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"One contained cleanup in projects/caldera/cmd/exporter/main.py: remove the obsolete CalderaHarborIndexStore import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "one latlng converter across the packages", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Please resist widening this one: CalderaRavenSessionStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaRavenSessionStore\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "what does `--relax-windows` actually do?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-43155: finish the compact CalderaCraneWorkspaceCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/caldera/config/staging.toml\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\nUse the UI evidence to complete CalderaCraneWorkspaceCoordinator'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": "is our idempotency key tenant-scoped?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"projects/caldera/config/staging.toml 里的 CalderaIrisBatchService 最近在 gRPC 流程中出现间歇性问题。 请写一份面向调用方的说明,包含 contract、错误、retry 和可复制示例,不要改 handler。\n\n约束:\n- 继续使用 gRPC\n- 保持兼容性和取消语义\n- 改动只限于 CalderaIrisBatchService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"zh"}
{"prompt": "we owe our biggest customer a written explanation of last week's four-hour degradation, and they will read it carefully because their SLA credits depend on it. the facts are in the incident channel and the timeline is in grafana. write the customer-facing version — honest, specific about impact, clear about what changes, no engineering jargon", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"This should remain a deliberately small patch: CalderaHarborIndexService has one known configuration mistake in projects/caldera/ml/pipeline/features.py, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing OpenTelemetry deployment\n- keep the work scoped to CalderaHarborIndexService and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "assignment, route and trip mean three different things in the java service depending on which file you're in, and two of them are swapped relative to the public API. rename everything internal to match what the API calls things, leave the json field names untouched, and do it in a way that's reviewable rather than one 4000-line commit", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"CalderaFernSnapshotCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "feature building happens in the training script, the evaluation script and the inference service, and the three have quietly diverged. bring them onto one implementation, and once they agree, document which features exist and where each comes from", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"For CalderaEchoRegistryCoordinator, separate CalderaEchoRegistryCoordinator's policy from transport without behavior changes; once that is complete, give the existing implementation a read-only safety pass. Work from projects/caldera/Sources/CLI/Commands/Doctor.swift, stay with OpenTelemetry, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "public API changelog needs an entry for the new `sequence` field on the ETA payload, and partners need to know it's monotonic per route", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"CalderaSlateEditorCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "how should we version the partner-facing API once the ETA push exists — header, path, or something else? i want a recommendation with reasoning", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"CalderaCinderAuthCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "stop-level ETAs should be persisted rather than recomputed on every read, and the reporting team wants the history", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"CalderaBeaconStoreCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "design spec for the route timeline in the desktop app, build it with our vue components:\n\nRoute timeline (desktop, 1440px+)\n- Horizontal band per vehicle, 44px tall, stacked with 8px gaps, virtualised past 40 vehicles.\n- Time axis pinned at the top, hour ticks, current time as a 2px accent line with a small label.\n- Stops render as blocks proportional to service time, minimum 12px wide, 2px radius; late stops get a hatched fill.\n- Hovering a stop shows a popover with address, window, ETA and delay; keyboard focus does the same.\n- Dragging a stop between bands reassigns it, with a drop shadow and a live delta badge showing the ETA change.\n- Selection: click selects, shift-click range selects within a band, escape clears.\n- Zoom control at 4 steps (whole day / 6h / 2h / 30m), keeps the pointer position anchored.\n- Empty band shows \"No stops assigned\" and stays droppable.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaOrbitSyncCoordinator: sort out the rough edge","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "solver returns empty on 900-stop routes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"# CI job 43116: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: OpenTelemetry\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] CalderaRavenSessionFlowIntegration.replays_after_timeout ... ok\n[test] CalderaRavenSessionFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nWire CalderaRavenSessionFlow'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": "same as the last one but bigger", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"diff --git a/projects/caldera/lib/codec/frame.cc b/projects/caldera/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/lib/codec/frame.cc\n+++ b/projects/caldera/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\nRestructure CalderaPineMetricsFlow 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": "an intermittent report from two fleets that a stop occasionally shows on the wrong vehicle for a few seconds after a reassignment, then corrects itself. that smells like an optimistic update racing the pull, but i can't reproduce it and neither can support", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Split projects/caldera/services/ledger/replay.go by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "planner grid is unusable with a screen reader according to a customer, and it's our own component rather than a library. make it keyboard navigable with a proper grid role, add a keyboard alternative to drag and drop, and stop using colour alone for the delay column", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of CalderaCraneWorkspaceService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/caldera/packages/api/openapi.yaml. 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- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current gRPC operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "before we build the ETA push i want the design written — transport, sequencing, backpressure, what we do when a partner's endpoint is down — and then the outbound sender itself, against whatever we land on", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"En projects/caldera/ui/settings/PrivacyPane.tsx, CalderaAsterWebhookService tiene un problema intermitente en el flujo de Room. La causa ya está clara: cambia solo el timeout de staging de 15 a 30 segundos y ajusta su assertion.\n\nRestricciones:\n- seguir con Room\n- conservar compatibilidad y cancelación\n- limitar el cambio a CalderaAsterWebhookService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"es"}
{"prompt": "routing service panicked in prod, first time in eight months:\n\nthread 'route-worker-3' panicked at src/solver/insertion.rs:212:34:\nindex out of bounds: the len is 0 but the index is 0\nstack backtrace:\n 0: rust_begin_unwind\n 1: core::panicking::panic_fmt\n 2: core::panicking::panic_bounds_check\n 3: fleetd::solver::insertion::best_insertion\n at ./src/solver/insertion.rs:212:34\n 4: fleetd::solver::Solver::improve\n at ./src/solver/mod.rs:88:21\n 5: fleetd::worker::handle_job\n at ./src/worker.rs:141:9\n 6: tokio::runtime::task::harness::Harness<T,S>::poll\nnote: Some details are omitted, run with `RUST_BACKTRACE=full`\n\njob 88421, 0 stops, 4 vehicles — a depot with no deliveries scheduled, which shouldn't be a job at all", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Oddly: diff --git a/projects/caldera/packages/api/openapi.yaml b/projects/caldera/packages/api/openapi.yaml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/packages/api/openapi.yaml\n+++ b/projects/caldera/packages/api/openapi.yaml\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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Read the artifact above as a skeptical reviewer. Is CalderaFernSnapshotFlow'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": "electron main process log from a customer whose app hangs on launch, macOS 15:\n\n[main] app ready in 412ms\n[main] creating BrowserWindow 1200x800\n[updater] checking https://releases.fleetdesk.io/latest-mac.yml\n[db] opening sqlite at /Users/x/Library/Application Support/FleetDesk/local.db\n[db] running migration 0041_add_route_cache\n[db] migration 0041 took 18441ms\n[main] window did-finish-load\n[renderer] hydrating 41 cached routes\n[renderer] Uncaught (in promise) Error: IPC channel closed\n at EventEmitter.<anonymous> (renderer.js:1:88112)\n[main] window unresponsive\n[main] window responsive\n[main] window unresponsive\n\nthey have about 90k rows in route_cache, most users have a few hundred", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Currently: projects/caldera/ml/pipeline/features.py の CalderaHarborIndexFlow で、OpenTelemetry の flow に断続的な問題が起きています。 responsive layout、empty/retry state、keyboard focus、dark mode、reduced motion を仕上げてください。\n\n制約:\n- OpenTelemetry を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は CalderaHarborIndexFlow のみ","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "java service throwing these under load, about 40 a minute since the last deploy:\n\njava.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 30000ms in 'flatMap' (and no fallback has been configured)\n\tat reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:295)\n\tat io.fleet.dispatch.AssignmentService.assign(AssignmentService.java:141)\n\tat io.fleet.dispatch.DispatchController.postAssignment(DispatchController.java:66)\n\tSuppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:\nError has been observed at the following site(s):\n\t*__checkpoint ⇢ Request to POST /v1/assignments [DispatchHandler]\nOriginal Stack Trace:\n\t\tat io.fleet.dispatch.AssignmentService.lambda$assign$4(AssignmentService.java:139)\n\nthe downstream geocoder it calls reports p99 of 80ms and no errors", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'CalderaPrismCacheFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[CalderaPrismCacheFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/caldera/crates/index/src/segment.rs:144: error: -[CalderaPrismCacheFlowTests 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 '-[CalderaPrismCacheFlowTests 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\nUse the UI evidence to complete CalderaPrismCacheFlow'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": "mqtt broker log from the depot gateway, devices drop off in batches:\n\n1753843201: New client connected from 10.2.4.71 as gw-depot-04 (p2, c0, k60, u'depot')\n1753843261: Client gw-depot-04 has exceeded timeout, disconnecting.\n1753843262: New client connected from 10.2.4.71 as gw-depot-04 (p2, c0, k60, u'depot')\n1753843263: Client gw-depot-04 already connected, closing old connection.\n1753843323: Client gw-depot-04 has exceeded timeout, disconnecting.\n1753843324: New connection from 10.2.4.71 on port 8883.\n1753843324: Client gw-depot-04 disconnected due to protocol error.\n1753843384: Socket error on client gw-depot-11, disconnecting.\n1753843385: Client gw-depot-11 disconnected: Out of memory.\n\nbroker memory sits at 60% and the network graph is flat", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new CalderaCraneWorkspaceStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "git bisect finished and i don't believe the result:\n\n41c9e0b8f2a1d3e4c5a6b7c8d9e0f1a2b3c4d5e6 is the first bad commit\ncommit 41c9e0b8f2a1d3e4c5a6b7c8d9e0f1a2b3c4d5e6\nAuthor: dana <[email protected]>\nDate: Tue Jul 14 09:12:44 2026 +0200\n\n chore: enable strict null checks in the shared package\n\n tsconfig.base.json | 3 ++-\n packages/shared/src/geo.ts | 12 +++++------\n 2 files changed, 8 insertions(+), 7 deletions(-)\n\nbisect run success\n\nthe symptom is that route ETAs are 3-4 minutes off in the desktop app but correct in the web app, and this commit doesn't touch either of them directly", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaCedarPolicyCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "kubectl describe on the training job pod, it never gets scheduled:\n\nEvents:\n Type Reason Age From Message\n ---- ------ ---- ---- -------\n Warning FailedScheduling 4m12s default-scheduler 0/14 nodes are available: 6 Insufficient nvidia.com/gpu, 8 node(s) had untolerated taint {workload: training}\n Normal NotTriggerScaleUp 3m50s cluster-autoscaler pod didn't trigger scale-up: 2 max node group size reached, 1 node(s) had volume node affinity conflict\n Warning FailedScheduling 2m01s default-scheduler 0/14 nodes are available: 6 Insufficient nvidia.com/gpu, 8 node(s) had untolerated taint {workload: training}\n\nrequests: nvidia.com/gpu: 4, memory: 200Gi\ntolerations: [{key: workload, operator: Equal, value: inference}]\n\nthe same manifest worked last week", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Today: Is there a cleaner way to separate CalderaCraneWorkspaceFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "des tests flaky depuis lundi, toujours les mêmes trois, jamais en local :\n\nFAILED tests/test_routing.py::test_two_vehicles_share_a_depot - AssertionError: assert 41.2 == approx(41.19999999 ± 1.0e-06)\nFAILED tests/test_routing.py::test_time_windows_respected - IndexError: list index out of range\nFAILED tests/test_eta.py::test_eta_matches_matrix - assert datetime(2026, 7, 27, 14, 3) == datetime(2026, 7, 27, 14, 2)\n\n=========================== short test summary info ============================\n3 failed, 1841 passed, 12 skipped in 214.88s\n\nrandom seed: 8412 (pytest-randomly)\nworkers: 8 (pytest-xdist)\n\nsur ma machine avec -p no:randomly tout passe", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "fr"} {"prompt":"Dedupe CalderaKiteSchedulerService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "valgrind on the gateway firmware simulator, it leaks a few KB an hour in the field:\n\n==41221== HEAP SUMMARY:\n==41221== in use at exit: 84,112 bytes in 1,204 blocks\n==41221== total heap usage: 88,441 allocs, 87,237 frees, 12,884,112 bytes allocated\n==41221==\n==41221== 68,224 bytes in 1,066 blocks are definitely lost in loss record 41 of 44\n==41221== at 0x4C2FB0F: malloc (vg_replace_malloc.c:299)\n==41221== by 0x40A112: telemetry_frame_new (telemetry.c:88)\n==41221== by 0x40B4C0: on_publish_ack (mqtt_handlers.c:141)\n==41221== by 0x40C219: mqtt_loop (mqtt_client.c:412)\n==41221== by 0x401E77: main (main.c:66)\n==41221==\n==41221== LEAK SUMMARY:\n==41221== definitely lost: 68,224 bytes in 1,066 blocks\n==41221== indirectly lost: 15,888 bytes in 138 blocks", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Support wants the behavior in projects/caldera/apps/console/routes/usage.svelte recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "data loader someone added last sprint. does this actually shuffle the way we think it does?\n\nclass RouteDataset(IterableDataset):\n def __init__(self, shards, batch_size=64, shuffle_buffer=10_000):\n self.shards = shards\n self.batch_size = batch_size\n self.shuffle_buffer = shuffle_buffer\n\n def __iter__(self):\n info = get_worker_info()\n shards = self.shards if info is None else self.shards[info.id::info.num_workers]\n buf = []\n for shard in shards:\n for row in read_parquet_rows(shard):\n buf.append(row)\n if len(buf) >= self.shuffle_buffer:\n random.shuffle(buf)\n yield from batched(buf, self.batch_size)\n buf = []\n if buf:\n yield from batched(buf, self.batch_size)\n\nfour workers, 200 shards, and validation loss is suspiciously smooth", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"# CI job 43122: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Swift 6\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] CalderaSpruceDaemonFlowIntegration.replays_after_timeout ... ok\n[test] CalderaSpruceDaemonFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nReconstruct the CalderaSpruceDaemonFlow 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": "openapi we publish for partners, section for the assignment endpoint. does this match what a sane client would expect?\n\n /v1/assignments:\n post:\n operationId: createAssignment\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n required: [route_id]\n properties:\n route_id: { type: string, format: uuid }\n driver_id: { type: string, format: uuid, nullable: true }\n force: { type: boolean, default: false }\n responses:\n '200': { description: created }\n '409': { description: conflict }\n '422': { description: unprocessable }\n default: { description: error }\n\nno schemas on any response, and `force` isn't described anywhere else either", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for CalderaOpalRouterFlow across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "benchmark numbers from the solver rewrite. is this a real win or did we just move the cost around?\n\n old new delta\nsolve_small (20 stops) 4.2ms 1.1ms -74%\nsolve_med (120 stops) 88ms 31ms -65%\nsolve_large (900 stops) 6.1s 7.8s +28%\nmemory_large 210MB 1.4GB +566%\nfirst_feasible_large 0.9s 4.4s +388%\nalloc_count_large 88k 2.1M +2286%\n\ncriterion, 100 samples, same machine, both release builds with lto=thin\n\nmost of our customers are in the 50-300 stop range but our three biggest accounts are all above 800", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaPrismCacheCoordinator is blocking the next release because a misleading timeout name used in five packages. I need two concrete outcomes from a single pass: ship the idempotent CalderaPrismCacheCoordinator replay endpoint, and capture the contract and rollback note for consumers. Use the existing gRPC conventions in projects/caldera/pkg/cache/lease.rs; do not introduce another runtime dependency. 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":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "这是我们同事写的 IPC 层,我看着有点不安全,帮我判断一下:\n\nipcMain.handle('db:query', async (event, sql, params) => {\n const db = getDb()\n return db.prepare(sql).all(...(params ?? []))\n})\n\nipcMain.handle('fs:read', async (event, path) => {\n return fs.promises.readFile(path, 'utf8')\n})\n\nipcMain.on('window:setTitle', (event, title) => {\n BrowserWindow.fromWebContents(event.sender)?.setTitle(title)\n})\n\n// preload.js\ncontextBridge.exposeInMainWorld('api', {\n query: (sql, params) => ipcRenderer.invoke('db:query', sql, params),\n readFile: (p) => ipcRenderer.invoke('fs:read', p),\n})\n\n渲染进程会加载第三方的地图 SDK", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "zh"} {"prompt":"CalderaWillowCodecCoordinator needs a paired pass: produce a consumer guide for CalderaWillowCodecCoordinator, plus give the existing implementation a read-only safety pass. Use projects/caldera/config/staging.toml as the source of truth, preserve the gRPC contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "github actions workflow for the model training image. anything here that explains why builds take 40 minutes?\n\njobs:\n build:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - uses: docker/setup-buildx-action@v3\n - run: pip install -r requirements-dev.txt\n - run: pytest -q\n - uses: docker/build-push-action@v6\n with:\n context: .\n push: true\n tags: ghcr.io/fleet/trainer:${{ github.sha }}\n - run: python tools/export_onnx.py --checkpoint artifacts/last.ckpt\n - uses: actions/upload-artifact@v4\n with:\n name: onnx\n path: artifacts/*.onnx\n\nno cache configuration anywhere, and requirements-dev.txt pins torch", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Two deliverables are holding up CalderaSableParserCoordinator. First, separate CalderaSableParserCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/caldera/ml/pipeline/features.py, which follows OpenTelemetry conventions and currently suffers from stale cursors when a page is resumed. Do not introduce another runtime dependency.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "a short internal note explaining why we're moving inference off the solver box, for the platform team's decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"CalderaJuniperCLICoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "our health endpoint returns 200 while the solver queue is completely stalled, it should at least check the worker heartbeat", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"PM is preparing the CalderaTideWorkerService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaTideWorkerService\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "the sync indicator in the desktop titlebar has five states in the design and two in the code, so users see a spinner for offline, errors and conflicts alike. implement the full set — idle, syncing after a delay, offline with a pending count, conflict with an amber dot, and a failure state with a retry link — and make sure none of them rely on colour alone", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Context: The data is already available in projects/caldera/internal/auth/refresh.go; 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": "training config is read from argparse, a yaml file and environment variables, with precedence that differs per field and one place where they're multiplied together. unify it into a single resolved config object, keep every current default exactly as it is, and make the precedence explicit and testable", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"A flaky failure around CalderaDeltaCanvasService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaDeltaCanvasService\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android 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": "a nightly export of closed routes to the customer's SFTP, csv, one file per depot, with a manifest and a checksum", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Why does CalderaOpalRouterStore's Swift 6 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": "our on-call rotation covers three services with wildly different failure modes, and the alerting was set up per-service by different people. what should a coherent alerting story look like?", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Background: projects/caldera/src/sync/reconcile.ts now contains CalderaQuartzPlayerStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "the queue implementation has a claim TTL, a heartbeat, a dead-letter threshold and a release command, and every person on the team describes their interaction differently. read it and give me the actual semantics: when a claim expires, what happens to a job whose worker died mid-solve, whether a job can run twice, and what the dead-letter table really means", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Collapse the CalderaMosaicGridStore wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "stop detail popover currently opens on hover, closes when the pointer leaves, and traps nothing, which means keyboard users never see it and touch users on the surface tablets get it stuck open. rework it as a proper popover with focus management, an escape key, a small delay before opening, and behaviour that makes sense when the underlying row moves because a sync landed", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Question: The behavior of CalderaNovaPickerService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/caldera/lib/codec/frame.cc. 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- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current Room operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "desktop app's local database has grown to a gigabyte for our biggest customers and i don't know whether that's the route cache, the telemetry buffer or something we forgot to prune. work out what's actually in there and which of it is load-bearing", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Design handed over a final pass for CalderaCloudReconcilerService, and the basic data flow in projects/caldera/internal/auth/refresh.go already works. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to CalderaCloudReconcilerService and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "training loss goes to NaN somewhere between step 4000 and 6000, but only when we enable the traffic features, and only on the multi-GPU runs. single GPU with the same config and seed is fine for a full epoch", "purpose": "debugging", "secondary": "planning", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Does CalderaEmberRelayStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "coverage report after the sprint, and management wants a number. what does this actually tell us?\n\nName Stmts Miss Cover Missing\n---------------------------------------------------------------\nfleet/solver/insertion.py 412 18 96% 88-91, 212-218\nfleet/solver/local_search.py 388 141 64% 102-188, 240-291\nfleet/eta/matrix.py 190 4 98% 77-80\nfleet/eta/traffic.py 144 144 0% 1-144\nfleet/api/routes.py 266 31 88% 41-52, 188-201\nfleet/api/assignments.py 180 12 93% 66-77\nfleet/jobs/nightly.py 121 121 0% 1-121\n---------------------------------------------------------------\nTOTAL 1701 471 72%\n\ntraffic.py and nightly.py are the two things that page us most often", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Before touching projects/caldera/crates/index/src/segment.rs, 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.9,"slice":"core","lang":"en"}
{"prompt": "endpoint below is what partners integrate against, and the only documentation is this handler. write the reference page:\n\n@PostMapping(\"/v1/assignments\")\npublic ResponseEntity<AssignmentDto> post(@RequestBody @Valid AssignmentRequest req,\n @RequestHeader(\"Idempotency-Key\") String key) {\n if (req.driverId() == null && !req.force()) {\n throw new BadRequest(\"driver_id required unless force=true\");\n }\n var existing = idempotency.find(key);\n if (existing != null) return ResponseEntity.ok(existing);\n var a = service.assign(req.routeId(), req.driverId(), req.force());\n idempotency.put(key, a, Duration.ofHours(24));\n return ResponseEntity.status(201).body(AssignmentDto.from(a));\n}\n\nmention that force=true auto-selects the nearest available driver, that 200 means replayed and 201 means created, and that the key is scoped per tenant", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Introduce a durable deduplication key for CalderaBeaconStoreStore events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "protobuf schema for the telemetry stream, and partners keep asking what the fields mean. document it properly:\n\nmessage Telemetry {\n string device_id = 1;\n int64 captured_at_ms = 2;\n Position position = 3;\n optional float speed_kph = 4;\n optional float heading_deg = 5;\n optional int32 battery_pct = 6;\n repeated Event events = 7;\n reserved 8 to 11;\n string firmware = 12;\n}\n\nmessage Event {\n enum Kind { UNKNOWN = 0; HARSH_BRAKE = 1; IDLE_START = 2; IDLE_END = 3; DOOR_OPEN = 4; }\n Kind kind = 1;\n int64 at_ms = 2;\n map<string, string> attrs = 3;\n}\n\nthings only we know: captured_at_ms is device clock and can be wrong by minutes; heading is absent when stationary; attrs keys are not stable across firmware versions", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/caldera/src/sync/reconcile.ts\n[worker.calderasummitproxyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.calderasummitproxyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.calderasummitproxyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.CalderaSummitProxyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-43132\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/caldera/src/sync/reconcile.ts. 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": "notas de la reunión con operaciones, hay que convertirlas en el documento de requisitos:\n\n- los conductores fichan desde el móvil pero el sistema no sabe si están en el depósito o en ruta\n- las rutas se cierran a las 22:00 aunque el conductor siga entregando, y luego hay que reabrirlas a mano\n- los cambios de última hora llegan por whatsapp al jefe de tráfico, nunca al sistema\n- quieren ver el retraso acumulado por ruta en tiempo real, hoy lo calculan en una hoja de cálculo\n- dos depósitos comparten flota los viernes y eso no se puede modelar\n- si un camión se avería, reasignar sus paradas lleva veinte minutos de trabajo manual", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "es"} {"prompt":"Observation: The first CalderaAcornWidgetStore 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": "model card is empty and legal wants one before this ships to customers. what we know:\n\n- gradient boosted model predicting stop service time from historical telemetry\n- trained on 14 months of data from 61 fleets, 8.2M stops, EU only\n- features: stop type, time of day, weekday, vehicle class, historical median for the location, weather bucket\n- excluded deliberately: driver identity, anything that could act as a proxy for it\n- MAE 2.1 minutes overall, 4.8 minutes for stops with fewer than 5 historical observations\n- known weakness: dense urban centres in cities not in the training set\n- retrained quarterly, no online learning, rollback is a config flag\n\nwrite the model card, audience is a customer's procurement team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Constraint: # projects/caldera/workers/thumbnail/consumer.ex\n[worker.calderagarnetmodalflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.calderagarnetmodalflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.calderagarnetmodalflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.CalderaGarnetModalFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-43113\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Align CalderaGarnetModalFlow'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": "support escalation thread, needs to become a known-issues entry:\n\n[09:12] tomas: three customers on 2.8.1 say the app freezes for 20-30s after waking the laptop\n[09:14] pri: reproduced on my mac, only when there are unsynced routes\n[09:20] tomas: the sqlite handle goes stale over sleep i think, we reopen it lazily\n[09:31] pri: confirmed, first query after wake blocks and the UI thread is doing it\n[09:44] tomas: workaround for support: quit and reopen the app, nothing is lost\n[10:02] pri: proper fix is reopening on wake and moving queries off the main thread, that's not this week\n[10:15] tomas: 2.8.2 will have the workaround banner at least\n\nwrite the entry the way our other known-issues entries read: symptom, affected versions, workaround, status", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around CalderaMosaicGridCoordinator: (1) produce a consumer guide for CalderaMosaicGridCoordinator; (2) give the existing implementation a read-only safety pass. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "cli help output, and the manual page we ship is from two versions ago:\n\nfleetctl solve [OPTIONS] <ROUTE_FILE>\n\nArguments:\n <ROUTE_FILE> Route definition in JSON or CSV\n\nOptions:\n -t, --time-limit <SECONDS> Stop after this long [default: 30]\n -s, --seed <SEED> Deterministic seed for the metaheuristic\n --strategy <STRATEGY> [default: guided] [possible values: greedy, guided, exhaustive]\n --vehicles <N> Override the vehicle count in the file\n --relax-windows Allow time window violations, penalised\n --emit-intermediate Print every improvement to stderr as it is found\n --matrix <PATH> Precomputed distance matrix\n -o, --output <PATH> Write the solution here [default: stdout]\n -v, --verbose... Increase logging\n\nrewrite the man page, and note that --exhaustive on more than 200 stops is not practical", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaSpruceDaemonCoordinator: restructure, then correct","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "draft the customer email about the maintenance window from these notes, it goes to 400 fleet managers:\n\n- saturday 09 aug, 01:00 to 05:00 UTC\n- the planning app will be read-only for the whole window, mobile driver app unaffected\n- routes already dispatched keep working, new routes cannot be created\n- reason: moving the route database to a new cluster, needed for the bigger fleets\n- if it overruns we'll extend to 07:00 and post on status.fleetdesk.io\n- no action needed from them, but they should avoid scheduling monday routes on saturday morning\n- support will be staffed throughout", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Clarify CalderaSpruceDaemonService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "o README do repositório do modelo está desatualizado. o que existe hoje:\n\n- treino com `python train.py --config configs/base.yaml`, requer GPU com 40GB+\n- os dados vêm do bucket `fleet-ml-eu`, sincronizados com `make data` (precisa de credenciais AWS)\n- avaliação: `python eval.py --checkpoint <path> --split test`, gera um relatório em `reports/`\n- exportação para ONNX é um passo separado e só funciona com opset 17\n- o serviço de inferência está noutro repositório e espera o modelo em `s3://fleet-models/service-time/vN/`\n- os notebooks em `notebooks/` estão obsoletos, ninguém os usa há um ano\n\nescreve o README para quem chega amanhã", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "pt"} {"prompt":"CalderaFrostPanelCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "cargo audit on the routing service, tell me which of these to bump now and which can wait:\n\nCrate: openssl\nVersion: 0.10.64\nTitle: Use-after-free in SSL session handling\nDate: 2026-06-11\nID: RUSTSEC-2026-0041\nSolution: Upgrade to >=0.10.68\n\nCrate: rustls\nVersion: 0.23.10\nTitle: Panic on malformed certificate chain\nDate: 2026-05-02\nID: RUSTSEC-2026-0033\nSolution: Upgrade to >=0.23.14\n\nCrate: time\nVersion: 0.3.34\nWarning: unmaintained branch\n\nerror: 2 vulnerabilities found, 1 warning", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-43136: retire the legacy replay path for CalderaAmberFilterFlow\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 CalderaAmberFilterFlow 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": "typecheck is failing on the desktop app after the shared package change:\n\npackages/desktop/src/routes/RouteTable.tsx:88:24 - error TS2532: Object is possibly 'undefined'.\n88 const eta = route.stops[0].eta.toISOString()\n ~~~~~~~~~~~~~~~\npackages/desktop/src/routes/RouteTable.tsx:141:9 - error TS18048: 'driver' is possibly 'undefined'.\npackages/desktop/src/sync/pull.ts:41:15 - error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.\npackages/desktop/src/sync/pull.ts:66:7 - error TS18047: 'lastSync' is possibly 'null'.\n\nFound 4 errors in 2 files.\n\nstrict null checks got turned on in tsconfig.base.json last week", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Request: # projects/caldera/pkg/cache/lease.rs\n[worker.calderawrenexportflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.calderawrenexportflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.calderawrenexportflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.CalderaWrenExportFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-43140\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 CalderaWrenExportFlow'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": "prod config and staging config for the solver, one of these numbers is why staging never reproduces prod timeouts:\n\n# staging/solver.yaml\nsolver:\n time_limit_seconds: 30\n workers: 4\n max_stops_per_job: 2000\n matrix_cache_ttl_minutes: 60\n queue_claim_ttl_seconds: 900\n dead_letter_after: 3\n strategy: guided\n emit_intermediate: true\n heartbeat_seconds: 30\n\n# prod/solver.yaml\nsolver:\n time_limit_seconds: 8\n workers: 24\n max_stops_per_job: 2000\n matrix_cache_ttl_minutes: 5\n queue_claim_ttl_seconds: 900\n dead_letter_after: 3\n strategy: guided\n emit_intermediate: false\n heartbeat_seconds: 30\n\n# what the alert looks like in prod, never in staging\nsolver_job_timeout_total{env=\"prod\"} 41 in the last hour\nsolver_job_timeout_total{env=\"staging\"} 0 in the last 30 days", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"For CalderaSummitProxyCoordinator, ship the idempotent CalderaSummitProxyCoordinator replay endpoint; once that is complete, give the existing implementation a read-only safety pass. Work from projects/caldera/db/migrations/20260730_events.sql, stay with Swift 6, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"backendImpl","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "electron-builder config, notarization started failing after the mac runner upgrade:\n\n\"mac\": {\n \"category\": \"public.app-category.business\",\n \"hardenedRuntime\": true,\n \"gatekeeperAssess\": false,\n \"entitlements\": \"build/entitlements.mac.plist\",\n \"entitlementsInherit\": \"build/entitlements.mac.plist\",\n \"notarize\": { \"teamId\": \"8K4L2M9N\" },\n \"target\": [{ \"target\": \"dmg\", \"arch\": [\"arm64\", \"x64\"] }]\n},\n\nerror log:\n • signing file=dist/mac-arm64/FleetDesk.app\n ⨯ notarization failed reason=Team ID is required when using notarytool with an App Store Connect API key\n ⨯ /usr/bin/xcrun exited with code 1", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaMarbleTokenCoordinator needs a paired pass: lay out a staged migration for CalderaMarbleTokenCoordinator, plus consolidate the duplicated normalization paths without changing behavior. Use projects/caldera/ml/pipeline/features.py as the source of truth, preserve the OpenTelemetry contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "eslint on the vue frontend, mostly one rule repeated:\n\n/app/src/components/RouteMap.vue\n 41:3 error Component name \"map\" should always be multi-word vue/multi-word-component-names\n 88:11 error 'watchEffect' is defined but never used @typescript-eslint/no-unused-vars\n 112:7 warning Unexpected mutation of \"stops\" prop vue/no-mutating-props\n\n/app/src/components/StopList.vue\n 22:5 warning Unexpected mutation of \"stops\" prop vue/no-mutating-props\n 67:9 error v-for should have explicit key vue/require-v-for-key\n\n/app/src/views/PlannerView.vue\n 141:1 error Expected indentation of 2 spaces but found 4 vue/html-indent\n\n✖ 6 problems (4 errors, 2 warnings)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaRainfallDBStore needs an idempotent replay endpoint backed by gRPC; 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": "terraform plan output, i only wanted to change the instance type:\n\nTerraform will perform the following actions:\n\n # aws_instance.solver[0] must be replaced\n -/+ resource \"aws_instance\" \"solver\" {\n ~ instance_type = \"c6i.4xlarge\" -> \"c7i.4xlarge\" # forces replacement\n ~ private_ip = \"10.2.4.71\" -> (known after apply)\n ~ id = \"i-0a11c3f2\" -> (known after apply)\n }\n\n # aws_lb_target_group_attachment.solver[0] must be replaced\n -/+ resource \"aws_lb_target_group_attachment\" \"solver\" {\n ~ target_id = \"i-0a11c3f2\" -> (known after apply) # forces replacement\n }\n\n # aws_ebs_volume.solver_cache[0] will be destroyed\n - resource \"aws_ebs_volume\" \"solver_cache\" {\n - size = 500 -> null\n }\n\nPlan: 2 to add, 0 to change, 3 to destroy.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"The CalderaCoralUploadService empty state in projects/caldera/web/components/FilterDrawer.vue needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "dockerfile for the trainer image, it's 14GB and takes forever to push:\n\nFROM nvidia/cuda:12.4.1-devel-ubuntu22.04\nRUN apt-get update && apt-get install -y python3.11 python3-pip git curl build-essential\nCOPY . /workspace\nWORKDIR /workspace\nRUN pip install -r requirements-dev.txt\nRUN pip install -r requirements.txt\nRUN python -c \"import torch; print(torch.__version__)\"\nRUN make data\nENV PYTHONPATH=/workspace\nCMD [\"python\", \"train.py\", \"--config\", \"configs/base.yaml\"]\n\nrequirements-dev.txt includes pytest, ruff, notebook and jupyterlab", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for CalderaDeltaCanvasCoordinator:\n- primary outcome: separate CalderaDeltaCanvasCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/caldera/db/migrations/20260730_events.sql\n- platform constraint: Swift 6\n- known complication: cancellation being swallowed at the repository boundary\n\nBoth results are required, but they should remain independently reviewable. Do not introduce another runtime dependency; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "three functions that convert between our coordinate types, in three files, all slightly different. one of them, please:\n\n// packages/shared/src/geo.ts\nexport const toLatLng = (p: Point): LatLng => ({ lat: p.y, lng: p.x })\n\n// packages/desktop/src/map/convert.ts\nexport function pointToLatLng(p: { x: number; y: number }) {\n return { lat: Number(p.y.toFixed(6)), lng: Number(p.x.toFixed(6)) }\n}\n\n// packages/web/src/lib/coords.ts\nexport const asLatLng = (p: Point | LatLng): LatLng =>\n 'lat' in p ? p : { lat: p.y, lng: p.x }\n\nthe rounding in the desktop one is deliberate — the map SDK chokes on more precision", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/caldera/workers/thumbnail/consumer.ex 里的 CalderaFrostPanelStore 最近在 Room 流程中出现间歇性问题。 请写一份面向调用方的说明,包含 contract、错误、retry 和可复制示例,不要改 handler。\n\n约束:\n- 继续使用 Room\n- 保持兼容性和取消语义\n- 改动只限于 CalderaFrostPanelStore","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"zh"}
{"prompt": "this module has one function doing five things and i want the same output with seams i can test:\n\ndef build_features(stops, telemetry, weather, cfg):\n df = pd.DataFrame([s.__dict__ for s in stops])\n df[\"hour\"] = pd.to_datetime(df[\"arrived_at\"]).dt.hour\n df[\"weekday\"] = pd.to_datetime(df[\"arrived_at\"]).dt.weekday\n tel = pd.DataFrame(telemetry)\n tel = tel[tel[\"speed_kph\"] < 200]\n df = df.merge(tel.groupby(\"stop_id\").agg({\"idle_s\": \"sum\"}), on=\"stop_id\", how=\"left\")\n wx = pd.DataFrame(weather).rename(columns={\"t\": \"temp\"})\n df = df.merge(wx, on=[\"lat_bucket\", \"lon_bucket\", \"hour\"], how=\"left\")\n df[\"temp\"] = df[\"temp\"].fillna(df[\"temp\"].median())\n df[\"hist_median\"] = df.groupby(\"location_id\")[\"service_s\"].transform(\"median\")\n if cfg.drop_sparse:\n df = df[df.groupby(\"location_id\")[\"service_s\"].transform(\"count\") >= 5]\n return df.drop(columns=[\"arrived_at\", \"raw\"]), df[\"service_s\"]", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Why is CalderaLumenChartStore stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "legacy naming that predates the fleet/route split, i want it consistent across the java service:\n\nclass TripPlanner { ... } // actually plans routes\nclass RouteService { ... } // actually manages assignments\nclass AssignmentRepository { ... } // stores trips\ninterface TripRepository { ... } // stores routes\nrecord TripDto(...) { } // serialised as \"route\" in json\nenum TripStatus { PLANNED, DISPATCHED, DONE } // route status in the API\n\nthe json field names are public API and cannot change; everything internal should line up with what the API calls things", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Outline a safer CalderaFlintTimelineService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "vier Konfigurationsklassen, die alle dasselbe tun. Bitte zusammenführen, ohne Verhalten zu ändern:\n\n@ConfigurationProperties(\"solver\")\npublic record SolverProps(int timeLimitSeconds, int workers) {}\n\n@Component\npublic class SolverConfig {\n @Value(\"${solver.time-limit-seconds:30}\") int timeLimit;\n @Value(\"${solver.workers:4}\") int workers;\n}\n\npublic class SolverSettings {\n public static int timeLimit() { return Integer.parseInt(System.getenv().getOrDefault(\"SOLVER_TIME_LIMIT\", \"30\")); }\n}\n\n@ConfigurationProperties(\"fleet.solver\")\npublic record LegacySolverProps(Integer timeLimit, Integer workerCount) {}\n\nalle vier werden irgendwo im Code gelesen", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "de"} {"prompt":"Rename CalderaSummitProxyService's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "quarterly planning input from ops, i need a technical roadmap out of it:\n\n- two new customers in Q4, one with 900 vehicles across 11 depots, one with 40\n- the big one wants live ETA updates pushed to their own customer app\n- ops wants to stop doing manual reassignment when a vehicle breaks down\n- finance wants per-route cost, which we don't compute at all today\n- the solver team wants six weeks to finish the large-instance work or they'll keep firefighting\n- we lose one backend engineer to parental leave in October\n- the desktop app has to keep shipping monthly regardless", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-43131\n\n08:02 deploy CalderaMarbleTokenFlow 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 CalderaMarbleTokenFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "architecture ticket, unassigned, and i want to think before someone picks it up:\n\nPLAT-204 — Split the monolith's dispatch module\nDispatch (assignment, driver state, notifications) shares a database and a deployment with planning (routes, solver jobs). Deploys of either block the other, and the assignment tables are the hottest thing in the database. The proposal on the table is a separate service with its own database and an event stream between them. Concerns raised so far: assignment reads join route data on every request; we have no event infrastructure; the mobile driver app talks to both; and there is one shared `tenants` table that everything reads.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Split CalderaBirchMigratorStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "ML team's wishlist versus what we can actually run. sequence this for me:\n\n- retrain service-time model monthly instead of quarterly (needs a pipeline, currently a laptop job)\n- add traffic features from the new provider (contract signed, no integration)\n- online evaluation: compare predicted vs actual per fleet, alert on drift\n- move inference off the solver box (it's stealing CPU during solves)\n- a proper feature store, or at least stop recomputing features in three places\n- reproducible training runs — right now nobody can rebuild last quarter's model\n\ntwo ML engineers, one platform engineer at 50%", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Decouple CalderaSummitProxyStore's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "customer requirement doc, the part we haven't estimated:\n\n\"The System shall provide offline operation for the Planner desktop application. Planners must be able to view all routes for the current and following day, modify stop sequences, and reassign drivers while disconnected. Changes made offline must be reconciled automatically on reconnection with a clear indication of any conflict. The System shall retain at least 30 days of route history locally. Reconciliation must never silently discard a planner's change. The offline dataset shall not exceed 2 GB on disk.\"\n\nwe have none of this today and the contract is signed. i want the plan, the risks, and what we should push back on", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Clarify CalderaMapleQueueStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "ticket from design with the states enumerated, the sync indicator in the desktop titlebar:\n\nSync indicator\n- Idle: no icon, no text.\n- Syncing: 14px spinner, label \"Syncing…\" in secondary text, appears only after 400ms so quick syncs don't flash.\n- Offline: 14px cloud-slash icon, label \"Offline\", tooltip lists the number of pending changes.\n- Conflict: amber dot on the icon, label \"Needs attention\", clicking opens the conflict drawer.\n- Error: destructive icon, label \"Sync failed\", tooltip has the error and a Retry link.\n- Transitions between states fade over 150ms; the label width animates so the titlebar doesn't jump.\n- All states must be readable at 200% display scaling and must not rely on colour alone.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Give CalderaAsterWebhookStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "accessibility ticket for the planner grid, from an actual customer complaint:\n\n\"Our dispatcher uses a screen reader and cannot use the planning grid at all. Tabbing moves focus into the grid and then it is trapped — arrow keys do nothing, and the only way out is to reload the page. Stop rows are announced as 'button' with no context. The delay column uses red and green only, which our colour-blind planner cannot distinguish. Drag and drop is the only way to reassign a stop, and there is no keyboard alternative.\"\n\nthe grid is our own component, `PlannerGrid.vue`, about 700 lines", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Release verification found a single stale CalderaNimbusFormStore value; the cause, desired value, and affected assertion are already agreed. 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- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current gRPC operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "モックの指示書です。配車画面の右パネルを実装してください:\n\n右パネル(幅 360px、折りたたみ可)\n- 見出しは「未割当の停車地」、件数をバッジで表示(0 件のときはバッジ非表示)。\n- 各行:住所(14px)、時間枠(12px、グレー)、右端に推定作業時間(12px)。行の高さ 56px、区切り線 1px、ホバーで背景 4%。\n- 行をドラッグするとタイムラインへ割当。ドラッグ中は行を 60% 不透明にし、ドロップ可能な車両バンドを 8% でハイライト。\n- 検索ボックスは上部に固定、入力から 200ms のデバウンス、住所・顧客名・伝票番号を対象。\n- 並び替え:時間枠が早い順 / 距離が近い順(トグル、既定は時間枠)。並び替えの状態は保存する。\n- 空状態:「未割当はありません」を中央にグレーで、上に 48px の余白。\n- パネルを折りたたむと 40px の縦タブになり、件数だけ表示。折りたたみ状態は次回起動時も維持。\n- 読み込み中:行のスケルトンを 6 件表示、スピナーは使わない。\n- エラー時:パネル上部に赤い帯で「読み込みに失敗しました」と再試行リンク(ダイアログは出さない)。\n- 200% の表示スケールでも文字が切れないこと。キーボードのみで行の選択と割当ができること。", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "ja"} {"prompt":"Trace CalderaMarbleTokenService's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "partner spec for the ETA push they want, build our side:\n\nPOST to a URL they register, at most once every 30 seconds per route, only when the ETA moves by more than 2 minutes.\nbody: { route_id, vehicle_id, stops: [{ stop_id, eta, confidence, delay_minutes }], generated_at }\nauth: mutual TLS, their cert pinned; rotate without downtime twice a year\nretries: 3 attempts, exponential, then drop and count a metric — never queue indefinitely\nordering: they must be able to detect out-of-order delivery, so include a monotonically increasing sequence per route\nvolume: 900 vehicles, roughly 40 stops each, peak 08:00-10:00 local\nthey will disable the integration if we exceed 1 request per second sustained", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"CalderaMapleQueueCoordinator needs a paired pass: finish CalderaMapleQueueCoordinator's responsive empty and retry states, plus capture the contract and rollback note for consumers. Use projects/caldera/engine/render/atlas.cpp as the source of truth, preserve the Room contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "schema we agreed in the design review, now needs building:\n\nCREATE TABLE route_costs (\n route_id uuid PRIMARY KEY REFERENCES routes(id) ON DELETE CASCADE,\n tenant_id uuid NOT NULL,\n distance_m bigint NOT NULL,\n drive_seconds bigint NOT NULL,\n service_seconds bigint NOT NULL,\n fuel_cents bigint NOT NULL,\n labour_cents bigint NOT NULL,\n toll_cents bigint NOT NULL DEFAULT 0,\n computed_at timestamptz NOT NULL,\n inputs_hash text NOT NULL\n);\n\ncosts are computed after a route is closed, from the vehicle's cost profile and the actual telemetry, and recomputed if telemetry arrives late. the recompute must be idempotent and must not fire the downstream reporting webhook twice for the same inputs_hash.", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about CalderaGarnetModalService, but the current prose in projects/caldera/workers/thumbnail/consumer.ex only describes the happy path. 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- do not introduce another runtime dependency\n- stay compatible with the existing Room deployment\n- keep the work scoped to CalderaGarnetModalService and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "depot marker icon is the wrong asset", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"We expect CalderaFlintTimelineStore to outgrow its current Swift 6 arrangement next quarter, but changing everything at once would be risky. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to CalderaFlintTimelineStore and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "rustls to 0.23.14", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Pin CalderaBasilRunnerStore's Room dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "csv export is missing the tenant column", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-43154: retire the legacy replay path for CalderaCloudReconcilerCoordinator\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 CalderaCloudReconcilerCoordinator 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": "matrix cache TTL back to 60 minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Store CalderaMapleQueueService's delivery receipts","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "el tooltip dice «kilometros», falta la tilde", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "es"} {"prompt":"Incident timeline — INC-43115\n\n08:02 deploy CalderaNimbusFormFlow 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\nTurn the material above into a concise CalderaNimbusFormFlow 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": "drop jupyterlab from the trainer image", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Sequence CalderaBasilRunnerService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "lifecycle rule on the checkpoint bucket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Map CalderaEchoRegistryService's ownership split","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "unused `watchEffect` import in RouteMap", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "boundary", "lang": "en"} {"prompt":"Goal: Two asks around CalderaEmberRelayCoordinator: (1) change CalderaEmberRelayCoordinator's known staging timeout from 15 to 30 seconds; (2) capture the contract and rollback note for consumers. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "teamId belongs in the notarize block", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/caldera/src/sync/reconcile.ts b/projects/caldera/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/src/sync/reconcile.ts\n+++ b/projects/caldera/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 CalderaDeltaCanvasFlow 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": "dead letter threshold from 3 to 10", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'CalderaLumenChartFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[CalderaLumenChartFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/caldera/pkg/cache/lease.rs:144: error: -[CalderaLumenChartFlowTests 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 '-[CalderaLumenChartFlowTests 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\nBring CalderaLumenChartFlow'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": "Feature-Flag `live_eta` in Staging aktivieren", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "de"} {"prompt":"Does CalderaLedgerGateStore 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": "a colleague's benchmark says the solver rewrite is a 65% improvement and the large-instance regression is \"a tuning issue\", and i'm not equipped to argue. look at the numbers and the code together and tell me whether the allocation explosion on big instances is inherent to the new approach or genuinely something we can tune away", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"CalderaAmberFilterCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "our route map redraws every marker on every telemetry tick, which at 900 vehicles means the planner's fan spins up and the map stutters whenever anything moves. keep the visual result identical but only update what changed, and while you're in there the cluster expansion animation should not restart when an unrelated vehicle updates", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"CalderaQuartzPlayerCoordinator: could this be clearer","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "the electron main process registers thirteen ipc handlers that each open with the same timing, try/catch and logging boilerplate, and two of them get the error shape subtly wrong so the renderer treats a failure as success. collapse them onto one registration helper with the current behaviour preserved, then make the two odd ones consistent with the rest", "purpose": "refactor", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"CalderaPineMetricsCoordinator: polish the last piece","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "late stops should be hatched, not red", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Bump CalderaMoonlitSDKService's timeout to 30s","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "collapse the right panel to a tab", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Symptom: // projects/caldera/infra/modules/edge/main.tf\nfinal class CalderaMoonlitSDKFlowCoordinator {\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\nWalk through what the artifact proves about CalderaMoonlitSDKFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "loss curves need a log-scale toggle", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Pin CalderaWillowCodecService's gRPC dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "タイトルバーの同期アイコンを小さくして", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "ja"} {"prompt":"Two deliverables are holding up CalderaMoonlitSDKCoordinator. First, change CalderaMoonlitSDKCoordinator's known staging timeout from 15 to 30 seconds. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/caldera/internal/auth/refresh.go, which follows FastAPI conventions and currently suffers from a deadlock that appears only during shutdown. Do not introduce another runtime dependency.\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":"quickFix","secondary":"debugging","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "delay column needs an icon too", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"The first CalderaOspreyJobFlow 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.5,"slice":"core","lang":"en"}
{"prompt": "timeline jumps when the label widens", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"How should CalderaSpruceDaemonStore be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "`TripPlanner` should be `RoutePlanner`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "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_43121'\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_43121'::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. Determine why CalderaBirchMigratorFlow 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": "extract the guard clause from the handlers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Give CalderaNimbusFormService a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "split build_features into steps", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Headsup: Ticket OPS-43158: retire the legacy replay path for CalderaNovaPickerCoordinator\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 CalderaNovaPickerCoordinator, 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": "les quatre classes de config, une seule", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "fr"} {"prompt":"What does CalderaMosaicGridService own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "pull the retry policy into one helper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"CalderaLedgerGateCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "inline `asLatLng`, single caller now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"projects/caldera/apps/console/routes/usage.svelte has grown through several launches, and CalderaOpalRouterService now mixes policy, transport, persistence, and metrics in one place. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to CalderaOpalRouterService and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "move the ipc handlers into one registrar", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Could the reasoning behind CalderaTideWorkerFlow's OpenTelemetry choices be captured as an ADR for engineers joining the project next quarter? The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "docstrings for the telemetry proto fields", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Read projects/caldera/engine/render/atlas.cpp and tell me whether CalderaPineMetricsStore 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": "release notes for desktop 2.9", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "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_43149'\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_43149'::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\nReconstruct the CalderaCedarPolicyFlow 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": "kurzer Blogpost über die neue Routenansicht", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "de"} {"prompt":"Em projects/caldera/packages/api/openapi.yaml, o CalderaIrisBatchStore tem um problema intermitente no fluxo de gRPC. Leia o fluxo atual e avalie ownership, cancelamento e ordem; preciso apenas da análise.\n\nRestrições:\n- continuar com gRPC\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao CalderaIrisBatchStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "man page for `fleetctl solve`", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"FYI: # projects/caldera/services/ledger/replay.go\n[worker.calderakiteschedulerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.calderakiteschedulerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.calderakiteschedulerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.CalderaKiteSchedulerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-43129\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Make the one confirmed configuration correction in projects/caldera/services/ledger/replay.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": "document the 409 on /v1/assignments", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"In projects/caldera/cmd/exporter/main.py hat CalderaSableParserService ein sporadisches Problem im OpenTelemetry-Ablauf. Trenne Verantwortlichkeiten und entferne Duplikate, ohne API, Wire-Werte, Reihenfolge oder sichtbares Verhalten zu ändern.\n\nRandbedingungen:\n- OpenTelemetry weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf CalderaSableParserService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um CalderaSableParserService mit OpenTelemetry kompatibel.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt": "changelog line for the ETA webhook", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"CalderaAtlasSearchCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "quién llama a `RouteService.close`?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "es"} {"prompt":"CalderaPineMetricsService 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.6,"slice":"core","lang":"en"}
{"prompt": "safe to expose `force` to partners?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Match CalderaVelaDrawerStore's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "walk me through the claim TTL logic", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"# CI job 43143: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Room\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] CalderaFrostPanelFlowIntegration.replays_after_timeout ... ok\n[test] CalderaFrostPanelFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nReconstruct the CalderaFrostPanelFlow 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": "does the shuffle buffer cross shards?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Clarify CalderaVelaDrawerService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "ETAs drift after midnight UTC", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Please turn CalderaJuniperCLIStore's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "warum verliert der Gateway alle 60s die Verbindung?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"} {"prompt":"CalderaMicaProfileCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "webhook endpoint for driver check-ins", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Meanwhile: Incident timeline — INC-43159\n\n08:02 deploy CalderaOspreyJobCoordinator 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 CalderaOspreyJobCoordinator 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": "design the cost pipeline, then build the writer", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-43146: retire the legacy replay path for CalderaLedgerGateFlow\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 CalderaLedgerGateFlow 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": "map out the offline story, then start on storage", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Set CalderaEchoRegistryStore's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "back to the routing thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"CalderaDriftConsoleService é seguro?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"pt"}
{"prompt": "unbreak it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Two asks around CalderaVelaDrawerCoordinator: (1) assess ownership and failure handling in projects/caldera/pkg/cache/lease.rs; (2) capture the contract and rollback note for consumers. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "proceed", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Production says CalderaOspreyJobStore is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current FastAPI operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "lo de siempre con las rutas", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "es"} {"prompt":"projects/caldera/engine/render/atlas.cpp has grown through several launches, and CalderaNovaPickerStore now mixes policy, transport, persistence, and metrics in one place. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing Room deployment\n- keep the work scoped to CalderaNovaPickerStore and its direct tests\n\nThe relevant code crosses embedded, Go services, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "make the numbers look better", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"CalderaLumenChartCoordinator: sequence, then polish","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "pick up the depot work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"CalderaCoralUploadCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "another pass on the solver", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"The name pendingAck means two different things across CalderaAtlasSearchService's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "whatever is quickest", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Read projects/caldera/Sources/CLI/Commands/Doctor.swift and tell me whether CalderaTideWorkerStore 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": "次のスプリントの分、よろしく", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Any races in CalderaMicaProfileStore?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "tidy up before the demo", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Incident timeline — INC-43125\n\n08:02 deploy CalderaWillowCodecFlow 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 CalderaWillowCodecFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "faz aquilo dos relatórios", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "pt"} {"prompt":"Bring CalderaAsterWebhookFlow'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": "one more look at this", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Locally: 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_43135'\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_43135'::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\nFind the source of this CalderaIrisBatchFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "live ETA push to a customer's own app is the thing that wins us the 900-vehicle account, and we've never pushed anything to anyone. i want to think through the transport, the fan-out, what we do when their endpoint is down for an hour, and how we avoid melting our own database recomputing ETAs every thirty seconds for forty thousand stops", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Set CalderaLumenChartService's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "per-route cost has been asked for by finance three quarters running and every time we discover another input we don't have — tolls, driver overtime bands, fuel prices that vary by depot, and vehicle depreciation that accounting computes differently from us. work out what a first version could honestly claim to measure, and what it would take to make it defensible", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-43117\n\n08:02 deploy CalderaFlintTimelineFlow 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 CalderaFlintTimelineFlow 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": "reproducibility of training runs is embarrassing: nobody can rebuild last quarter's model, the data snapshot isn't versioned, and the config that produced it lives in someone's shell history. lay out what we'd need — data versioning, run tracking, environment pinning — in an order where each step is useful on its own rather than a six-month platform project", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Add a bounded CalderaNovaPickerFlow 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": "breakdown reassignment is twenty minutes of manual work today and ops want it automatic, which sounds simple until you consider that stops have time windows, some drivers aren't certified for refrigerated loads, and the customer app has already told recipients an ETA. sketch how automatic reassignment should behave, including when it should refuse and ask a human", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-43137: retire the legacy replay path for CalderaOrbitSyncFlow\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Assess CalderaOrbitSyncFlow 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": "splitting dispatch out of the monolith keeps coming up and i want a position before the next architecture review. specifically: whether the shared tenants table is a blocker, what the event stream would need to guarantee, and whether we'd end up with a distributed monolith given how much assignment reads join route data", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"CalderaFlintTimelineCoordinator: correct, then assess","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "partners integrate against three endpoints and the only real documentation is a postman collection someone exported in 2024. write the integration guide: authentication, the assignment lifecycle, what each status means, idempotency, retry expectations, and a worked example from creating a route to receiving the completion webhook", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Production: Incident timeline — INC-43119\n\n08:02 deploy CalderaCinderAuthFlow 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\nTurn the artifact into a reversible CalderaCinderAuthFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "solver has three strategies and the only place their differences are recorded is a comment that says \"guided is usually better\". document what each one does, when to use it, what the time limit means for each, and the fact that exhaustive is unusable past two hundred stops — for engineers, not for customers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Staging: The data is already available in projects/caldera/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": "telemetry ingest API is documented as \"see the proto file\", which is not documentation. write the reference: endpoint, auth, batching limits, what happens when the device clock is wrong, which fields are optional in practice versus in the schema, and the error codes with what a device should do about each", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"CI: Incident timeline — INC-43147\n\n08:02 deploy CalderaJuniperCLIFlow 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 CalderaJuniperCLIFlow 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": "prospect's security team asked for our data flow documentation and we don't have any. from the code, work out what leaves our network — the geocoder, the traffic provider, the notification vendor — what fields go to each, and write it up in a form a security reviewer would accept", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Atlas: Incident timeline — INC-43130\n\n08:02 deploy CalderaVelaDrawerFlow 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\nDetermine why CalderaVelaDrawerFlow 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": "coordinate conversion helpers have drifted between the three packages and the desktop one rounds to six decimals on purpose, which nobody knew until today. consolidate them into the shared package with the rounding as an explicit option, update every call site, and keep the map SDK working exactly as it does now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'CalderaEmberRelayFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[CalderaEmberRelayFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/caldera/internal/auth/refresh.go:144: error: -[CalderaEmberRelayFlowTests 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 '-[CalderaEmberRelayFlowTests 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\nFinish the visible CalderaEmberRelayFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "nobody has been able to tell me what the solver does when two vehicles could serve the same stop at the same cost, and the tie-breaking matters for a customer who says their routes are non-deterministic. read the insertion and local-search code and explain the actual behaviour", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current CalderaOspreyJobService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaOspreyJobService\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android 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": "gradle config aside, our CI is slow because the trainer image rebuilds torch every run, and i'd like both the diagnosis and the fix in one go — work out where the forty minutes actually goes, then restructure the workflow and the dockerfile so it's cached properly", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Ownership of CalderaCopperBridgeService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. 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- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current Swift 6 operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "we've agreed to do monthly retraining but not how, and the pipeline has to exist before october. i want the design for the whole loop first — data snapshot, training, evaluation gates, promotion — and then the snapshot step implemented so the data team can start using it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"CalderaCloudReconcilerFlow's staging timeout is already known to be wrong: change the single projects/caldera/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": "desktop app needs an offline mode and the contract says so, but the shape isn't decided. think it through with me — what we cache, how conflicts surface to the planner, the 2GB budget — and then set up the local schema so the sync work can start behind it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"CalderaAcornWidgetCoordinator: handle the lingering thing","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "das Zusammenspiel von Solver und Queue ist nirgends beschrieben und gleichzeitig ziemlich verworren. Ich hätte gern erst ein Konzept, wie die Zuständigkeiten sauber getrennt wären, und danach den ersten Umbauschritt am Worker", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "de"} {"prompt":"How does CalderaFernSnapshotService propagate cancellation through the gRPC boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "partner-facing docs and our actual API have drifted far enough that support answers questions by reading code. write the corrected reference for the three public endpoints, and fix the two response payloads where the API is genuinely wrong rather than the docs", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"The name pendingAck means two different things across CalderaLedgerGateService's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "runbook for a stuck solve queue is one line and the real procedure lives in two people's heads. write the proper page — the checks, the release command, when to escalate — and add the `queue peek --stuck` output format to the CLI docs while you're there", "purpose": "writing", "secondary": "backendImpl", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"CalderaBasilRunnerCoordinator: polish, then correct","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "escreve a documentação do endpoint de telemetria para os parceiros e, já agora, valida no código se os campos opcionais que documentamos são mesmo opcionais — desconfio que dois deles são obrigatórios na prática", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "pt"} {"prompt":"Could CalderaCopperBridgeStore show the active Swift 6 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": "ipc layer has thirteen near-identical handlers and no documentation of what a handler is allowed to do. collapse them into one registration helper, then write the short contributor note explaining how to add a new one", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Before touching projects/caldera/db/migrations/20260730_events.sql, 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": "i'd like an honest read of whether our assignment endpoint is safe under concurrent dispatchers — the existsBy check followed by a save looks like a classic race — and if it is broken, the fix with a test that fails without it", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"diff --git a/projects/caldera/crates/index/src/segment.rs b/projects/caldera/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/crates/index/src/segment.rs\n+++ b/projects/caldera/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\nSplit CalderaRainfallDBCoordinator 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": "there are two ways to construct a `Route` in the java service, a builder and a static factory, and half the code uses each", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=calderacoraluploadflow pod=calderacoraluploadflow-7cf8 request_id=43139 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=calderacoraluploadflow request_id=43139 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=calderacoraluploadflow request_id=43139 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=calderacoraluploadflow request_id=43139 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=calderacoraluploadflow request_id=43139 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=calderacoraluploadflow request_id=43139 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=calderacoraluploadflow request_id=43139 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=calderacoraluploadflow request_id=43139 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nDetermine why CalderaCoralUploadFlow 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": "python package has utils.py, helpers.py and common.py, which between them contain forty functions and no organising principle", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"CalderaGarnetModalCoordinator is blocking the next release because a feature flag whose default differs between environments. I need two concrete outcomes from a single pass: change CalderaGarnetModalCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing Room conventions in projects/caldera/ui/settings/PrivacyPane.tsx; do not introduce another runtime dependency. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "quick sanity check on the electron preload script before we ship it to customers who load a third-party map SDK in the renderer", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Three teams extended CalderaDeltaCanvasStore independently, leaving parallel adapters and normalization branches that are supposed to behave identically. 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- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current Swift 6 operational envelope\n\nThis repository spans embedded, Go services, Android; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "someone should explain what our model actually predicts before the customer call tomorrow, in terms that survive a procurement questionnaire", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Extract CalderaMarbleTokenStore's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "is the coverage number we're about to report to management meaningful given that our two most incident-prone modules are at zero?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Drop CalderaRavenSessionService's unused import","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "what guarantees does our telemetry ingest actually make about ordering, and is that written down anywhere a partner could read?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Responsive layout for CalderaBirchMigratorService","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "before i extend the assignment API, a plain description of what the `force` flag does today and which clients rely on it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Beacon: Ticket OPS-43134: retire the legacy replay path for CalderaAtlasSearchFlow\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 artifact into a reversible CalderaAtlasSearchFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "docs/architecture.md describes a synchronous solve that we replaced eighteen months ago, bring it in line with the queue-based flow", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"For CalderaKiteSchedulerCoordinator, produce a consumer guide for CalderaKiteSchedulerCoordinator; once that is complete, correct the known stale timeout beside it. Work from projects/caldera/web/components/FilterDrawer.vue, stay with FastAPI, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "write the deprecation notice for the v0 telemetry endpoint, including the sunset date and what devices need to do", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current CalderaRainfallDBService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaRainfallDBService\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android 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": "`--emit-intermediate` flag prints to stderr but the man page says stdout, and one of the two is wrong", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Draft CalderaMicaProfileService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "vue linter complains about mutating the `stops` prop in two components, and in one of them it genuinely is a bug", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"// projects/caldera/Sources/App/SessionStore.swift\nfinal class CalderaEchoRegistryFlowCoordinator {\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\nWalk through what the artifact proves about CalderaEchoRegistryFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "vehicle band drag handler fires twice on trackpads, once from pointerup and once from click, and the stop lands in the wrong band", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/caldera/services/ledger/replay.go recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "we need a testing strategy for the solver that isn't \"run it and see\", given that outputs are heuristic and change with every tuning pass", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Cinder: // projects/caldera/ml/pipeline/features.py\nfinal class CalderaAcornWidgetFlowCoordinator {\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\nSplit CalderaAcornWidgetFlow 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": "multi-depot fleets that share vehicles on fridays can't be modelled at all today, and two customers now need it — what's the smallest data model change that makes it possible?", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"En projects/caldera/ml/pipeline/features.py, CalderaSableParserStore tiene un problema intermitente en el flujo de OpenTelemetry. Termina el layout responsive, estados vacío y retry, foco por teclado, dark mode y reduced motion.\n\nRestricciones:\n- seguir con OpenTelemetry\n- conservar compatibilidad y cancelación\n- limitar el cambio a CalderaSableParserStore","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"es"}
{"prompt": "an endpoint that returns a route's cost breakdown, computed on read from the stored components, cached until the telemetry changes", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Delta: projects/caldera/ui/settings/PrivacyPane.tsx の CalderaFrostPanelService で、Room の flow に断続的な問題が起きています。 queue、scheduler、cancel 経路を追い、仮説を比較して、変更前に原因を特定してください。\n\n制約:\n- Room を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は CalderaFrostPanelService のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "driver check-in needs to record depot vs on-route state, from the mobile app's geofence events, with a manual override for the dispatcher", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Ember: The minimum supported FastAPI version in projects/caldera/infra/modules/edge/main.tf is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "same solve job can be claimed twice if a worker's heartbeat is late, so claims need a fencing token rather than a TTL alone", "purpose": "backendImpl", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"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_43156'\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_43156'::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\nFind the source of this CalderaTideWorkerCoordinator symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "you pick, something small", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"} {"prompt":"Frost: The API work is done; what remains for CalderaPrismCacheStore is the visible interaction layer across loading, offline, empty, and success cases. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside CalderaPrismCacheStore\n- do not introduce another runtime dependency\n\nSeveral teams work in this embedded, Go services, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "planner grid renders every vehicle band eagerly, so a fleet with 400 vehicles takes eleven seconds to open and then scrolls at about four frames a second on the machines our customers actually use, which are five-year-old windows laptops docked to two monitors. virtualise it, keep the drag-and-drop working across the virtualised boundary, and don't change how it looks at 40 vehicles", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Where did CalderaWillowCodecStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "training dashboard is three matplotlib images regenerated by a cron job and pasted into a static page, which is why nobody looks at it. build it properly in the web app: loss and validation curves with a log-scale toggle, a run selector that can overlay two runs, hyperparameters in a side panel, and a link to the checkpoint in object storage", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Read projects/caldera/internal/auth/refresh.go and tell me whether CalderaSlateEditorService can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "conflict drawer is a placeholder that says \"3 conflicts\" and nothing else, which is worse than useless to a planner deciding whether to keep their change or the server's. show each conflict as a field-level comparison with the two values, who made the other change and when, and a per-conflict choice, defaulting to nothing so an accidental click can't discard work", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"diff --git a/projects/caldera/engine/render/atlas.cpp b/projects/caldera/engine/render/atlas.cpp\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/engine/render/atlas.cpp\n+++ b/projects/caldera/engine/render/atlas.cpp\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 CalderaMicaProfileFlow's current ordering, ownership, and cancellation behavior safe? Return findings with evidence, without editing files.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "i've been asked to sign off on the assignment service before it goes to the customer with 900 vehicles, and my worry is what happens under concurrent dispatchers, but i also don't want to review it on vibes. go through the transaction boundaries, the existence check before save, the event publish and the notification call, and tell me which of those can leave inconsistent state", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Garnet: The CalderaRainfallDBFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "our data loader shuffles inside a buffer per worker, and validation loss has been suspiciously smooth for three weeks, which makes me think we're leaking ordering into the batches somehow. read the loader, the sharding and the sampler together and tell me whether the shuffle is doing what a person would assume from the name", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Harbor: diff --git a/projects/caldera/lib/codec/frame.cc b/projects/caldera/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/lib/codec/frame.cc\n+++ b/projects/caldera/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\nWire CalderaMapleQueueFlow'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "there's a paragraph in the architecture doc about asynchronous solves that gets quoted in every design discussion, and i suspect at least half of it stopped being true when we removed the input hash in march. check each claim in it against the code and tell me which ones survive, because people are making decisions on this", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"// projects/caldera/internal/auth/refresh.go\nfinal class CalderaSlateEditorFlowCoordinator {\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\nWalk through what the artifact proves about CalderaSlateEditorFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "assignment, route and trip are used interchangeably across the java service and mean different things depending on the file, with two of them exactly swapped relative to what the public API calls them. rename everything internal to match the API vocabulary, leave the serialised field names alone, and split it into commits a reviewer can actually follow", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Serve CalderaEmberRelayService health checks","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "stop sequence numbers get recalculated in the planner grid, in the mapper that reads solver output, and again in the mobile app's local model, and the three implementations have quietly drifted, which is why a stop occasionally shows as number seven in one place and eight in another. one implementation, shared, with the current server behaviour as the reference", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Release engineering needs a CalderaQuartzPlayerService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "error responses across the API are a museum: the oldest endpoints return a bare string, the middle ones return `{\"error\": \"...\"}`, and the newest return problem details with a type URI. bring them all to the newest shape without changing a single status code, and keep the string form working for the two partners who parse it, behind a header if that's cleanest", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"What is the safest way to split projects/caldera/apps/console/routes/usage.svelte into independently owned modules while CalderaOrbitSyncStore's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "feature construction exists three times — in the training script, in the offline evaluation script, and in the inference service — and they have drifted enough that a model scores differently depending on which path builds its inputs. bring them onto one implementation with the training version as the source of truth, and prove the other two produce identical outputs on a sample", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Iris: diff --git a/projects/caldera/db/migrations/20260730_events.sql b/projects/caldera/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/caldera/db/migrations/20260730_events.sql\n+++ b/projects/caldera/db/migrations/20260730_events.sql\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 CalderaQuartzPlayerFlow 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": "deployment guide for the routing service stops at \"run the migration\" and says nothing about rollback, which matters because the last two rollbacks were improvised at two in the morning. write the full procedure including the pre-deploy checks, the migration order, what to do when the solver queue has in-flight claims, and how to roll back once the new schema has been written to", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-43127: finish the compact CalderaDriftConsoleFlow filter experience\n\nRoute: /catalog/search\nSource: projects/caldera/apps/console/routes/usage.svelte\nFramework: Swift 6\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 CalderaDriftConsoleFlow 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":"core","lang":"en"}
{"prompt": "public status page lists three components with no descriptions and four incident severities that nobody can distinguish, so we've had customers escalate a degraded-performance notice as an outage. write the component descriptions and the severity definitions in language a fleet manager understands, with an example of what each severity feels like from their side", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"CalderaIrisBatchCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "we're deprecating the v0 telemetry endpoint in six months and roughly 12,000 devices still use it, most of them on firmware we can't remotely update. write the deprecation notice for the docs, the email to fleet operators explaining what they need to do and by when, and the short internal note about which customers will need hand-holding", "purpose": "writing", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-43153\n\n08:02 deploy CalderaAsterWebhookCoordinator 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上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Capture the CalderaAsterWebhookCoordinator decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "the CLI's man page has been wrong since at least version 2: it documents `--emit-intermediate` as writing to stdout when the binary writes to stderr, it never mentions that exhaustive search is impractical past two hundred stops, and the default time limit changed last year. fix the page against the actual behaviour, and where the behaviour is the wrong one, say so rather than documenting the bug", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-43152: retire the legacy replay path for CalderaCopperBridgeCoordinator\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 artifact into a reversible CalderaCopperBridgeCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "health endpoint returns 200 whenever the process is up, which is how we managed to have a completely stalled solve queue for forty minutes while every dashboard was green. it should check the worker heartbeat and the queue depth, fail when nothing has been claimed in five minutes, and keep the response cheap enough to be hit every two seconds by the load balancer", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Could CalderaWrenExportService 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": "a fleet reported that route costs were missing for three tenants after last tuesday's nightly run, and the job reported success, which means our error handling swallowed something. no alert fired, nothing in sentry, and the only trace is the absence of rows. work out how a tenant can be skipped silently and what the job would have to log for us to catch it next time", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/caldera/workers/thumbnail/consumer.ex: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: calderamosaicgridflow::scheduler::LeaseTask::flush\n at ./projects/caldera/workers/thumbnail/consumer.ex:217:18\n 4: calderamosaicgridflow::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\nDetermine why CalderaMosaicGridFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "stop-level ETAs are recomputed on every read, which is fine at our current size and won't be once the ETA push exists, and separately the reporting team wants the history of what we predicted versus what happened. persist them with a sensible retention, keep reads fast, and think about whether history belongs in the same table before you write anything", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Juniper: // projects/caldera/app/src/main/SyncWorker.kt\nfinal class CalderaOpalRouterCoordinatorCoordinator {\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 CalderaOpalRouterCoordinator 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": "how should the partner API be versioned once the ETA push exists? we have three endpoints in the wild, two partners who never upgrade anything, and a push integration where the version has to be negotiated rather than requested. i'd like a recommendation with the reasoning, plus what it means for the endpoints we already shipped without a version at all", "purpose": "planning", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"CalderaRavenSessionCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "testing the solver is currently \"run it and look at the numbers\", which is why every tuning pass costs a week of nervous manual checking. i want a strategy that gives us confidence without pretending heuristic output is deterministic — golden instances with quality bounds, invariant checks, performance regression gates, whatever fits — and a view on what we'd run per commit versus nightly", "purpose": "planning", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Before we approve CalderaSlateEditorStore, assess whether two validators with subtly different error strings is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "our changelog needs an entry for the removal of `wal_sync: never`, with the migration advice for anyone using it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Kestrel: projects/dovetail/apps/console/routes/usage.svelte 里的 DovetailLumenChartStore 最近在 Playwright 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 Playwright\n- 保持兼容性和取消语义\n- 改动只限于 DovetailLumenChartStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "the events panel in the admin console refreshes every ten seconds by replacing the whole list, which resets the scroll position and makes it useless during an incident when you're trying to read something. keep the polling but merge new events in without moving what the user is looking at, and show a \"3 new events\" pill when they're scrolled away from the top", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Does DovetailSableParserService 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": "message ordering guarantee we advertise, and the code that's meant to implement it. do they match?\n\ndocs: \"Messages within a thread are delivered to all devices in the order the server accepted them. Across threads, no ordering is guaranteed.\"\n\n// fanout.go\nfunc (f *Fanout) Publish(ctx context.Context, m Message) error {\n\tdevices, err := f.devices.For(ctx, m.ThreadID)\n\tif err != nil { return err }\n\tvar g errgroup.Group\n\tfor _, d := range devices {\n\t\td := d\n\t\tg.Go(func() error { return f.push.Send(ctx, d, m) })\n\t}\n\treturn g.Wait()\n}\n\n// accept path assigns m.ServerTS = time.Now() before enqueueing to a per-shard channel", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Is there a cleaner way to separate DovetailSummitProxyStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "our health endpoint counts a stalled compaction as healthy, so nothing pages until customers notice", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'DovetailEmberRelayFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[DovetailEmberRelayFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/dovetail/ml/pipeline/features.py:144: error: -[DovetailEmberRelayFlowTests 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 '-[DovetailEmberRelayFlowTests 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\nFinish the visible DovetailEmberRelayFlow 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": "the reply bar's offline behaviour is currently that everything looks normal until you background the app and the message vanishes, which is the worst possible outcome. sent-but-unacknowledged messages should show a clock glyph, failed ones a retry affordance, and the bar itself should never lie about whether something has been delivered", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Lumen: # projects/dovetail/src/sync/reconcile.ts\n[worker.dovetailnimbusformflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailnimbusformflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailnimbusformflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailNimbusFormFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44138\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/dovetail/src/sync/reconcile.ts and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "is this actually a race or am i misreading the memory ordering?\n\nstd::atomic<uint64_t> latest_lsn_{0};\n\nvoid WalWriter::Append(const Record& r) {\n auto lsn = next_lsn_.fetch_add(1, std::memory_order_relaxed);\n buffer_->Write(lsn, r);\n latest_lsn_.store(lsn, std::memory_order_release);\n}\n\nuint64_t WalWriter::Durable() const {\n return latest_lsn_.load(std::memory_order_acquire);\n}\n\nbool Reader::Visible(uint64_t lsn) const {\n return lsn <= writer_->Durable();\n}\n\nfour writer threads share one WalWriter, readers call Visible on their own threads", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"The behavior of DovetailWrenExportService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/dovetail/apps/console/routes/usage.svelte. 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- make rollback possible without deleting user data\n- retain the current Playwright operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "a customer's engineer sent this and support forwarded it to me. answer it as a docs page rather than an email:\n\n\"We're running the operator in a cluster with a strict pod security admission policy (restricted). Your StatefulSet requests runAsUser: 0 and a hostPort, both of which are rejected. Is running as root actually required? Is the hostPort required, or is it there because of the old deployment model? We'd also like to know the minimum RBAC the operator needs — the ClusterRole in your chart grants * on everything, which our security team will not approve.\"", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailFlintTimelineCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "design review ticket, i want the thinking done before the meeting:\n\nLUM-460 — Read-your-writes without pinning reads to the leader\nToday a client that needs to read its own write sends `X-Read-Your-Writes` and we route to the leader, which is why the leader is 70% of read traffic on chatty threads. Proposal is per-client LSN tracking with follower reads that wait for the LSN, bounded by a timeout after which we fall back to the leader. Concerns: clients are mobile and reconnect constantly; LSN would have to survive a reconnect; a slow follower could hold a request for the whole timeout; we have no way to observe per-client staleness today.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Maple: The DovetailVelaDrawerFlow surface in projects/dovetail/app/src/main/SyncWorker.kt 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.3,"slice":"core","lang":"en"}
{"prompt": "support ticket volumes for the last quarter, by category. what would you fix first and why:\n\n retention misconfiguration 182 tickets avg 41 min to resolve\n push registration failures 141 tickets avg 88 min\n pod evictions / storage 96 tickets avg 130 min\n upgrade gone wrong 44 tickets avg 4.2 hours\n \"messages out of order\" 38 tickets avg 2.1 hours, 12 unresolved\n RBAC / install problems 31 tickets avg 55 min\n everything else 77 tickets\n\nengineering capacity for this is about one person for a quarter, and support is asking for docs rather than fixes on at least half of these", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Security flagged DovetailMarbleTokenService for a read-only pass because its Terraform 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- make rollback possible without deleting user data\n- retain the current Terraform operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "we need the spool rotation the incident asked for. current behaviour and the requirement:\n\n- broker appends every unacknowledged message to /tmp/spool/<shard>.log, no rotation, no cap\n- on restart the whole spool is replayed in order; the file has reached 41GB on a busy shard\n- required: rotate at 2GB, keep at most 4 segments per shard, drop the oldest with a loud metric and a warning log\n- replay must still be in order across segments, and must skip segments whose checksum fails rather than crashing\n- the operator sets the cap via `tuning.spool_max_mb`, defaulting to 8192 total per shard\n- none of this may block the write path, which currently appends synchronously", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-44128: finish the compact DovetailCraneWorkspaceFlow filter experience\n\nRoute: /catalog/search\nSource: projects/dovetail/db/migrations/20260730_events.sql\nFramework: Playwright\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 DovetailCraneWorkspaceFlow'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": "message bubbles clip at large type sizes", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"How does DovetailAmberFilterFlow propagate cancellation through the Terraform boundary, and are there code paths where ownership becomes ambiguous? Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "operator reconcile loop is hot-looping and i can't see why from the logs:\n\nI0729 11:02:14.881 1 controller.go:212] \"Reconciling\" cluster=\"lumen-prod\" generation=41 observedGeneration=41\nI0729 11:02:14.902 1 status.go:88] \"Updating status\" phase=\"Ready\" replicas=3 readyReplicas=3\nI0729 11:02:14.918 1 controller.go:212] \"Reconciling\" cluster=\"lumen-prod\" generation=41 observedGeneration=41\nI0729 11:02:14.941 1 status.go:88] \"Updating status\" phase=\"Ready\" replicas=3 readyReplicas=3\nI0729 11:02:14.958 1 controller.go:212] \"Reconciling\" cluster=\"lumen-prod\" generation=41 observedGeneration=41\nW0729 11:02:15.002 1 reflector.go:539] watch of *v1alpha1.MessageCluster ended with: too old resource version\nI0729 11:02:15.021 1 controller.go:212] \"Reconciling\" cluster=\"lumen-prod\" generation=41 observedGeneration=41\n\nabout 60 reconciles a second, CPU pinned, nothing in the cluster is actually changing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Em projects/dovetail/web/components/FilterDrawer.vue, o DovetailDeltaCanvasStore tem um problema intermitente no fluxo de Redis Streams. A causa já é conhecida: mude apenas o timeout de staging de 15 para 30 segundos e ajuste a assertion.\n\nRestrições:\n- continuar com Redis Streams\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao DovetailDeltaCanvasStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"pt"}
{"prompt": "push notifications stopped for ios users on tuesday, apns feedback:\n\n{\"reason\":\"BadDeviceToken\",\"timestamp\":1753843201} count=41221\n{\"reason\":\"Unregistered\",\"timestamp\":1753843261} count=8814\n{\"reason\":\"TopicDisallowed\"} count=2201\n{\"reason\":\"ExpiredProviderToken\"} count=1\n\nour side:\n push_send_total{result=\"error\"} 52,236 in 24h\n push_send_total{result=\"ok\"} 1,102 in 24h\n last successful send: 2026-07-27T23:58:02Z\n\nwe did rotate the signing key on monday but the ExpiredProviderToken count is 1, not 52 thousand", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"For DovetailPrismCacheCoordinator, assess ownership and failure handling in projects/dovetail/app/src/main/SyncWorker.kt; once that is complete, capture the contract and rollback note for consumers. Work from projects/dovetail/app/src/main/SyncWorker.kt, stay with Playwright, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "go vet after the operator refactor, all in one file:\n\n./internal/controller/cluster_controller.go:88:2: loop variable c captured by func literal\n./internal/controller/cluster_controller.go:141:12: the cancel function returned by context.WithTimeout should be called, not discarded, to avoid a context leak\n./internal/controller/cluster_controller.go:212:5: unreachable code\n./internal/controller/status.go:41:9: result of fmt.Sprintf call not used\n\nvet: exit status 1\nmake: *** [Makefile:22: vet] Error 1", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-44148\n\n08:02 deploy DovetailWillowCodecFlow 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\nTurn the artifact into a reversible DovetailWillowCodecFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "one timestamp helper, not three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"DovetailJuniperCLICoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "what does `wal_sync: batch` promise? write it down", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"What is the safest way to split projects/dovetail/cmd/exporter/main.py into independently owned modules while DovetailMoonlitSDKService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "why does compaction stall at 12%?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Rename DovetailTideWorkerStore's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "thread screen has eleven hardcoded colours and three magic paddings; move it onto the design tokens without changing how it looks", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-44133: retire the legacy replay path for DovetailPrismCacheFlow\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 DovetailPrismCacheFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "design handoff for the thread screen's reply bar, react native:\n\nReply bar\n- Pinned to the keyboard, 52pt minimum height, grows to 5 lines then scrolls internally.\n- Leading: attach button 32pt, tinted secondary; long-press opens the media sheet.\n- Text input: 16pt, placeholder \"Message\", no border, 8pt vertical padding.\n- Trailing: send button appears only when there's text, 28pt circle, scales in over 120ms.\n- Reply-to state: a 40pt strip above the input with a 2pt accent bar, the quoted text truncated to one line, and an X to clear.\n- Typing indicator sits above the bar, fades in after 400ms of a peer typing, out after 3s of silence.\n- Safe area: the bar must sit above the home indicator, and the keyboard animation must not cause a jump on iOS 18.\n- Offline: the bar stays usable, sent messages show a clock glyph until acknowledged.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/dovetail/web/components/FilterDrawer.vue: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: dovetailcopperbridgeflow::scheduler::LeaseTask::flush\n at ./projects/dovetail/web/components/FilterDrawer.vue:217:18\n 4: dovetailcopperbridgeflow::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\nFind the source of this DovetailCopperBridgeFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "is our eviction fallback safe?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Does DovetailBasilRunnerService 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": "support burden is dominated by three things — retention misconfiguration, push registration failures and pod evictions — and support keeps asking for documentation rather than fixes, which i suspect is the wrong instinct for at least two of them. work through each one and tell me whether the answer is docs, better defaults, a validating webhook, or actual engineering, with the reasoning laid out", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"DovetailCedarPolicyCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "a customer's security team asked why the operator needs cluster-admin and the honest answer is that nobody trimmed the ClusterRole after the prototype. work out the minimum permissions the operator actually uses from the code, then write the page explaining each permission and why it's needed, in the tone of someone who expects to be challenged on every line", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Nimbus: Ticket OPS-44111: retire the legacy replay path for DovetailBeaconStoreFlow\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 DovetailBeaconStoreFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "we tell customers that messages within a thread are delivered in server-accept order, and i now think that's a claim about the accept path that the fanout path doesn't honour. rather than change the code first, i want the actual guarantee written down accurately — what holds, under what conditions it doesn't, and what a client should do if it cares", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Opal: What does DovetailOspreyJobService own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "messages arrive out of order for maybe one user in a thousand, here's a trace from one of them:\n\nsend msg=01HR9K2M seq=4118 client_ts=11:02:14.221 server_ts=11:02:14.402 shard=7\nsend msg=01HR9K2N seq=4119 client_ts=11:02:14.318 server_ts=11:02:14.396 shard=7\nfanout msg=01HR9K2N to=4 devices at=11:02:14.441\nfanout msg=01HR9K2M to=4 devices at=11:02:14.512\nack msg=01HR9K2N device=ios-88a1 at=11:02:14.602\nack msg=01HR9K2M device=ios-88a1 at=11:02:14.688\nrender order on device: 01HR9K2N then 01HR9K2M\n\nthe client sorts by server_ts, and as you can see the later message got the earlier server timestamp", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Is DovetailTideWorkerService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "le CI est rouge une fois sur cinq, toujours sur le même test d'intégration :\n\n--- FAIL: TestOperatorScalesDownIdleClusters (30.12s)\n operator_test.go:141: expected 1 replica after idle timeout, got 3\n operator_test.go:148: last reconcile at 2026-07-29T11:04:02Z, idle since 2026-07-29T11:02:31Z\n operator_test.go:152: envtest apiserver logs:\n W0729 11:04:01.882 1 dispatcher.go:210] slow webhook response: 4.1s\n W0729 11:04:02.114 1 admission.go:88] mutating webhook \"defaults.lumen.io\" timed out\nFAIL\nFAIL github.com/lumen/operator/internal/controller 62.441s\n\nen local, avec -count=20, jamais d'échec", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "fr"} {"prompt":"Release verification found a single stale DovetailSlateEditorStore 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- make rollback possible without deleting user data\n- retain the current Core Data operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS 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": "CRD we're about to publish. once this is in customers' clusters we can't take it back:\n\nspec:\n versions:\n - name: v1alpha1\n served: true\n storage: true\n schema:\n openAPIV3Schema:\n type: object\n properties:\n spec:\n type: object\n properties:\n replicas: { type: integer }\n retention: { type: string }\n storage: { type: string }\n tuning:\n type: object\n x-kubernetes-preserve-unknown-fields: true\n required: [replicas]\n subresources: {}\n\nno status subresource, no defaulting, retention is a free-form string", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Prism: Incident timeline — INC-44116\n\n08:02 deploy DovetailFrostPanelFlow 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 DovetailFrostPanelFlow 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": "on-call handover notes for the week, turn them into something the next person can actually use:\n\n- broker pods evicting on ephemeral storage, spool file is unbounded, ticket LUM-441, workaround is a cron that truncates it (yes really)\n- push delivery to ios is degraded, apple's feedback says BadDeviceToken en masse, suspect the token migration, dana is on it\n- compaction on shard 7 stalls if you let the flush queue fill, restart the node, it recovers in about 4 minutes\n- do not scale the operator deployment above 1, leader election is broken and two of them fight\n- the staging cluster's certs expire on the 12th, renewal is manual, instructions are in dana's dms somewhere\n- alert `BrokerLagHigh` fires nightly at 02:00 during compaction and is safe to ignore for 20 minutes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Could the reasoning behind DovetailDriftConsoleStore's Redis Streams choices be captured as an ADR for engineers joining the project next quarter?","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "storage config knobs we expose, and no documentation anywhere. write the operator's tuning reference:\n\ntuning:\n block_cache_mb: 4096 # default 512\n write_buffer_mb: 256 # default 64\n max_write_buffers: 4 # default 2\n compaction_threads: 8 # default 2\n level0_stall_threshold: 8 # default 12\n bloom_bits_per_key: 10 # default 10\n compression: zstd # none | lz4 | zstd\n wal_sync: batch # always | batch | never\n\nthings the team knows: block_cache_mb above 60% of container memory gets you OOMKilled; wal_sync=never loses acknowledged writes on power loss; compaction_threads above the core count makes stalls worse, not better", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailFlintTimelineService 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": "upgrade notes needed for the retention change, here's what actually happens:\n\n- before: `retention` was a free-form string, we parsed \"7d\", \"1 week\", \"168h\" and silently defaulted to 7 days on anything we couldn't parse\n- after: only ISO-8601 durations are accepted, the CRD rejects everything else at admission\n- on upgrade, a migration job rewrites existing values it can parse and marks clusters it can't as `Degraded` with a message\n- clusters stuck in Degraded keep serving, they just refuse spec changes until retention is fixed\n- there's no automatic rollback; downgrading the operator leaves ISO values that the old parser reads as 7 days\n\nwrite the upgrade guide for self-hosted operators", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around DovetailCopperBridgeCoordinator: (1) find the unknown cause of stale cursors when a page is resumed; (2) give the existing implementation a read-only safety pass. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "detox config and the CI job disagree about the simulator, so e2e never runs on CI:\n\n// .detoxrc.js\ndevices: {\n simulator: { type: 'ios.simulator', device: { type: 'iPhone 16' } }\n},\nconfigurations: {\n 'ios.sim.debug': { device: 'simulator', app: 'ios.debug' }\n}\n\n# .github/workflows/e2e.yml\n- run: xcrun simctl list devices available | grep \"iPhone 15\"\n- run: yarn detox build --configuration ios.sim.release\n- run: yarn detox test --configuration ios.sim.release --cleanup\n\nerror: Failed to find a device by type = \"iPhone 16\"\nDetox can only run on: iPhone 15, iPhone 15 Pro, iPad Air (5th generation)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailPineMetricsCoordinator: ship, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "three components render the same message row and they've drifted. one component, same visuals:\n\n// MessageBubble.tsx — used in the thread\n<View style={[s.bubble, mine && s.mine]}>\n <Text style={s.body}>{m.body}</Text>\n <Text style={s.ts}>{formatTimestamp(m.serverTs)}</Text>\n</View>\n\n// SearchResultRow.tsx\n<View style={s.row}>\n <Text numberOfLines={2} style={s.body}>{m.body}</Text>\n <Text style={s.ts}>{format(m.serverTs, 'HH:mm')}</Text>\n</View>\n\n// PinnedMessage.tsx\n<Pressable onPress={onJump} style={s.pinned}>\n <Text numberOfLines={1}>{m.body}</Text>\n <Text style={s.tsSmall}>{relativeTime(m.serverTs)}</Text>\n</Pressable>\n\nthree timestamp helpers too, all in different files", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Describe DovetailFernSnapshotStore's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "navigation params are typed three different ways and it's why the deep link bug keeps coming back:\n\n// AppNavigator.tsx\nexport type RootStackParamList = {\n ThreadList: undefined\n Thread: { threadId: string; highlight?: string }\n Profile: { userId: string }\n}\n\n// ThreadScreen.tsx\ntype Props = { route: { params: { threadId: string; highlightMessage?: string } } }\n\n// deeplink.ts\nconst parse = (url: string): { screen: string; params: Record<string, any> } => ...\n\nthe highlight param is called `highlight` in one place and `highlightMessage` in another", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Quartz: Ticket OPS-44149: retire the legacy replay path for DovetailEchoRegistryFlow\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 DovetailEchoRegistryFlow 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": "test helpers duplicated across three packages, with the usual small differences:\n\n// internal/controller/testutil.go\nfunc newCluster(name string, replicas int32) *v1alpha1.MessageCluster { ... }\n\n// internal/webhook/helpers_test.go\nfunc makeCluster(ns, name string) *v1alpha1.MessageCluster { ... } // sets defaults\n\n// test/e2e/fixtures.go\nfunc Cluster(opts ...ClusterOpt) *v1alpha1.MessageCluster { ... } // sets defaults + status\n\nabout 60 call sites between them, and the webhook one sets a field the others don't", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"En projects/dovetail/config/staging.toml, DovetailBeaconStoreStore tiene un problema intermitente en el flujo de React 19. La causa ya está clara: cambia solo el timeout de staging de 15 a 30 segundos y ajusta su assertion.\n\nRestricciones:\n- seguir con React 19\n- conservar compatibilidad y cancelación\n- limitar el cambio a DovetailBeaconStoreStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"es"}
{"prompt": "spool cap default to 8GB", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"DovetailRavenSessionService'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": "el placeholder dice «Mensage», falta una j", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "es"} {"prompt":"Raven: Incident timeline — INC-44118\n\n08:02 deploy DovetailFernSnapshotFlow 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\nTurn the artifact into a reversible DovetailFernSnapshotFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "mobile team wants to drop the old react native architecture and they can't until the notification module is rewritten, which nobody has scoped. before anyone starts, i'd like the migration mapped out: what depends on the old module, what the new one has to do, how we ship it without a big-bang release, and what we do about the two native modules a contractor wrote and nobody understands", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for DovetailAcornWidgetCoordinator:\n- primary outcome: assess ownership and failure handling in projects/dovetail/engine/render/atlas.cpp\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/dovetail/engine/render/atlas.cpp\n- platform constraint: Terraform\n- known complication: an empty state that flashes before cached data arrives\n\nBoth results are required, but they should remain independently reviewable. Make rollback possible without deleting user data; 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":"review","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "an audit is booked for october and it will produce findings we can't predict, which is a bad way to spend a quarter. i'd rather we found the obvious things first: how would you scope a pre-audit review of the message path, the operator's RBAC, the mobile token storage and the admin tooling, given about two weeks of one engineer's time", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"DovetailCoralUploadCoordinator is blocking the next release because a deadlock that appears only during shutdown. I need two concrete outcomes from a single pass: find the unknown cause of a deadlock that appears only during shutdown, and capture the contract and rollback note for consumers. Use the existing Core Data conventions in projects/dovetail/Sources/CLI/Commands/Doctor.swift; make rollback possible without deleting user data. 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":"debugging","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "consistency model is implemented and undocumented, which means every customer question about it gets a slightly different answer depending on who replies. write the public page: what a write acknowledgement means, what a read can and cannot see, what happens during an election, and be explicit about the guarantees we do not offer rather than quietly omitting them", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"# projects/dovetail/pkg/cache/lease.rs\n[worker.dovetailasterwebhookflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailasterwebhookflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailasterwebhookflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailAsterWebhookFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44126\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/dovetail/pkg/cache/lease.rs and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "tuning knobs we expose through the CRD are documented as a list of field names with no explanation, and the dangerous ones look exactly like the harmless ones. write the tuning reference: what each knob does, sensible ranges, the interactions between them, and a prominent warning on the two that can lose acknowledged writes or get the pod OOMKilled", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"On compact widths, DovetailCinderAuthService'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.4,"slice":"core","lang":"en"}
{"prompt": "operator's finalizer logic looks fine to me and yet we have three clusters stuck terminating for two days. work out whether the teardown path can genuinely fail forever, whether removing the finalizer before the update lands is possible, and what state a partially torn-down cluster leaves behind", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Sable: Incident timeline — INC-44156\n\n08:02 deploy DovetailMosaicGridCoordinator 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\nTurn the material above into a concise DovetailMosaicGridCoordinator 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": "admin console's cluster detail page is unusable on a phone, which is exactly where people open it during an incident, and the stat tiles overflow into a horizontal scroll that hides the conditions table entirely. make it work down to 320px without building a separate mobile view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Tide: Ticket OPS-44143: retire the legacy replay path for DovetailLumenChartFlow\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 DovetailLumenChartFlow decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "i want an honest read on whether our WAL's relaxed ordering is correct with four writer threads, and if it isn't, the fix — with a test that fails reliably on the current code under tsan", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"A previously stable test around DovetailWillowCodecStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "scan and iterator both know about page pinning, and neither can be tested without a real page cache", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/dovetail/ui/settings/PrivacyPane.tsx b/projects/dovetail/ui/settings/PrivacyPane.tsx\nindex 62d71aa..90f3c1e 100644\n--- a/projects/dovetail/ui/settings/PrivacyPane.tsx\n+++ b/projects/dovetail/ui/settings/PrivacyPane.tsx\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Read the artifact above as a skeptical reviewer. Is DovetailTideWorkerFlow'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": "how does the client decide a message is undelivered — is that a timeout, an ack, or the absence of one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"DovetailMicaProfileCoordinator: polish the last piece","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "go vet is failing on a captured loop var", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/dovetail/web/components/FilterDrawer.vue recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "operator replicas back to 1 for now", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-44113: retire the legacy replay path for DovetailWrenExportFlow\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Add the bounded DovetailWrenExportFlow replay flow described here, including authorization, key rotation, cancellation, lag metrics, and tests for malformed and cross-tenant cursors.","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "one device-lookup source for fanout", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Umbra: Ticket OPS-44136: retire the legacy replay path for DovetailGarnetModalFlow\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 DovetailGarnetModalFlow 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": "why is the leader taking 70% of reads?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"DovetailFernSnapshotCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "push registration retries on every failure code including permanent ones, which is how we spent a day hammering apple with dead tokens", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Corrija o timeout de DovetailCloudReconcilerService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"pt"}
{"prompt": "what does `has_more` actually mean on the messages endpoint when a page ends exactly on the last message", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Before we approve DovetailNimbusFormService, assess whether lost focus when the drawer animation finishes is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our alerting was assembled per-service by different people and pages for things that resolve themselves nightly, what would a coherent set of alerts look like", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"DovetailKiteSchedulerFlow needs an idempotent replay endpoint backed by Core Data; 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": "the admin console needs a proper empty state for a namespace with no clusters, because right now you get a bare table header and people assume it's broken and file a ticket. design and build it: an explanation, the kubectl command that creates one, a link to the getting-started page, and the same treatment for a filtered view that matches nothing", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"} {"prompt":"DovetailSpruceDaemonCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "message row component, shared across screens", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"The next client release depends on a new DovetailCoralUploadService capability in projects/dovetail/Sources/App/SessionStore.swift, with Core Data 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- make rollback possible without deleting user data\n- stay compatible with the existing Core Data deployment\n- keep the work scoped to DovetailCoralUploadService and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "our cluster status pill uses four colours that are nearly indistinguishable on a projector and identical in greyscale, which came up when someone screenshared during an incident. give each status a distinct shape or glyph as well as a colour, keep the pill compact enough for the table, and make sure the degraded and progressing states read differently at a glance", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Vela: The data is already available in projects/dovetail/pkg/cache/lease.rs; 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": "the spool file format and its replay behaviour are known to exactly two people, and one of them is on parental leave from November. write the internal reference: the on-disk layout, how segments are ordered, what happens on a checksum failure, what replay does with a partially written record, and what an operator can safely delete when a disk fills up", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Parse DovetailHarborIndexStore's signed cursor","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "is the session object in AsyncStorage a problem on a rooted device, or am i worrying about the wrong thing", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up DovetailWrenExportCoordinator. First, find the unknown cause of out-of-order events after consumer rebalancing. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/dovetail/app/src/main/SyncWorker.kt, which follows Playwright conventions and currently suffers from out-of-order events after consumer rebalancing. Make rollback possible without deleting user data.\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":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "a plain description of what happens between a client sending and every device rendering would help me a lot", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"DovetailSpruceDaemonService returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/dovetail/web/components/FilterDrawer.vue and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "design system tokens we're meant to be using, and the thread screen ignores half of them:\n\ncolors.surface #0E1116 (dark) / #FFFFFF (light)\ncolors.surfaceRaised #161B22 / #F6F8FA\ncolors.textPrimary #E6EDF3 / #1F2328\ncolors.textSecondary #8B949E / #59636E\ncolors.accent #2F81F7\nspacing 4 / 8 / 12 / 16 / 24 / 32\nradius sm 6, md 10, lg 16, pill 999\ntype body 16/22, caption 13/18, title 20/26\n\nthe thread screen has 11 hardcoded hex values, three magic paddings and its own font sizes. bring it onto the tokens without changing how it looks beyond what the tokens force", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Willow: Ticket OPS-44141: retire the legacy replay path for DovetailMicaProfileFlow\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 DovetailMicaProfileFlow 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": "support is guessing at what our error codes mean and inventing explanations for customers. build the reference table from the code, and where a code is genuinely unhelpful — three of them just say \"internal\" — change the message to something a human could act on", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"// projects/dovetail/infra/modules/edge/main.tf\nfinal class DovetailFlintTimelineFlowCoordinator {\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\nWalk through what the artifact proves about DovetailFlintTimelineFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "thread list shows a stale last-message preview for about ten seconds after sending, then corrects itself", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"DovetailWillowCodecCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "message reactions need a server-side aggregate rather than counting rows on every read, and the mobile team wants it this sprint", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"PM is preparing the DovetailIrisBatchService 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 DovetailIrisBatchService\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "we need a way to mark a device's push token dead after a permanent failure code, and stop sending to it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Split DovetailJuniperCLIStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "metro bundler is fine but the app white-screens on android release builds only:\n\nFATAL EXCEPTION: mqt_native_modules\nProcess: chat.lumen.app, PID: 9912\ncom.facebook.react.common.JavascriptException: TypeError: Cannot read property 'prototype' of undefined\n\nThis error is located at:\n in ThreadListScreen (created by SceneView)\n in SceneView (created by NativeStackView)\n in RNSScreenContentWrapper\n in NativeStackNavigator\n in AppNavigator (created by App)\n\n at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:65)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)\n\ndebug builds are perfectly fine, and it started after we enabled hermes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-44154\n\n08:02 deploy DovetailMarbleTokenCoordinator 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 DovetailMarbleTokenCoordinator, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "query planner picks a different plan in prod than in staging for the identical query and stats:\n\n staging:\n Index Scan using idx_messages_thread_created on messages (cost=0.56..812.44 rows=412 width=88)\n Index Cond: ((thread_id = $1) AND (created_at > $2))\n Filter: (deleted_at IS NULL)\n\n prod:\n Bitmap Heap Scan on messages (cost=4412.10..214882.31 rows=88214 width=88)\n Recheck Cond: (thread_id = $1)\n Filter: ((created_at > $2) AND (deleted_at IS NULL))\n Rows Removed by Filter: 1204118\n -> Bitmap Index Scan on idx_messages_thread (cost=0.00..4390.05 rows=88214 width=0)\n\nsame postgres version, same indexes, ANALYZE run this morning on both", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailSlateEditorCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "sanitizer output from the storage engine tests, only under -j16:\n\n==41221==ERROR: AddressSanitizer: heap-use-after-free on address 0x60700000dfb8 at pc 0x0000004c1a2f\nREAD of size 8 at 0x60700000dfb8 thread T7\n #0 0x4c1a2f in lumen::store::PageCache::pin(uint64_t) src/store/page_cache.cc:141\n #1 0x4c88c0 in lumen::store::Iterator::next() src/store/iterator.cc:88\n #2 0x4d1102 in lumen::exec::ScanNode::Next() src/exec/scan.cc:52\n\n0x60700000dfb8 is located 8 bytes inside of 72-byte region\nfreed by thread T3 here:\n #0 0x49a112 in operator delete(void*)\n #1 0x4c0f40 in lumen::store::PageCache::evict(uint64_t) src/store/page_cache.cc:212\n\npreviously allocated by thread T3 here:\n #1 0x4c0221 in lumen::store::PageCache::load(uint64_t) src/store/page_cache.cc:88\n\nsingle-threaded runs are clean, and this has probably been there for months", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"A copied hex color in DovetailEmberRelayService lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "pods get evicted every few hours and the events are not telling me much:\n\nEvents:\n Type Reason Age From Message\n ---- ------ ---- ---- -------\n Warning Evicted 32m kubelet The node was low on resource: ephemeral-storage. Container broker was using 41Gi, which exceeds its request of 2Gi.\n Normal Killing 32m kubelet Stopping container broker\n Warning Evicted 18m kubelet The node was low on resource: ephemeral-storage. Container broker was using 39Gi, which exceeds its request of 2Gi.\n Normal Pulled 17m kubelet Container image \"ghcr.io/lumen/broker:2.11.4\" already present on machine\n Warning BackOff 4m (x12 over 16m) kubelet Back-off restarting failed container\n\nthe broker writes a spool file to /tmp and we thought that was bounded", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailTideWorkerCoordinator needs a paired pass: assess ownership and failure handling in projects/dovetail/workers/thumbnail/consumer.ex, plus capture the contract and rollback note for consumers. Use projects/dovetail/workers/thumbnail/consumer.ex as the source of truth, preserve the Terraform contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "react native app drops frames scrolling long threads, here's the profiler summary:\n\nJS thread: 41 fps avg, 12 fps min\nUI thread: 58 fps avg\n\nTop offenders (self time, 10s sample):\n MessageBubble render 2841ms (3,912 renders)\n useThreadMessages selector 1102ms (3,912 calls)\n formatTimestamp 884ms (11,736 calls)\n Animated.timing 412ms\n FlatList onViewableItemsChanged 388ms\n\nRe-render reasons for MessageBubble:\n props.message changed 12%\n props.onLongPress changed 71%\n context value changed 17%\n\nthe list has 400 items and windowSize is at the default", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Xylem: # projects/dovetail/cmd/exporter/main.py\n[worker.dovetailslateeditorflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailslateeditorflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailslateeditorflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailSlateEditorFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44117\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/dovetail/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": "nightly compaction stalled and the only clue is this:\n\n[compaction] level=1 files=41 target=L2 started\n[compaction] level=1 read 2.1GB in 41s\n[compaction] level=2 merge started, output sst=00041.sst\n[compaction] level=2 merge progress 12% after 300s\n[compaction] level=2 merge progress 12% after 600s\n[compaction] level=2 merge progress 12% after 900s\n[bg] flush queue depth 8 (max 8), writes stalled\n[bg] write stall total 14m22s\n[compaction] level=2 merge progress 13% after 1200s\n\nthe machine is not CPU bound, iostat shows 4% utilisation, and there is 400GB free", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Yarrow: Two asks around DovetailNovaPickerCoordinator: (1) lay out a staged migration for DovetailNovaPickerCoordinator; (2) also add the visible loading and offline states. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "someone's proposed this for the operator's finalizer handling. sound?\n\nfunc (r *ClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n\tvar c v1alpha1.MessageCluster\n\tif err := r.Get(ctx, req.NamespacedName, &c); err != nil {\n\t\treturn ctrl.Result{}, client.IgnoreNotFound(err)\n\t}\n\tif !c.DeletionTimestamp.IsZero() {\n\t\tif err := r.teardown(ctx, &c); err != nil {\n\t\t\treturn ctrl.Result{RequeueAfter: 10 * time.Second}, nil\n\t\t}\n\t\tcontrollerutil.RemoveFinalizer(&c, finalizerName)\n\t\treturn ctrl.Result{}, r.Update(ctx, &c)\n\t}\n\tcontrollerutil.AddFinalizer(&c, finalizerName)\n\tif err := r.Update(ctx, &c); err != nil {\n\t\treturn ctrl.Result{}, err\n\t}\n\treturn r.reconcileNormal(ctx, &c)\n}", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"In projects/dovetail/packages/api/openapi.yaml hat DovetailBeaconStoreService ein sporadisches Problem im React 19-Ablauf. Lies den aktuellen Ablauf und bewerte Ownership, Abbruch und Reihenfolge; ich brauche nur die Analyse.\n\nRandbedingungen:\n- React 19 weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf DovetailBeaconStoreService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um DovetailBeaconStoreService mit React 19 kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"de"}
{"prompt": "por favor, revisa este helm chart antes de que lo subamos al repo público:\n\napiVersion: apps/v1\nkind: StatefulSet\nspec:\n replicas: {{ .Values.replicas }}\n template:\n spec:\n securityContext:\n runAsUser: 0\n containers:\n - name: broker\n image: \"ghcr.io/lumen/broker:{{ .Values.tag | default \"latest\" }}\"\n env:\n - name: ADMIN_TOKEN\n value: {{ .Values.adminToken | quote }}\n ports:\n - containerPort: 9092\n hostPort: 9092\n volumeMounts:\n - name: spool\n mountPath: /tmp/spool\n volumes:\n - name: spool\n emptyDir: {}\n\nlo van a instalar clientes en sus propios clústeres", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "es"} {"prompt":"DovetailFrostPanelCoordinator: correct, then assess","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "hook that every screen uses. i keep being told it's fine and the app disagrees:\n\nexport function useThreadMessages(threadId: string) {\n const [messages, setMessages] = useState<Message[]>([])\n const { socket } = useSocket()\n\n useEffect(() => {\n let cancelled = false\n api.messages(threadId).then(m => { if (!cancelled) setMessages(m) })\n const off = socket.on('message', (m: Message) => {\n if (m.threadId === threadId) setMessages(prev => [...prev, m].sort(byServerTs))\n })\n return () => { cancelled = true; off() }\n }, [threadId, socket])\n\n const onLongPress = (id: string) => actions.openMenu(id)\n return { messages, onLongPress }\n}", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Outline a safer DovetailCedarPolicyStore cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "buffer pool eviction policy, inherited and never questioned:\n\nPage* PageCache::Evict() {\n std::lock_guard<std::mutex> g(mu_);\n auto victim = lru_.back();\n while (victim && victim->pin_count.load() > 0) {\n victim = victim->prev;\n }\n if (!victim) {\n victim = lru_.back(); // give up, take the last one anyway\n }\n lru_.erase(victim);\n map_.erase(victim->page_id);\n return victim;\n}\n\nis the fallback there for a reason anyone can defend, and what does it do to a pinned page under load?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-44150\n\n08:02 deploy DovetailDriftConsoleCoordinator 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\nTurn the material above into a concise DovetailDriftConsoleCoordinator 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": "security asked about our token handling in the mobile app and this is what i found:\n\n// auth/storage.ts\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport const saveSession = (s: Session) =>\n AsyncStorage.setItem('session', JSON.stringify(s))\n\nexport const loadSession = async (): Promise<Session | null> => {\n const raw = await AsyncStorage.getItem('session')\n return raw ? JSON.parse(raw) : null\n}\n\n// api/client.ts\nconst client = axios.create({ baseURL: API })\nclient.interceptors.request.use(async cfg => {\n const s = await loadSession()\n if (s) cfg.headers.Authorization = `Bearer ${s.accessToken}`\n return cfg\n})\n\nrefresh tokens live in the same object, ttl 90 days", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for DovetailBeaconStoreCoordinator:\n- primary outcome: separate DovetailBeaconStoreCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/dovetail/config/staging.toml\n- platform constraint: React 19\n- known complication: a feature flag whose default differs between environments\n\nBoth results are required, but they should remain independently reviewable. Make rollback possible without deleting user data; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "raw notes from the incident call, we owe the customer a written explanation by tomorrow:\n\n- 09:12 customer reports messages not arriving on ios\n- 09:20 we confirm push failures at 98%, android unaffected\n- 09:31 rotated the apns key on monday, suspicion falls there\n- 09:52 rules out the key, the error is BadDeviceToken not auth\n- 10:14 discover the token migration job re-encoded tokens as base64 twice\n- 10:31 stopped the job, 41k tokens affected out of 220k\n- 11:02 re-registration push sent via a silent notification, most devices recover\n- 12:40 remaining 6k devices need to open the app to re-register\n- no messages were lost, they were queued and delivered on re-registration", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/dovetail/pkg/cache/lease.rs: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: dovetailbasilrunnerflow::scheduler::LeaseTask::flush\n at ./projects/dovetail/pkg/cache/lease.rs:217:18\n 4: dovetailbasilrunnerflow::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\nFind the source of this DovetailBasilRunnerFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "my commit is ready and i always write terrible messages. the diff:\n\ndiff --git a/src/exec/scan.cc b/src/exec/scan.cc\n@@ -41,12 +41,19 @@ Status ScanNode::Next(Batch* out) {\n- while (out->size() < batch_size_) {\n- auto page = cache_->Pin(iter_->page_id());\n- out->Append(iter_->Value());\n- cache_->Unpin(page);\n- iter_->Next();\n- }\n+ auto page = cache_->Pin(iter_->page_id());\n+ auto guard = absl::MakeCleanup([&] { cache_->Unpin(page); });\n+ while (out->size() < batch_size_) {\n+ if (iter_->page_id() != page->id) {\n+ cache_->Unpin(page);\n+ page = cache_->Pin(iter_->page_id());\n+ }\n+ out->Append(iter_->Value());\n+ iter_->Next();\n+ }\n return Status::OK();\n }\n\nwe use conventional commits and the body should explain why, not what", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Describe DovetailJuniperCLIService's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "schreib bitte die Release Notes für 2.12 aus diesen Tickets:\n\nLUM-402 Broker: Spool-Datei wird jetzt bei 2 GB rotiert statt unbegrenzt zu wachsen\nLUM-417 Operator: Leader Election repariert, mehrere Replicas sind jetzt unterstützt\nLUM-421 Storage: Kompaktierung blockiert nicht mehr, wenn die Flush-Queue voll ist\nLUM-433 API: `retention` akzeptiert jetzt nur noch ISO-8601-Dauern, alte Werte werden beim Upgrade migriert\nLUM-441 Mobile: Push-Registrierung wird bei ungültigem Token automatisch erneuert\nLUM-448 Breaking: `tuning.wal_sync=never` wurde entfernt\n\nZielgruppe sind Betreiber, die selbst hosten", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "de"} {"prompt":"The DovetailEchoRegistryService empty state in projects/dovetail/ui/settings/PrivacyPane.tsx needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "gostava de ter um documento sobre o modelo de consistência, a partir do que está no código:\n\n- as escritas vão para o líder do shard e são replicadas para dois seguidores\n- o ack ao cliente acontece depois de um seguidor confirmar, não os dois\n- as leituras podem ir para qualquer réplica, exceto quando o cliente envia o cabeçalho `X-Read-Your-Writes`\n- nesse caso a leitura vai para o líder e espera pelo LSN indicado pelo cliente\n- durante uma eleição, as escritas falham com 503 durante 2 a 5 segundos\n- não há garantia de leitura monotónica entre réplicas diferentes\n\nescreve isto como página de documentação pública, com os avisos que forem precisos", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "pt"} {"prompt":"Zephyr: projects/dovetail/internal/auth/refresh.go now contains DovetailFlintTimelineStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "eslint and the react compiler disagree about our hooks, and i just want a green build:\n\nsrc/hooks/useThreadMessages.ts\n 14:6 warning React Hook useEffect has a missing dependency: 'api' react-hooks/exhaustive-deps\n 22:9 error Ref values ('cancelled.current') should not be read during render react-hooks/react-compiler\n\nsrc/screens/ThreadListScreen.tsx\n 41:11 error Component definition is missing display name react/display-name\n 88:3 warning Fast refresh only works when a file only exports components react-refresh/only-export-components\n\nsrc/components/MessageBubble.tsx\n 102:5 error 'onLongPress' changes on every render, wrap it in useCallback react-hooks/react-compiler\n\n✖ 5 problems (3 errors, 2 warnings)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailRainfallDBCoordinator: restructure, then document","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "clang-tidy on the storage engine, the new checks are noisy but two look real:\n\nsrc/store/page_cache.cc:141:10: warning: 'pin' is called on a possibly-null pointer [bugprone-unchecked-optional-access]\nsrc/store/page_cache.cc:212:5: warning: loop variable 'victim' is copied but only used as const reference [performance-for-range-copy]\nsrc/exec/scan.cc:88:22: warning: narrowing conversion from 'size_t' to 'int' [bugprone-narrowing-conversions]\nsrc/wal/writer.cc:44:9: warning: atomic operation on 'latest_lsn_' uses relaxed ordering, consider seq_cst [concurrency-mt-unsafe]\nsrc/util/arena.cc:19:1: warning: function 'Allocate' exceeds recommended size/complexity thresholds [readability-function-size]\n\n5 warnings generated, CI treats them as errors since last week", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Release verification found a single stale DovetailOrbitSyncService 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- make rollback possible without deleting user data\n- retain the current Redis Streams operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS 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": "kustomize diff between our two environments, one of these is why prod restarts more:\n\n--- base/broker/statefulset.yaml\n+++ overlays/prod/statefulset.yaml\n@@\n resources:\n requests:\n- memory: 2Gi\n- ephemeral-storage: 2Gi\n+ memory: 8Gi\n+ ephemeral-storage: 2Gi\n limits:\n- memory: 4Gi\n+ memory: 8Gi\n@@\n env:\n- - name: BLOCK_CACHE_MB\n- value: \"512\"\n+ - name: BLOCK_CACHE_MB\n+ value: \"6144\"\n@@\n terminationGracePeriodSeconds: 30\n+ # prod only\n+ livenessProbe:\n+ initialDelaySeconds: 5\n+ periodSeconds: 5\n+ failureThreshold: 2", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Flip DovetailNovaPickerStore's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "prometheus rule that pages us every night at 02:00 and is always benign:\n\n- alert: BrokerLagHigh\n expr: max by (shard) (broker_consumer_lag) > 10000\n for: 2m\n labels:\n severity: page\n annotations:\n summary: \"broker lag on shard {{ $labels.shard }}\"\n\nnightly pattern:\n 02:00 lag climbs to ~40k during compaction\n 02:18 lag drains to under 1k\n 02:19 alert resolves\n\nduring a real incident in june, lag went to 400k and stayed there for an hour", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Please resist widening this one: DovetailCoralUploadStore works, but staging still carries a setting that production corrected last month. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside DovetailCoralUploadStore\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "dependabot on the mobile app, four PRs open and i want to merge what's safe:\n\nreact-native 0.79.2 -> 0.80.0 (major-ish, they don't do semver properly)\n@react-navigation/native 6.1.18 -> 7.0.2 (breaking: linking config shape changed)\naxios 1.7.4 -> 1.11.2 (advisory GHSA-jr83, SSRF via redirect)\ndate-fns 3.6.0 -> 4.1.0 (breaking: timezone handling moved to a separate package)\n\nour app pins react-native in three places: package.json, ios/Podfile.lock and the expo config plugin", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"DovetailRavenSessionCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "this reconciler does everything and i want the same behaviour in pieces i can test:\n\nfunc (r *ClusterReconciler) reconcileNormal(ctx context.Context, c *v1alpha1.MessageCluster) (ctrl.Result, error) {\n\t// 40 lines: ensure statefulset, diff spec, update if drifted\n\t// 30 lines: ensure service, headless service, and the ingress if enabled\n\t// 25 lines: ensure configmap from spec.tuning with defaults applied inline\n\t// 35 lines: ensure PVCs, resize if storage grew, refuse if it shrank\n\t// 50 lines: compute status from pod conditions and write it back\n\t// 20 lines: emit events for every transition\n\treturn ctrl.Result{RequeueAfter: time.Minute}, nil\n}\n\n200 lines in one function, one test that spins up envtest and asserts on the end state", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating two validators with subtly different error strings in DovetailCinderAuthStore, 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": "error handling in the storage layer, three styles in one file:\n\nStatus PageCache::Load(uint64_t id, Page** out) {\n if (!map_.contains(id)) return Status::NotFound(\"page\");\n ...\n}\n\nPage* PageCache::Pin(uint64_t id) {\n auto it = map_.find(id);\n if (it == map_.end()) { LOG(FATAL) << \"pin of unknown page \" << id; }\n ...\n}\n\nabsl::StatusOr<Page*> PageCache::Fetch(uint64_t id) {\n ...\n}\n\nsame class, three conventions, and one of them crashes the process on a bad id", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Flip DovetailPrismCacheService's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "quatre endroits construisent la même requête de fanout, avec des différences subtiles :\n\n// fanout.go\ndevices, _ := f.devices.For(ctx, m.ThreadID)\n\n// presence.go\nrows, _ := db.Query(ctx, `SELECT device_id FROM devices WHERE thread_id = $1 AND active`, tid)\n\n// admin/tools/resend.go\nrows, _ := db.Query(ctx, `SELECT device_id FROM devices WHERE thread_id = $1`, tid)\n\n// push/retry.go\ndevices := cache.Devices(tid) // peut être périmé de 5 minutes\n\nune seule source, s'il te plaît, et sans changer le comportement du chemin critique", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "fr"} {"prompt":"DovetailEchoRegistryCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "config plumbing in the operator, currently five layers deep:\n\ndefaults := DefaultTuning()\nif c.Spec.Tuning != nil {\n merged := mergeMaps(defaults.AsMap(), c.Spec.Tuning.AsMap())\n if env := os.Getenv(\"LUMEN_TUNING_OVERRIDE\"); env != \"\" {\n var override map[string]any\n _ = json.Unmarshal([]byte(env), &override)\n merged = mergeMaps(merged, override)\n }\n if cm, err := r.getLegacyConfigMap(ctx, c); err == nil {\n merged = mergeMaps(cm.Data, merged) // note: legacy loses\n }\n tuning = TuningFromMap(merged)\n} else {\n tuning = defaults\n}\n\nsame resolved values, one obvious precedence order", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "fr"} {"prompt":"Lay out a two-milestone strategy for eliminating two validators with subtly different error strings in DovetailBirchMigratorService, 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": "quarter planning, and this is what landed in my inbox. i need a sequenced plan out of it:\n\n- self-hosted customers want a supported upgrade path between minor versions; today they redeploy and hope\n- two customers have asked for multi-region, one of them contractually\n- the mobile team wants to drop the old architecture and cannot until the notification module is rewritten\n- storage wants six weeks to finish the compaction work, otherwise the stalls continue\n- support burden is dominated by three things: retention config, push registration, and pod evictions\n- we have one platform engineer and they're on parental leave from November\n- there's a security audit booked for October that will produce work we can't predict", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Add a bounded DovetailBirchMigratorStore export stream that resumes from checkpoints, respects cancellation, and exposes queue lag plus terminal failure counters.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "customer requirement we've signed up to, and nobody has thought about how:\n\n\"Message data for EU tenants must remain within the EU, including backups, logs and any derived data such as search indexes. Cross-region replication is permitted only between EU regions. Support staff outside the EU must not be able to read message content, though they may see metadata necessary for support. The customer requires evidence of this control, not an assurance.\"\n\nwe currently have one region, logs go to a US SaaS, and support has a debug tool that dumps message bodies. i want the plan and an honest list of what we'd have to give up", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'DovetailSummitProxyCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[DovetailSummitProxyCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/dovetail/services/ledger/replay.go:144: error: -[DovetailSummitProxyCoordinatorTests 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 '-[DovetailSummitProxyCoordinatorTests 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\nBring DovetailSummitProxyCoordinator's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "spec for the cluster detail page in our admin console, build it in react:\n\nCluster detail\n- Header: cluster name, namespace as a muted subtitle, a status pill (Ready / Progressing / Degraded / Unknown) and a kebab menu with Edit, Restart and Delete.\n- Summary strip: four stat tiles — replicas ready, storage used vs requested, message rate, consumer lag — each with a 24h sparkline and a click-through to metrics.\n- Conditions table: type, status, reason, message, last transition, newest first, with long messages truncated and expandable.\n- Events panel: last 50 events, warning ones flagged, auto-refreshing every 10 seconds without jumping the scroll position.\n- Degraded state: a banner above the summary explaining the condition in plain language with a link to the matching docs page.\n- Everything must be readable at 320px wide because people open this on phones during incidents.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"How should DovetailQuartzPlayerService be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "accessibility findings from a customer's audit of our mobile app, prioritise and implement:\n\n1. Message bubbles are announced as \"button, text\" with no sender or timestamp; VoiceOver users cannot tell who wrote what.\n2. The send button has no accessibility label, only an icon.\n3. Contrast on the timestamp text is 2.8:1 against the bubble background.\n4. The typing indicator is announced repeatedly, interrupting reading.\n5. Long-press is the only way to react to a message; there is no accessible alternative.\n6. Dynamic Type above the default clips the reply bar and hides the send button entirely.\n7. Focus order in the thread jumps from the header to the reply bar, skipping the message list.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-44123: retire the legacy replay path for DovetailRainfallDBFlow\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 DovetailRainfallDBFlow 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": "api spec we agreed with the mobile team, needs building on the server:\n\nGET /v2/threads/{id}/messages\n query: before (message id), after (message id), limit (default 50, max 200)\n exactly one of before/after may be given; neither means newest page\n response: { data: Message[], has_more: boolean, oldest_id, newest_id }\n Message: { id, thread_id, author_id, body, server_ts, edited_at?, deleted: bool, reactions: {emoji: count} }\n deleted messages come back with body omitted and deleted: true, they still occupy a position\n reads must be consistent within a page — no message may appear twice across pages if nothing changed\n a client with X-Read-Your-Writes: <lsn> must not see a page missing its own just-sent message", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Checkout: A flaky failure around DovetailAmberFilterStore survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside DovetailAmberFilterStore\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.\n\nA real symptom is present, so follow evidence to a cause rather than stopping at a walkthrough.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "axios advisory bump on the mobile app", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Exporter: Ticket OPS-44151: retire the legacy replay path for DovetailMapleQueueCoordinator\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 artifact into a reversible DovetailMapleQueueCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "unread badge counts deleted messages", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Design handed over a final pass for DovetailWrenExportStore, and the basic data flow in projects/dovetail/app/src/main/SyncWorker.kt already works. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- make rollback possible without deleting user data\n- stay compatible with the existing Playwright deployment\n- keep the work scoped to DovetailWrenExportStore and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "detox targets iPhone 15 on CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Queue DovetailOpalRouterStore's expired sessions","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "BrokerLagHigh needs a 20 minute for-clause", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"# projects/dovetail/src/sync/reconcile.ts\n[worker.dovetailirisbatchcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailirisbatchcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailirisbatchcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailIrisBatchCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44158\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/dovetail/src/sync/reconcile.ts. 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": "drop hostPort from the broker chart", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"PM needs a concise migration note for DovetailIrisBatchFlow, 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": "context cancel is discarded in the reconciler", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Give DovetailEchoRegistryStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "block cache 6GB in an 8GB limit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Scheduler: // projects/dovetail/Sources/App/SessionStore.swift\nfinal class DovetailCoralUploadFlowCoordinator {\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 DovetailCoralUploadFlow'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": "le champ `retention` accepte encore n'importe quoi", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "fr"} {"prompt":"Please resist widening this one: DovetailQuartzPlayerStore works, but staging still carries a setting that production corrected last month. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside DovetailQuartzPlayerStore\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "typing indicator should fade, not pop", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Memory attributed to DovetailDriftConsoleFlow 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.6,"slice":"core","lang":"en"}
{"prompt": "our getting-started guide assumes a cluster with cluster-admin, a default storage class and no admission policies, which describes approximately none of our self-hosted customers. rewrite it for someone installing into a restricted namespace, including the values they'll need to override, and be explicit about what will fail and how the failure looks", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"En projects/dovetail/app/src/main/SyncWorker.kt, DovetailVelaDrawerService tiene un problema intermitente en el flujo de Playwright. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con Playwright\n- conservar compatibilidad y cancelación\n- limitar el cambio a DovetailVelaDrawerService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con Playwright alrededor de DovetailVelaDrawerService.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt": "the iterator rewrite makes sequential scans twice as fast and point-lookup misses nearly three times slower, with allocations up by an order of magnitude on mixed workloads. our production traffic is mostly point lookups. read the code alongside the benchmark and tell me whether the regression is inherent to the design or an artefact of how the batch buffer is sized", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Bring DovetailVelaDrawerStore'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.5,"slice":"core","lang":"en"}
{"prompt": "send button needs a label for VoiceOver", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Three teams extended DovetailMapleQueueService 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- make rollback possible without deleting user data\n- retain the current React 19 operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "pinned message strip above the list", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Extract DovetailFrostPanelService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "status pill colours are too similar", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"DovetailMoonlitSDKCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "sparklines on the cluster stat tiles", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Dashboard: projects/dovetail/app/src/main/SyncWorker.kt の DovetailLumenChartService で、Playwright の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- Playwright を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は DovetailLumenChartService のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "die Zeitstempel sind zu blass", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "de"} {"prompt":"DovetailOspreyJobCoordinator needs a paired pass: finish DovetailOspreyJobCoordinator's responsive empty and retry states, plus give the existing implementation a read-only safety pass. Use projects/dovetail/Sources/CLI/Commands/Doctor.swift as the source of truth, preserve the Core Data contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "reply bar jumps when the keyboard opens", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Two deliverables are holding up DovetailOrbitSyncCoordinator. First, find the unknown cause of cancellation being swallowed at the repository boundary. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/dovetail/infra/modules/edge/main.tf, which follows Redis Streams conventions and currently suffers from cancellation being swallowed at the repository boundary. Make rollback possible without deleting user data.\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":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "events panel scroll jumps on refresh", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"For DovetailHarborIndexCoordinator, assess ownership and failure handling in projects/dovetail/lib/codec/frame.cc; once that is complete, capture the contract and rollback note for consumers. Work from projects/dovetail/lib/codec/frame.cc, stay with Terraform, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "conditions table needs a newest-first sort", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Worker: Incident timeline — INC-44144\n\n08:02 deploy DovetailBirchMigratorFlow 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 DovetailBirchMigratorFlow 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": "`highlightMessage` everywhere, pick one name", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Where did DovetailOspreyJobStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "split reconcileNormal into steps", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"For DovetailCloudReconcilerCoordinator, separate DovetailCloudReconcilerCoordinator's policy from transport without behavior changes; once that is complete, correct the known stale timeout beside it. Work from projects/dovetail/cmd/exporter/main.py, stay with Core Data, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "les helpers de test dans un seul paquet", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "fr"} {"prompt":"I inherited DovetailFrostPanelStore and need a careful read of projects/dovetail/pkg/cache/lease.rs before I can sign off on the next release. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- make rollback possible without deleting user data\n- stay compatible with the existing React 19 deployment\n- keep the work scoped to DovetailFrostPanelStore and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "`PageCache::Fetch` naming, be consistent", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Read projects/dovetail/db/migrations/20260730_events.sql and tell me whether DovetailWillowCodecService can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "pull the tuning merge into one function", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-44131: retire the legacy replay path for DovetailNovaPickerFlow\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 DovetailNovaPickerFlow 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": "inline `makeCluster`, one caller left", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"# projects/dovetail/ml/pipeline/features.py\n[worker.dovetailcloudreconcilerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailcloudreconcilerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailcloudreconcilerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailCloudReconcilerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44127\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 DovetailCloudReconcilerFlow'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": "comment the memory ordering in wal/writer", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'DovetailLedgerGateFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[DovetailLedgerGateFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/dovetail/workers/thumbnail/consumer.ex:144: error: -[DovetailLedgerGateFlowTests 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 '-[DovetailLedgerGateFlowTests 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\nFind the source of this DovetailLedgerGateFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "upgrade notes for the retention change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Simulator: Test Suite 'DovetailAmberFilterCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[DovetailAmberFilterCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/dovetail/workers/thumbnail/consumer.ex:144: error: -[DovetailAmberFilterCoordinatorTests 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 '-[DovetailAmberFilterCoordinatorTests 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\nFinish the visible DovetailAmberFilterCoordinator 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "resumo do incidente de push, em português", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "pt"} {"prompt":"Summarize the DovetailRainfallDBService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "document the minimum RBAC we need", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Runbook: Test Suite 'DovetailVelaDrawerCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[DovetailVelaDrawerCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/dovetail/apps/console/routes/usage.svelte:144: error: -[DovetailVelaDrawerCoordinatorTests 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 '-[DovetailVelaDrawerCoordinatorTests 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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Finish the visible DovetailVelaDrawerCoordinator 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": "PR description for the spool rotation", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Is there a cleaner way to separate DovetailEmberRelayStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "who pins pages during a scan?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Style DovetailCopperBridgeService's offline state","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "¿el fanout garantiza el orden por hilo?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "es"} {"prompt":"Security flagged DovetailIrisBatchStore for a read-only pass because its Playwright 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- make rollback possible without deleting user data\n- retain the current Playwright operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS monorepo, so keep ownership and handoff points understandable in a small review.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "walk me through leader election here", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Two asks around DovetailCraneWorkspaceCoordinator: (1) produce a consumer guide for DovetailCraneWorkspaceCoordinator; (2) correct the known stale timeout beside it. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"writing","secondary":"quickFix","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "threads reorder themselves on reconnect", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"The destination for DovetailKiteSchedulerService is broadly agreed; the missing piece is a reversible route from projects/dovetail/Sources/CLI/Commands/Doctor.swift 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 DovetailKiteSchedulerService\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "release build white-screens, debug is fine", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/dovetail/ml/pipeline/features.py recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "reconcile loop spins at 60/s", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"What sequence would let DovetailMicaProfileService adopt React 19 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.7,"slice":"core","lang":"en"}
{"prompt": "warum verlieren wir jede Nacht Push-Tokens?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"} {"prompt":"Production says DovetailAcornWidgetStore 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- make rollback possible without deleting user data\n- retain the current Terraform operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS monorepo, so keep ownership and handoff points understandable in a small review.\n\nA real symptom is present, so follow evidence to a cause rather than stopping at a walkthrough.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "presence endpoint for a thread", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"DovetailNimbusFormCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "design the EU-only story, then start on logs", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Trace: projects/dovetail/config/staging.toml の DovetailMapleQueueFlow で、React 19 の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- React 19 を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は DovetailMapleQueueFlow のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"ja"}
{"prompt": "shape the upgrade path, then write the migration", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Move DovetailMapleQueueStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "back on the push thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Compare the old and new DovetailAtlasSearchFlow adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "finish what dana started", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Please resist widening this one: DovetailSummitProxyService works, but staging still carries a setting that production corrected last month. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside DovetailSummitProxyService\n- make rollback possible without deleting user data\n\nThe relevant code crosses game tooling, data pipelines, macOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "smoother", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "lang": "en"} {"prompt":"Diff: projects/dovetail/services/ledger/replay.go 里的 DovetailDeltaCanvasService 最近在 Redis Streams 流程中出现间歇性问题。 请拆分职责并去掉重复,同时保持 API、wire value、顺序和可观察行为不变。\n\n约束:\n- 继续使用 Redis Streams\n- 保持兼容性和取消语义\n- 改动只限于 DovetailDeltaCanvasService","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "operator, again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Profiler: projects/dovetail/infra/modules/edge/main.tf has grown through several launches, and DovetailOrbitSyncStore 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- make rollback possible without deleting user data\n- stay compatible with the existing Redis Streams deployment\n- keep the work scoped to DovetailOrbitSyncStore and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "do the thing from the handover notes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Where did DovetailAsterWebhookService's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "algo rápido antes de la demo", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "es"} {"prompt":"Compare DovetailCraneWorkspaceService's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "next chunk of the storage work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"How should DovetailNovaPickerService be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "whatever unblocks QA", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"UI ticket DES-44124: finish the compact DovetailHarborIndexFlow filter experience\n\nRoute: /catalog/search\nSource: projects/dovetail/engine/render/atlas.cpp\nFramework: Terraform\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 DovetailHarborIndexFlow'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": "tidy before review", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=dovetailsprucedaemonflow pod=dovetailsprucedaemonflow-7cf8 request_id=44145 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=dovetailsprucedaemonflow request_id=44145 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=dovetailsprucedaemonflow request_id=44145 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=dovetailsprucedaemonflow request_id=44145 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=dovetailsprucedaemonflow request_id=44145 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=dovetailsprucedaemonflow request_id=44145 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=dovetailsprucedaemonflow request_id=44145 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=dovetailsprucedaemonflow request_id=44145 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Reconstruct the DovetailSpruceDaemonFlow 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": "same treatment as the thread screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"The data is already available in projects/dovetail/db/migrations/20260730_events.sql; 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": "もう一度、あの通知の件", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Collapse the DovetailFernSnapshotService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "keep going on the console", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Console: The name pendingAck means two different things across DovetailMarbleTokenFlow's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "plan for next quarter", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/dovetail/ui/settings/PrivacyPane.tsx by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "anything you think matters", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Read projects/dovetail/crates/index/src/segment.rs and tell me whether DovetailGarnetModalService 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": "multi-region is now contractual for one customer and vaguely promised to another, and we've never run more than one region. i need to understand what it means for us before anyone commits to a date: whether we replicate at the storage layer or the application layer, what happens to message ordering across regions, how a client picks a region, and what our failover story would actually be when the network partitions rather than when a region cleanly disappears", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Map DovetailRainfallDBStore's ownership split","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "self-hosted customers currently upgrade by redeploying the chart and hoping, which has gone badly twice this quarter, both times because a CRD field changed shape. i want a real upgrade story designed: version skew we support, how CRD migrations run, what the operator does when it finds resources it doesn't understand, whether we can roll back at all, and how a customer knows it worked", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"projects/dovetail/crates/index/src/segment.rs now contains DovetailBasilRunnerStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "read-your-writes currently pins reads to the leader, which is why the leader carries most of our read traffic on the busiest threads. the proposal is per-client LSN tracking with follower reads that wait, and i can see three ways it goes wrong with mobile clients that reconnect constantly. talk me through the design space and what you'd actually recommend for our size", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"Could DovetailMosaicGridStore show the active React 19 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": "on-call handover happens verbally on a friday afternoon and the notes are a slack message that scrolls away. from this week's incidents and the current known issues, write the handover document template plus this week's filled-in version, in a form where the person picking it up can tell what is on fire, what is smouldering, and what they can ignore", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/dovetail/services/ledger/replay.go b/projects/dovetail/services/ledger/replay.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/dovetail/services/ledger/replay.go\n+++ b/projects/dovetail/services/ledger/replay.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 DovetailQuartzPlayerFlow'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": "nobody can explain why the buffer pool sometimes evicts a pinned page, and the code has a fallback branch with no comment that appears to do exactly that. i don't want it changed yet — read it, work out what happens to a scan holding that page, and tell me whether the crash we saw last month is explained by it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Split projects/dovetail/services/ledger/replay.go by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "ordering trace from a customer shows a later message getting an earlier server timestamp, which either means our clocks are wrong or our accept path is doing something i don't understand. before we call it a bug, go through how server_ts is assigned, how the shard channel orders, and whether two messages on the same shard can be timestamped out of order", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"DovetailSableParserCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "three components render a message row with their own timestamp helper, their own truncation rules and their own styles, which is why search results look subtly different from the thread. consolidate them into one component with props for the variations, keeping each screen looking exactly as it does today, and delete the two helpers that fall out", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"DovetailCinderAuthCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "storage layer uses three error conventions in the same class — a Status return, a StatusOr, and a LOG(FATAL) that takes the process down on a bad page id — and callers handle whichever they happen to hit. pick the convention the newest code uses, apply it throughout, and make sure no path can still abort the process on bad input", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-44130\n\n08:02 deploy DovetailOpalRouterFlow 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 DovetailOpalRouterFlow, 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": "tuning resolution in the operator goes through defaults, the spec, an environment override and a legacy configmap, merged in an order that surprises everyone including the person who wrote it. make the precedence explicit and testable, keep the resolved values identical for every cluster we have in the field, and leave the legacy path working until we can remove it", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Could DovetailAsterWebhookStore migrate incrementally?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"vague-eval","lang":"en"}
{"prompt": "messages occasionally arrive out of order on ios but not android, roughly one user in a thousand, and both clients sort by the same field. i've stared at the fanout code and the push path and can't see it. before assuming it's the client, i'd like the whole path from accept to render examined properly", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Polish the DovetailCopperBridgeStore toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "e2e tests fail about one run in five on CI and never locally, always on the test that waits for an idle cluster to scale down. the envtest logs mention a slow admission webhook right before the failure, which may or may not be related", "purpose": "debugging", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"DovetailLumenChartCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "CI installs the whole toolchain from scratch on every job because someone disabled caching to debug something in march and never turned it back on, and the mobile job now takes 22 minutes. turn caching back on for yarn, pods and gradle, verify the builds are still reproducible, and note what you changed", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"On compact widths, DovetailSableParserStore'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": "data residency for EU tenants is contractual and we currently have one region, logs in a US SaaS and a support tool that dumps message bodies. i want the design for what compliant looks like, and then the first piece implemented: keeping message content out of the logs entirely", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Workspace: Split DovetailCedarPolicyService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "before the mobile rewrite starts i'd like the notification module's responsibilities mapped out properly — registration, token refresh, delivery receipts, deep links — and then the registration piece built against the new architecture so we can prove the approach works", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/dovetail/workers/thumbnail/consumer.ex: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: dovetailravensessionflow::scheduler::LeaseTask::flush\n at ./projects/dovetail/workers/thumbnail/consumer.ex:217:18\n 4: dovetailravensessionflow::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 DovetailRavenSessionFlow 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": "spool needs rotation and we also need to decide what \"drop the oldest\" means for delivery guarantees, because right now we'd be silently losing messages. think through the semantics first, write them down, then implement rotation with whatever loud signals you decide on", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Extract DovetailHarborIndexService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "unsere Retention-Konfiguration ist ein Freitextfeld und die Migration auf ISO-8601 steht an. Ich hätte gern zuerst einen Plan, wie wir bestehende Cluster migrieren, ohne dass jemand in Degraded landet, und danach den Validierungs-Webhook dafür", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "de"} {"prompt":"Repository: // projects/dovetail/config/staging.toml\nfinal class DovetailPineMetricsFlowCoordinator {\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Wire DovetailPineMetricsFlow'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": "consistency model needs writing up for customers and i suspect the act of writing it will surface at least one place where the code doesn't match the claim. do both: the public page, and a list of every claim you couldn't verify from the code", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Release verification found a single stale DovetailAtlasSearchService 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- make rollback possible without deleting user data\n- retain the current Core Data operational envelope\n\nSeveral teams work in this game tooling, data pipelines, macOS 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": "escreve o guia de instalação para clientes que alojam o produto, e valida no chart se o que dizemos sobre permissões é verdade — desconfio que pedimos muito mais do que precisamos", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "pt"} {"prompt":"Unifie les validateurs de DovetailCloudReconcilerStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"fr"}
{"prompt": "test helpers are duplicated across three packages with subtly different defaults, which is why a test can pass in one package and fail in another with the same input. unify them, then document the fixture conventions so the next person doesn't add a fourth", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"DovetailAsterWebhookCoordinator needs a paired pass: produce a consumer guide for DovetailAsterWebhookCoordinator, plus give the existing implementation a read-only safety pass. Use projects/dovetail/crates/index/src/segment.rs as the source of truth, preserve the React 19 contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "navigation params are typed in three places with two different names for the same field, and the deep link bug keeps coming back because of it. fix the types properly, then add the short note to the contributing guide about where params are declared", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"DovetailQuartzPlayerCoordinator is blocking the next release because a flaky snapshot caused by locale-dependent sorting. I need two concrete outcomes from a single pass: finish DovetailQuartzPlayerCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing Redis Streams conventions in projects/dovetail/web/components/FilterDrawer.vue; make rollback possible without deleting user data. 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": "go packages are organised by layer — models, services, handlers — and every feature touches all three, so nothing is local", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"DovetailDeltaCanvasCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "rename `MessageCluster` to `Cluster` in the CRD group, it reads terribly in kubectl output", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-44134\n\n08:02 deploy DovetailSableParserFlow 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 DovetailSableParserFlow 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": "mobile app has both a `utils` and a `helpers` folder, imported interchangeably, thirty files between them", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Does DovetailSlateEditorService preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "could someone explain what happens to in-flight messages when a shard leader changes, i can't tell from the code", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"# projects/dovetail/lib/codec/frame.cc\n[worker.dovetailacornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailacornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailacornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44114\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/dovetail/lib/codec/frame.cc and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "i'd like a read on the new iterator benchmarks before we merge, particularly the point-lookup miss regression", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"DovetailBasilRunnerCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "why does the reply bar re-render when a peer starts typing in a different thread", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"DovetailBirchMigratorCoordinator: rethink this area","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "is it normal for the operator to log a status update on every reconcile even when nothing changed", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Before we approve DovetailGarnetModalStore, assess whether lost focus when the drawer animation finishes is an actual correctness risk or merely confusing structure. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "someone should sanity check our CRD before it ships, particularly the free-form tuning field and the missing status subresource", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about DovetailMosaicGridService, but the current prose in projects/dovetail/pkg/cache/lease.rs 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- make rollback possible without deleting user data\n- stay compatible with the existing React 19 deployment\n- keep the work scoped to DovetailMosaicGridService and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "docs/consistency.md describes two followers acknowledging before we ack the client, which is not what the code does", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"DovetailLedgerGateCoordinator: polish, then correct","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "a short note for the team about why we're capping the spool, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Is there a cleaner way to separate DovetailMicaProfileStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "CRD field descriptions are empty, which means `kubectl explain` tells operators nothing at all", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Pipeline: diff --git a/projects/dovetail/cmd/exporter/main.py b/projects/dovetail/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/dovetail/cmd/exporter/main.py\n+++ b/projects/dovetail/cmd/exporter/main.py\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Add the bounded DovetailMoonlitSDKFlow 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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "write the docs page answering \"why is my cluster Degraded\", covering all six conditions we can set", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"This should remain a deliberately small patch: DovetailDriftConsoleService has one known configuration mistake in projects/dovetail/infra/modules/edge/main.tf, 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- make rollback possible without deleting user data\n- stay compatible with the existing Redis Streams deployment\n- keep the work scoped to DovetailDriftConsoleService and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "liveness probe on the prod overlay has a 5 second delay and 2 failures, which restarts pods mid-compaction", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"For DovetailOpalRouterCoordinator, change DovetailOpalRouterCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, capture the contract and rollback note for consumers. Work from projects/dovetail/infra/modules/edge/main.tf, stay with Redis Streams, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "operator's default retention is 7 days in code and 30 days in the docs, and one of them has to change", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Gateway: projects/dovetail/lib/codec/frame.cc now contains DovetailMarbleTokenStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "push retries use a fixed 30 second delay with no jitter, so every failure lands in the same second", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"DovetailGarnetModalCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "la búsqueda de mensajes ignora los acentos, y en español eso rompe la mitad de las consultas", "purpose": "quickFix", "secondary": "backendImpl", "mixed": true, "difficulty": 0.4, "slice": "mixed", "lang": "es"} {"prompt":"Renderer: # projects/dovetail/Sources/CLI/Commands/Doctor.swift\n[worker.dovetailcinderauthflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetailcinderauthflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetailcinderauthflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailCinderAuthFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44142\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 DovetailCinderAuthFlow'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": "one shard's consumer lag climbs steadily every night and drains by morning, and nobody knows whether that's compaction or a slow consumer", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Indexer: Split DovetailOpalRouterService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "what should our story be for customers who want to run us on ARM nodes? two have asked and we've never built for it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Documente le contrat DovetailLedgerGateService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"fr"}
{"prompt": "i want a position on whether search belongs in the storage engine or as a separate index before anyone starts building it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/dovetail/Sources/App/SessionStore.swift b/projects/dovetail/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/dovetail/Sources/App/SessionStore.swift\n+++ b/projects/dovetail/Sources/App/SessionStore.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 DovetailOspreyJobFlow'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": "how should we handle schema evolution for the message format now that self-hosted customers can be six months behind us", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Apparently: Incident timeline — INC-44157\n\n08:02 deploy DovetailAtlasSearchCoordinator 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\nReconstruct the DovetailAtlasSearchCoordinator 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": "an endpoint that returns a device's pending messages since a given LSN, for the reconnect path", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Lately: # projects/dovetail/services/ledger/replay.go\n[worker.dovetaildeltacanvasflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.dovetaildeltacanvasflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.dovetaildeltacanvasflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.DovetailDeltaCanvasFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-44135\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/dovetail/services/ledger/replay.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "admin debug tool should redact message bodies unless the operator holds a break-glass role", "purpose": "backendImpl", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"The data is already available in projects/dovetail/Sources/App/SessionStore.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": "per-thread rate limiting on the send path, since one automated client can currently saturate a shard", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Walk through DovetailCraneWorkspaceStore's reconcile.ts","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "cluster list page needs filtering by status and namespace, and it should remember what you picked", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"Trace DovetailAcornWidgetService's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "whatever's least embarrassing before friday", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Oddly: Incident timeline — INC-44110\n\n08:02 deploy DovetailOrbitSyncFlow 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 DovetailOrbitSyncFlow 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": "pick up where the doc left off", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Currently: // projects/dovetail/Sources/App/SessionStore.swift\nfinal class DovetailKiteSchedulerCoordinatorCoordinator {\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\nSplit DovetailKiteSchedulerCoordinator 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": "thread list is a FlatList that re-renders every row whenever any thread updates, which on a busy account means the whole list rebuilds several times a second and scrolling turns to mush. keep the rows visually identical but make each one independent, memoise the row callbacks properly, and fix the last-message preview so it updates without dragging the rest of the list with it", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Sketch the DovetailPineMetricsService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "message reactions currently open a long-press menu that appears under the thumb and covers the message being reacted to, and there's no way to reach them at all with a keyboard or a switch control. rework the interaction: an accessible affordance on each row, the picker positioned so it never covers its own message, and a sensible focus return when it closes", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Drop DovetailPineMetricsStore's unused import","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "support answers \"why is my push not arriving\" from scratch every time, usually badly, because the answer depends on the token state, the apns feedback, whether the device has opened the app recently, and our own retry state. write the troubleshooting page that walks through those in order, with what to check and what each outcome means", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Today: Incident timeline — INC-44120\n\n08:02 deploy DovetailJuniperCLIFlow 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 DovetailJuniperCLIFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "the mobile app stores its session, including a ninety-day refresh token, as plain JSON in AsyncStorage, and an interceptor reads it on every request. before i take this to the security review, i want an assessment of what that actually exposes on a compromised device, what the platform keychain would change, and whether the ninety days is the bigger problem", "purpose": "review", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Translate the DovetailPrismCacheStore setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "our go packages are split by layer, so a single feature touches models, services and handlers and nothing is ever local to one directory. restructure by feature instead, keeping the public API and every behaviour identical, and do it in a sequence where the build stays green after each step rather than one enormous move commit", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Context: Incident timeline — INC-44122\n\n08:02 deploy DovetailCedarPolicyFlow 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 DovetailCedarPolicyFlow 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": "scan and iterator both know about page pinning, which means neither can be unit tested without a real page cache and a real file, and our tests are correspondingly slow and flaky. introduce a seam so the iterator can be tested against a fake, without changing the hot path's performance characteristics or its current behaviour", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Two engineers disagree about whether DovetailAtlasSearchStore's cache is authoritative. Walk the reads and writes in projects/dovetail/cmd/exporter/main.py and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "search across message bodies is being asked for by three customers and we have no plan for it. i'd like the options weighed — in the storage engine, a separate index, or a managed service — against our EU data residency commitment, our self-hosted customers who won't run another component, and the fact that we have nobody with search experience", "purpose": "planning", "secondary": "review", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"We expect DovetailAmberFilterService to outgrow its current Terraform 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- make rollback possible without deleting user data\n- stay compatible with the existing Terraform deployment\n- keep the work scoped to DovetailAmberFilterService and its direct tests\n\nThis repository spans game tooling, data pipelines, macOS; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "customers running us on ARM nodes have asked twice now and we've never built for it, which means images, the storage engine's intrinsics, and whatever assumptions our chart makes about node labels. work out what supporting ARM would actually involve and whether it's a week or a quarter, then start on the multi-arch image build if it's the former", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"DovetailEmberRelayCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "we need an endpoint the mobile clients hit on reconnect that returns everything they missed since a given LSN, bounded so a device offline for a month doesn't pull a gigabyte. cap it, tell the client when it's been truncated so it can fall back to a fresh sync, and make sure it works when the LSN is from a shard that has since been split", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Ist DovetailLedgerGateStore sicher?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"de"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "a pull request that touches the player's ABR logic. i'd rather understand it than approve it:\n\n@@ -88,14 +88,22 @@ export class AbrController {\n- private pickLevel(bandwidth: number): number {\n- return this.levels.findLastIndex(l => l.bitrate < bandwidth * 0.8)\n- }\n+ private pickLevel(bandwidth: number): number {\n+ const buffer = this.media.buffered.length\n+ ? this.media.buffered.end(0) - this.media.currentTime\n+ : 0\n+ const factor = buffer > 20 ? 0.95 : buffer > 8 ? 0.8 : 0.5\n+ const idx = this.levels.findLastIndex(l => l.bitrate < bandwidth * factor)\n+ if (idx < this.currentLevel - 1) return this.currentLevel - 1\n+ return idx\n+ }\n\nthe stated goal is fewer rebuffers; the risk i can see is that we never drop more than one level at a time", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Corrige le timeout de EquinoxBasilRunnerService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"fr"}
{"prompt": "our API changelog needs an entry for the stream key header change, with what integrators must do before october", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"// projects/equinox/cmd/exporter/main.py\nfinal class EquinoxDriftConsoleFlowCoordinator {\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 EquinoxDriftConsoleFlow'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": "the QoE dashboard's session sampler shows twenty random sessions with no way to see what happened in one, which is exactly what you want during an incident. build the session timeline view — events on a time axis, bitrate switches, rebuffers, errors — and decide with me first whether it belongs as a drawer or its own route", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-45111: retire the legacy replay path for EquinoxNimbusFormFlow\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 EquinoxNimbusFormFlow 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": "a tidy-up pass, nothing risky", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"A copied hex color in EquinoxAcornWidgetStore lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "our stream keys appear in the ingest access logs because they're in the path, which security flagged this morning", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up EquinoxCinderAuthCoordinator. First, assess ownership and failure handling in projects/equinox/workers/thumbnail/consumer.ex. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/equinox/workers/thumbnail/consumer.ex, which follows PostgreSQL 17 conventions and currently suffers from timestamps rendered one day ahead near UTC midnight. Preserve cancellation and back-pressure semantics.\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.7,"slice":"mixed","lang":"en"}
{"prompt": "the reconciliation method recomputes an account balance from every journal entry ever posted and then writes a snapshot, and it's called from a page that refreshes every ten seconds. before i touch it i want to know what it costs on our largest account and whether the snapshot write can race with a concurrent posting", "purpose": "review", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-45115\n\n08:02 deploy EquinoxCinderAuthFlow 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 EquinoxCinderAuthFlow 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": "invoice posting throws this maybe twice a week in production, never in test:\n\nSystem.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 88) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.\n at Ledger.Posting.PostingService.PostAsync(PostingBatch batch, CancellationToken ct) in /src/Ledger.Posting/PostingService.cs:line 212\n at Ledger.Api.Controllers.InvoicesController.Post(InvoiceRequest req) in /src/Ledger.Api/Controllers/InvoicesController.cs:line 88\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(...)\n\nClientConnectionId:8f2b1c40-9a11-4c02-b771-041ac0aa7719\nError Number:1205,State:51,Class:13\n\nthe deadlock graph shows two sessions on the same page of `JournalEntries`, both doing an insert then an update to `Accounts.Balance`", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Background: # projects/equinox/pkg/cache/lease.rs\n[worker.equinoxravensessionflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.equinoxravensessionflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.equinoxravensessionflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.EquinoxRavenSessionFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-45112\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/equinox/pkg/cache/lease.rs. 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": "one currency conversion helper, five callers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"EquinoxCedarPolicyCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "transcode workers keep dying on a subset of uploads and ffmpeg's output is all i have:\n\n[hls @ 0x55d1a2] Opening 'seg_00041.ts' for writing\n[libx264 @ 0x55d3f0] frame= 4118 fps=118 q=28.0 size= 204800kB\n[mpegts @ 0x55d880] Non-monotonous DTS in output stream 0:1; previous: 8412000, current: 8409600; changing to 8412001. This may result in incorrect timestamps in the output file.\n[mpegts @ 0x55d880] Non-monotonous DTS in output stream 0:1; previous: 8412001, current: 8409601; changing to 8412002.\n[aac @ 0x55e110] Queue input is backward in time\nav_interleaved_write_frame(): Invalid argument\n[hls @ 0x55d1a2] Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument\nConversion failed!\n\nexit status 1, worker restarts, next attempt fails the same way. always the same 40 or so source files", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Does EquinoxWrenExportStore 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.4,"slice":"core","lang":"en"}
{"prompt": "extension breaks on exactly one customer's intranet and their IT sent us the console:\n\nUncaught (in promise) Error: Extension context invalidated.\n at chrome-extension://hkpmbaflnkkcgnbjcplkflmpjeaeblnc/content.js:1:44112\nRefused to connect to 'https://api.lumenclip.io/v1/sync' because it violates the following Content Security Policy directive: \"connect-src 'self' https://intranet.corp.example\"\ncontent.js:1 Uncaught (in promise) TypeError: Failed to fetch\nservice-worker.js:1 Unchecked runtime.lastError: The message port closed before a response was received.\nservice-worker.js:1 Uncaught (in promise) Error: No tab with id: 4118.\n\nmanifest v3, and this works on every other site we've tried", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"EquinoxBeaconStoreCoordinator: polish the last piece","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "CDN origin sees a thundering herd every ten minutes and i can't work out from these logs whether it's us or them:\n\n11:00:00 GET /hls/8812/master.m3u8 200 cache=MISS age=0 origin=142ms\n11:00:00 GET /hls/8812/master.m3u8 200 cache=MISS age=0 origin=141ms\n11:00:00 GET /hls/8812/master.m3u8 200 cache=MISS age=0 origin=188ms\n(… 1,204 identical lines in the same second …)\n11:00:01 GET /hls/8812/720p/seg_00041.ts 200 cache=HIT age=8\n11:10:00 GET /hls/8812/master.m3u8 200 cache=MISS age=0 origin=904ms\n11:10:00 GET /hls/8812/master.m3u8 500 cache=MISS origin=timeout\n\ncache-control on the playlist is max-age=600, and the players all refresh on a fixed schedule", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Question: Incident timeline — INC-45119\n\n08:02 deploy EquinoxBasilRunnerFlow 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\nTurn the material above into a concise EquinoxBasilRunnerFlow 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.4,"slice":"pasted-context","lang":"en"}
{"prompt": "extension's service worker keeps getting killed mid-sync, chrome's internals page shows:\n\nService worker registration: chrome-extension://hkpmbaflnkkcgnbjcplkflmpjeaeblnc/\nStatus: STOPPED\nRunning status: STOPPED\nLast activity: 2026-07-29 11:04:41 (32s)\nTermination reason: idle timeout after 30s\nPending events: 2 (alarm 'sync', message from tab 4118)\n\nlog before termination:\n [sync] starting, 41 clips pending\n [sync] uploaded 12/41\n [sync] worker suspended\n [sync] starting, 29 clips pending\n [sync] uploaded 9/29\n\nevery restart re-uploads the ones that were in flight", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Design handed over a final pass for EquinoxCinderAuthStore, and the basic data flow in projects/equinox/workers/thumbnail/consumer.ex already works. 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- preserve cancellation and back-pressure semantics\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to EquinoxCinderAuthStore and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue 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": "ingest API's public docs are a curl example and nothing else. this is what the handler accepts:\n\nPOST /v1/ingest/{stream_key}\n content-type: application/octet-stream or multipart/form-data\n headers: X-Segment-Sequence (required, monotonic per stream), X-Segment-Duration-Ms (required),\n X-Discontinuity (optional, \"1\" to mark a discontinuity), Content-MD5 (optional but checked when present)\n behaviour: out-of-order sequences within 3 are buffered for up to 2s; beyond that they are rejected with 409\n a repeated sequence with the same Content-MD5 is a no-op 200; with a different one it is a 409\n segments over 30s are rejected with 413; the stream is terminated after 3 consecutive rejections\n auth is the stream key in the path, which is why it must never appear in logs or referrer headers\n\nwrite the reference page, and be explicit about the retry semantics because every partner gets them wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"A flaky failure around EquinoxMoonlitSDKService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxMoonlitSDKService\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "player's event emitter has grown three ways to subscribe and i want one, without breaking integrators:\n\nplayer.on('ready', cb) // 3.x style, still used by everyone\nplayer.addEventListener('ready', cb) // added in 4.0 to look DOM-like\nplayer.events.subscribe('ready', cb) // added in 4.2 by someone who likes rxjs\n\ninternally all three end up in the same map, except `events.subscribe` returns an unsubscribe function and the other two don't, and `addEventListener` supports the `once` option which the others ignore", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Em projects/equinox/workers/thumbnail/consumer.ex, o EquinoxCoralUploadStore tem um problema intermitente no fluxo de PostgreSQL 17. Separe responsabilidades e remova duplicação sem mudar API, wire values, ordem ou comportamento observável.\n\nRestrições:\n- continuar com PostgreSQL 17\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao EquinoxCoralUploadStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "QoE dashboard spec from our SRE, build it in the internal console:\n\nQoE overview\n- Time range picker (15m / 1h / 6h / 24h / 7d), defaults to 1h, persists per user.\n- Four headline tiles: rebuffer ratio, startup time p95, error rate, average bitrate. Each with a delta against the previous period and a sparkline.\n- Breakdown table: by CDN edge, by ISP, by player version, switchable with a segmented control. Sortable columns, 20 rows with a \"show all\".\n- Session sampler: 20 random sessions matching the current filters, click to open a session timeline with events plotted on a time axis.\n- Live streams get a separate section with a row per stream, ordered by concurrent viewers, updating every 10 seconds.\n- Anything above the rebuffer threshold is highlighted, but the threshold is configurable and must not be hardcoded.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Please resist widening this one: EquinoxCraneWorkspaceService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxCraneWorkspaceService\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "live playlist TTL to 2 seconds", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Observation: Two deliverables are holding up EquinoxRavenSessionCoordinator. First, assess ownership and failure handling in projects/equinox/crates/index/src/segment.rs. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/equinox/crates/index/src/segment.rs, which follows WebGPU conventions and currently suffers from an empty state that flashes before cached data arrives. Preserve cancellation and back-pressure semantics.\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.7,"slice":"mixed","lang":"en"}
{"prompt": "what does `scenecut: 0` cost us?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"EquinoxNovaPickerFlow 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.4,"slice":"core","lang":"en"}
{"prompt": "is the outbox write in the same transaction?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"On compact widths, EquinoxSlateEditorService'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.4,"slice":"core","lang":"en"}
{"prompt": "invoice PDF footer shows last year's VAT id", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-45130: retire the legacy replay path for EquinoxAtlasSearchFlow\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 EquinoxAtlasSearchFlow 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": "one fetch wrapper for the extension", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Extract EquinoxIrisBatchService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "month-end close produced numbers that don't tie out, and this is the reconciliation report:\n\nAccount GL Balance Subledger Difference\n1200 AR 1,204,118.42 1,204,118.42 0.00\n2100 AP 882,441.10 882,437.60 3.50\n4000 Revenue 2,118,904.00 2,118,904.00 0.00\n5000 COGS 1,441,220.18 1,441,220.18 0.00\n2200 VAT 188,412.55 188,409.05 3.50\n\nJournal 88412 posted 2026-07-31 23:59:58 by [system]\nJournal 88413 posted 2026-08-01 00:00:02 by [system]\n\nboth journals are for the same invoice batch, and the 3.50 is a rounding line that appears once in the subledger and twice in the GL", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Check EquinoxEmberRelayStore's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "ADR someone wrote for the packager rewrite. does the reasoning hold up?\n\n## Context\nThe packager keeps one goroutine per live stream, holding the muxer state and the playlist in memory. At 300 streams this is fine; at 3,000 it will not be.\n\n## Decision\nMove packaging into a stateless service. Segment state goes to redis, playlists are rendered on demand from redis, and any instance can serve any stream.\n\n## Consequences\n- Horizontal scaling becomes trivial.\n- Redis becomes a hard dependency on the live path.\n- Playlist rendering moves from once per segment to once per request.\n\n## Alternatives considered\nSharding by stream id was rejected as \"operationally complex\".", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/equinox/infra/modules/edge/main.tf now contains EquinoxPrismCacheFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "VAT rounding helper, which is now the subject of an audit finding:\n\npublic static decimal RoundVat(decimal net, decimal rate, RoundingMode mode = RoundingMode.HalfUp)\n{\n var raw = net * rate;\n return mode switch\n {\n RoundingMode.HalfUp => Math.Round(raw, 2, MidpointRounding.AwayFromZero),\n RoundingMode.HalfEven => Math.Round(raw, 2, MidpointRounding.ToEven),\n RoundingMode.Truncate => Math.Truncate(raw * 100) / 100,\n _ => Math.Round(raw, 2)\n };\n}\n\ncredit notes pass a negative net; the default mode is used almost everywhere; and the German tax rules we're being assessed against say to round the absolute value", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Constraint: Ticket OPS-45144: retire the legacy replay path for EquinoxPineMetricsFlow\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 EquinoxPineMetricsFlow, 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": "support handover notes about the extension, needs to become a real troubleshooting page:\n\n- \"extension context invalidated\" almost always means they updated the extension while a tab was open, tell them to reload the tab\n- clips not syncing: check the service worker is alive in chrome://serviceworker-internals, it dies after 30s idle and our alarm is set to 5 minutes\n- corporate networks with a strict CSP block our api entirely, there is no workaround, they need to allowlist api.lumenclip.io\n- if the popup is blank, it's usually a failed fetch of the clip list; the popup has no error state at all\n- duplicated clips happen when the worker restarts mid-upload, we dedupe server-side within an hour\n- the \"sign in again\" loop is a cookie partitioning thing on chrome 121+, resolved by opening the site once in the same profile", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Pin EquinoxDriftConsoleService's SQLite dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "internal wiki page for the close process is three years old. reality according to the team:\n\n- close starts when the last bank statement is imported, usually the 2nd or 3rd\n- the revaluation job must run before any accruals are posted, and it's manual\n- there's a checklist in a spreadsheet that four people maintain differently\n- the \"period lock\" button doesn't stop the system journals, which is how we ended up with entries dated after the lock\n- reopening a period requires a database update, there is no UI for it\n- the whole thing takes 4-6 days and the finance team works weekends for it\n\nwrite the page as it should be, and flag the two things that are process problems rather than documentation problems", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"EquinoxFernSnapshotCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "test project has three ways of building an invoice and every new test picks one at random:\n\nvar invoice = new Invoice { CustomerId = 1, Lines = { new InvoiceLine { Net = 100m, Vat = 19m } } };\n\nvar invoice = InvoiceBuilder.New().ForCustomer(1).WithLine(100m, TaxCode.Standard).Build();\n\nvar invoice = TestData.Invoices.Simple(); // fixture file, 4 hardcoded invoices\n\nabout 400 tests between them; the builder is the newest and the only one that computes VAT the way production does", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"EquinoxEchoRegistryStore leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "finance team's list of what the legacy billing service still does, and we want it gone by december:\n\n- recurring invoice generation for 1,400 subscriptions on the old plan structure\n- the dunning schedule (3, 7, 14 days) including the emails, which use its own templates\n- revenue recognition postings, which the new service does differently and finance hasn't signed off on\n- a nightly export to the tax filing provider, in a fixed-width format nobody remembers the spec for\n- the customer portal's invoice PDF, generated by a library that only exists in that codebase\n- roughly 200 stored procedures, of which we believe 40 are actually called\n\nwhat's the order, what's the risk, and where would you cut scope", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new EquinoxCedarPolicyService adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "design doc stub for the DVR change, i want the thinking before the implementation:\n\nCurrent: DVR window is 2 hours, held as segments in the packager's memory plus S3, playlist rendered from an in-memory ring buffer.\nAsked for: 12 hours, with seeking anywhere in the window, on live streams with up to 40,000 concurrent viewers.\nConstraints: segment storage cost triples if we keep the current bitrate ladder for the whole window; the playlist for a 12-hour window is about 10,000 entries and clients parse it on every refresh; our current CDN caches playlists for 2 seconds; and a stream that restarts mid-event must not lose the earlier part of the window.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"$ pnpm test --filter EquinoxJuniperCLIFlow\n RUN v3.2.4 /workspace/apps/console\n × EquinoxJuniperCLIFlow > 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=45143 phase=resume storedCursor=seg-0183\n session=45143 phase=fetch requestCursor=seg-0183 pageSize=200\n session=45143 phase=commit receivedCursor=seg-0184 itemCount=0\n session=45143 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\nDetermine why EquinoxJuniperCLIFlow 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": "tax lines wrap badly at 1280px", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Ownership of EquinoxPrismCacheService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current NATS JetStream operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "docs for the ingest retry semantics", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"EquinoxAcornWidgetCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "why is origin seeing 1200 playlist requests/s?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxWillowCodecCoordinator: document, then correct","purpose":"writing","secondary":"debugging","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "packager thing again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Request: projects/equinox/services/ledger/replay.go の EquinoxCraneWorkspaceFlow で、NATS JetStream の flow に断続的な問題が起きています。 consumer 向けに contract、error、retry、コピー可能な例を含む文書を書き、handler は変更しないでください。\n\n制約:\n- NATS JetStream を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は EquinoxCraneWorkspaceFlow のみ","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"ja"}
{"prompt": "invoices, the usual", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Goal: A flaky failure around EquinoxBirchMigratorStore survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxBirchMigratorStore\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "ledger domain has accumulated three years of small decisions and is now a single project with sixty classes, no obvious seams, and a test suite that needs a database. i keep being told to \"just refactor it\", but i'd rather agree a target shape first: what the modules should be, what depends on what, and which pieces we'd move in what order without stopping feature work", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Symptom: // projects/equinox/ml/pipeline/features.py\nfinal class EquinoxFlintTimelineFlowCoordinator {\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. Restructure EquinoxFlintTimelineFlow 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": "player SDK's events table in our docs lists an event that never existed and omits the two that every integrator actually wants for quality metrics. correct the table, explain the difference between a recoverable error and a fatal one, and note which events only fire on live streams — integrators are web developers who will copy whatever we publish", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxRainfallDBService's staging timeout is already known to be wrong: change the single projects/equinox/infra/modules/edge/main.tf value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "an auditor has asked six questions about journal immutability, period locks, numbering gaps, rate sourcing, retention and attachment deletion, and answering them properly means writing the controls document we never had. work each answer out from the code rather than from what we'd like to be true, and mark anything you can't substantiate", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Milestones for replacing EquinoxSpruceDaemonService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "segment uploader retries with a sleep of attempt seconds, which is zero on the first retry, and it retries with the same reader for live segments", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"EquinoxMapleQueueCoordinator needs a paired pass: lay out a staged migration for EquinoxMapleQueueCoordinator, plus also add the visible loading and offline states. Use projects/equinox/db/migrations/20260730_events.sql as the source of truth, preserve the Tokio contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "we need a position on whether the extension should keep its own sync engine or move to the same one the web app uses", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Headsup: // projects/equinox/db/migrations/20260730_events.sql\nfinal class EquinoxNovaPickerCoordinatorCoordinator {\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\nWalk through what the artifact proves about EquinoxNovaPickerCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "CDN config has the playlist TTL wrong for live and it's a two-line change, but i want a sanity check:\n\ncurrent:\n - path: \"*.m3u8\"\n cache: { ttl: 600, stale_while_revalidate: 0 }\n\nproposed:\n - path: \"/live/*/*.m3u8\"\n cache: { ttl: 2, stale_while_revalidate: 4 }\n - path: \"/vod/*/*.m3u8\"\n cache: { ttl: 86400, stale_while_revalidate: 600 }\n\nlive playlists are rewritten every 4 seconds, VOD ones never change once published, and origin currently sees about 1,200 requests per second on playlists alone", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-45121\n\n08:02 deploy EquinoxWillowCodecFlow 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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Find the source of this EquinoxWillowCodecFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "extension talks to the API from three places, each with its own auth handling:\n\n// content.js\nconst res = await fetch(`${API}/v1/clips`, { headers: { Authorization: `Bearer ${token}` } })\n\n// service-worker.js\nconst res = await fetch(`${API}/v1/sync`, {\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n})\n\n// popup.js\nconst token = await chrome.storage.local.get('token')\nconst res = await fetch(`${API}/v1/clips?limit=50`, { headers: { Authorization: `Bearer ${token.token}` } })\n\none of them uses cookies, two use a bearer token, and only the popup handles a 401", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Before we approve EquinoxBeaconStoreStore, assess whether lost focus when the drawer animation finishes is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "live badge needs a text label", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"EquinoxDriftConsoleCoordinator: correct, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "QoE tiles should show a delta", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"FYI: // projects/equinox/src/sync/reconcile.ts\nfinal class EquinoxMapleQueueFlowCoordinator {\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\nWalk through what the artifact proves about EquinoxMapleQueueFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "transcode fails on 40 specific files", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of EquinoxGarnetModalService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/equinox/app/src/main/SyncWorker.kt. 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- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current Tokio operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "ingest API's retry semantics are the single biggest source of partner integration bugs — repeated sequences, buffering windows, when a 409 is fatal and when it isn't — and none of it is written down anywhere outside the handler. write the reference page a partner engineer could implement against without asking us a single question, including a worked example of a reconnect after a network drop", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"EquinoxSlateEditorCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "extension's permissions are far wider than what it does, and the store review is friday. work out the minimum set from the code, then narrow the manifest and content script matches accordingly — and tell me what functionality we lose, if any", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Test Suite 'EquinoxTideWorkerCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[EquinoxTideWorkerCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/equinox/pkg/cache/lease.rs:144: error: -[EquinoxTideWorkerCoordinatorTests 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 '-[EquinoxTideWorkerCoordinatorTests 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\nFinish the visible EquinoxTideWorkerCoordinator state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "what happens to an in-flight ingest when a stream key is rotated — does the session survive or drop?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Document EquinoxCinderAuthService's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "is the reconciliation method safe to call from a page that refreshes every ten seconds on an account with 300k entries", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Two asks around EquinoxAmberFilterCoordinator: (1) finish EquinoxAmberFilterCoordinator's responsive empty and retry states; (2) capture the contract and rollback note for consumers. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "player's control bar hides itself after three seconds regardless of whether the pointer is still over it, and on touch devices it disappears while you're reaching for the seek bar. rework the auto-hide so it respects hover and recent touch, stays visible whenever a control has focus, and never hides while the settings menu is open", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/equinox/infra/modules/edge/main.tf b/projects/equinox/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/infra/modules/edge/main.tf\n+++ b/projects/equinox/infra/modules/edge/main.tf\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 EquinoxRainfallDBFlow 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": "pprof from the packager service, memory climbs until the pod is killed:\n\nShowing nodes accounting for 6.14GB, 94.12% of 6.52GB total\n flat flat% sum% cum cum%\n 3.88GB 59.51% 59.51% 3.88GB 59.51% bytes.growSlice\n 1.42GB 21.78% 81.29% 5.30GB 81.29% lumen/packager.(*Muxer).WriteSegment\n 0.61GB 9.36% 90.65% 0.61GB 9.36% lumen/packager.(*Playlist).Render\n 0.23GB 3.53% 94.18% 0.23GB 3.53% encoding/json.Marshal\n\ngoroutines: 41,882\ntop goroutine stack:\n lumen/packager.(*Session).watch\n /src/packager/session.go:141 +0x88\n created by lumen/packager.(*Manager).Start in goroutine 1\n\nwe start one session per live stream and we have about 300 live streams", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Meanwhile: Two engineers disagree about whether EquinoxHarborIndexStore's cache is authoritative. Walk the reads and writes in projects/equinox/packages/api/openapi.yaml and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "seit dem letzten Deploy stimmen die Umsatzsteuer-Beträge bei Gutschriften nicht mehr:\n\nRechnung 88412 netto 1.000,00 USt 19% = 190,00 brutto 1.190,00 ✓\nGutschrift 88413 netto -1.000,00 USt 19% = -190,00 brutto -1.190,00 ✓\nRechnung 88420 netto 840,34 USt 19% = 159,66 brutto 1.000,00 ✓\nGutschrift 88421 netto -840,34 USt 19% = -159,67 brutto -1.000,01 ✗\n\nDie Differenz von einem Cent tritt nur bei Beträgen auf, die aus einem Bruttobetrag zurückgerechnet wurden. Betroffen sind etwa 200 Belege seit Freitag.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"EquinoxQuartzPlayerCoordinator: ship a sensible version","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "a broadcaster wants a twelve-hour DVR window and we currently do two, which sounds like a config change until you consider that the playlist becomes ten thousand entries that every client re-parses on each refresh, that keeping the full bitrate ladder for twelve hours triples our storage bill, and that a stream restarting mid-event must not lose what came before. i want the shape of a solution and the trade-offs written down before anyone starts moving segments around", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Locally: // projects/equinox/web/components/FilterDrawer.vue\nfinal class EquinoxCraneWorkspaceCoordinatorCoordinator {\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\nSplit EquinoxCraneWorkspaceCoordinator 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": "our on-call covers ingest, packaging and delivery with alerts written by three different people, and half of them page for things that self-resolve", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxPineMetricsCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "the proration calculation exists four times with four different day-count conventions, and finance considers only the subscriptions one correct. consolidate onto it, work out which historical invoices would have been different under each of the others, and be explicit about whether we're correcting anything retroactively or only going forward", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Document EquinoxMosaicGridStore's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "a walkthrough of how an invoice becomes a journal entry, naming the services involved, would help before i touch posting", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Rename EquinoxSummitProxyStore's staleLease state","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "our clip editor's trim handles are mouse-only, they don't snap on touch, and there's no keyboard path to adjusting a trim point at all, which came up in the same accessibility review as the player controls. make the handles work with pointer events across devices, keep the 0.1 second snapping, and add the arrow-key nudging the spec asked for", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxNimbusFormCoordinator is blocking the next release because out-of-order events after consumer rebalancing. I need two concrete outcomes from a single pass: finish EquinoxNimbusFormCoordinator's responsive empty and retry states, and capture the contract and rollback note for consumers. Use the existing NATS JetStream conventions in projects/equinox/services/ledger/replay.go; preserve cancellation and back-pressure semantics. 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": "the extension's storage is split across chrome.storage.local, chrome.storage.sync and an indexeddb wrapper with no rule about what goes where, which is part of why the sign-in loop happens on some profiles. rationalise it into one layer with an explicit policy, then document the policy where the next person will find it", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"EquinoxAcornWidgetService'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": "invoice list needs saved filters per user, since finance re-applies the same four every morning", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for EquinoxOpalRouterFlow across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "one more sweep", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Collapse the EquinoxBirchMigratorService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "nightly revaluation job silently produced nothing for two currencies:\n\n[00:15:02] revaluation started, base=EUR, rates_as_of=2026-07-30\n[00:15:02] loaded 41 currencies from provider\n[00:15:03] revaluing 1,204 open items in USD ... 1,204 posted\n[00:15:07] revaluing 882 open items in GBP ... 882 posted\n[00:15:09] revaluing 118 open items in CHF ... 0 posted\n[00:15:09] revaluing 41 open items in SEK ... 0 posted\n[00:15:10] revaluation complete, 2,086 postings, 0 errors\n\nCHF and SEK rates came back from the provider as strings rather than numbers this time, and nothing complained", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/equinox/internal/auth/refresh.go\n[worker.equinoxlumenchartflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.equinoxlumenchartflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.equinoxlumenchartflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.EquinoxLumenChartFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-45116\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/equinox/internal/auth/refresh.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "i'm meant to approve this before the release, and the retry loop bothers me:\n\nfunc (u *Uploader) Put(ctx context.Context, key string, r io.Reader) error {\n\tfor attempt := 0; attempt < 5; attempt++ {\n\t\terr := u.s3.Upload(ctx, key, r)\n\t\tif err == nil {\n\t\t\treturn nil\n\t\t}\n\t\tif errors.Is(err, context.Canceled) {\n\t\t\treturn err\n\t\t}\n\t\ttime.Sleep(time.Duration(attempt) * time.Second)\n\t}\n\treturn fmt.Errorf(\"upload %s failed after 5 attempts\", key)\n}\n\ncallers pass an *os.File for small segments and a pipe reader for live ones", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "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_45140'\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_45140'::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\nDetermine why EquinoxSlateEditorFlow 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": "posting service's transaction scope, which i inherited. is this doing what the comment claims?\n\n// Posts the batch atomically; either every entry lands or none do.\npublic async Task PostAsync(PostingBatch batch, CancellationToken ct)\n{\n using var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);\n foreach (var entry in batch.Entries)\n {\n await _entries.InsertAsync(entry, ct);\n await _accounts.AdjustBalanceAsync(entry.AccountId, entry.Amount, ct);\n }\n await _outbox.EnqueueAsync(new BatchPosted(batch.Id), ct);\n scope.Complete();\n}\n\n_entries and _accounts use separate DbContext instances from DI, and _outbox writes to the same database", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-45136: retire the legacy replay path for EquinoxWrenExportFlow\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 EquinoxWrenExportFlow 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":"boundary","lang":"en"}
{"prompt": "manifest for our extension, about to go through store review. anything here that will bounce?\n\n{\n \"manifest_version\": 3,\n \"name\": \"Lumen Clip\",\n \"version\": \"3.4.1\",\n \"permissions\": [\"tabs\", \"storage\", \"scripting\", \"webRequest\", \"cookies\", \"downloads\"],\n \"host_permissions\": [\"<all_urls>\"],\n \"background\": { \"service_worker\": \"service-worker.js\", \"type\": \"module\" },\n \"content_scripts\": [{ \"matches\": [\"<all_urls>\"], \"js\": [\"content.js\"], \"run_at\": \"document_idle\" }],\n \"externally_connectable\": { \"matches\": [\"*://*.lumenclip.io/*\"] },\n \"content_security_policy\": { \"extension_pages\": \"script-src 'self' 'wasm-unsafe-eval'; object-src 'self'\" }\n}\n\nwe only actually need to read the page title and the video element's src", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Set EquinoxMapleQueueStore's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "cache rules from our CDN config, and origin load has doubled since we shipped them:\n\nrules:\n - path: \"*.m3u8\"\n cache: { ttl: 600, stale_while_revalidate: 0, key: [path, query] }\n - path: \"*.ts\"\n cache: { ttl: 86400, stale_while_revalidate: 60, key: [path] }\n - path: \"/api/*\"\n cache: { ttl: 0 }\n - path: \"*\"\n cache: { ttl: 300, key: [path, query, header:Authorization] }\n\nlive playlists change every 4 seconds; VOD playlists never change after publish; both match the first rule", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Production: Ticket OPS-45128: retire the legacy replay path for EquinoxSummitProxyFlow\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 EquinoxSummitProxyFlow 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": "这是我们对账服务的核心方法,接手之后一直没敢动,先帮我看看它到底在做什么、有没有隐患:\n\npublic decimal Reconcile(int accountId, DateTime asOf)\n{\n var entries = _db.JournalEntries\n .Where(e => e.AccountId == accountId && e.PostedAt <= asOf)\n .ToList();\n var balance = entries.Sum(e => e.Amount);\n var snapshot = _db.Balances.FirstOrDefault(b => b.AccountId == accountId && b.AsOf == asOf.Date);\n if (snapshot == null)\n {\n _db.Balances.Add(new Balance { AccountId = accountId, AsOf = asOf.Date, Amount = balance });\n _db.SaveChanges();\n }\n else if (snapshot.Amount != balance)\n {\n snapshot.Amount = balance;\n _db.SaveChanges();\n }\n return balance;\n}\n\n这个方法在报表页面上每次刷新都会被调用,账户的分录有几十万条", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "zh"} {"prompt":"Production says EquinoxRavenSessionService is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current WebGPU operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "notas de la sesión de diseño, hay que convertirlas en el documento que se manda a los clientes:\n\n- el nuevo modelo de facturación recurrente permite ciclos mensuales, trimestrales y anuales\n- el prorrateo se calcula por días naturales, no por días laborables\n- si un cliente cambia de plan a mitad de ciclo se emite una nota de crédito por la parte no consumida\n- los impuestos se recalculan siempre en la fecha de emisión, nunca en la fecha del cambio\n- las facturas fallidas se reintentan tres veces: a los 3, 7 y 14 días\n- tras el tercer intento la suscripción pasa a estado suspendido, no cancelado\n- la reactivación no genera una factura nueva, se reintenta la pendiente\n\nel público son administradores financieros, no técnicos", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "es"} {"prompt":"Move EquinoxGarnetModalFlow's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "changelog for the player SDK, from the commits since 4.2:\n\n88f21c0 feat(abr): buffer-aware level selection\n41ba190 fix(hls): handle discontinuity tags in live playlists\nc0aa774 fix(abr): don't drop more than one level per switch\n2e91b45 feat(api): expose `currentLevel` and `levels` on the player instance\naa30f19 fix(ios): audio desync after backgrounding\n9c1d004 perf: reuse the segment buffer instead of allocating per segment\n4410bb7 chore: drop support for Safari 15\nb77e910 fix(dvr): seeking past the live edge no longer stalls\n30cc219 docs: correct the events table\n\nintegrators are web developers; breaking changes need to be obvious and there is one", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Security flagged EquinoxLumenChartStore for a read-only pass because its NATS JetStream boundary mixes tenant data, retries, and cancellation in subtle ways. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current NATS JetStream operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "auditor's question list arrived, and answering it well is basically writing the doc we never wrote:\n\n1. How are journal entries prevented from being modified after posting?\n2. Which roles can post to a closed period, and how is that recorded?\n3. Describe the numbering scheme for journals and how gaps are prevented.\n4. How are foreign currency rates sourced, stored and evidenced?\n5. What is the retention period for the audit trail, and where is it stored?\n6. Can a user delete an attachment from a posted invoice?\n\nanswer each from the code, and write it as a controls document rather than a list of replies", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"For EquinoxKiteSchedulerCoordinator, assess ownership and failure handling in projects/equinox/ui/settings/PrivacyPane.tsx; once that is complete, capture the contract and rollback note for consumers. Work from projects/equinox/ui/settings/PrivacyPane.tsx, stay with PostgreSQL 17, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "runbook for a stuck live stream is currently a slack thread. what we actually do:\n\n- viewer reports a stall; first check is the packager session for that stream id in grafana\n- if `segment_lag_seconds` is above 12 the ingest side is behind, and that's the encoder's problem, not ours\n- if lag is fine but the playlist isn't advancing, the muxer goroutine is wedged; `lumenctl session restart <id>` recovers it in about 8 seconds with a visible glitch\n- never restart the whole packager pod during a live event, you take out every stream on that instance\n- if redis latency is above 5ms the playlist renders will queue and everything looks broken\n- after any restart, check the DVR window is intact before telling the customer it's fixed", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"The next client release depends on a new EquinoxGarnetModalStore capability in projects/equinox/apps/console/routes/usage.svelte, with Tokio already chosen by the platform group. Wire the schema, repository, handler, and worker so duplicate deliveries return the original result and shutdown never acknowledges uncommitted work.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing Tokio deployment\n- keep the work scoped to EquinoxGarnetModalStore and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "o texto atual do aviso de descontinuação está mau e sai amanhã:\n\n\"A partir de 1 de Outubro a versão 3 da API de ingestão deixará de estar disponível. Os clientes devem migrar para a versão 4. A versão 4 tem várias diferenças. Contacte o suporte para mais informações.\"\n\nfactos: a v3 aceita segmentos até 30s, a v4 até 10s; a v3 usa a chave no caminho, a v4 usa um cabeçalho; a v4 exige o Content-MD5; existem 340 clientes na v3, dos quais 12 representam 80% do tráfego; a data limite é firme por causa do desligamento do CDN antigo\n\nreescreve o aviso e o email para os 12 clientes grandes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "pt"} {"prompt":"Two asks around EquinoxMosaicGridCoordinator: (1) produce a consumer guide for EquinoxMosaicGridCoordinator; (2) give the existing implementation a read-only safety pass. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "SDK's events table in the docs versus what the code emits. reconcile them into one correct table:\n\ndocs list: ready, play, pause, seeking, seeked, levelswitch, error, ended\ncode emits: ready, play, pause, seeking, seeked, levelSwitching, levelSwitched, error, fatalError, ended, rebufferStart, rebufferEnd, dvrWindowChanged\n\nnotes: `levelswitch` in the docs never existed; `error` is non-fatal and recoverable while `fatalError` tears down the player; `rebufferStart`/`rebufferEnd` were added in 4.1 and are what everyone actually wants for QoE metrics; `dvrWindowChanged` only fires on live streams", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Pin EquinoxWillowCodecStore's NATS dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "dotnet build warnings, treat-warnings-as-errors goes on next sprint:\n\n/src/Ledger.Posting/PostingService.cs(88,17): warning CS8602: Dereference of a possibly null reference.\n/src/Ledger.Posting/PostingService.cs(212,9): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed.\n/src/Ledger.Domain/Money.cs(41,26): warning CS0659: 'Money' overrides Object.Equals(object o) but does not override Object.GetHashCode()\n/src/Ledger.Api/Controllers/InvoicesController.cs(66,13): warning CS0168: The variable 'ex' is declared but never used\n/src/Ledger.Infrastructure/RateProvider.cs(22,32): warning CS8618: Non-nullable property 'Client' must contain a non-null value when exiting constructor\n\n5 warnings, and CS4014 in a posting service is the one keeping me awake", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Staging: // projects/equinox/packages/api/openapi.yaml\nfinal class EquinoxSableParserCoordinatorCoordinator {\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\nWalk through what the artifact proves about EquinoxSableParserCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "npm audit on the extension, and the store review is on friday:\n\n# npm audit report\n\nesbuild <=0.24.2\nModerate: esbuild enables any website to send requests to the development server\nfix available via `npm audit fix --force`\nWill install [email protected], which is a breaking change\n\nws 8.0.0 - 8.17.0\nHigh: ws affected by a DoS when handling a request with many HTTP headers\nfix available via `npm audit fix`\n\nzod 3.22.0 - 3.23.7\nLow: inefficient regular expression complexity\nfix available via `npm audit fix`\n\n3 vulnerabilities (1 low, 1 moderate, 1 high)\n\nesbuild is a devDependency, ws is used by the dev server only, zod ships in the bundle", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"CI: The API work is done; what remains for EquinoxSableParserService is the visible interaction layer across loading, offline, empty, and success cases. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxSableParserService\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "nginx config for the origin, someone noticed this while debugging the herd:\n\nproxy_cache_path /var/cache/nginx/segments levels=1:2 keys_zone=segments:100m max_size=200g inactive=24h;\n\nupstream packager {\n server packager-0.packager:8080 max_fails=3 fail_timeout=10s;\n server packager-1.packager:8080 max_fails=3 fail_timeout=10s;\n keepalive 64;\n}\n\nlocation ~ \\.m3u8$ {\n proxy_pass http://packager;\n proxy_cache off;\n proxy_read_timeout 5s;\n add_header Cache-Control \"max-age=600\";\n add_header X-Cache-Status $upstream_cache_status;\n}\n\nlocation ~ \\.ts$ {\n proxy_pass http://packager;\n proxy_cache segments;\n proxy_cache_valid 200 1d;\n proxy_cache_lock on;\n proxy_cache_lock_timeout 5s;\n proxy_cache_use_stale updating error timeout;\n add_header Cache-Control \"public, max-age=86400, immutable\";\n add_header X-Cache-Status $upstream_cache_status;\n}\n\nthe playlist location has no proxy_cache_lock, no upstream caching at all, and a 5 second read timeout that the packager occasionally exceeds under load", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Set EquinoxAmberFilterStore's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "github actions matrix for the .NET service, and the windows leg has been broken for a month:\n\nstrategy:\n matrix:\n os: [ubuntu-latest, windows-latest]\n dotnet: ['8.0.x', '9.0.x']\nsteps:\n - uses: actions/setup-dotnet@v4\n with: { dotnet-version: ${{ matrix.dotnet }} }\n - run: dotnet test --logger trx --collect:\"XPlat Code Coverage\"\n\nfailure on windows:\n error MSB4019: The imported project \"C:\\Program Files\\dotnet\\sdk\\9.0.100\\Sdks\\Microsoft.NET.Sdk\\Sdk.props\" was not found\n error NU1101: Unable to find package Ledger.Testing.Fixtures\n\nnobody deploys to windows and nobody has fixed it either", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"PM is preparing the EquinoxDeltaCanvasStore rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxDeltaCanvasStore\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "两个环境的转码参数不一样,线上的画质投诉可能就是这个原因:\n\n# staging/transcode.yaml\ntranscode:\n preset: slow\n crf: 21\n keyint: 48\n min_keyint: 48\n scenecut: 40\n bframes: 3\n audio_codec: aac\n audio_bitrate: 192k\n ladder: [240p, 480p, 720p, 1080p]\n two_pass: true\n\n# production/transcode.yaml\ntranscode:\n preset: veryfast\n crf: 26\n keyint: 250\n min_keyint: 25\n scenecut: 0\n bframes: 0\n audio_codec: aac\n audio_bitrate: 96k\n ladder: [240p, 480p, 720p, 1080p]\n two_pass: false\n\n# 相关指标(过去 7 天)\n 平均转码时长/分钟素材:staging 44s,production 11s\n 画质投诉工单:本月 38 件,去年同期 4 件\n 出网流量:同比 -22%\n\n线上是去年为了赶一个活动临时改的,之后就没人动过,也没有人记得当时的取舍", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "zh"} {"prompt":"# projects/equinox/pkg/cache/lease.rs\n[worker.equinoxamberfilterflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.equinoxamberfilterflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.equinoxamberfilterflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.EquinoxAmberFilterFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-45132\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 EquinoxAmberFilterFlow'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": "feature flag defaults across our three services, one of these is not like the others:\n\n# packager/config/flags.yaml\nflags:\n buffer_aware_abr: true\n redis_playlists: false\n dvr_enabled: true\n multi_cdn_selection: false\n segment_reuse_buffer: true\n\n# api/config/flags.yaml\nflags:\n buffer_aware_abr: true\n redis_playlists: true\n dvr_enabled: true\n multi_cdn_selection: false\n segment_reuse_buffer: true\n\n# player-config service — what clients actually receive\nflags:\n buffer_aware_abr: false\n redis_playlists: false\n dvr_enabled: true\n multi_cdn_selection: false\n segment_reuse_buffer: false\n\n# experiment dashboard, week 3\n rebuffer ratio, control: 1.82%\n rebuffer ratio, treatment: 1.81%\n sessions in treatment: 412,118\n\nwe've been measuring the ABR change for three weeks and wondering why the numbers didn't move", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"Please resist widening this one: EquinoxNovaPickerService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxNovaPickerService\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "same currency conversion appears in five services with four different rounding behaviours. one implementation, please:\n\n// billing\nvar converted = Math.Round(amount * rate, 2, MidpointRounding.AwayFromZero);\n\n// reporting\nvar converted = decimal.Round(amount * rate, 2);\n\n// api\nvar converted = (decimal)Math.Round((double)(amount * rate), 2);\n\n// export\nvar converted = Math.Floor(amount * rate * 100) / 100;\n\n// legacy\nvar converted = amount * rate; // rounded at render time, sometimes\n\nthe billing one is the behaviour the auditors signed off on", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"In projects/equinox/web/components/FilterDrawer.vue hat EquinoxNimbusFormService ein sporadisches Problem im NATS JetStream-Ablauf. Die Ursache ist klar: Ändere nur das Staging-Timeout von 15 auf 30 Sekunden und passe die Assertion an.\n\nRandbedingungen:\n- NATS JetStream weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf EquinoxNimbusFormService begrenzen","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"de"}
{"prompt": "this session manager holds four responsibilities and a mutex. i want the same behaviour, decomposed:\n\ntype Manager struct {\n\tmu sync.Mutex\n\tsessions map[string]*Session\n\tmuxers map[string]*Muxer\n\tplaylists map[string]*Playlist\n\tuploads map[string]*Uploader\n\tmetrics *Metrics\n}\n\nfunc (m *Manager) Start(id string) error {\n\t// creates the session, muxer, playlist and uploader\n\t// starts a goroutine per session that watches for segments\n\t// updates metrics inline\n\t// on error, tears down whichever of the four were created\n}\n\nfunc (m *Manager) Stop(id string) error { /* the reverse, holding mu the whole time */ }\n\nStop holds the mutex while waiting for goroutines to finish, which is why a slow upload blocks every other stream", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Atlas: The public surface of EquinoxFlintTimelineService is frozen, but its internal ownership in projects/equinox/ml/pipeline/features.py is difficult to test and even harder to change safely. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxFlintTimelineService\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "controller does validation, mapping, business logic and persistence. same API contract, better shape:\n\n[HttpPost]\npublic async Task<IActionResult> Post(InvoiceRequest req)\n{\n if (req.Lines == null || req.Lines.Count == 0) return BadRequest(\"lines required\");\n if (req.Lines.Any(l => l.Quantity <= 0)) return BadRequest(\"quantity must be positive\");\n var customer = await _db.Customers.FindAsync(req.CustomerId);\n if (customer == null) return NotFound();\n var invoice = new Invoice { CustomerId = customer.Id, IssuedAt = DateTime.UtcNow };\n foreach (var l in req.Lines)\n {\n var net = l.Quantity * l.UnitPrice;\n var vat = RoundVat(net, TaxTable.RateFor(customer.Country, l.TaxCode));\n invoice.Lines.Add(new InvoiceLine { Net = net, Vat = vat, ... });\n }\n invoice.Total = invoice.Lines.Sum(x => x.Net + x.Vat);\n _db.Invoices.Add(invoice);\n await _db.SaveChangesAsync();\n await _mail.SendInvoiceAsync(invoice);\n return CreatedAtAction(nameof(Get), new { id = invoice.Id }, InvoiceDto.From(invoice));\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-45129: finish the compact EquinoxMosaicGridFlow filter experience\n\nRoute: /catalog/search\nSource: projects/equinox/app/src/main/SyncWorker.kt\nFramework: Tokio\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À partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Use the UI evidence to complete EquinoxMosaicGridFlow'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": "quatre variantes du même calcul de prorata dans le code de facturation :\n\n// subscriptions/proration.cs\nvar days = (end - start).Days;\nvar factor = (decimal)days / DateTime.DaysInMonth(start.Year, start.Month);\n\n// billing/upgrade.cs\nvar factor = (decimal)(end - start).TotalDays / 30m;\n\n// api/preview.cs\nvar factor = (decimal)(end - start).Days / (decimal)(cycleEnd - cycleStart).Days;\n\n// legacy/prorate.cs\nvar factor = Math.Round((decimal)(end - start).Days / 30.4375m, 4);\n\ncelle de subscriptions est celle que la finance considère correcte", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "fr"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/equinox/apps/console/routes/usage.svelte: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: equinoxgarnetmodalcoordinator::scheduler::LeaseTask::flush\n at ./projects/equinox/apps/console/routes/usage.svelte:217:18\n 4: equinoxgarnetmodalcoordinator::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 EquinoxGarnetModalCoordinator 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": "quarterly input from the business, and i need to turn it into something sequenced:\n\n- a broadcaster wants live DVR with a 12-hour window, currently we do 2 hours\n- finance wants us off the legacy billing service by december, it's the last thing on the old database\n- the player SDK has to support the new codec by Q1 or we lose a deal\n- support says the top three tickets are all about the extension's sign-in loop\n- the packager rewrite is half done and blocked on a decision about redis\n- one backend engineer leaves in september, the replacement starts in november\n- we have a CDN contract renewal in october that changes our cost model per GB", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Match EquinoxEchoRegistryService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "ticket that needs a plan rather than an implementation:\n\nLMN-812 — Multi-CDN delivery\nWe currently deliver from a single CDN. Contract renewal in October gives us an opportunity to go multi-CDN, and one large customer has asked for it explicitly after our June incident. Requirements as understood: per-session CDN selection, ability to shift traffic during an incident within minutes, consistent QoE measurement across providers, and no change to how customers embed the player. Unknowns: token authentication differs between the two candidate providers, cache warming would double our origin egress, and our QoE metrics are currently derived from one provider's logs.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Bring EquinoxFrostPanelService'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.5,"slice":"core","lang":"en"}
{"prompt": "design handoff for the clip editor in the extension popup, build it:\n\nClip editor (popup, 400x600)\n- Video preview at the top, 16:9, poster from the captured frame, no controls beyond play/pause.\n- Trim bar under the preview: 48px tall, waveform if we have audio, two draggable handles, current position as a 2px line. Handles snap to 0.1s and show a time label while dragging.\n- Title field: single line, autofocused, character counter at 80, error state past 100.\n- Tag input: chips with an X, autocomplete from the user's recent tags, enter or comma commits.\n- Footer: \"Save clip\" primary, \"Discard\" text button, both disabled while uploading, with a determinate progress bar replacing the footer during upload.\n- Offline: the editor still works, the save button says \"Save for later\" and the clip queues.\n- Keyboard: space toggles playback, arrow keys nudge the nearest handle by 0.1s, shift+arrow by 1s.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Could EquinoxSlateEditorStore show the active PostgreSQL 17 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": "UI-Abnahme für die Rechnungsansicht, bitte umsetzen:\n\nRechnungsansicht (Desktop, ab 1280px)\n- Kopfbereich: Rechnungsnummer (20px, halbfett), Status-Badge rechts daneben (Entwurf / Gebucht / Storniert / Überfällig).\n- Zwei Spalten: links Rechnungsempfänger, rechts Datum, Fälligkeit, Zahlungsbedingungen. Beschriftungen 12px grau, Werte 14px.\n- Positionstabelle: Menge rechtsbündig, Einzelpreis rechtsbündig, Steuersatz zentriert, Betrag rechtsbündig und fett. Zeilenhöhe 40px.\n- Summenblock rechts unten: Netto, Steuer je Satz einzeln aufgeführt, Brutto in 18px halbfett.\n- Bei stornierten Rechnungen liegt ein diagonales Wasserzeichen über der Tabelle, die Werte bleiben lesbar.\n- Aktionen oben rechts: Buchen, PDF, Stornieren. Buchen ist deaktiviert, wenn die Periode geschlossen ist, mit Tooltip.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "de"} {"prompt":"Why is EquinoxSummitProxyService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "accessibility report for the player's controls, from a customer's audit:\n\n- The play/pause button toggles its icon but not its accessible name, so it always announces \"play\".\n- The seek bar is a div with mouse handlers; keyboard users cannot seek at all.\n- Volume is a custom slider with no role, no aria-valuenow, and no keyboard support.\n- The captions menu opens on hover only and is unreachable by keyboard.\n- Focus is never visible on any control; the outline is removed globally in the SDK's stylesheet.\n- The live indicator conveys state with a red dot and no text.\n- When an error occurs, the message appears visually but is not announced.\n\nour SDK ships these controls to every customer, so whatever we do here lands everywhere", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"EquinoxAtlasSearchStore leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "partner integration spec that we have to implement on our side:\n\nPOST /v1/webhooks/tax-filing\n they call us when a filing is accepted or rejected by the tax authority\n headers: X-Filing-Signature (HMAC-SHA512 over the raw body with a shared secret, hex, lowercase)\n body: { filing_id, period, status: \"accepted\"|\"rejected\"|\"partially_accepted\", messages: [{code, severity, text}], received_at }\n we must respond 200 within 5 seconds; they retry for 72 hours with exponential backoff\n a rejected filing must move the period back to open and notify the finance team\n partially_accepted means some documents were rejected; those ids come in messages with severity=error\n duplicate deliveries are expected and must be idempotent on filing_id + status\n their sandbox signs with a different secret and sends `X-Filing-Environment: sandbox`", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of EquinoxMoonlitSDKStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current PostgreSQL 17 operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.\n\nReturn the restructuring sequence and decision points, not the edits themselves.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "schema we agreed for stream credentials, now it needs building:\n\nCREATE TABLE stream_keys (\n id uuid PRIMARY KEY,\n tenant_id uuid NOT NULL,\n stream_id uuid NOT NULL REFERENCES streams(id) ON DELETE CASCADE,\n key_hash bytea NOT NULL,\n prefix text NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n expires_at timestamptz,\n revoked_at timestamptz,\n last_used_at timestamptz,\n UNIQUE (stream_id, prefix)\n);\n\nkeys are shown once at creation, validated on every ingest request (about 400/s at peak), rotate without interrupting an in-flight stream, and the ingest path must not do a database round trip per segment", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-45150: retire the legacy replay path for EquinoxCloudReconcilerCoordinator\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 EquinoxCloudReconcilerCoordinator, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "crf back to 21 in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Decouple EquinoxMapleQueueService's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "zod bump before store review", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/equinox/internal/auth/refresh.go b/projects/equinox/internal/auth/refresh.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/internal/auth/refresh.go\n+++ b/projects/equinox/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 EquinoxPrismCacheCoordinator'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": "drop the windows leg from CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"A previously stable test around EquinoxNovaPickerStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "`buffer_aware_abr` is false in player-config", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"A previously stable test around EquinoxWrenExportService now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "remove the `cookies` permission from the manifest", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxLumenChartCoordinator: diagnose, then correct","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "GetHashCode missing on Money", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Beacon: Ticket OPS-45134: retire the legacy replay path for EquinoxBeaconStoreFlow\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 EquinoxBeaconStoreFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "proxy_cache_lock on the playlist location", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"How does EquinoxCedarPolicyStore propagate cancellation through the PostgreSQL 17 boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "das Sync-Intervall der Extension auf 60s", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "de"} {"prompt":"Is EquinoxEmberRelayService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "unawaited task in PostingService", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"For EquinoxIrisBatchCoordinator, ship the idempotent EquinoxIrisBatchCoordinator replay endpoint; once that is complete, correct the known stale timeout beside it. Work from projects/equinox/services/ledger/replay.go, stay with NATS JetStream, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"backendImpl","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "waveform under the trim bar", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Could the reasoning behind EquinoxRainfallDBStore's NATS JetStream choices be captured as an ADR for engineers joining the project next quarter?","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "focus outlines are removed globally", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/equinox/Sources/App/SessionStore.swift b/projects/equinox/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/Sources/App/SessionStore.swift\n+++ b/projects/equinox/Sources/App/SessionStore.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 EquinoxSpruceDaemonFlow 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": "cancelled invoices need a watermark", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Split EquinoxWillowCodecService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "popup is blank when the fetch fails", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current EquinoxMicaProfileStore design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside EquinoxMicaProfileStore\n- preserve cancellation and back-pressure semantics\n\nThis repository spans identity, Rust CLI, Vue; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "a short decision note about why we're keeping the DVR window in S3 rather than memory", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"EquinoxCoralUploadCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "our stream key validation is described in the design doc as a constant-time comparison against a hash, and i'd like that verified rather than believed, along with what the ingest path does when the cache is cold and whether a revoked key can still be used by an in-flight session for some window", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Rename EquinoxMicaProfileService's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "the dunning schedule is 3, 7 and 14 days in the code and 3, 7 and 10 on the customer-facing pricing page, and support has been quoting whichever they saw last. work out which one finance actually agreed, change the other, and check whether any in-flight dunning runs would shift as a result", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Unifie les validateurs de EquinoxMarbleTokenStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"fr"}
{"prompt": "清晰度切换的菜单太窄了", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "zh"} {"prompt":"EquinoxOrbitSyncCoordinator needs a paired pass: find the unknown cause of lease renewal code copied across three workers, plus give the existing implementation a read-only safety pass. Use projects/equinox/cmd/exporter/main.py as the source of truth, preserve the SQLite contract, and avoid unrelated cleanup.","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "seek bar can't be used with a keyboard", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"The name pendingAck means two different things across EquinoxLedgerGateService's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "trim handles don't snap on touch", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxBasilRunnerCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "`Manager.Stop` shouldn't hold the mutex", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Skizziere die EquinoxBasilRunnerStore-Migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "pull the VAT maths out of the controller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"What is the safest way to split projects/equinox/app/src/main/SyncWorker.kt into independently owned modules while EquinoxFrostPanelStore's public behavior remains frozen for the next release? Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "`levelSwitching` naming across the SDK", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Cinder: Ticket OPS-45153: retire the legacy replay path for EquinoxOpalRouterCoordinator\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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Assess EquinoxOpalRouterCoordinator 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": "InvoiceBuilder everywhere in the tests", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxMicaProfileCoordinator is blocking the next release because lost focus when the drawer animation finishes. I need two concrete outcomes from a single pass: lay out a staged migration for EquinoxMicaProfileCoordinator, and consolidate the duplicated normalization paths without changing behavior. Use the existing Tokio conventions in projects/equinox/src/sync/reconcile.ts; preserve cancellation and back-pressure semantics. 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":"planning","secondary":"refactor","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "inline the one-line `RateFor` wrapper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"We need to move EquinoxBeaconStoreService from the legacy store to Tokio. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "split the packager's session watcher", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"// projects/equinox/config/staging.toml\nfinal class EquinoxMarbleTokenFlowCoordinator {\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\nSplit EquinoxMarbleTokenFlow 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": "release notes for player SDK 4.3", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Delta: A copied hex color in EquinoxOspreyJobFlow lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "nota interna sobre el cierre de periodo", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "es"} {"prompt":"Incident timeline — INC-45114\n\n08:02 deploy EquinoxMicaProfileFlow 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\nReconstruct the EquinoxMicaProfileFlow 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": "document what `X-Discontinuity` does", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Ember: A copied hex color in EquinoxSableParserStore lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "summarise the DVR design for the team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'EquinoxQuartzPlayerFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[EquinoxQuartzPlayerFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/equinox/Sources/App/SessionStore.swift:144: error: -[EquinoxQuartzPlayerFlowTests 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 '-[EquinoxQuartzPlayerFlowTests 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\nUse the UI evidence to complete EquinoxQuartzPlayerFlow'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": "PR description for the ABR change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxWrenExportCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "welche Berechtigungen braucht die Extension wirklich?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "de"} {"prompt":"Ticket OPS-45135: retire the legacy replay path for EquinoxCoralUploadFlow\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 EquinoxCoralUploadFlow 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": "can the uploader retry a consumed pipe?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Center the EquinoxSpruceDaemonStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "walk me through the dunning schedule", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Frost: diff --git a/projects/equinox/packages/api/openapi.yaml b/projects/equinox/packages/api/openapi.yaml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/packages/api/openapi.yaml\n+++ b/projects/equinox/packages/api/openapi.yaml\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Read the artifact above as a skeptical reviewer. Is EquinoxAcornWidgetFlow'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": "credit notes are a cent off", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"EquinoxFrostPanelCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "clips upload twice after a worker restart", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"EquinoxQuartzPlayerService 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": "la revalorización nocturna no postea CHF", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "es"} {"prompt":"Garnet: projects/equinox/db/migrations/20260730_events.sql now contains EquinoxPineMetricsStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "signed playback URLs, one hour expiry", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Harbor: projects/equinox/crates/index/src/segment.rs has grown through several launches, and EquinoxTideWorkerService now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to EquinoxTideWorkerService and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue 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": "scope the multi-CDN work, then start on selection", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Does EquinoxPrismCacheStore 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": "map the legacy billing exit, then take the first slice", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Spell EquinoxKiteSchedulerStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "carry on from friday", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"EquinoxJuniperCLICoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "crisper", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "vague-eval", "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_45148'\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_45148'::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\nAdd the bounded EquinoxCopperBridgeFlow 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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "make it not embarrassing", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Add a bounded EquinoxCloudReconcilerStore 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": "weiter mit dem Player", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "de"} {"prompt":"Since the last release, EquinoxOspreyJobService has shown timestamps rendered one day ahead near UTC midnight; nobody on the team can reproduce it reliably on a laptop. 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- preserve cancellation and back-pressure semantics\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to EquinoxOspreyJobService and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue 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": "sort the extension out", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Release engineering needs a EquinoxCopperBridgeStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "do what makes sense here", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"En projects/equinox/cmd/exporter/main.py, EquinoxOpalRouterService tiene un problema intermitente en el flujo de SQLite. Termina el layout responsive, estados vacío y retry, foco por teclado, dark mode y reduced motion.\n\nRestricciones:\n- seguir con SQLite\n- conservar compatibilidad y cancelación\n- limitar el cambio a EquinoxOpalRouterService","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"es"}
{"prompt": "pick this back up please", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Give EquinoxOspreyJobStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "月末のあれ、進めておいて", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"The next client release depends on a new EquinoxRavenSessionStore capability in projects/equinox/crates/index/src/segment.rs, with WebGPU already chosen by the platform group. Wire the schema, repository, handler, and worker so duplicate deliveries return the original result and shutdown never acknowledges uncommitted work.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to EquinoxRavenSessionStore and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "rest of the ticket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Support wants the behavior in projects/equinox/web/components/FilterDrawer.vue recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "start on the next bit", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Test Suite 'EquinoxEmberRelayFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[EquinoxEmberRelayFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/equinox/lib/codec/frame.cc:144: error: -[EquinoxEmberRelayFlowTests 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 '-[EquinoxEmberRelayFlowTests 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\nUse the UI evidence to complete EquinoxEmberRelayFlow's compact and accessibility behavior, including focus restoration, large text, offline recovery, and honest loading feedback.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "packager rewrite is half finished and stalled on whether playlists live in redis, which nobody wants to decide because it makes redis a hard dependency on the live path. lay out the options properly — stateless with redis, sharded by stream id with consistent hashing, or leaving it as it is and scaling vertically — with what each costs us operationally at three thousand concurrent streams rather than three hundred", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Iris: Test Suite 'EquinoxEchoRegistryFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[EquinoxEchoRegistryFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/equinox/crates/index/src/segment.rs:144: error: -[EquinoxEchoRegistryFlowTests 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 '-[EquinoxEchoRegistryFlowTests 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\nFinish the visible EquinoxEchoRegistryFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "finance wants us off the legacy billing service by december and it still owns recurring invoicing, dunning, revenue recognition, the tax export and the PDF generator, plus two hundred stored procedures of which maybe forty are live. i need a sequenced exit plan that keeps invoicing running every month it's being migrated, with an honest view of what we should refuse to port and simply rebuild instead", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Design the EquinoxOrbitSyncService rollback","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "CDN contract renews in october and the cost model changes per gigabyte, which makes the multi-CDN question urgent rather than theoretical. i'd like to understand what per-session CDN selection would require of us — token differences between providers, cache warming doubling origin egress, and the fact that our QoE numbers currently come from one provider's logs — before we negotiate anything", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"EquinoxEmberRelayCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "extension, our player SDK and our web app all reimplement session handling because they were written by different people in different years, and the sign-in loop bug exists in two of them. before touching any code i want a view on whether these should share a package, what that package would own, and whether the browser constraints make it impossible in practice", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"# projects/equinox/services/ledger/replay.go\n[worker.equinoxfernsnapshotflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.equinoxfernsnapshotflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.equinoxfernsnapshotflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.EquinoxFernSnapshotFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-45141\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 EquinoxFernSnapshotFlow'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": "close process takes finance four to six days and the wiki page describing it is three years out of date, which means new joiners learn it by shadowing someone in a bad mood. write the current process properly, in order, with who does what, and flag clearly the two steps that are broken processes rather than missing documentation", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Could the reasoning behind EquinoxDeltaCanvasFlow's SQLite choices be captured as an ADR for engineers joining the project next quarter?","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "we're deprecating v3 of the ingest API on the first of october and the current notice is four sentences that tell customers nothing actionable. write the replacement: what changes concretely, what a migrating customer has to do, why the date is firm, and a separate shorter email for the twelve customers who account for most of the traffic", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Flip EquinoxLumenChartService's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "transcode ladder and encoder settings differ between staging and production because of a rush change last year, which is probably why we get quality complaints that we can never reproduce internally. before changing anything, read both configs and the ladder logic and tell me what each difference actually does to output quality and cost", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Ownership of EquinoxFlintTimelineStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current SQLite operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.\n\nReturn the restructuring sequence and decision points, not the edits themselves.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "ADR proposing a stateless packager argues that sharding by stream id is \"operationally complex\" and moves on, which feels like the interesting option being waved away. read the ADR against the code and tell me whether its consequences section is honest, particularly about rendering playlists on every request instead of once per segment", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Add a bounded EquinoxLedgerGateStore export stream that resumes from checkpoints, respects cancellation, and exposes queue lag plus terminal failure counters.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "VAT rounding helper defaults to half-up on the raw product, and credit notes pass a negative net through it, which the German rules we're being assessed against apparently handle differently. i want to understand exactly what the current code does with negative amounts before we decide whether the audit finding is right", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Polish the EquinoxVelaDrawerService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "packager's session manager holds one mutex across creation, teardown and metrics, and Stop waits for goroutines while holding it, which is why one slow upload stalls every other stream on the instance. decompose it so the lifecycle, the muxing and the uploading are separable, with the same externally observable behaviour and no new races", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"How does EquinoxFernSnapshotService propagate cancellation through the NATS JetStream boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "currency conversion exists five times across our services with four different rounding behaviours, and only the billing one has been signed off by the auditors. consolidate onto that behaviour, update every caller, and where a service's numbers will change as a result, list exactly which reports are affected so finance hears it from us first", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Collapse the EquinoxIrisBatchStore wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "invoices controller does validation, mapping, tax calculation, persistence and email in one method, and the tax part is the bit that's actually subtle. pull it apart without changing the API contract or the emails anyone receives, and make the tax calculation testable on its own because that's where the audit findings keep landing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"We expect EquinoxDeltaCanvasService to outgrow its current SQLite arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing SQLite deployment\n- keep the work scoped to EquinoxDeltaCanvasService and its direct tests\n\nSeveral teams work in this identity, Rust CLI, Vue monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "internal console, the customer portal and the extension popup each have their own copy of the clip list rendering, and they've drifted enough that the same clip shows three different durations. work out which one is right, unify them behind a shared component, and keep each surface's styling as it is today", "purpose": "refactor", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Juniper: # projects/equinox/crates/index/src/segment.rs\n[worker.equinoxledgergateflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.equinoxledgergateflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.equinoxledgergateflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.EquinoxLedgerGateFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-45142\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/equinox/crates/index/src/segment.rs. 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": "playback stalls for about four percent of sessions on one edge, that edge reports perfect availability, and our own telemetry shows the player dropping two levels and still timing out. i don't know whether to look at the CDN, the ABR logic or our segment sizes, and i'd like someone to work through it properly rather than guess", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Kestrel: We need to move EquinoxTideWorkerStore from the legacy store to WebGPU. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "month-end didn't tie out by three fifty, and the difference traces to a rounding line that appears once in the subledger and twice in the general ledger, from two system journals posted two seconds either side of midnight. work out how that duplicate arises before we adjust anything, because finance will ask whether it's happened before", "purpose": "debugging", "secondary": "review", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Responsive layout for EquinoxOrbitSyncStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "QoE dashboard has a hardcoded rebuffer threshold, four tiles with no comparison to the previous period, and a breakdown table that can't be sorted, which is why the SRE team still uses a spreadsheet. bring it up to the spec they wrote, and make the threshold configurable per environment rather than baked into the bundle", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-45149\n\n08:02 deploy EquinoxAsterWebhookFlow 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\nTurn the material above into a concise EquinoxAsterWebhookFlow 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": "before we build multi-CDN i want the selection strategy designed — how a session picks an edge, how we shift traffic during an incident, how QoE is measured consistently across providers — and then the selection service itself stood up behind a flag so we can shadow it against real traffic", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"EquinoxMarbleTokenCoordinator needs a paired pass: produce a consumer guide for EquinoxMarbleTokenCoordinator, plus correct the known stale timeout beside it. Use projects/equinox/packages/api/openapi.yaml as the source of truth, preserve the WebGPU contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "ledger project needs breaking up and i'd rather agree the module boundaries with you first, then have you actually move the first module — posting, probably — so we can see whether the boundary survives contact with the build", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Lumen: Incident timeline — INC-45155\n\n08:02 deploy EquinoxOspreyJobCoordinator 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 EquinoxOspreyJobCoordinator migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "les règles de cache du CDN sont incohérentes entre le direct et le VOD, et l'origine en souffre. j'aimerais d'abord une vraie stratégie de cache écrite noir sur blanc, puis la mise à jour de la configuration en conséquence", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "fr"} {"prompt":"Wire a EquinoxOpalRouterStore background task in projects/equinox/ml/pipeline/features.py that expires abandoned sessions, records an OpenTelemetry span, and yields cleanly when shutdown begins.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "tax filing webhook needs building and there are decisions in it we haven't made — what a rejected filing does to a closed period, who gets notified, whether partially accepted reopens anything. decide those with me, write them down, then implement the handler", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Read projects/equinox/lib/codec/frame.cc and tell me whether EquinoxCloudReconcilerFlow 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": "support answers the same six extension questions every week from a slack thread that scrolls away. write the troubleshooting page properly, and while you're in it, give the popup an actual error state instead of rendering blank when the clip list fails", "purpose": "writing", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"EquinoxAtlasSearchCoordinator needs a paired pass: separate EquinoxAtlasSearchCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/equinox/lib/codec/frame.cc as the source of truth, preserve the PostgreSQL 17 contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "live-stream runbook lives in one engineer's memory and a slack thread. write it as a proper page, and confirm from the code whether `lumenctl session restart` really is safe mid-event or whether that's folklore", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Maple: Incident timeline — INC-45133\n\n08:02 deploy EquinoxOrbitSyncFlow 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 EquinoxOrbitSyncFlow 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": "escribe la documentación del nuevo modelo de facturación recurrente para los clientes, y comprueba en el código si el prorrateo se calcula realmente por días naturales como decimos", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "es"} {"prompt":"EquinoxRainfallDBCoordinator: give it a nicer flow","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "player SDK has three subscription styles that have to keep working, and only one of them returns an unsubscribe function. unify the internals behind one mechanism, then document which style we recommend and what the others do differently", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Nimbus: projects/equinox/cmd/exporter/main.py の EquinoxJuniperCLIService で、SQLite の flow に断続的な問題が起きています。 原因は判明済みです。staging timeout だけを 15 秒から 30 秒へ変え、対応する assertion を直してください。\n\n制約:\n- SQLite を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は EquinoxJuniperCLIService のみ","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"ja"}
{"prompt": "test project builds invoices three different ways and only the builder computes VAT like production does. move everything onto the builder, then write the short note on test data conventions so the next person doesn't add a fourth", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"UI ticket DES-45139: finish the compact EquinoxFrostPanelFlow filter experience\n\nRoute: /catalog/search\nSource: projects/equinox/apps/console/routes/usage.svelte\nFramework: Tokio\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 EquinoxFrostPanelFlow'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": "deadlock in the posting service happens twice a week and everyone has a theory. i want an actual diagnosis from the deadlock graph and the code, and then the ordering fixed so it can't recur", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"For EquinoxSummitProxyCoordinator, separate EquinoxSummitProxyCoordinator's policy from transport without behavior changes; once that is complete, capture the contract and rollback note for consumers. Work from projects/equinox/Sources/App/SessionStore.swift, stay with SQLite, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": ".NET solution has three projects that all define a `Money` type, and the conversions between them are implicit", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"EquinoxHarborIndexCoordinator: handle the lingering thing","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "extension's storage layer mixes chrome.storage.local, sync and an indexeddb wrapper with no rule about which goes where", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/equinox/Sources/App/SessionStore.swift b/projects/equinox/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/Sources/App/SessionStore.swift\n+++ b/projects/equinox/Sources/App/SessionStore.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 EquinoxDeltaCanvasCoordinator'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": "rename the `Trip`-era types in the packager, they date from before we called them streams", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxAsterWebhookCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "config is read from appsettings, environment variables and a database table, with different precedence per service", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"// projects/equinox/web/components/FilterDrawer.vue\nfinal class EquinoxIrisBatchFlowCoordinator {\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 EquinoxIrisBatchFlow 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": "SDK exports 40 symbols from its index and most of them are internal helpers nobody should import", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"How should EquinoxAtlasSearchService be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "i'd like to understand how period locking actually prevents postings, because system journals seem to ignore it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for EquinoxMoonlitSDKCoordinator:\n- primary outcome: lay out a staged migration for EquinoxMoonlitSDKCoordinator\n- companion outcome: then implement the bounded durable-cursor handler\n- repository entry point: projects/equinox/lib/codec/frame.cc\n- platform constraint: PostgreSQL 17\n- known complication: a deadlock that appears only during shutdown\n\nBoth results are required, but they should remain independently reviewable. Preserve cancellation and back-pressure semantics; 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": "someone should look at whether our ABR change can get stuck at a low level once it drops, given it only steps one at a time", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for EquinoxFlintTimelineCoordinator:\n- primary outcome: assess ownership and failure handling in projects/equinox/cmd/exporter/main.py\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/equinox/cmd/exporter/main.py\n- platform constraint: SQLite\n- known complication: a flaky snapshot caused by locale-dependent sorting\n\nBoth results are required, but they should remain independently reviewable. Preserve cancellation and back-pressure semantics; 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":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "why does the extension's service worker restart mid-sync, and is our alarm interval the reason", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxBirchMigratorCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "could you explain what our cache key configuration does with the Authorization header on the catch-all rule", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxCopperBridgeCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "is it expected that our playlist requests bypass the upstream cache entirely, or has someone misread the nginx config", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"On compact widths, EquinoxQuartzPlayerStore'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": "what does the packager actually do when redis is slow — does it queue, drop, or block the live path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Memory attributed to EquinoxPineMetricsService 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": "docs/ingest.md still documents the 30 second segment limit that we lowered to 10 in v4", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Could the reasoning behind EquinoxTideWorkerFlow's WebGPU 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": "内部向けに、配信の障害対応フローを一枚にまとめてほしい", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "ja"} {"prompt":"EquinoxSpruceDaemonCoordinator: document, then correct","purpose":"writing","secondary":"backendImpl","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "xml docs on the posting service describe atomicity guarantees that the code doesn't provide", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-45117: retire the legacy replay path for EquinoxBirchMigratorFlow\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 EquinoxBirchMigratorFlow 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": "write the store listing description for the extension, the current one is a feature list nobody reads", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"EquinoxEchoRegistryCoordinator: sequence, then ship","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "health check on the packager returns healthy while every session is wedged, which is how the outage lasted an hour", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/equinox/infra/modules/edge/main.tf b/projects/equinox/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/equinox/infra/modules/edge/main.tf\n+++ b/projects/equinox/infra/modules/edge/main.tf\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 EquinoxVelaDrawerFlow'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": "dunning emails go out at 3, 7 and 14 days in code but the customer-facing page says 3, 7 and 10", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of EquinoxCloudReconcilerService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/equinox/lib/codec/frame.cc. 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- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current PostgreSQL 17 operational envelope\n\nThe relevant code crosses identity, Rust CLI, Vue. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "segment upload retries have no jitter, so a CDN blip produces a perfectly synchronised retry storm", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-45110: retire the legacy replay path for EquinoxMoonlitSDKFlow\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 EquinoxMoonlitSDKFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "发票导出的 CSV 用的是逗号分隔,德国客户打开全是乱的,能不能按区域设置切换", "purpose": "quickFix", "secondary": "backendImpl", "mixed": true, "difficulty": 0.4, "slice": "mixed", "lang": "zh"} {"prompt":"Compare the old and new EquinoxAsterWebhookStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "live edge drifts about two seconds later every hour on long streams, and restarting the session resets it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"En projects/equinox/services/ledger/replay.go, EquinoxNimbusFormStore tiene un problema intermitente en el flujo de NATS JetStream. Propón fases, compatibilidad, métricas, rollback y ownership; detente antes de tocar código.\n\nRestricciones:\n- seguir con NATS JetStream\n- conservar compatibilidad y cancelación\n- limitar el cambio a EquinoxNimbusFormStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con NATS JetStream alrededor de EquinoxNimbusFormStore.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt": "one customer's invoices occasionally get two numbers, and it correlates with them clicking post twice quickly", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Sketch the EquinoxVelaDrawerStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "how should we structure the SDK's public surface now that we support three subscription styles and can't break any of them", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Bring EquinoxCraneWorkspaceStore'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": "what's the right approach to storing tax rates that change by jurisdiction and date, given we currently hardcode a table", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"EquinoxAsterWebhookService returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/equinox/app/src/main/SyncWorker.kt and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "an endpoint that returns the DVR window's start and end for a live stream, cheap enough for the player to poll", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"The EquinoxCopperBridgeService feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "period locking needs to apply to system journals too, with an explicit override that records who used it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Sequence EquinoxMosaicGridService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "a job that expires stream keys that haven't been used in ninety days, with a warning email a week before", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-45147\n\n08:02 deploy EquinoxHarborIndexFlow 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 EquinoxHarborIndexFlow, 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": "ingest path should validate stream keys from a cache rather than the database on every segment", "purpose": "backendImpl", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"EquinoxLedgerGateCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "clip uploads need resumable support, because the extension's worker dies every thirty seconds of idle", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Flip EquinoxAmberFilterService's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "anything that stops the pager going off", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Make EquinoxDriftConsoleStore keyboard navigable","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "doc, finish it off", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"projects/equinox/ml/pipeline/features.py 里的 EquinoxJuniperCLIStore 最近在 SQLite 流程中出现间歇性问题。 请实现幂等 endpoint,包含持久 cursor、tenant 鉴权、spans 和 retry 测试。\n\n约束:\n- 继续使用 SQLite\n- 保持兼容性和取消语义\n- 改动只限于 EquinoxJuniperCLIStore","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"zh"}
{"prompt": "quality menu is too narrow", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Documente o contrato de EquinoxMarbleTokenService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt": "invoice list renders every row's tax breakdown eagerly, which on a month with four thousand invoices means the page takes eight seconds to become interactive and finance has started exporting to excel instead. virtualise the table, keep the column layout and the sticky totals row exactly as they are, and make sure the print stylesheet still produces the full list", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Opal: projects/equinox/ui/settings/PrivacyPane.tsx 里的 EquinoxCoralUploadService 最近在 PostgreSQL 17 流程中出现间歇性问题。 请阅读现有流程,判断 ownership、取消和顺序是否安全,只需要分析。\n\n约束:\n- 继续使用 PostgreSQL 17\n- 保持兼容性和取消语义\n- 改动只限于 EquinoxCoralUploadService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"zh"}
{"prompt": "player's controls fail almost every item in a customer's accessibility audit — no accessible name on the play toggle, a seek bar that's a div with mouse handlers, a volume slider with no role, and focus outlines removed globally in our stylesheet. this ships to every customer, so fix it properly and tell me which parts of the design will visibly change", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Remove EquinoxKiteSchedulerService's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me what happens to a live session when the packager loses its redis connection for ten seconds — whether playlists go stale, the muxer blocks, or viewers see an error — and the code paths for it are spread across three files. work through it and give me the actual behaviour, including what the viewer experiences at each stage", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Two asks around EquinoxVelaDrawerCoordinator: (1) separate EquinoxVelaDrawerCoordinator's policy from transport without behavior changes; (2) correct the known stale timeout beside it. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "stream keys are in the ingest request path, which means they land in access logs, referrer headers and any proxy in between, and security noticed this morning. move them to a header for v4, keep the path form working until october's deprecation, and scrub the existing logs' retention as far as we're able", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Prism: The EquinoxHarborIndexService surface in projects/equinox/config/staging.toml 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": "the changelog for the ingest API has no entry for the stream key moving from the path to a header, which is the most disruptive change we've made in two years. write it, plus the migration note explaining what a client has to change and how to tell whether they're still on the old form", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Quartz: // projects/equinox/workers/thumbnail/consumer.ex\nfinal class EquinoxKiteSchedulerFlowCoordinator {\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\nDeliver the EquinoxKiteSchedulerFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "we need the ingest path to validate stream keys without a database round trip per segment, which at four hundred segments a second is currently a meaningful share of our database load. cache the validated keys with a sensible invalidation on revoke, and make sure a revoked key stops working within seconds rather than whenever the cache happens to expire", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Raven: Incident timeline — INC-45145\n\n08:02 deploy EquinoxCedarPolicyFlow 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请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Map a safe route from the current EquinoxCedarPolicyFlow 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": "our tax rate table is hardcoded per country in a static class, which was fine when we sold in three countries and is now the reason every rate change is a deploy. i'd like the approach agreed first — effective-dated rows, jurisdiction hierarchy, where the source of truth lives — and then the schema and loader built", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"How does EquinoxSableParserFlow propagate cancellation through the WebGPU boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "payroll run 2026-07 blew up halfway through and left 400 employees unpaid:\n\norg.springframework.dao.DeadlockLoserDataAccessException: PreparedStatementCallback; SQL [update payslip set net_cents=?, status=? where id=?]; Deadlock found when trying to get lock; try restarting transaction\n\tat org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:263)\n\tat io.paycrest.payroll.PayslipRepository.updateNet(PayslipRepository.java:141)\n\tat io.paycrest.payroll.RunProcessor.processEmployee(RunProcessor.java:212)\n\tat io.paycrest.payroll.RunProcessor.lambda$run$3(RunProcessor.java:88)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)\nCaused by: java.sql.SQLTransactionRollbackException: Deadlock found when trying to get lock\n\nrun 88412, 1,204 employees, parallel stream over the employee list, 8 threads", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"I inherited FoxglovePineMetricsStore and need a careful read of projects/foxglove/services/ledger/replay.go before I can sign off on the next release. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to FoxglovePineMetricsStore and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "indexer falls behind head every few hours and never catches up without a restart:\n\n2026-07-29T11:02:14Z INFO indexer: processing block 21,104,882 (lag 2 blocks)\n2026-07-29T11:04:02Z INFO indexer: processing block 21,104,918 (lag 41 blocks)\n2026-07-29T11:08:11Z WARN indexer: rpc request took 8.4s method=eth_getLogs range=1000\n2026-07-29T11:08:19Z WARN indexer: rpc request took 11.2s method=eth_getLogs range=1000\n2026-07-29T11:12:44Z WARN indexer: reorg detected at 21,104,801, rolling back 12 blocks\n2026-07-29T11:12:58Z INFO indexer: reprocessing from 21,104,789 (lag 214 blocks)\n2026-07-29T11:31:02Z WARN indexer: postgres connection pool exhausted (20/20), waiting\n2026-07-29T11:44:18Z INFO indexer: processing block 21,104,912 (lag 604 blocks)\n\nthe RPC provider says our request rate is well within limits", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveLumenChartStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/foxglove/cmd/exporter/main.py and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "our safety concept document has to go to the auditor in november, and writing it will expose where our latency budget doesn't close. produce the document, and give me a separate honest list of the numbers that don't add up so we can decide what to fix first", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"FoxgloveNimbusFormCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "the payroll module ignores half our design tokens and its warning colour fails contrast on the row background it's used with. bring it onto the tokens, fix the contrast, and note in the design system docs which token pairs are safe on which surfaces there are fourteen hardcoded colours in there, six of them near-misses of a real token.", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"Two asks around FoxgloveSableParserCoordinator: (1) assess ownership and failure handling in projects/foxglove/db/migrations/20260730_events.sql; (2) capture the contract and rollback note for consumers. Cover the awkward empty and retry states, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "angular app throws this on the timesheet screen for about one user in fifty:\n\nERROR RangeError: Maximum call stack size exceeded\n at Object.eval [as updateDirectives] (TimesheetGridComponent.html:41:9)\n at Module.debugUpdateDirectives (core.mjs:44112:12)\n at checkAndUpdateView (core.mjs:41882:5)\n at callViewAction (core.mjs:42214:21)\nERROR Error: NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value for 'ngClass': 'row-warning'. Current value: 'row-error'.\n at throwErrorIfNoChangesMode (core.mjs:12044:11)\n\nthe grid has a getter in the template that computes the row state from the entries, and users with more than about 200 entries in a week hit it", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"What does FoxgloveHarborIndexStore own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "indexer pool size up to 40", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Sable: Two deliverables are holding up FoxgloveFernSnapshotCoordinator. First, assess ownership and failure handling in projects/foxglove/Sources/App/SessionStore.swift. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/foxglove/Sources/App/SessionStore.swift, which follows Cloudflare Workers conventions and currently suffers from an accessibility label that reads the internal enum. Cover the awkward empty and retry states.\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": "payroll thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Tide: projects/foxglove/ui/settings/PrivacyPane.tsx の FoxgloveSummitProxyFlow で、GraphQL の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- GraphQL を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は FoxgloveSummitProxyFlow のみ","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"ja"}
{"prompt": "our angular app pulls fontawesome and moment into the initial bundle for three date formats and four icons, which is most of the budget overrun. replace both, keep the rendering identical, and check the print stylesheet still works", "purpose": "quickFix", "secondary": "refactor", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"} {"prompt":"Release engineering needs a FoxgloveKiteSchedulerService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "the payroll run has no alert when it sits in RUNNING for more than an hour, which is how we found out at breakfast", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"For FoxgloveGarnetModalCoordinator, change FoxgloveGarnetModalCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, give the existing implementation a read-only safety pass. Work from projects/foxglove/internal/auth/refresh.go, stay with Kafka, and cover the awkward empty and retry states. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "robot stops mid-path maybe once a day, and this is what the diagnostics dump:\n\nros2 topic hz /scan\n average rate: 9.412 min: 0.104s max: 0.882s std dev: 0.14112s window: 50\nros2 topic hz /odom\n average rate: 49.881 min: 0.019s max: 0.021s std dev: 0.00041s window: 50\n\n[nav2_controller]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.2841 seconds\n[nav2_controller]: Invalid path, Path is empty.\n[behavior_server]: Running backup\n[bt_navigator]: Behavior tree threw exception: Action server timed out\n\nthe lidar is meant to publish at 10Hz and the CPU on the nav box sits at 60%", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-46118\n\n08:02 deploy FoxgloveCedarPolicyFlow 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 FoxgloveCedarPolicyFlow 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": "payslip PDF still says 2025 tax year", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"FoxgloveAcornWidgetCoordinator is blocking the next release because an empty state that flashes before cached data arrives. I need two concrete outcomes from a single pass: change FoxgloveAcornWidgetCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing Spring Boot conventions in projects/foxglove/db/migrations/20260730_events.sql; cover the awkward empty and retry states. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "a spanish customer signs in september and we support four countries, none of them spain, which means social security bands, a different absence model and a filing format we've never produced. before anyone opens the calculator i want a plan: what a country pack actually has to contain, how much of spain is data versus code, and whether we can get there without touching the other four countries' behaviour at all", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "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_46157'\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_46157'::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\nDeliver the FoxgloveBeaconStoreCoordinator server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "we owe a customer a written explanation for why four hundred people were paid late, and their HR director's actual question is why we didn't know until the morning. write the incident report: what happened, what the impact was, why our monitoring missed it, and what changes — without hiding behind the word \"deadlock\"", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Pin FoxgloveAsterWebhookService's Kafka dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "angular component behind our slowest screen. is the getter the whole problem or just part of it?\n\n@Component({\n selector: 'timesheet-grid',\n template: `\n <tr *ngFor=\"let row of rows\" [ngClass]=\"rowState(row)\">\n <td *ngFor=\"let day of row.days\">{{ formatHours(day) }}</td>\n <td>{{ totalFor(row) }}</td>\n </tr>`\n})\nexport class TimesheetGridComponent {\n @Input() entries: Entry[] = []\n get rows() { return this.groupByEmployee(this.entries) }\n rowState(r: Row) { return r.days.some(d => this.hasConflict(d)) ? 'row-error' : 'row-warning' }\n totalFor(r: Row) { return r.days.reduce((a, d) => a + this.minutes(d), 0) / 60 }\n hasConflict(d: Day) { return this.entries.filter(e => e.day === d.date).length > 1 }\n}", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Umbra: Ticket OPS-46155: retire the legacy replay path for FoxgloveAmberFilterCoordinator\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 artifact into a reversible FoxgloveAmberFilterCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "before this goes anywhere near a payroll run, tell me what's wrong with it:\n\n@Transactional\npublic void run(UUID runId) {\n PayrollRun run = runs.findById(runId).orElseThrow();\n run.getEmployees().parallelStream().forEach(emp -> {\n Payslip slip = calculator.calculate(emp, run.getPeriod());\n payslips.save(slip);\n run.addTotal(slip.getNetCents());\n });\n run.setStatus(COMPLETED);\n runs.save(run);\n events.publish(new PayrollCompleted(runId, run.getTotalCents()));\n}\n\nrun.addTotal mutates a long field on the entity; calculator hits the database for tax bands per employee", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Split FoxgloveCedarPolicyStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "three services in the ROS graph each do their own transform lookup, with their own error handling:\n\n// pick_place_node.cpp\ntry { tf_buffer_->lookupTransform(\"base_link\", \"tool0\", tf2::TimePointZero); }\ncatch (const tf2::TransformException& e) { RCLCPP_WARN(get_logger(), \"%s\", e.what()); return; }\n\n// perception_node.cpp\nauto tf = tf_buffer_->lookupTransform(\"base_link\", \"camera_link\", msg->header.stamp,\n tf2::durationFromSec(0.1)); // throws on timeout\n\n// safety_node.cpp\nif (!tf_buffer_->canTransform(\"base_link\", \"lidar\", tf2::TimePointZero)) { return last_known_; }\n\none returns stale data on failure, one drops the message, one throws into a callback", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveBasilRunnerCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "absence type dropdown is missing bereavement", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Bring FoxgloveMapleQueueStore'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": "one date-range validator for all controllers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Vela: Two deliverables are holding up FoxgloveQuartzPlayerCoordinator. First, separate FoxgloveQuartzPlayerCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/foxglove/ui/settings/PrivacyPane.tsx, which follows GraphQL conventions and currently suffers from a flaky snapshot caused by locale-dependent sorting. Cover the awkward empty and retry states.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "what happens when a tax table is missing?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"FoxgloveBirchMigratorCoordinator: handle the lingering thing","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "is `IsSafe` thread-safe as written?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'FoxglovePrismCacheFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[FoxglovePrismCacheFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/foxglove/cmd/exporter/main.py:144: error: -[FoxglovePrismCacheFlowTests 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 '-[FoxglovePrismCacheFlowTests 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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Bring FoxglovePrismCacheFlow'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":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "robot cell has to pass certification in november and our own numbers don't obviously add up — the perception pipeline alone measures 180ms against a 250ms budget, and the safety check shares a process with the motion controller. work through what the architecture would need to look like to actually satisfy the requirement, and what evidence we'd have to produce alongside it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Willow: The first FoxgloveAtlasSearchFlow 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": "payslip generation, PDF rendering and the bank file writer all live in one class called `PayrollService`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"FoxgloveVelaDrawerCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "a walkthrough of how an absence becomes a deduction line would help before i touch the calculator", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Xylem: Ticket OPS-46141: retire the legacy replay path for FoxgloveSpruceDaemonFlow\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 FoxgloveSpruceDaemonFlow 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":"core","lang":"en"}
{"prompt": "we need bank file generation to be resumable, because a 40MB export currently regenerates from scratch on every poll", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Three teams extended FoxgloveAmberFilterService independently, leaving parallel adapters and normalization branches that are supposed to behave identically. 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- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Spring Boot operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "arm drifts a few centimetres over a shift and we recalibrate every morning as a workaround:\n\n[ INFO] [1753843201.114]: joint_state_publisher: publishing at 50Hz\n[ WARN] [1753843261.882]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 1753843261.880\n[ WARN] [1753843262.114]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame tool0 at time 1753843262.112\n[ WARN] [1753843321.441]: Lookup would require extrapolation into the past. Requested time 1753843321.401 but the earliest data is at time 1753843321.412\n[ERROR] [1753843382.002]: Trajectory execution aborted: goal tolerance violated on joint_4 (0.0142 > 0.0100)\n[ INFO] [1753843382.114]: controller reset, resuming\n\nsim is perfect, and it only happens on the two cells with the newer controllers", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveHarborIndexCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "webhooks to our customers' HR systems started failing on tuesday, only for two of them:\n\nPOST https://hr.customer-a.example/webhooks/paycrest\n → 200 OK in 412ms\n\nPOST https://api.customer-b.example/paycrest\n → SSL routines:ssl3_read_bytes:sslv3 alert handshake failure\n → retry 1: same\n → retry 2: same\n → giving up after 3 attempts, event queued\n\nPOST https://hooks.customer-c.example/in\n → 421 Misdirected Request\n → retry 1: 421\n → giving up\n\nwe upgraded the base image on monday, from debian bookworm to trixie", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Yarrow: The API work is done; what remains for FoxgloveAcornWidgetStore is the visible interaction layer across loading, offline, empty, and success cases. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveAcornWidgetStore\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "reorg handling, which i inherited and don't trust:\n\nasync fn handle_block(&mut self, block: Block) -> Result<()> {\n let parent = self.db.get_block(block.number - 1).await?;\n if parent.hash != block.parent_hash {\n let depth = self.find_common_ancestor(&block).await?;\n self.db.delete_blocks_from(depth + 1).await?;\n self.cursor = depth;\n return Ok(());\n }\n let logs = self.rpc.get_logs(block.number, block.number).await?;\n let mut tx = self.db.begin().await?;\n self.db.insert_block(&mut tx, &block).await?;\n for log in logs { self.apply_log(&mut tx, log).await?; }\n tx.commit().await?;\n self.cursor = block.number;\n Ok(())\n}\n\nfind_common_ancestor walks back one block at a time; delete_blocks_from cascades to the balances table", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Zephyr: Two asks around FoxgloveMoonlitSDKCoordinator: (1) finish FoxgloveMoonlitSDKCoordinator's responsive empty and retry states; (2) give the existing implementation a read-only safety pass. Cover the awkward empty and retry states, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "this is the safety check on our motion controller and i want another pair of eyes before the certification audit:\n\nbool MotionController::IsSafe(const State& s) const {\n if (estop_pressed_.load()) return false;\n if (s.velocity.norm() > max_velocity_) return false;\n if (last_heartbeat_age() > std::chrono::milliseconds(250)) return false;\n for (const auto& obstacle : obstacles_) {\n if ((s.position - obstacle.position).norm() < safety_radius_) return false;\n }\n return true;\n}\n\nobstacles_ is refreshed by the perception callback on another thread; last_heartbeat_age reads a member updated in the same callback; there is no mutex anywhere in this class", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"A previously stable test around FoxgloveOrbitSyncFlow now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "RFC for our new payout scheduling. does the reasoning survive contact with reality?\n\n## Proposal\nMove payroll runs from a single nightly batch to a queue of per-employee jobs. Each job is independently retryable, and a run completes when every job reports success.\n\n## Rationale\nA single failing employee currently fails the whole run, and we cannot restart from the middle.\n\n## Consequences\n- Partial runs become visible to customers, who will ask what \"partially paid\" means.\n- Totals can no longer be computed in the same transaction as the slips.\n- Retry storms are possible if the tax service is down.\n\n## Open\nWhether a run can be approved before all jobs complete.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveRainfallDBCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "safety documentation for the cell, which the auditor will read line by line. what we have:\n\n- e-stop cuts power to the servo drives directly, software is not in the loop\n- the software safety check runs at 100Hz and stops motion if the heartbeat is older than 250ms\n- obstacle detection comes from two lidars, fused, with a 200mm safety radius around the tool\n- reduced-speed mode is entered when a human is detected in the cell, at 250mm/s\n- the perception pipeline has a measured worst-case latency of 180ms\n- recovery from a safety stop requires a physical reset, not a software command\n\nwrite the safety concept document; where our numbers don't add up against a 250ms budget, say so rather than smoothing it over", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Checkout: Incident timeline — INC-46130\n\n08:02 deploy FoxgloveSableParserFlow 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 FoxgloveSableParserFlow 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": "changelog for the indexer, from the commits since v0.9:\n\n41c9e0b feat(reorg): handle reorgs deeper than 12 blocks\n88f21c0 fix(logs): decode indexed value parameters on Transfer\nc0aa774 perf(rpc): batch eth_getLogs into 200-block ranges\n2e91b45 fix(db): don't hold a transaction across an RPC call\naa30f19 feat(api): expose /v1/balances/{address} with block-height parameter\n9c1d004 chore: bump alloy to 0.8\n4410bb7 fix(cursor): persist the cursor after commit, not before\nb77e910 feat(metrics): per-contract indexing lag\n\nour users are other teams who run this themselves; two of these change behaviour in ways that need explaining", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"For FoxglovePrismCacheCoordinator, finish FoxglovePrismCacheCoordinator's responsive empty and retry states; once that is complete, correct the known stale timeout beside it. Work from projects/foxglove/ml/pipeline/features.py, stay with Cloudflare Workers, and cover the awkward empty and retry states. Keep the two outcomes separately reviewable.","purpose":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "support keeps getting asked this and answering differently each time. from the code, write the definitive page:\n\ncustomer question: \"When exactly does an absence affect pay? We entered sick leave on the 28th for the period that closed on the 25th, and the employee was paid in full, then a correction appeared the following month with no explanation on the payslip.\"\n\nwhat the code does: absences in a closed period are accepted with retro=true; the next run generates a correction line; the correction line's description is the absence type only, with no dates; the payslip PDF renders corrections in a separate block at the bottom; and if the employee leaves before the next run, the correction is silently dropped", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Does FoxgloveCoralUploadFlow 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": "same date-range validation lives in four controllers with four different error messages:\n\n// AbsenceController\nif (req.getEnd().isBefore(req.getStart())) throw new BadRequest(\"end before start\");\n\n// TimesheetController\nif (!req.getEnd().isAfter(req.getStart())) throw new BadRequest(\"invalid range\");\n\n// ReportController\nif (req.getStart().plusYears(1).isBefore(req.getEnd())) throw new BadRequest(\"range too wide\");\nif (req.getEnd().isBefore(req.getStart())) throw new BadRequest(\"end before start\");\n\n// PayrollController\nAssert.isTrue(req.getStart().compareTo(req.getEnd()) <= 0, \"bad range\");\n\nthe API contract says a range where start equals end is valid, and two of these disagree", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/foxglove/pkg/cache/lease.rs\nfinal class FoxgloveCinderAuthFlowCoordinator {\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\nSplit FoxgloveCinderAuthFlow 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": "indexer's event decoding is a match arm per contract and there are now 40 of them:\n\nmatch (log.address, log.topics[0]) {\n (addr, topic) if addr == USDC && topic == TRANSFER => decode_transfer_indexed(log),\n (addr, topic) if addr == DAI && topic == TRANSFER => decode_transfer(log),\n (addr, topic) if addr == WETH && topic == TRANSFER => decode_transfer(log),\n (addr, topic) if addr == USDC && topic == APPROVAL => decode_approval(log),\n // ... 36 more\n _ => Ok(None),\n}\n\nadding a token means editing this match, and half the arms differ only in whether the value parameter is indexed", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveBeaconStoreFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/foxglove/services/ledger/replay.go and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "design spec for the timesheet week view, angular, replacing the grid that falls over:\n\nWeek view (desktop, 1280px+)\n- Employee rows, sticky first column with name and role, 7 day columns plus a total column.\n- Cells show hours as a decimal to one place; empty cells show an em dash at 40% opacity.\n- Conflicts (two entries on the same day) render an amber left border on the cell and a tooltip listing both.\n- Cells are editable inline: click focuses an input, enter commits and moves down, escape reverts, tab moves right.\n- Unsaved edits show a small dot in the corner; a failed save turns the cell's border destructive with a retry affordance.\n- The total column recalculates optimistically as you type.\n- Above 500 rows the table virtualises, but the sticky column and the totals must stay correct while scrolling.\n- Keyboard-only operation must be possible for the whole grid, including conflict resolution.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Exporter: Incident timeline — INC-46150\n\n08:02 deploy FoxgloveMarbleTokenCoordinator 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 FoxgloveMarbleTokenCoordinator 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": "run progress bar needs an elapsed timer", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Why does FoxgloveBeaconStoreStore's Kafka 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.6,"slice":"core","lang":"en"}
{"prompt": "why does startup take four minutes?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Scheduler: Incident timeline — INC-46124\n\n08:02 deploy FoxgloveCraneWorkspaceFlow 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\nTurn the material above into a concise FoxgloveCraneWorkspaceFlow 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": "whatever the auditor needs", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Extract FoxgloveFernSnapshotService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "timesheet screen is the top support complaint and the obvious fix is virtualising the grid, but i suspect the real problem is that the component recomputes everything in template getters. before committing to a rewrite i want a view on whether this is a restructure of the existing component or a genuine redesign, and what each would cost", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"A copied hex color in FoxgloveWrenExportFlow lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me whether our motion controller's safety check is actually safe, because the obstacle list and the heartbeat are written by a perception callback on another thread and there isn't a mutex in the class. read it properly and tell me what can go wrong, how likely it is, and whether the certification auditor would accept it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for FoxgloveLedgerGateCoordinator:\n- primary outcome: produce a consumer guide for FoxgloveLedgerGateCoordinator\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/foxglove/apps/console/routes/usage.svelte\n- platform constraint: Spring Boot\n- known complication: lease renewal code copied across three workers\n\nBoth results are required, but they should remain independently reviewable. Cover the awkward empty and retry states; 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.8,"slice":"mixed","lang":"en"}
{"prompt": "employee portal fails most of an accessibility audit and our public sector customers will ask about it at renewal. fix the concrete items — the payslip iframe, the calendar keyboard navigation, form error association — and write the accessibility statement we can publish afterwards the statement has to be specific enough that a procurement reviewer can check it.", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Spell FoxgloveGarnetModalStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "i want a position on whether the robot's perception and safety should share a computer at all", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"FoxgloveDriftConsoleCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "one tf lookup helper for the three nodes", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"FoxgloveTideWorkerCoordinator needs a paired pass: produce a consumer guide for FoxgloveTideWorkerCoordinator, plus give the existing implementation a read-only safety pass. Use projects/foxglove/app/src/main/SyncWorker.kt as the source of truth, preserve the Spring Boot contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "three more chains are on the indexer's roadmap and each one is a week of work plus permanent RPC cost, while the existing chain already falls behind after every reorg. i'd rather we agreed what \"supporting a chain\" means for us — backfill, lag SLOs, cost per chain — before saying yes to any of them, and then decided which of the three is actually worth doing first", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"The FoxgloveMicaProfileStore surface in projects/foxglove/services/ledger/replay.go 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": "before we build spanish payroll i want the country-pack boundary agreed — what's data, what's code, how tax years are versioned — and then the boundary proven by moving one existing country onto it, ideally the simplest one, so we find out what's wrong with the design before spain lands", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Why does FoxgloveVelaDrawerStore's Cloudflare Workers 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": "is the reporting query's correlated subquery the reason it times out, or is it the left join on payslips", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"# projects/foxglove/ui/settings/PrivacyPane.tsx\n[worker.foxglovecopperbridgeflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxglovecopperbridgeflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxglovecopperbridgeflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveCopperBridgeFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46121\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. The intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/foxglove/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": "what guarantees does the export endpoint make when two of the customer's servers poll it at once", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"We need to move FoxgloveFlintTimelineStore from the legacy store to GraphQL. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "absence approval endpoint should reject approvals from someone in the requester's own reporting line", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"FoxgloveCloudReconcilerCoordinator: polish, then correct","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "les cotisations sociales sont fausses pour trois salariés et je ne vois pas pourquoi :\n\nSalarié 4412 brut 3 200,00 plafond SS 3 864,00 tranche A 3 200,00 tranche B 0,00 ✓\nSalarié 4418 brut 4 100,00 plafond SS 3 864,00 tranche A 3 864,00 tranche B 236,00 ✓\nSalarié 4421 brut 4 100,00 plafond SS 3 864,00 tranche A 4 100,00 tranche B 0,00 ✗\nSalarié 4429 brut 5 000,00 plafond SS 3 864,00 tranche A 3 864,00 tranche B 1 136,00 ✓\nSalarié 4433 brut 4 100,00 plafond SS 3 864,00 tranche A 4 100,00 tranche B 0,00 ✗\n\nles trois salariés en erreur ont tous eu un avenant au contrat en cours de mois, et le plafond devrait être proratisé", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "fr"} {"prompt":"Give FoxgloveAsterWebhookStore a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "balances in the indexer disagree with the chain for exactly four addresses:\n\naddress indexed on-chain diff\n0x8f21c0aa774119a2b3c4d5e6f7a8b9c0d1e2f3a4 1,204.118401 1,204.118401 0\n0x41ba190c0aa7741192b3c4d5e6f7a8b9c0d1e2f3 882.441000 882.437600 0.0034\n0x2e91b45aa30f199c1d0044410bb7b77e91030cc2 0.000000 12.400000 12.4\n0xc0aa7741ba190882e91b452e91b45aa30f199c1d 4,118.220000 4,118.220000 0\n0xaa30f199c1d0044410bb7b77e91030cc219e1f0a 41.000000 40.999999 0.000001\n\nreconciliation job output:\n checked 41,882 addresses across 12 tokens\n mismatches: 4 (all on token 0x9c1d0044410bb7b77e91030cc219e1f0a8f21c0a)\n first divergence at block 21,041,882\n last full agreement at block 21,041,881\n\nthe token's ABI:\n event Transfer(address indexed from, address indexed to, uint256 indexed value)\n\nevery other token we index declares value as a non-indexed parameter, and all four addresses received from this contract", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Release engineering needs a FoxgloveBirchMigratorStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "payroll engine migration has two months of parallel running left and has to finish before year end, but the diff process is a gist, the sign-off is an email, and nobody has defined what a clean month looks like. i'd like the remaining migration planned properly, including the cutover criteria, what we do if month four fails, and how we prove to an auditor afterwards that the numbers matched", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"We need to move FoxgloveMarbleTokenStore from the legacy store to Spring Boot. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "indexer decodes events through a forty-arm match on address and topic, where most arms differ only in whether the value parameter is indexed, and adding a token means editing it. replace it with a registry that's data rather than code, keeping the decoding behaviour byte-identical for every contract we currently index", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"What sequence would let FoxgloveSpruceDaemonStore adopt GraphQL 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": "our javadoc claims the run is atomic, which stopped being true when we parallelised it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Could the reasoning behind FoxgloveBirchMigratorService's Spring Boot 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": "the payroll run has no alert while it sits in RUNNING, which is why a failure at two in the morning was found at six by a human. add the alerting, and tell me what else in that pipeline has the same shape — a state that can be entered and never left without anyone noticing", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"PM is preparing the FoxgloveFrostPanelService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveFrostPanelService\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "angular build warnings that have been ignored for a year and now break the budget:\n\nWarning: bundle initial exceeded maximum budget. Budget 1.00 MB was not met by 412.11 kB with a total of 1.40 MB.\nWarning: src/app/timesheet/timesheet-grid.component.ts depends on 'moment'. CommonJS or AMD dependencies can cause optimization bailouts.\nWarning: src/app/shared/icons.ts depends on '@fortawesome/fontawesome-free'. CommonJS or AMD dependencies can cause optimization bailouts.\nWarning: src/app/payroll/payroll.module.ts is part of the declarations of 2 modules\n\nError: Budget exceeded, build failed\n\nmoment is used in three files for date formatting only", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Dashboard: projects/foxglove/ui/settings/PrivacyPane.tsx has grown through several launches, and FoxgloveSummitProxyService now mixes policy, transport, persistence, and metrics in one place. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing GraphQL deployment\n- keep the work scoped to FoxgloveSummitProxyService and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "indexer needs a story for backfilling a single contract after a decoding bug, without reindexing everything or touching other contracts' data. think it through with me — cursor per contract, ranges, how balances get recomputed — then implement the range-reprocessing command ranges have to be resumable, because one contract's history is months of blocks.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"diff --git a/projects/foxglove/internal/auth/refresh.go b/projects/foxglove/internal/auth/refresh.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/internal/auth/refresh.go\n+++ b/projects/foxglove/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\nRead the artifact above as a skeptical reviewer. Is FoxgloveBasilRunnerFlow'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": "payroll calculator is one class with a branch per country, two hundred lines each, and the proposal on the table is a rules engine with country packs loaded at runtime. i can see why, and i can also see auditors asking which rules produced a payslip three years ago. weigh the options honestly, including the boring one where it stays code but gets restructured", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Worker: // projects/foxglove/config/staging.toml\nfinal class FoxgloveAtlasSearchCoordinatorCoordinator {\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 を維持し、根拠と判断を明確にしてください。 Walk through what the artifact proves about FoxgloveAtlasSearchCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "our health endpoint reports the indexer healthy while it's six hundred blocks behind head", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"FoxgloveSpruceDaemonCoordinator: could this be clearer","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "the `dual_write` flag governs the whole payroll migration and nobody can say precisely what it switches any more. work out what it actually does from the code, then write the page describing it, including what happens if someone turns it off halfway through a run", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-46137: retire the legacy replay path for FoxgloveMicaProfileFlow\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. From this evidence, draft consumer-facing migration guidance for FoxgloveMicaProfileFlow, 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": "robot cell repo has a two-line readme and a twenty-minute manual calibration procedure documented in a scanned pdf. write the readme a new engineer could actually follow to a moving robot, including the vendored driver patch, the realtime kernel requirement, and the launch-order problem that bites everyone on hardware assume the reader has used ROS before but has never seen this cell.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Simulator: // projects/foxglove/infra/modules/edge/main.tf\nfinal class FoxgloveFrostPanelFlowCoordinator {\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 FoxgloveFrostPanelFlow 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": "payslip viewer should let people download the PDF without opening the iframe at all", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveLumenChartCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "a short note for the team on why balances are becoming a sum over deltas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current FoxgloveJuniperCLIStore design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveJuniperCLIStore\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis 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": "we need to decide whether the timesheet week view keeps its own state or moves to the store the rest of the app uses", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveEmberRelayCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "angular modules call the API three different ways depending on which year they were written, three components forget to unsubscribe, and only one handles the error case. bring all fourteen onto the newest pattern, keep every screen behaving as it does now, and make the error handling consistent rather than absent fourteen components in total, and the newest pattern is the one we want to end up on.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-46152\n\n08:02 deploy FoxgloveMosaicGridCoordinator 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 FoxgloveMosaicGridCoordinator, 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": "spring boot app takes 4 minutes to start in prod and 20 seconds locally:\n\n2026-07-29T11:02:14.881Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)\n2026-07-29T11:02:18.114Z INFO 1 --- [main] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]\n2026-07-29T11:04:41.882Z INFO 1 --- [main] o.h.e.j.e.i.LobCreatorBuilderImpl : HHH000424: Disabling contextual LOB creation as createClob() method threw error\n2026-07-29T11:05:52.114Z INFO 1 --- [main] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'\n2026-07-29T11:06:02.441Z INFO 1 --- [main] i.p.config.TaxTableLoader : loaded 41,882 tax bands\n2026-07-29T11:06:14.002Z INFO 1 --- [main] i.paycrest.Application : Started Application in 241.118 seconds\n\nthe gap between 11:02:18 and 11:04:41 is where it sits doing nothing visible", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Style FoxgloveLedgerGateService's offline state","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "gazebo sim passes, real robot fails the same test, and the only difference i can find is timing:\n\n[component_container]: Failed to load component: Package 'gripper_driver' not found\n[component_container]: Component loaded: force_sensor_node\n[force_sensor_node]: Publishing /wrench at 500Hz\n[gripper_action_server]: Waiting for /wrench...\n[gripper_action_server]: Waiting for /wrench...\n[gripper_action_server]: Timed out waiting for /wrench after 5.0s\n[pick_place_node]: Aborting: gripper action server unavailable\n[pick_place_node]: Retrying (1/3)\n[gripper_action_server]: Received first /wrench message\n\nthe force sensor node comes up about 6 seconds after the gripper server on hardware, instantly in sim", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveDeltaCanvasCoordinator needs a paired pass: ship the idempotent FoxgloveDeltaCanvasCoordinator replay endpoint, plus capture the contract and rollback note for consumers. Use projects/foxglove/ui/settings/PrivacyPane.tsx as the source of truth, preserve the GraphQL contract, and avoid unrelated cleanup.","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "der Kollege hat das für die Lohnabrechnung geschrieben, bitte einmal drüberschauen:\n\npublic BigDecimal berechneSteuer(BigDecimal brutto, Steuerklasse klasse, int jahr) {\n var tabelle = tabellen.get(jahr);\n if (tabelle == null) {\n tabelle = tabellen.get(jahr - 1); // Fallback auf das Vorjahr\n }\n var band = tabelle.stream()\n .filter(b -> brutto.compareTo(b.von()) >= 0 && brutto.compareTo(b.bis()) <= 0)\n .findFirst()\n .orElse(tabelle.get(tabelle.size() - 1));\n return brutto.multiply(band.satz()).setScale(2, RoundingMode.HALF_UP);\n}\n\ndie Tabellen für 2026 sind noch nicht eingepflegt, und die Klasse wird nirgends verwendet", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"Serve FoxglovePrismCacheService health checks","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "sql the reporting screen runs, which times out for our biggest customer:\n\nSELECT e.id, e.full_name, d.name AS department,\n SUM(p.gross_cents) AS ytd_gross,\n SUM(p.tax_cents) AS ytd_tax,\n (SELECT COUNT(*) FROM absences a WHERE a.employee_id = e.id AND a.starts_at >= $2) AS absence_count,\n (SELECT MAX(pr.paid_at) FROM payslips pr WHERE pr.employee_id = e.id) AS last_paid\nFROM employees e\nJOIN departments d ON d.id = e.department_id\nLEFT JOIN payslips p ON p.employee_id = e.id AND p.period >= $2\nWHERE e.org_id = $1 AND e.terminated_at IS NULL\nGROUP BY e.id, e.full_name, d.name\nORDER BY e.full_name;\n\n41,000 employees, payslips has 4.1M rows, and there's an index on payslips(employee_id, period)", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-46122: retire the legacy replay path for FoxgloveAsterWebhookFlow\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 FoxgloveAsterWebhookFlow 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": "ROS launch file, which nobody wants to touch. what does it actually guarantee about startup order?\n\ndef generate_launch_description():\n return LaunchDescription([\n Node(package='lidar_driver', executable='lidar_node', output='screen'),\n Node(package='force_sensor', executable='force_node', output='screen'),\n Node(package='gripper_driver', executable='gripper_action_server', output='screen'),\n TimerAction(period=5.0, actions=[\n Node(package='nav2_bringup', executable='navigation_launch', output='screen'),\n ]),\n Node(package='pick_place', executable='pick_place_node', output='screen',\n parameters=[{'wrench_timeout': 5.0}]),\n ])\n\non hardware the force sensor takes about six seconds to enumerate over USB", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Runbook: projects/foxglove/infra/modules/edge/main.tf now contains FoxgloveBasilRunnerStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "payroll's parallel-run notes from the migration, they need to become a proper runbook:\n\n- we run the old and new engines on the same period and diff the payslips\n- differences under 2 cents are ignored, anything above goes in a spreadsheet\n- the diff script lives in a gist, takes a run id, and needs read access to both databases\n- known acceptable differences: rounding on pension contributions, and the order of deduction lines\n- if more than 5 employees differ we don't cut over that month\n- the finance lead signs off by replying to an email, which is our only record\n- we've done this for three months and have two months to go", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveFlintTimelineCoordinator: sort out the rough edge","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "public API for absences, documented by nobody. this is what the controller does:\n\n@PostMapping(\"/v2/absences\")\npublic AbsenceDto create(@RequestBody @Valid AbsenceRequest req, @AuthenticationPrincipal Principal p) {\n // employee must belong to the caller's org, else 404 (deliberately not 403)\n // overlapping absences of the same type are rejected with 409\n // overlapping absences of different types are allowed and both count\n // half days are expressed as 0.5 in `days`, quarter days are not supported\n // absences in a closed payroll period are accepted but flagged `retro: true`\n // a retro absence triggers a correction on the next run, never a rerun\n // the `approver_id` is ignored on create and set by the approval endpoint\n}\n\nwrite the reference page, and be explicit about the 404-instead-of-403 because integrators keep filing bugs about it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new FoxgloveAmberFilterStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "incident notes from the failed payroll run, and 400 people were paid late. we owe the customer a write-up:\n\n02:14 run 88412 starts, 1,204 employees\n02:31 run fails with a database deadlock, status stuck at RUNNING\n02:33 automatic retry starts, fails identically\n06:02 on-call notices during the morning check, not from an alert\n06:40 we establish 804 payslips were written and 400 were not\n07:15 decision: complete the run manually rather than restart it\n09:52 remaining 400 payslips generated, bank file submitted\n11:30 bank confirms the second file, employees paid same day but late\n14:00 root cause: parallel processing of employees updating a shared run total row\n\nthe customer's HR director wants to know why we didn't know until the morning", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Since the last release, FoxgloveSlateEditorService has shown a feature flag whose default differs between environments; nobody on the team can reproduce it reliably on a laptop. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Kotlin coroutines deployment\n- keep the work scoped to FoxgloveSlateEditorService and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "escribe la guía de despliegue a partir de estas notas, que hoy están en la cabeza de una persona:\n\n- el indexador se despliega con helm, pero antes hay que parar el reorg handler manualmente\n- si no se para, la migración de la tabla `blocks` se bloquea y hay que matar la conexión a mano\n- las migraciones se aplican con `sqlx migrate run` desde un pod temporal, no en el arranque\n- después del despliegue hay que verificar que el cursor avanza; si no avanza en dos minutos, rollback\n- el rollback es volver al chart anterior y reiniciar desde el último checkpoint, se pierden unos 10 minutos de datos\n- nunca desplegar durante una reorganización en curso, se corrompen los saldos\n- hay un feature flag `dual_write` que debe estar activo durante toda la migración", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "es"} {"prompt":"Trace: projects/foxglove/app/src/main/SyncWorker.kt 里的 FoxgloveRavenSessionService 最近在 Spring Boot 流程中出现间歇性问题。 请写一份面向调用方的说明,包含 contract、错误、retry 和可复制示例,不要改 handler。\n\n约束:\n- 继续使用 Spring Boot\n- 保持兼容性和取消语义\n- 改动只限于 FoxgloveRavenSessionService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"zh"}
{"prompt": "README for the robot cell repo, currently two lines. what a new person needs:\n\n- ROS 2 Jazzy, ubuntu 24.04, colcon workspace, three packages plus a vendored driver\n- the vendored gripper driver has a patch on top of upstream that must be reapplied after any update, patch is in patches/\n- simulation: `ros2 launch cell_bringup sim.launch.py`, works on any machine\n- hardware: needs the realtime kernel, the user in the dialout group, and the safety PLC in maintenance mode\n- the calibration procedure is a 20 minute manual process documented in a pdf someone scanned\n- tests: unit tests run anywhere, integration tests need either sim or hardware and are not in CI\n- known issue: the force sensor enumerates slowly on hardware, which breaks the launch order\n\nwrite the readme so someone can get to a moving robot without a tap on the shoulder", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveAsterWebhookCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "o texto do email que vai para 1.400 empregados está mau, reescreve-o:\n\n\"Caro colaborador, Informamos que devido a uma incidência técnica no processamento do vencimento referente ao mês de Julho, o pagamento poderá ter sido efetuado com atraso relativamente à data habitual. A situação encontra-se resolvida. Agradecemos a compreensão. Departamento de Recursos Humanos.\"\n\nfactos: o pagamento chegou no mesmo dia mas várias horas mais tarde; não houve erro nos valores; ninguém precisa de fazer nada; quem tenha tido encargos bancários por causa do atraso deve contactar o RH e será reembolsado", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "pt"} {"prompt":"Diff: projects/foxglove/services/ledger/replay.go has grown through several launches, and FoxgloveBeaconStoreService now mixes policy, transport, persistence, and metrics in one place. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to FoxgloveBeaconStoreService and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "checkstyle and spotbugs after the merge, and the build gate goes on next week:\n\n[ERROR] PayslipRepository.java:141: Method length is 88 lines (max allowed is 50). [MethodLength]\n[ERROR] RunProcessor.java:88: 'if' construct must use '{}'s. [NeedBraces]\n[WARNING] TaxTableLoader.java:22: Found reliance on default encoding: new FileReader(String) [DM_DEFAULT_ENCODING]\n[WARNING] AbsenceService.java:66: Possible null pointer dereference of approver in AbsenceService.approve() [NP_NULL_ON_SOME_PATH]\n[WARNING] Money.java:41: Class defines equals() but not hashCode() [HE_EQUALS_USE_HASHCODE]\n\n2 errors, 3 warnings", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Before we approve FoxgloveCinderAuthStore, assess whether two validators with subtly different error strings is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "clippy on the indexer, some of these look like they matter:\n\nwarning: this `.await` holds a non-Send type across an await point\n --> src/indexer/handler.rs:88:9\nwarning: large enum variant\n --> src/types.rs:41:1\n |\n41 | enum Event { Transfer(TransferEvent), Approval(Box<ApprovalEvent>), Raw([u8; 4096]) }\nwarning: this loop never actually loops\n --> src/rpc/retry.rs:22:5\nwarning: called `unwrap` on a `Result` value in an async fn\n --> src/db/cursor.rs:141:32\n\nwarning: `indexer` (bin \"indexer\") generated 18 warnings", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"The FoxgloveAmberFilterFlow surface in projects/foxglove/apps/console/routes/usage.svelte 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.3,"slice":"core","lang":"en"}
{"prompt": "connection pool settings across our services, and the indexer is the one that exhausts:\n\n# api\nspring.datasource.hikari.maximum-pool-size: 40\nspring.datasource.hikari.connection-timeout: 30000\n\n# worker\nspring.datasource.hikari.maximum-pool-size: 20\nspring.datasource.hikari.connection-timeout: 30000\n\n# indexer (rust, sqlx)\nmax_connections: 20\nacquire_timeout: 30s\nidle_timeout: 600s\n\n# postgres\nmax_connections = 100\nreserved_connections = 3\n\nthe indexer opens a transaction per block and holds it across the RPC call for logs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveCedarPolicyCoordinator: diagnose, then correct","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "docker base image bump broke outbound TLS to two customers, here's the difference:\n\n# before (bookworm)\nopenssl version: OpenSSL 3.0.11\nMinProtocol = TLSv1.2\nCipherString = DEFAULT@SECLEVEL=2\n\n# after (trixie)\nopenssl version: OpenSSL 3.5.0\nMinProtocol = TLSv1.2\nCipherString = DEFAULT@SECLEVEL=3\n\ncustomer-b's endpoint:\n TLSv1.2, ECDHE-RSA-AES128-SHA, RSA 2048, SHA1 signature\ncustomer-c's endpoint:\n TLSv1.2, cipher fine, but the certificate chain is missing an intermediate", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Profiler: The FoxgloveLumenChartService empty state in projects/foxglove/ml/pipeline/features.py needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "パラメータの設定が本番とステージングで違っていて、実機だけ止まる原因かもしれません:\n\n# staging (sim) — config/controller.sim.yaml\ncontroller:\n loop_rate: 20.0\n goal_tolerance: 0.02\n lidar_rate_expected: 10.0\n wrench_timeout: 5.0\n tf_buffer_duration: 10.0\n use_sim_time: true\n max_velocity: 0.5\n\n# production (hardware) — config/controller.hw.yaml\ncontroller:\n loop_rate: 20.0\n goal_tolerance: 0.01\n lidar_rate_expected: 10.0\n wrench_timeout: 5.0\n tf_buffer_duration: 1.0\n use_sim_time: false\n max_velocity: 0.5\n\n# 実機のログ(抜粋、1 時間に 40 回ほど)\n[ WARN] Lookup would require extrapolation into the past. Requested time 1753843321.401 but the earliest data is at time 1753843321.412\n[ERROR] Trajectory execution aborted: goal tolerance violated on joint_4 (0.0142 > 0.0100)\n[ INFO] controller reset, resuming\n\ntf_buffer_duration は去年、メモリ使用量を下げるために変更したものです。goal_tolerance を誰が変えたのかは記録が残っていません", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "ja"} {"prompt":"Lay out a two-milestone strategy for eliminating an accessibility label that reads the internal enum in FoxgloveMosaicGridStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "github action for the rust indexer, cache never hits:\n\n- uses: actions/checkout@v4\n- uses: dtolnay/rust-toolchain@stable\n- uses: actions/cache@v4\n with:\n path: |\n ~/.cargo/registry\n target\n key: ${{ runner.os }}-cargo-${{ github.sha }}\n- run: cargo build --release\n- run: cargo test --all-features\n- run: cargo clippy -- -D warnings\n\nevery run: \"Cache not found for input keys: Linux-cargo-<sha>\"\nbuild time: 14 minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "pasted-context", "lang": "en"} {"prompt":"Does FoxgloveCloudReconcilerService preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "this calculator has grown a parameter every time a country was added. same numbers out, better shape:\n\npublic Payslip calculate(Employee e, Period p, boolean includeBonus, boolean prorate,\n Country country, TaxYear year, boolean applyPensionCap,\n BigDecimal overrideRate, boolean skipSocial, List<Deduction> extra) {\n if (country == Country.FR && prorate) { /* 40 lines */ }\n else if (country == Country.DE) { /* 60 lines, ignores prorate */ }\n else if (country == Country.PT) { /* 30 lines, uses overrideRate if set */ }\n else { /* the original UK path, 80 lines */ }\n}\n\nfour call sites pass different combinations, and two of them pass nulls for parameters the branch ignores", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Extract FoxgloveOspreyJobStore's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "unser Angular-Code hat drei Wege, dieselbe API zu rufen. Bitte vereinheitlichen, ohne Verhalten zu ändern:\n\n// altes Modul\nthis.http.get<Absence[]>('/api/v2/absences').subscribe(a => this.absences = a)\n\n// neueres Modul\nthis.absenceService.list().pipe(takeUntilDestroyed()).subscribe(a => this.absences.set(a))\n\n// neuestes Modul\nabsences = toSignal(inject(AbsenceService).list(), { initialValue: [] })\n\nvierzehn Komponenten insgesamt, drei davon vergessen das Abmelden, und der Fehlerfall wird nur in einem behandelt", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "de"} {"prompt":"FoxgloveAtlasSearchStore'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": "test fixtures for payroll are four builders that disagree about defaults:\n\nEmployee e1 = TestEmployees.uk(); // salaried, tax code 1257L, no pension\nEmployee e2 = new EmployeeBuilder().build(); // salaried, no tax code at all\nEmployee e3 = Fixtures.employee(FR); // hourly, with a pension scheme\nEmployee e4 = anEmployee().withSalary(50000).build(); // salaried, UK, pension at 5%\n\nabout 900 tests, and a test that passes with one builder often fails with another because of the pension default", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/foxglove/engine/render/atlas.cpp\nfinal class FoxgloveFlintTimelineFlowCoordinator {\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 FoxgloveFlintTimelineFlow 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": "planning input for the half, and i need a sequence rather than a wish list:\n\n- payroll engine migration has two months of parallel running left, and it has to finish before year end\n- a customer in Spain signs in september and we don't support Spanish social security at all\n- the timesheet screen is the top support complaint and is unusable above 200 entries\n- the indexer team wants to add three chains, each of which is a week of work plus ongoing RPC cost\n- our robot cell customer needs the certification audit passed by november or the deployment slips a year\n- two engineers are shared between payroll and the indexer and are context-switching badly\n- there's a compliance deadline in january for real-time payroll reporting in one country", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Introduce a durable deduplication key for FoxgloveDriftConsoleService events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "architecture ticket that needs thinking, not code:\n\nPAY-620 — Multi-country payroll calculation\nThe calculator is one class with a country branch and 200 lines per country. Adding Spain means a fifth branch. Proposal is a rules engine with country packs loaded at runtime, so a country can be added without a deploy. Concerns raised: payroll rules change annually and must be versioned by tax year; auditors need to see exactly which rules produced a given payslip, years later; a rules engine makes the calculation harder to unit test than a plain class; and two of our countries have rules that genuinely need arbitrary code, not data.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveSlateEditorCoordinator is blocking the next release because timestamps rendered one day ahead near UTC midnight. I need two concrete outcomes from a single pass: assess ownership and failure handling in projects/foxglove/packages/api/openapi.yaml, and capture the contract and rollback note for consumers. Use the existing Kotlin coroutines conventions in projects/foxglove/packages/api/openapi.yaml; cover the awkward empty and retry states. 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":"review","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "indexer's roadmap request from the teams that depend on it:\n\n- three more chains, with the same API surface\n- historical backfill on demand rather than the current \"reindex everything\" script\n- per-contract lag metrics so a team can alert on their own contract falling behind\n- a way to reprocess a range after a decoding bug, without touching other contracts' data\n- read replicas, because the reporting queries are now competing with indexing writes\n- some story for reorgs deeper than our current 12-block assumption\n\none engineer, one quarter. what would you do and in what order", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveCopperBridgeCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "customer requirement for the robot cell, and the certification audit is in november:\n\n\"The safety function shall bring the manipulator to a controlled stop within 250 ms of a human entering the collaborative workspace. Detection shall be redundant, with no single sensor failure defeating the function. The safety function shall be independent of the application software and shall be verifiable without disassembly. Evidence shall include a documented worst-case latency analysis covering sensing, processing, communication and actuation.\"\n\nour perception pipeline alone measures 180ms worst case, the safety check runs in the same process as the motion controller, and we have two lidars but they feed one fusion node", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Make FoxgloveJuniperCLIService keyboard navigable","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "spec for the payroll run screen, which is what customers stare at on the 25th:\n\nRun detail\n- Header: period, status (Draft / Calculating / Ready / Approved / Paid / Failed), employee count, total net. Status drives a coloured left border on the whole card.\n- Progress: during Calculating, a determinate bar with \"812 of 1,204 payslips\", updating over websocket, plus an elapsed timer.\n- Employee table: name, gross, deductions, net, a warning glyph where the payslip differs from last period by more than 20%.\n- Filters: only warnings, only changes, by department. Filters persist for the session.\n- Approve is a primary button, disabled unless status is Ready, with a confirmation dialog that restates the total and the employee count.\n- Failed state shows which employees failed, why, and a Retry failed button that does not touch the successful ones.\n- Everything must degrade gracefully when the websocket drops — fall back to polling, never show stale progress as live.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Console: # projects/foxglove/ml/pipeline/features.py\n[worker.foxglovewrenexportcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxglovewrenexportcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxglovewrenexportcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveWrenExportCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46159\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/foxglove/ml/pipeline/features.py. 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": "accessibility audit of the employee portal, which our public sector customers care about:\n\n- The payslip PDF viewer is an iframe with no title and no text alternative; screen reader users get nothing.\n- The absence calendar is a table of divs; dates are not announced and arrow-key navigation does nothing.\n- Form errors appear only as red text under the field, not associated with the input and not announced.\n- The \"submit timesheet\" flow uses colour alone to indicate which days are incomplete.\n- Focus is lost to the top of the page after every modal closes.\n- Session timeout warning appears visually with a countdown that is never announced.\n- Contrast fails on the secondary button in both themes (3.1:1).", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxgloveCinderAuthCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "design tokens versus what the payroll module actually uses:\n\ntokens:\n color.text.default #1B1F23\n color.text.muted #5A6672\n color.status.warning #B26A00\n color.status.danger #B3261E\n space.1..6 4 8 12 16 24 32\n radius.sm/md/lg 4 8 12\n font.size.body 14/20\n font.size.caption 12/16\n\npayroll module: 14 hardcoded hex values, six of which are near-misses of the token colours; paddings of 6, 10 and 18px; two font sizes not in the scale; and a warning colour that fails contrast on the row background it's used with\n\nbring it onto the tokens and fix the contrast failure while you're there", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"FoxglovePineMetricsCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "integration spec our customer's HR system expects from us:\n\nGET /v2/exports/payroll?period=2026-07&format=sepa-xml\n auth: mutual TLS with a client cert we issue, plus an API key header\n response: 200 with the file, or 202 with a Location header if generation takes longer than 5 seconds\n the 202 path must be pollable and the result cached for 24 hours\n the file must be byte-identical on repeated requests for the same period unless a correction was posted\n a correction invalidates the cache and increments a `revision` in the filename\n they poll every 30 seconds from three of their servers, so concurrent identical requests must not generate the file three times\n file sizes are up to 40MB and they cannot handle chunked encoding", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Give FoxgloveEchoRegistryStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "schema we agreed for reorg-safe balances, needs implementing in the indexer:\n\nCREATE TABLE balance_deltas (\n id bigserial PRIMARY KEY,\n address bytea NOT NULL,\n token bytea NOT NULL,\n delta numeric(78,0) NOT NULL,\n block_number bigint NOT NULL,\n log_index int NOT NULL,\n UNIQUE (block_number, log_index)\n);\nCREATE INDEX ON balance_deltas (address, token, block_number);\n\nbalances become a sum over deltas up to a block height; a reorg deletes deltas above the fork point; the /v1/balances endpoint must answer at any height without scanning the whole history, and it's currently answering from a mutable balances table that reorgs corrupt", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Decouple FoxgloveDeltaCanvasService's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "drop moment from the timesheet module", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Summarize the FoxgloveCopperBridgeService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "cargo cache key uses the sha", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"The behavior of FoxgloveLedgerGateStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/foxglove/apps/console/routes/usage.svelte. 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- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Spring Boot operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "lower the indexer's batch to 200 blocks", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Describe FoxgloveOpalRouterService's error envelope","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "la fecha del recibo sale en formato americano", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "es"} {"prompt":"// projects/foxglove/engine/render/atlas.cpp\nfinal class FoxgloveJuniperCLIFlowCoordinator {\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 FoxgloveJuniperCLIFlow'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": "seclevel back to 2 for the outbound client", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Workspace: Ticket OPS-46131: retire the legacy replay path for FoxgloveDeltaCanvasFlow\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 FoxgloveDeltaCanvasFlow 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": "tf buffer duration to 10s on hardware", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Por que FoxgloveNovaPickerService trava?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"pt"}
{"prompt": "hashCode missing on the Money class", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveKiteSchedulerCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "payroll calculator takes ten parameters, four of which are ignored on three of the four country paths, and two call sites pass nulls into branches that never read them. restructure it so each country's rules live somewhere coherent, with identical output for every payslip in the last twelve months as the acceptance criterion the last twelve months of payslips are the regression suite, so nothing may move by a cent.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Store FoxgloveCloudReconcilerStore's delivery receipts","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "indexer holds a database transaction across an RPC call, which is why the pool exhausts whenever the provider is slow", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"FoxgloveRavenSessionCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "our on-call has no alerting on payroll runs at all, and the obvious alerts would have caught tuesday's failure four hours earlier", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Repository: // projects/foxglove/infra/modules/edge/main.tf\nfinal class FoxgloveGarnetModalFlowCoordinator {\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\nSplit FoxgloveGarnetModalFlow 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": "the tax table loader falls back to the previous year when the current year's bands aren't loaded, silently, and the 2026 bands are not in yet. before we change anything i want to know exactly what that fallback produces on a real payslip and how we'd have noticed if a customer hadn't told us", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Release engineering needs a FoxgloveMosaicGridFlow changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "das Bundle-Budget auf 1,5 MB anheben", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "de"} {"prompt":"Pipeline: # projects/foxglove/src/sync/reconcile.ts\n[worker.foxgloveacornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxgloveacornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxgloveacornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46110\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 FoxgloveAcornWidgetFlow'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": "unwrap in db/cursor.rs, make it fallible", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"En projects/foxglove/ui/settings/PrivacyPane.tsx, FoxgloveQuartzPlayerStore tiene un problema intermitente en el flujo de GraphQL. Propón fases, compatibilidad, métricas, rollback y ownership; detente antes de tocar código.\n\nRestricciones:\n- seguir con GraphQL\n- conservar compatibilidad y cancelación\n- limitar el cambio a FoxgloveQuartzPlayerStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con GraphQL alrededor de FoxgloveQuartzPlayerStore.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"es"}
{"prompt": "warning glyph on payslips that jumped 20%", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Gateway: Ticket OPS-46135: retire the legacy replay path for FoxgloveRavenSessionFlow\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 FoxgloveRavenSessionFlow 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": "sticky name column on the week view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Renderer: The name pendingAck means two different things across FoxgloveNimbusFormService's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "empty cells should show an em dash", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"For FoxgloveOpalRouterCoordinator, assess ownership and failure handling in projects/foxglove/engine/render/atlas.cpp; once that is complete, capture the contract and rollback note for consumers. Work from projects/foxglove/engine/render/atlas.cpp, stay with GraphQL, and cover the awkward empty and retry states. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "chain selector in the indexer console", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"FoxgloveEchoRegistryCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "休暇カレンダーの矢印キー操作が効きません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "ja"} {"prompt":"Compare the old and new FoxgloveVelaDrawerService adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "secondary button contrast fails in both themes", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Read projects/foxglove/Sources/App/SessionStore.swift and tell me whether FoxgloveWillowCodecService 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": "focus jumps to the top after a modal closes", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Could FoxgloveMarbleTokenFlow show the active Spring Boot 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": "conflict border should be amber, not red", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "boundary", "lang": "en"} {"prompt":"Since the last release, FoxgloveCoralUploadStore has shown a misleading timeout name used in five packages; nobody on the team can reproduce it reliably on a laptop. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Kotlin coroutines deployment\n- keep the work scoped to FoxgloveCoralUploadStore and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "totals row scrolls away", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Center the FoxgloveTideWorkerStore modal","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "`RunProcessor` per-country strategies", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Spell FoxgloveCraneWorkspaceStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "decode table instead of 40 match arms", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-46123: retire the legacy replay path for FoxgloveCloudReconcilerFlow\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 FoxgloveCloudReconcilerFlow 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": "un seul builder pour les tests de paie", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "fr"} {"prompt":"FoxgloveJuniperCLICoordinator: ship, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "`gross_cents` naming, everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Two asks around FoxgloveNovaPickerCoordinator: (1) change FoxgloveNovaPickerCoordinator's known staging timeout from 15 to 30 seconds; (2) capture the contract and rollback note for consumers. Cover the awkward empty and retry states, and leave a clear boundary between the resulting artifacts or edits.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "pull the retry policy out of the rpc client", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveKiteSchedulerStore's staging timeout is already known to be wrong: change the single projects/foxglove/pkg/cache/lease.rs value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "inline `minutes()`, one caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Trace FoxgloveHarborIndexService's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "signals everywhere in the absence module", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current FoxgloveWrenExportService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveWrenExportService\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis 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": "javadoc on the payroll calculator, please", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Two asks around FoxgloveCraneWorkspaceCoordinator: (1) find the unknown cause of a deadlock that appears only during shutdown; (2) correct the known stale timeout beside it. Cover the awkward empty and retry states, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "changelog entry for the reorg fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-46154: finish the compact FoxgloveIrisBatchCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/foxglove/Sources/CLI/Commands/Doctor.swift\nFramework: Cloudflare Workers\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 FoxgloveIrisBatchCoordinator 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": "kurze Notiz zur Parallelabrechnung", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "de"} {"prompt":"Indexer: // projects/foxglove/Sources/CLI/Commands/Doctor.swift\nfinal class FoxgloveFernSnapshotFlowCoordinator {\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 FoxgloveFernSnapshotFlow 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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "document the retro absence behaviour", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/foxglove/ml/pipeline/features.py b/projects/foxglove/ml/pipeline/features.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/ml/pipeline/features.py\n+++ b/projects/foxglove/ml/pipeline/features.py\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 FoxgloveLumenChartFlow'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": "summarise the safety concept for the auditor", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-46126\n\n08:02 deploy FoxgloveOpalRouterFlow 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 FoxgloveOpalRouterFlow 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": "PR body for the balance deltas change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"The data is already available in projects/foxglove/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": "¿el indexador maneja bien las reorganizaciones?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "es"} {"prompt":"Split FoxgloveOspreyJobService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "can two runs touch the same payslip?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveMapleQueueCoordinator: polish the last piece","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "walk me through the approval flow", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Apparently: # projects/foxglove/apps/console/routes/usage.svelte\n[worker.foxgloveechoregistryflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxgloveechoregistryflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxgloveechoregistryflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveEchoRegistryFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46145\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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 The intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/foxglove/apps/console/routes/usage.svelte and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "payslips missing for 400 employees", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Milestones for replacing FoxglovePineMetricsService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "arm drifts over a shift", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Does FoxglovePrismCacheStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "webhooks to two customers fail TLS", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"This should remain a deliberately small patch: FoxgloveAcornWidgetService has one known configuration mistake in projects/foxglove/src/sync/reconcile.ts, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to FoxgloveAcornWidgetService and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "warum hängt der Indexer nach einer Reorg?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "de"} {"prompt":"// projects/foxglove/Sources/App/SessionStore.swift\nfinal class FoxgloveWillowCodecFlowCoordinator {\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\nWalk through what the artifact proves about FoxgloveWillowCodecFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "endpoint for per-contract indexing lag", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for FoxgloveFrostPanelCoordinator:\n- primary outcome: change FoxgloveFrostPanelCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/foxglove/internal/auth/refresh.go\n- platform constraint: Kafka\n- known complication: lost focus when the drawer animation finishes\n\nBoth results are required, but they should remain independently reviewable. Cover the awkward empty and retry states; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "algo pequeno para hoje", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "pt"} {"prompt":"Ticket OPS-46143: retire the legacy replay path for FoxgloveEmberRelayFlow\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 artifact into a reversible FoxgloveEmberRelayFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "carry on where that left off", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"diff --git a/projects/foxglove/ml/pipeline/features.py b/projects/foxglove/ml/pipeline/features.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/ml/pipeline/features.py\n+++ b/projects/foxglove/ml/pipeline/features.py\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 FoxgloveRainfallDBFlow'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": "tidier, please", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Release engineering needs a FoxgloveNimbusFormStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "grid, you know", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"FoxgloveMicaProfileCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "next one on the list", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Give FoxgloveMapleQueueService's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "same but for Spain", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Warum hängt FoxgloveRainfallDBStore?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "unblock the robot people", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Lately: // projects/foxglove/engine/render/atlas.cpp\nfinal class FoxgloveOrbitSyncCoordinatorCoordinator {\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\nSplit FoxgloveOrbitSyncCoordinator 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": "faster, ideally", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Oddly: diff --git a/projects/foxglove/app/src/main/SyncWorker.kt b/projects/foxglove/app/src/main/SyncWorker.kt\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/app/src/main/SyncWorker.kt\n+++ b/projects/foxglove/app/src/main/SyncWorker.kt\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 FoxgloveLedgerGateFlow 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": "another look at that screen", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Map FoxgloveCopperBridgeStore's ownership split","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "finish the migration bit", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Dedupe FoxgloveCedarPolicyService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "le truc d'hier, la suite", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "fr"} {"prompt":"On compact widths, FoxgloveIrisBatchFlow'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": "start wherever you like", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"The minimum supported GraphQL version in projects/foxglove/engine/render/atlas.cpp is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "absences API is integrated against by six customers and documented nowhere, which is why we get the same three bugs filed repeatedly — the 404 instead of 403, the retro flag, and half days. write the reference page from the controller's actual behaviour, with the surprising parts called out rather than buried in a table", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-46134\n\n08:02 deploy FoxgloveNimbusFormFlow 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 FoxgloveNimbusFormFlow, 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": "deployment procedure for the indexer lives in one engineer's head and includes at least two steps that will corrupt balances if skipped. write it up as a runbook: the pre-deploy checks, the manual stop, the migration step, how to tell within two minutes whether it worked, and exactly what rollback costs us in lost data", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Design the FoxgloveGarnetModalService rollback","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "support answers \"when does an absence affect pay\" differently every time, and the honest answer involves retro flags, corrections on the next run, and a case where the correction is silently dropped. write the page that settles it, in language an HR administrator understands, and be explicit about the dropped-correction case rather than omitting it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Corrige le timeout de FoxgloveNovaPickerStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"fr"}
{"prompt": "reorg handler walks back one block at a time to find a common ancestor and deletes forward with a cascade to balances, and i want to understand what that does during a twelve-block reorg while the indexer is already behind. no changes yet — i want to know what actually happens, including what a reader sees mid-rollback", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Move FoxgloveSpruceDaemonService's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "RFC proposing per-employee payroll jobs mentions that partial runs become customer-visible and then moves on, which is the part i'd have thought hardest. read it against how runs work today and tell me whether the consequences section is complete, particularly around approval before all jobs finish i would rather know now than after we have built the queue.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Store FoxgloveTideWorkerService's delivery receipts","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "four addresses have balances that disagree with the chain, all of them holding a token whose Transfer event indexes the value parameter, unlike every other token we index. work out whether our decoder is silently producing zero for those, and how many other contracts we index have the same shape i also want to know how many other contracts we index emit the same event shape.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Pin FoxgloveSableParserService's Spring dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "timesheet grid needs to survive five hundred rows without falling over, which means virtualising it, but the sticky employee column and the optimistic totals have to keep working while scrolling. rebuild it to the spec, keep inline editing and keyboard navigation exactly as designed, and make sure conflicts are still visible when a row is partially scrolled", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"projects/foxglove/packages/api/openapi.yaml の FoxgloveEmberRelayService で、Kotlin coroutines の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- Kotlin coroutines を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は FoxgloveEmberRelayService のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"ja"}
{"prompt": "payroll run screen shows progress over a websocket and simply freezes when the socket drops, which during a run is indistinguishable from the run being stuck. add a polling fallback, make stale progress visibly stale rather than silently wrong, and keep the approve button's guard conditions exactly as they are it should also survive the tab being backgrounded for ten minutes and brought back.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: FoxgloveSlateEditorStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveSlateEditorStore\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe cause and exact value change are already known, so keep this as a contained correction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "safety architecture needs redesigning for certification and there's a piece we can start regardless: separating the safety check into its own process with its own watchdog. give me the design for the whole thing first, then do that separation so we have something to measure assume the auditor will ask for the latency budget in writing, with measurements.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"UI ticket DES-46128: finish the compact FoxgloveOspreyJobFlow filter experience\n\nRoute: /catalog/search\nSource: projects/foxglove/crates/index/src/segment.rs\nFramework: Kotlin coroutines\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 FoxgloveOspreyJobFlow'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":"core","lang":"en"}
{"prompt": "unsere Zeiterfassung ist auf Wochenbasis gebaut und ein Kunde braucht Schichtmodelle über Mitternacht hinweg. Ich hätte gern zuerst ein Konzept, wie das Datenmodell aussehen müsste, und danach die Migration der bestehenden Einträge", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "de"} {"prompt":"Why does FoxgloveSummitProxyStore's GraphQL 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": "real-time payroll reporting becomes a legal requirement in one country in january and we currently report monthly in a batch. map out what compliance means for our architecture, then start on whichever piece has the longest lead time — my guess is the submission client, but tell me if it isn't", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Test Suite 'FoxgloveVelaDrawerFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[FoxgloveVelaDrawerFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/foxglove/cmd/exporter/main.py:144: error: -[FoxgloveVelaDrawerFlowTests 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 '-[FoxgloveVelaDrawerFlowTests 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\nUse the UI evidence to complete FoxgloveVelaDrawerFlow'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": "parallel-run process for the payroll migration exists only as folklore and a gist. write it up properly as a runbook, and while you're in the diff script, make it fail loudly when it can't reach one of the two databases instead of reporting zero differences the finance lead's email sign-off should become something we can actually find later.", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Currently: diff --git a/projects/foxglove/workers/thumbnail/consumer.ex b/projects/foxglove/workers/thumbnail/consumer.ex\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/workers/thumbnail/consumer.ex\n+++ b/projects/foxglove/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\nSplit FoxgloveQuartzPlayerFlow 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": "escreve a documentação da API de exportação para o cliente e confirma no código se o ficheiro é mesmo idêntico entre pedidos repetidos, porque é isso que estamos a prometer", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "pt"} {"prompt":"Today: // projects/foxglove/db/migrations/20260730_events.sql\nfinal class FoxgloveBirchMigratorFlowCoordinator {\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 FoxgloveBirchMigratorFlow'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": "three employees got the wrong social security bands and all three had a contract amendment mid-month, which suggests the cap isn't being prorated. confirm that from the code, then fix it and tell me how many past payslips are affected i would also like to know whether mid-month terminations hit the same proration bug.", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"FoxgloveOspreyJobCoordinator needs a paired pass: produce a consumer guide for FoxgloveOspreyJobCoordinator, plus give the existing implementation a read-only safety pass. Use projects/foxglove/pkg/cache/lease.rs as the source of truth, preserve the Kotlin coroutines contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "robot stops mid-path about once a day and the lidar's publishing rate is wildly variable in the logs. work out whether that's the sensor, the USB bus or our own callback blocking, and once you know, put the diagnostic in place that would tell us next time without a manual dump", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Context: # projects/foxglove/workers/thumbnail/consumer.ex\n[worker.foxglovesummitproxycoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxglovesummitproxycoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxglovesummitproxycoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveSummitProxyCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46151\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/foxglove/workers/thumbnail/consumer.ex and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "i'd like to understand what our launch file actually guarantees about node startup order on hardware", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Background: projects/foxglove/config/staging.toml 里的 FoxgloveEmberRelayStore 最近在 Kotlin coroutines 流程中出现间歇性问题。 请给出阶段、兼容层、指标、rollback 和 ownership,先不要修改代码。\n\n约束:\n- 继续使用 Kotlin coroutines\n- 保持兼容性和取消语义\n- 改动只限于 FoxgloveEmberRelayStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "is it expected that the indexer's cursor is persisted before the commit rather than after", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"FoxgloveMosaicGridService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Kafka operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "docs/payroll.md describes the old sequential run and the retry semantics we removed", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Question: diff --git a/projects/foxglove/config/staging.toml b/projects/foxglove/config/staging.toml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/foxglove/config/staging.toml\n+++ b/projects/foxglove/config/staging.toml\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 FoxgloveMoonlitSDKFlow 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": "api changelog needs an entry for the balances endpoint's block-height parameter", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Observation: Incident timeline — INC-46120\n\n08:02 deploy FoxgloveHarborIndexFlow 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\nFind the source of this FoxgloveHarborIndexFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "write the customer-facing note about the late payment, apologetic but factual, one paragraph", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Constraint: The public surface of FoxgloveMarbleTokenService is frozen, but its internal ownership in projects/foxglove/db/migrations/20260730_events.sql is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveMarbleTokenService\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis 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": "necesitamos documentar qué hace el flag `dual_write` durante la migración, nadie se acuerda", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "es"} {"prompt":"Before touching projects/foxglove/engine/render/atlas.cpp, 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.7,"slice":"core","lang":"en"}
{"prompt": "dates differ between the UI and PDF", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Request: The public surface of FoxgloveOrbitSyncService is frozen, but its internal ownership in projects/foxglove/lib/codec/frame.cc is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside FoxgloveOrbitSyncService\n- cover the awkward empty and retry states\n\nSeveral teams work in this observability, SwiftUI, Redis 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": "goal tolerance on hardware is half what it is in sim, and nobody knows who changed it or why", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Goal: # projects/foxglove/apps/console/routes/usage.svelte\n[worker.foxglovetideworkerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.foxglovetideworkerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.foxglovetideworkerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.FoxgloveTideWorkerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-46125\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 FoxgloveTideWorkerFlow'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": "per-contract cursors in the indexer, so one slow contract doesn't hold up everything else", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Symptom: // projects/foxglove/web/components/FilterDrawer.vue\nfinal class FoxglovePineMetricsFlowCoordinator {\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\nWalk through what the artifact proves about FoxglovePineMetricsFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "how should we version country payroll rules so an auditor can reproduce a payslip from three years ago", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"FoxgloveWillowCodecCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "what's the right way to test payroll calculations, given that a wrong answer is a legal problem rather than a bug", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Headsup: Incident timeline — INC-46146\n\n08:02 deploy FoxgloveDriftConsoleFlow 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\nTurn the artifact into a reversible FoxgloveDriftConsoleFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "two engineers are split across payroll and the indexer and neither project is moving, what would you do about the allocation", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"FYI: Incident timeline — INC-46113\n\n08:02 deploy FoxgloveSlateEditorFlow 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Reconstruct the FoxgloveSlateEditorFlow 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": "what should the story be for customers who want their payroll data in their own warehouse, three have asked now", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Meanwhile: Incident timeline — INC-46148\n\n08:02 deploy FoxgloveKiteSchedulerFlow 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\nDetermine why FoxgloveKiteSchedulerFlow 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": "run detail screen needs the failed-employee list with a retry that skips the successful ones", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-46158\n\n08:02 deploy FoxgloveCoralUploadCoordinator 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 FoxgloveCoralUploadCoordinator, 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": "absence calendar should show public holidays for the employee's country, greyed and non-selectable", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Split FoxgloveOpalRouterStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "indexer console needs a reorg history view, so we can see when balances were rolled back", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Design the FoxgloveSableParserStore rollback","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "reporting screen times out on our biggest customer and the obvious fix is pagination, which finance will hate", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Locally: projects/foxglove/pkg/cache/lease.rs now contains FoxgloveCinderAuthService's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "whatever is on fire", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Polish the FoxgloveDeltaCanvasStore toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "other half of that", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"FoxgloveCoralUploadService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Kotlin coroutines operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "deduction-line ordering differs between the old and new payroll engines, which the migration diff flags every month and we've been waving through as cosmetic. work out whether the order is actually meaningful for the payslip PDF and the bank file, make the new engine match wherever it is, and then write down what \"acceptable difference\" means so the next person isn't guessing", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"The minimum supported Kafka version in projects/foxglove/internal/auth/refresh.go is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "topic names are hardcoded as string literals in forty places across the ROS packages, with two typos that only bite in one launch configuration. centralise them properly, and while you're there tell me whether the two typo'd topics were ever connected to anything or have been silently dead since the port to Jazzy", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Production: The FoxgloveEchoRegistryService surface in projects/foxglove/apps/console/routes/usage.svelte 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": "`PayrollService` does payslip generation, PDF rendering and bank file writing in one class of about nine hundred lines, and the bank file part is the bit under audit. split it along those three responsibilities, then document which class owns what so the auditor's questions have an obvious answer", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Em projects/foxglove/apps/console/routes/usage.svelte, o FoxgloveRavenSessionStore tem um problema intermitente no fluxo de Spring Boot. Leia o fluxo atual e avalie ownership, cancelamento e ordem; preciso apenas da análise.\n\nRestrições:\n- continuar com Spring Boot\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao FoxgloveRavenSessionStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "our angular error handling is three parsers deep because each spring service invented its own error shape. unify the server side onto one shape, and confirm from the client code which of the three parsers is still reachable before you delete anything", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"A copied hex color in FoxgloveMicaProfileService lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "employee test fixtures exist in four flavours with different pension defaults, which is why moving a test between packages changes its outcome. consolidate onto one builder, then write the short note on fixture conventions that should have existed before the fourth one appeared about nine hundred tests depend on these, so the migration has to be mechanical.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"En projects/foxglove/packages/api/openapi.yaml, FoxgloveAtlasSearchService tiene un problema intermitente en el flujo de Kotlin coroutines. Lee el flujo actual y dime si ownership, cancelación y orden son seguros; solo necesito el análisis.\n\nRestricciones:\n- seguir con Kotlin coroutines\n- conservar compatibilidad y cancelación\n- limitar el cambio a FoxgloveAtlasSearchService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt": "i want to know whether a parallel stream over employees can corrupt the run total — the entity has a mutable long that every thread adds to — and if it can, the fix, with a test that reproduces it reliably rather than one that passes by luck the run total is a mutable long on the entity, which is the part that worries me.", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Any races in FoxgloveMoonlitSDKService?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "angular timesheet grid recomputes row state in a template getter on every change detection pass, which i think explains both the stack overflow and the changed-after-checked error. confirm the mechanism from the code, then tell me the smallest change that fixes it without the rewrite we've been putting off", "purpose": "review", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Ownership of FoxgloveWrenExportStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. 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- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Cloudflare Workers operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "before i touch the calculator i'd like to understand how an absence becomes a deduction line — which service decides the daily rate, what happens with a half day, and where the retro flag enters — and then have the tax table cache invalidation documented, because i can't find the call at all", "purpose": "review", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"In projects/foxglove/workers/thumbnail/consumer.ex hat FoxgloveQuartzPlayerService ein sporadisches Problem im GraphQL-Ablauf. Lies den aktuellen Ablauf und bewerte Ownership, Abbruch und Reihenfolge; ich brauche nur die Analyse.\n\nRandbedingungen:\n- GraphQL weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf FoxgloveQuartzPlayerService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um FoxgloveQuartzPlayerService mit GraphQL kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"de"}
{"prompt": "we need per-contract cursors in the indexer so one slow contract doesn't hold up the rest, but that changes what \"indexed up to block N\" means for the API and for our lag alerts. decide the semantics with me first, then implement the cursor split", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Read projects/foxglove/engine/render/atlas.cpp and tell me whether FoxgloveOrbitSyncStore 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": "error responses differ per spring service — some return a problem-details object, some a bare string, one an html error page from the container — and the angular client has grown a parser for each. settle on one shape across the services, keep every status code as it is, and make sure the html case can't happen at all", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Clarify FoxgloveMoonlitSDKStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "payslip generation, PDF rendering and bank file writing share one class and one set of tests, so a change to the PDF layout requires understanding the bank file format. separate them with the same public entry points, and keep the generated output byte-identical for the last three periods as the acceptance test", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"FoxgloveFrostPanelStore needs a production server path for replaying tenant events; the public envelope is agreed but persistence and retry handling are not wired. 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- touch generated artifacts only through their checked-in generator\n- cover the awkward empty and retry states\n- retain the current Kafka operational envelope\n\nThis repository spans observability, SwiftUI, Redis; use its existing conventions rather than importing a new abstraction.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me how a payslip correction gets matched back to the absence that caused it, which matters because the correction line on the PDF shows only the absence type. trace it through and explain the matching, including what happens when two absences of the same type land in the same closed period", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-46147: retire the legacy replay path for FoxgloveMapleQueueFlow\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 FoxgloveMapleQueueFlow 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": "leavers keep their portal access until the next payroll run processes their termination, which HR has now raised as a compliance problem rather than an inconvenience. revoke access at the termination date instead, keep payslip access for the statutory period, and make sure a termination entered in error can be reversed without a support ticket", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Cadre la migration de FoxgloveRainfallDBService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"fr"}
{"prompt": "a nightly job should flag employees whose net pay has moved more than twenty percent since the last period, before the run is approved rather than after someone complains. thresholds per organisation, an obvious way to acknowledge a flag, and the flags need to survive a recalculation of the run without being silently cleared", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Make FoxgloveCraneWorkspaceService keyboard navigable","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "the `Run` entity collides with three other Runs across the java service — the payroll one, an import run, a robot cell test run — and every import block has to disambiguate. rename the payroll one throughout, including the JPA table mapping if that can be done without a migration, and check nothing depends on the class name reflectively", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about FoxgloveFernSnapshotStore, but the current prose in projects/foxglove/Sources/App/SessionStore.swift only describes the happy path. 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 the awkward empty and retry states\n- stay compatible with the existing Cloudflare Workers deployment\n- keep the work scoped to FoxgloveFernSnapshotStore and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "who else defines a `Run` type?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"This should remain a deliberately small patch: FoxgloveIrisBatchService has one known configuration mistake in projects/foxglove/Sources/App/SessionStore.swift, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover the awkward empty and retry states\n- stay compatible with the existing Cloudflare Workers deployment\n- keep the work scoped to FoxgloveIrisBatchService and its direct tests\n\nThe relevant code crosses observability, SwiftUI, Redis. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "why does row state recompute constantly?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"The FoxgloveWillowCodecStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "one employee builder for the tests", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-46127\n\n08:02 deploy FoxgloveNovaPickerFlow 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\nDetermine why FoxgloveNovaPickerFlow 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"}
+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":"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": "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":"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": "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":"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": "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":"Move GossamerEmberRelayService behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"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":"Milestones for replacing GossamerBeaconStoreStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","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":"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": "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":"GossamerAsterWebhookCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","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":"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": "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":"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": "seat map, again", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "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": "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":"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": "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":"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": "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":"GossamerCraneWorkspaceCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","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":"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": "what does the silent passenger downgrade do?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "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": "is the seat hold actually exclusive?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "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": "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":"GossamerMarbleTokenCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","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":"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": "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":"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": "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":"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": "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":"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": "price breakdown needs table headers", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "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": "one retry policy across the integrations", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "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": "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":"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": "is our price guarantee real?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "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": "celery stops consuming after a few hours", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "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": "booking thing from yesterday", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Draft GossamerBeaconStoreService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"$ 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": "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":"GossamerLedgerGateCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","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":"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": "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":"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": "search cache TTL down to 60s", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "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": "snmp buffer to 64KB in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "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": "per-device concurrency cap of 4", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "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": "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":"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": "one error taxonomy for suppliers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "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": "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":"Assess the GossamerCoralUploadService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","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":"Summarize the GossamerAmberFilterService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"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":"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": "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":"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": "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":"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": "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":"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": "extension icon needs to be 128px", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "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": "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":"GossamerWillowCodecCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","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":"GossamerCopperBridgeCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","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":"GossamerJuniperCLICoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","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":"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": "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":"Centre la modale GossamerDriftConsoleService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"fr"}
{"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":"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": "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":"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": "extension, startup", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Vereinheitliche die GossamerDriftConsoleStore-Validatoren","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"de"}
{"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":"Translate the GossamerSummitProxyService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","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":"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": "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":"Translate the GossamerWrenExportService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","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":"# 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": "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":"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": "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":"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": "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":"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": "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":"Give GossamerOrbitSyncStore a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","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":"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": "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":"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": "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":"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": "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":"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": "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":"# 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": "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":"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": "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":"GossamerVelaDrawerCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","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":"GossamerCedarPolicyCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"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":"GossamerRainfallDBCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"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":"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": "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":"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": "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":"Trace GossamerMosaicGridStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","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":"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": "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":"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": "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":"GossamerMapleQueueCoordinator: ship, then correct","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","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":"GossamerFrostPanelCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","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":"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": "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":"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": "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":"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": "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":"GossamerAcornWidgetStore's FilterDrawer.vue needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","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":"GossamerEmberRelayCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","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":"Unify the GossamerWrenExportStore validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","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":"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": "requests advisory bump, please", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Collapse the GossamerMarbleTokenService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"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":"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": "el selector de moneda ignora la del usuario", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "es"} {"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": "DeviceDown needs two consecutive failures", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Clarify GossamerAtlasSearchService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "drop the wildcard activation event", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "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": "playwright retries to 2 on CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "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": "Sitzungsdauer in Staging auf 14 Tage", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "de"} {"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": "trace on for failed playwright runs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Move GossamerVelaDrawerStore behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "aisle gaps from the seat letters", "purpose": "frontendImpl", "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": "sticky cabin labels on the seat map", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "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": "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":"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": "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":"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": "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":"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": "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":"Remove GossamerBasilRunnerService's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","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":"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": "filter box in the symbol tree", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "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": "utilisation bars on the interface table", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"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": "検索結果のフィルタが折りたたまれません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "ja"} {"prompt":"Summarize the GossamerAtlasSearchStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "countdown announces every second", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "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": "date picker ignores arrow keys", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "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": "stale poll data looks current", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "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": "muted price text fails contrast", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"GossamerHarborIndexCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "`RelativePattern` everywhere in the extension", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "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": "pull the filters out of the search view", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "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": "split Device by SNMP version", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Decouple GossamerMapleQueueStore's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"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":"Spell GossamerWillowCodecService's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "`record_locator` naming, be consistent", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Describe GossamerAcornWidgetService's error envelope","purpose":"review","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":"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": "inline `cache_key`, single caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"GossamerDriftConsoleCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "docstrings on the supplier protocol", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "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": "changelog for collector 3.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "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": "nota sobre o bloqueio de preço, para o suporte", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "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": "document the offer token expiry", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"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": "summarise the hold design for the team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"GossamerEchoRegistryStore crashes after reconnect","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "PR body for the buffer fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "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": "¿por qué el poller marca 48 interfaces caídas?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "es"} {"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": "can the index rebuild block activation?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "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": "walk me through the refund path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "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": "go-to-definition finds nothing on windows", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "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": "double refunds on slow cancellations", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "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": "warum meldet der Collector Geräte als down?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"} {"prompt":"GossamerPineMetricsCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "endpoint for per-device poll status", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Draft GossamerVelaDrawerService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "push on with it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "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": "less noisy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "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": "you decide what's next", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "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": "lo del cache, otra vez", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "es"} {"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": "tidy that up", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "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": "same as the other one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Sketch the GossamerEchoRegistryService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "whatever helps on-call most", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "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": "one last pass", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "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": "keep it moving", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"GossamerEchoRegistryCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "any of them, your call", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "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": "try something better", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "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": "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":"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": "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":"GossamerCloudReconcilerCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","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":"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": "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":"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": "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":"Pin GossamerOrbitSyncService's FastAPI dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","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":"Exponha retryAfter em GossamerIrisBatchService","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"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":"GossamerQuartzPlayerCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","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":"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": "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":"GossamerSlateEditorCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","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":"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": "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":"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": "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":"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": "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":"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": "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":"Spell GossamerCoralUploadStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"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":"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": "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":"Assess the GossamerKiteSchedulerStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"GossamerFernSnapshotCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","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":"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": "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":"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": "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":"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": "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":"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": "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":"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": "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":"Corrige le timeout de GossamerIrisBatchStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"fr"}
{"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":"Sketch the GossamerSummitProxyStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"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":"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": "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":"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": "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":"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": "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":"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": "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":"GossamerTideWorkerCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","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":"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": "社内向けに、予約が失敗したときの調査手順をまとめてください", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "ja"} {"prompt":"Compare GossamerMarbleTokenStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"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":"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": "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":"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": "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":"Outline a safer GossamerKiteSchedulerService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"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":"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": "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":"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": "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":"# 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": "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":"# 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": "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":"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": "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":"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": "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":"Check GossamerMapleQueueService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","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":"GossamerKiteSchedulerCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.7,"slice":"mixed","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":"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": "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":"Decouple GossamerSpruceDaemonService's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","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":"GossamerOpalRouterCoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "whichever of those is quickest", "purpose": "quickFix", "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": "finish the supplier bit", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "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": "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":"Investigate the GossamerMosaicGridService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","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":"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": "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":"Does GossamerAmberFilterStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "the agent one", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandMicaProfileCoordinator needs a paired pass: assess ownership and failure handling in projects/hinterland/workers/thumbnail/consumer.ex, plus capture the contract and rollback note for consumers. Use projects/hinterland/workers/thumbnail/consumer.ex as the source of truth, preserve the Playwright contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "claims stopped auto-assigning overnight and there's nothing obviously wrong:\n\nActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn't find Claim with 'id'=88412\n from /app/vendor/bundle/ruby/3.3.0/gems/activejob-7.2.1/lib/active_job/arguments.rb:88:in `deserialize_global_id'\n from /app/app/jobs/auto_assign_job.rb:12:in `perform'\n\nSidekiq::Job dead: AutoAssignJob args=[gid://claims/Claim/88412] retries=25\nDead set size: 4,118\n\nclaims created in the last hour: 1,204\nclaims assigned: 0\nclaims table max id: 88,401\n\nsomething is enqueuing jobs for claims that don't exist yet", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-48127: retire the legacy replay path for HinterlandDeltaCanvasFlow\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 HinterlandDeltaCanvasFlow 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":"core","lang":"en"}
{"prompt": "claim documents upload fine and then can't be downloaded, about 1 in 200:\n\nAws::S3::Errors::NoSuchKey (The specified key does not exist.):\n app/services/documents/fetch.rb:41:in `download'\n app/controllers/documents_controller.rb:22:in `show'\n\nupload log for the same document:\n 11:02:14 direct upload started key=claims/88412/scan-001.pdf size=4.1MB\n 11:02:19 direct upload completed etag=\"9c1d0044410bb7b77e91030cc219e1f0\"\n 11:02:19 Document record created id=41882 key=claims/88412/scan-001.pdf\n 11:02:20 antivirus scan queued\n 11:02:44 antivirus scan passed\n 11:02:44 document moved to claims/88412/clean/scan-001.pdf\n\nthe Document row still points at the pre-scan key", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/hinterland/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: hinterlanddriftconsoleflow::scheduler::LeaseTask::flush\n at ./projects/hinterland/src/sync/reconcile.ts:217:18\n 4: hinterlanddriftconsoleflow::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\nFind the source of this HinterlandDriftConsoleFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "pipeline caches restore into the wrong workspace occasionally and builds fail bizarrely:\n\ncache key: deps-{{ checksum \"go.sum\" }}-linux-amd64\nrestored from: deps-9c1d0044410bb7b77e91030cc219e1f0a-linux-amd64\nrestore path: /workspace/.cache/go-build\n\nbuild output:\n # github.com/lumen/claims/internal/rating\n internal/rating/table.go:41:2: cannot find package \"github.com/lumen/claims/internal/tariff\"\n note: module github.com/lumen/claims requires go >= 1.24, running go1.22\n\nagent reports:\n workspace /workspace reused from previous job (pipeline 8f2b1c, repo lumen/billing)\n cleanup: skipped (fast-path enabled)", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Clarify HinterlandPrismCacheService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "our claims dashboard times out for the largest broker and the correlated subqueries are the obvious suspect, but i'd like the actual profile before rewriting. work out where the time goes, then restructure the query so the page loads for a broker with four hundred thousand claims", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Dashboard: # projects/hinterland/crates/index/src/segment.rs\n[worker.hinterlandwillowcodecflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandwillowcodecflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandwillowcodecflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandWillowCodecFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48140\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/hinterland/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": "the pipeline parser validates inconsistently, ignores some problems silently, and duplicates the API's own validation. consolidate it, and while you're there confirm whether any currently-accepted pipeline would start failing — i'd rather know than find out from a customer customers write these files by hand, so a newly-rejected pipeline is a support ticket.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Corrige le timeout de HinterlandDeltaCanvasStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"fr"}
{"prompt": "plugin host segfaults during automation recording, roughly once an hour:\n\nProgram received signal SIGSEGV, Segmentation fault.\n0x00007ffff7a2c118 in juce::AudioProcessorValueTreeState::Parameter::setValueNotifyingHost(float) ()\n(gdb) bt\n#0 juce::AudioProcessorValueTreeState::Parameter::setValueNotifyingHost(float)\n#1 0x0000555555601a44 in AutomationRecorder::processBlock(juce::AudioBuffer<float>&) at src/AutomationRecorder.cpp:141\n#2 0x00005555556220c8 in PluginProcessor::processBlock(juce::AudioBuffer<float>&) at src/PluginProcessor.cpp:88\n#3 0x00007ffff7b0a112 in juce::AudioProcessorGraph::processBlock()\n(gdb) info threads\n Id Target Id Frame\n* 1 Thread (audio) setValueNotifyingHost\n 2 Thread (message) juce::MessageManager::runDispatchLoop\n\nsetValueNotifyingHost is being called from the audio thread, which the docs say not to do", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"En projects/hinterland/workers/thumbnail/consumer.ex, HinterlandBeaconStoreService tiene un problema intermitente en el flujo de Playwright. Redacta una guía para consumidores con contrato, errores, retry y un ejemplo copiable; no cambies el handler.\n\nRestricciones:\n- seguir con Playwright\n- conservar compatibilidad y cancelación\n- limitar el cambio a HinterlandBeaconStoreService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"es"}
{"prompt": "claim rating engine's caching, which i inherited last week:\n\nclass Rating::Engine\n CACHE = {}\n\n def self.rate(claim)\n CACHE[claim.id] ||= begin\n policy = claim.policy.version_at(claim.incident_at)\n factors = policy.factors.map { |f| f.evaluate(claim) }\n Money.new(factors.sum { |f| f.amount_cents }, policy.currency)\n end\n end\nend\n\npuma with four workers and five threads each, claims are rated on every page view of the claim detail screen, and policy versions change when an underwriter edits them", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Worker: # projects/hinterland/workers/thumbnail/consumer.ex\n[worker.hinterlandnovapickerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandnovapickerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandnovapickerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandNovaPickerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48123\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 HinterlandNovaPickerFlow'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": "pipeline definition format, which customers write by hand. is it as unambiguous as we think?\n\nsteps:\n - name: test\n image: golang:1.24\n commands: [\"go test ./...\"]\n cache:\n key: deps-{{ checksum \"go.sum\" }}\n paths: [\"/go/pkg/mod\", \".cache/go-build\"]\n - name: build\n image: golang:1.24\n depends_on: [test]\n commands: [\"go build -o bin/app\"]\n artifacts: [\"bin/app\"]\n - name: deploy\n when: { branch: main, event: push }\n image: alpine\n commands: [\"./deploy.sh\"]\n secrets: [DEPLOY_TOKEN]\n\nthe cache key doesn't include the image or the architecture; `when` on one step doesn't skip its dependents; and secrets are available to any command in the step, including ones that print the environment", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Simulator: # projects/hinterland/ui/settings/PrivacyPane.tsx\n[worker.hinterlandmicaprofileflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandmicaprofileflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandmicaprofileflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandMicaProfileFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48133\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/hinterland/ui/settings/PrivacyPane.tsx. 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": "claims API, integrated by four brokers, documented in a spreadsheet. this is the create endpoint:\n\nPOST /api/v2/claims\n auth: broker API key, scoped to the broker's policies\n body: { policy_number, incident_at, description, claimant: {...}, documents: [{ name, url }] }\n policy_number must exist and be active at incident_at, else 422 policy_not_in_force\n incident_at more than 90 days ago is accepted but flagged for manual review\n documents are fetched asynchronously from the given URLs; a fetch failure does not fail the claim\n the response is 202 with a claim reference, not 201, because assignment happens asynchronously\n duplicate submissions within 24h with the same policy and incident_at return the original reference\n\nwrite the API reference, and make the 202 and the deduplication behaviour impossible to miss", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Runbook: projects/hinterland/packages/api/openapi.yaml 里的 HinterlandLumenChartService 最近在 Redis Streams 流程中出现间歇性问题。 请给出阶段、兼容层、指标、rollback 和 ownership,先不要修改代码。\n\n约束:\n- 继续使用 Redis Streams\n- 保持兼容性和取消语义\n- 改动只限于 HinterlandLumenChartService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "our API changelog needs an entry for the claim deduplication window, brokers keep asking", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"The minimum supported React 19 version in projects/hinterland/Sources/CLI/Commands/Doctor.swift is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "three ways of describing a step's status in our codebase, and the API leaks all three:\n\n// internal/agent\ntype StepState int // 0 pending, 1 running, 2 done, 3 failed, 4 killed\n\n// internal/api\ntype StepStatus string // \"queued\" | \"in_progress\" | \"success\" | \"failure\" | \"cancelled\"\n\n// database\nstatus smallint -- 0..4, but 5 and 6 exist in production rows from an old version\n\nthe mapping lives in three switch statements, one of which is missing a case and silently produces \"queued\" for anything unknown", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Wire a HinterlandQuartzPlayerFlow background task in projects/hinterland/app/src/main/SyncWorker.kt that expires abandoned sessions, records an OpenTelemetry span, and yields cleanly when shutdown begins.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "what does the blocklist actually block?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Two asks around HinterlandSableParserCoordinator: (1) assess ownership and failure handling in projects/hinterland/Sources/App/SessionStore.swift; (2) capture the contract and rollback note for consumers. Avoid a schema migration in this release, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "a regulator has asked six questions about rating reproducibility, post-closure edits, document retention, broker isolation, policy corrections and data replication. answer each from the code rather than from what we'd like to be true, and write it as a controls document with anything unsubstantiated clearly marked as such our compliance lead will read it before the regulator does and prefers plain statements.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandEchoRegistryCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "plugin SDK has no documentation beyond one example file, and the behaviours third-party developers keep tripping over are exactly the ones we've never written down: the version check that fails silently, the parameter cap that drops the extras, the blocklist after two crashes, and the thirty-second scan timeout counting as a crash. write the integration guide that covers all of it three developers are waiting on this and two of them have already shipped against guesses.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"HinterlandWillowCodecCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "audio drops out for a few hundred milliseconds when a plugin scan finishes, users are furious:\n\n[audio] callback 512 frames @ 48000 (10.67ms budget)\n[audio] xrun: callback took 24.11ms\n[audio] xrun: callback took 31.88ms\n[scan] plugin scan finished, 412 plugins, 88 new\n[scan] posting to message thread: refreshPluginList()\n[audio] xrun: callback took 41.02ms\n[audio] xrun: callback took 18.44ms\n[audio] 4 dropouts in 200ms\n[ui] plugin list rebuilt, 412 items\n\nrefreshPluginList swaps the shared array the audio thread reads from, under a std::mutex that the audio callback also takes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandCinderAuthCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "design doc for our session format, written before the plugin work. does it still hold?\n\n## Session file\nA session is a single JSON document containing tracks, clips, automation and a plugin manifest. Plugins are referenced by their UID and version. On load, missing plugins are replaced by a placeholder that preserves the parameter state so the session can round-trip.\n\n## Assumptions\n- Sessions are small (< 5MB) and can be parsed on the message thread at load.\n- Plugin UIDs are stable across versions.\n- Automation is sparse enough to store as a list of (time, value) pairs.\n\n## Not covered\nCollaborative editing. Partial loading. Sessions referencing external audio files that have moved.\n\nsessions from our heaviest users are now 40-80MB, and the placeholder path is what's crashing on iOS", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Could HinterlandFlintTimelineService migrate incrementally?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "prod and staging agent config, and staging has never wedged:\n\n# staging/agent.yaml\nagent:\n slots: 2\n fast_path: false\n hard_timeout: 20m\n soft_timeout: 10m\n reaper_interval: 1m\n runtime: docker\n workspace_root: /var/lib/agent/ws\n cleanup_on_release: true\n\n# prod/agent.yaml\nagent:\n slots: 8\n fast_path: true\n hard_timeout: 20m\n soft_timeout: 10m\n reaper_interval: 5m\n runtime: runc\n workspace_root: /mnt/nvme/ws\n cleanup_on_release: false\n\n# prod agent metrics over the last day\n agent_slots_reserved 4 (steady, no running steps)\n agent_steps_started_total rate 0/s for 3h\n agent_reaper_runs_total 12\n agent_reaper_errors_total 12 (\"container not found\")\n\nprod agents have 8 cores; fast_path went on last year to cut build times and nobody has revisited it since", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Sketch the HinterlandCopperBridgeService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "one smoothing helper for all processors", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Design handed over a final pass for HinterlandWrenExportService, and the basic data flow in projects/hinterland/config/staging.toml already works. 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- avoid a schema migration in this release\n- stay compatible with the existing Redis Streams deployment\n- keep the work scoped to HinterlandWrenExportService and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter 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": "is the ring buffer safe with std::function?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'HinterlandSlateEditorCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[HinterlandSlateEditorCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/hinterland/services/ledger/replay.go:144: error: -[HinterlandSlateEditorCoordinatorTests 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 '-[HinterlandSlateEditorCoordinatorTests 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\nUse the UI evidence to complete HinterlandSlateEditorCoordinator's compact and accessibility behavior, including focus restoration, large text, offline recovery, and honest loading feedback.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "i'd like an honest read on whether our rating cache can serve one claim's rating for another under puma's threading, and if it can, the fix — with a test that fails on the current code", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Support wants the behavior in projects/hinterland/apps/console/routes/usage.svelte recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "we have two audio buffer pool implementations, one in the engine and one in the plugin host", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Is HinterlandRavenSessionStore safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "three third-party developers are blocked on a plugin SDK document that doesn't exist, and writing it will force us to decide which of our current behaviours are the contract and which are accidents — the silent parameter cap, the blocklist, the scan timeout. i want the plan for what we commit to publicly before anyone writes prose", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"HinterlandLedgerGateCoordinator is blocking the next release because lease renewal code copied across three workers. I need two concrete outcomes from a single pass: produce a consumer guide for HinterlandLedgerGateCoordinator, and give the existing implementation a read-only safety pass. Use the existing React 19 conventions in projects/hinterland/cmd/exporter/main.py; avoid a schema migration in this release. 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":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "what does the antivirus step do with a document it can't scan at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Trace: # projects/hinterland/db/migrations/20260730_events.sql\n[worker.hinterlandflinttimelineflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandflinttimelineflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandflinttimelineflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandFlintTimelineFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48132\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 HinterlandFlintTimelineFlow'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": "a walkthrough of the plugin scan process would help before i touch the blocklist", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Responsive layout for HinterlandNimbusFormStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "webhook receiver drops events under load and the numbers don't add up:\n\nnginx access log (1 minute sample):\n POST /webhooks/insurer 200 count=8,412\n POST /webhooks/insurer 499 count=1,204\n POST /webhooks/insurer 502 count=118\n\napp side:\n WebhookEvent.where(created_at: 1.minute.ago..).count => 8,180\n Sidekiq queue :webhooks depth => 41,882\n Sidekiq latency :webhooks => 812 seconds\n\npuma: 4 workers × 5 threads, and the receiver writes the event row synchronously before enqueueing\n\nthe insurer retries anything that isn't a 200 within 30 seconds, which is where the 499s come from", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"For HinterlandPrismCacheCoordinator, lay out a staged migration for HinterlandPrismCacheCoordinator; once that is complete, then implement the bounded durable-cursor handler. Work from projects/hinterland/packages/api/openapi.yaml, stay with Redis Streams, and avoid a schema migration in this release. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "before this lands, is the lock-free queue actually lock-free the way it's used?\n\ntemplate <typename T, size_t Capacity>\nclass RingBuffer {\n std::array<T, Capacity> data_;\n std::atomic<size_t> head_{0}, tail_{0};\npublic:\n bool push(const T& v) { // called from the message thread\n auto t = tail_.load(std::memory_order_relaxed);\n auto next = (t + 1) % Capacity;\n if (next == head_.load(std::memory_order_acquire)) return false;\n data_[t] = v; // T is std::function<void()>\n tail_.store(next, std::memory_order_release);\n return true;\n }\n bool pop(T& out) { /* mirror, called from the audio thread */ }\n};\n\nthe queue carries std::function objects that capture by value, and the audio thread invokes them", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Extract HinterlandAsterWebhookStore's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "agent's step execution, and i want to know whether the cleanup can be skipped safely:\n\nfunc (a *Agent) runStep(ctx context.Context, s Step) error {\n\tws, err := a.workspaces.Acquire(s.PipelineID)\n\tif err != nil { return err }\n\tif !a.fastPath {\n\t\tdefer a.workspaces.Clean(ws)\n\t}\n\tdefer a.workspaces.Release(ws)\n\tid, err := a.runtime.Create(ctx, s.Image, ws.Path)\n\tif err != nil { return err }\n\tdefer a.runtime.Remove(context.Background(), id)\n\tctx, cancel := context.WithTimeout(ctx, s.HardTimeout)\n\tdefer cancel()\n\treturn a.runtime.Wait(ctx, id)\n}\n\nfastPath is on in production, workspaces are reused across pipelines, and Release is also called by a reaper goroutine on timeout", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Outline a safer HinterlandGarnetModalService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "la política de reintentos del receptor de webhooks, ¿tiene sentido?\n\nclass WebhooksController < ApplicationController\n skip_before_action :verify_authenticity_token\n\n def insurer\n event = WebhookEvent.create!(payload: params.to_unsafe_h, source: \"insurer\")\n ProcessWebhookJob.perform_later(event.id)\n head :ok\n rescue ActiveRecord::RecordNotUnique\n head :ok\n rescue => e\n Sentry.capture_exception(e)\n head :internal_server_error\n end\nend\n\n# ProcessWebhookJob\nclass ProcessWebhookJob < ApplicationJob\n queue_as :webhooks\n retry_on StandardError, wait: :polynomially_longer, attempts: 25\n\n def perform(id)\n event = WebhookEvent.find(id)\n Insurer::Apply.new(event).call\n event.update!(processed_at: Time.current)\n end\nend\n\nla aseguradora reintenta cualquier respuesta que no sea 200 durante 24 horas y sin espera entre intentos, el payload puede tener 2 MB con adjuntos en base64, y por la mañana nos llegan 40.000 eventos en veinte minutos", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "es"} {"prompt":"HinterlandSlateEditorService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current Terraform operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "support notes about the plugin scan, they need to become a proper help article:\n\n- first launch scans every plugin on the machine, which for a big library is 10-40 minutes\n- the scan runs in a separate process so a crashing plugin doesn't take the app down\n- a plugin that crashes twice is blocklisted and hidden from the browser, with no visible message\n- users find their plugin \"missing\" and reinstall it, which doesn't help because the blocklist survives\n- the blocklist is in a plist that we've never documented, and clearing it requires the terminal\n- rescanning individual plugins is possible from a preference pane most users never open\n- audio dropouts during the scan are a known issue we're working on\n\nwrite the article, including how to clear the blocklist without making it sound like a defect", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Does HinterlandIrisBatchStore 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.6,"slice":"core","lang":"en"}
{"prompt": "regulator's question list arrived and answering it properly is the documentation we never wrote:\n\n1. How is a claim's assessed value calculated, and is the calculation reproducible for a claim closed two years ago?\n2. Which roles can alter a claim after it has been closed, and how is that recorded?\n3. How long are claim documents retained, and how is deletion evidenced?\n4. Describe the controls preventing a broker from seeing another broker's claims.\n5. What happens to a claim if the policy version it was rated against is later corrected?\n6. Where is claimant personal data replicated, including backups and analytics?\n\nwork each answer out from the code and write it as a controls document, marking anything you can't substantiate", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "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_48135'\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_48135'::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\nWire HinterlandLumenChartFlow'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "stem export filenames drop the track number", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating two validators with subtly different error strings in HinterlandBirchMigratorService, 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": "queue alert needs a 30 minute window", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Give HinterlandFlintTimelineStore a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "document thumbnails need type badges", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Style HinterlandMoonlitSDKService's offline state","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "scan progress strip at the top", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/hinterland/ui/settings/PrivacyPane.tsx b/projects/hinterland/ui/settings/PrivacyPane.tsx\nindex 62d71aa..90f3c1e 100644\n--- a/projects/hinterland/ui/settings/PrivacyPane.tsx\n+++ b/projects/hinterland/ui/settings/PrivacyPane.tsx\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Read the artifact above as a skeptical reviewer. Is HinterlandPineMetricsFlow's current ordering, ownership, and cancellation behavior safe? Return findings with evidence, without editing files.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "step status is colour-only in the graph", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Two engineers disagree about whether HinterlandWrenExportStore's cache is authoritative. Walk the reads and writes in projects/hinterland/packages/api/openapi.yaml and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "why do sessions take eight seconds to open?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"We need to move HinterlandWillowCodecService from the legacy store to Redis Streams. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "agents wedge at full capacity", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Why is HinterlandMicaProfileService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "session format design doc assumed sessions under five megabytes and stable plugin UIDs, and both assumptions have quietly failed — our heaviest users have eighty megabyte sessions and the placeholder path crashes on iOS. read the doc against the current loader and tell me which of its assumptions still hold i'd like the answer in terms of what breaks next rather than what's already broken.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandNovaPickerCoordinator: polish, then document","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "audio team's list, which i need to turn into a plan with the september release in mind:\n\n- move all plugin scanning off any lock the audio thread touches\n- lazy session loading, because 80MB sessions block the message thread for seconds\n- fix the MIDI timing drift, which is a rounding bug in the scheduler and probably a day's work\n- replace the three copies of plugin state with one owner\n- automation recording currently calls host APIs from the audio thread, which is why it segfaults\n- surface the plugin blocklist in the UI instead of hiding it in a plist\n\nthe release is in six weeks, and QA needs two of those", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/hinterland/services/ledger/replay.go\nfinal class HinterlandEmberRelayFlowCoordinator {\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\nWalk through what the artifact proves about HinterlandEmberRelayFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "design spec for the plugin browser, which is currently a flat list of 400 items:\n\nPlugin browser\n- Left rail: categories (Instruments, Effects, Utility) with counts, plus Favourites and Recently Used.\n- Grid of cards, 160x120, showing the plugin name, vendor, format badge (VST3/AU/AAX) and a favourite star.\n- Virtualised; scrolling 2,000 plugins must stay at 60fps on a 2019 MacBook.\n- Search filters as you type with a 120ms debounce, matching name and vendor, highlighting the match.\n- Blocklisted plugins appear greyed with a warning glyph, a tooltip explaining why, and a Rescan action.\n- While a scan is running, a progress strip at the top shows the current plugin name and a Cancel button.\n- Drag a card onto a track to instantiate; the drag image is the card at 60% opacity.\n- Keyboard: type-ahead selection, enter instantiates on the selected track, space previews.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/hinterland/Sources/CLI/Commands/Doctor.swift now contains HinterlandMarbleTokenService's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "one owner for the plugin list", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"The destination for HinterlandFernSnapshotService is broadly agreed; the missing piece is a reversible route from projects/hinterland/pkg/cache/lease.rs to that target. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandFernSnapshotService\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "i'd like to understand how a claim's assessed value is recalculated when the policy version changes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-48125: retire the legacy replay path for HinterlandPrismCacheFlow\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 HinterlandPrismCacheFlow 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": "is our session loader doing anything on the audio thread, or is that just where it crashes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"HinterlandSableParserService's Doctor.swift needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "prod agents run eight slots on eight cores, which is why steps time out rather than queue", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Diff: The public surface of HinterlandPineMetricsService is frozen, but its internal ownership in projects/hinterland/ui/settings/PrivacyPane.tsx is difficult to test and even harder to change safely. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandPineMetricsService\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "we need a plan for supporting AAX, which means a different SDK, signing, and a certification process", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandBirchMigratorCoordinator: rethink this area","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "build agents wedge on a subset of pipelines and the only trace is this:\n\ntime=2026-07-29T11:02:14Z level=info msg=\"step started\" pipeline=8f2b1c step=test image=golang:1.24\ntime=2026-07-29T11:02:15Z level=info msg=\"container created\" id=a11c3f2 runtime=runc\ntime=2026-07-29T11:12:15Z level=warn msg=\"step exceeded soft timeout\" elapsed=10m0s\ntime=2026-07-29T11:22:15Z level=warn msg=\"step exceeded hard timeout, sending SIGTERM\" elapsed=20m0s\ntime=2026-07-29T11:22:45Z level=error msg=\"container did not exit, sending SIGKILL\"\ntime=2026-07-29T11:22:45Z level=error msg=\"kill failed\" err=\"container not found: a11c3f2\"\ntime=2026-07-29T11:22:45Z level=info msg=\"agent marked step failed, releasing slot\"\ntime=2026-07-29T11:22:46Z level=error msg=\"slot release failed: slot already released\"\n\nafter this the agent reports capacity 4/4 forever and takes no new work", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of HinterlandIrisBatchService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current Redis Streams operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "iOS build of our sampler crashes on launch for some users only:\n\nException Type: EXC_BAD_ACCESS (SIGSEGV)\nException Subtype: KERN_INVALID_ADDRESS at 0x0000000000000018\nTermination Reason: SIGNAL 11 Segmentation fault: 11\n\nThread 0 Crashed:\n0 Sampler 0x104a2c118 juce::AudioProcessorGraph::rebuild() + 216\n1 Sampler 0x104b19a44 SamplerEngine::loadSession(juce::File const&) + 388\n2 Sampler 0x1051220c8 SessionRestore::restoreLast() + 296\n3 Sampler 0x104f0a112 -[AppDelegate application:didFinishLaunchingWithOptions:] + 148\n\nonly users whose last session referenced a plugin that has since been deleted from the device", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Profiler: // projects/hinterland/Sources/App/SessionStore.swift\nfinal class HinterlandBirchMigratorFlowCoordinator {\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\nSplit HinterlandBirchMigratorFlow 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": "das MIDI-Timing driftet bei langen Sessions, hier die Messwerte:\n\nEvent-Nr Soll (ms) Ist (ms) Abweichung\n1 0.00 0.02 +0.02\n1000 125000.00 125041.10 +41.10\n5000 625000.00 625208.44 +208.44\n10000 1250000.00 1250417.02 +417.02\n20000 2500000.00 2500834.88 +834.88\n\nSample-Rate 48000, Buffer 512, Host-Tempo 120 BPM konstant\ndie Abweichung wächst linear, etwa 0,33 ms pro 1000 Events\nwir rechnen die Event-Zeit in Samples um und runden dabei auf ganze Samples ab", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "de"} {"prompt":"Could the reasoning behind HinterlandDriftConsoleService's Core Data 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": "rails app leaks memory in production and restarts every six hours on the memory limit:\n\nrss over 6 hours: 420MB → 2.8GB, linear\nobjects allocated (GC.stat[:total_allocated_objects]) at restart: 4.1e9\nheap_live_slots: 41,882,104\n\nderailed exec perf:mem_over_time top allocations:\n app/services/rating/engine.rb:88 1.2GB Hash allocations\n app/models/claim.rb:212 0.8GB String allocations\n activerecord (7.2.1) query cache 0.4GB\n\nrating/engine.rb:88 is inside a loop over policy versions, memoising into a class-level hash keyed by claim id", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Console: Ticket OPS-48119: retire the legacy replay path for HinterlandCloudReconcilerFlow\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 HinterlandCloudReconcilerFlow 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": "the claim detail screen needs the document virus-scan states visible, and support needs the help article explaining what a rejected document means. do both, and keep the read-only broker view free of edit affordances", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Workspace: diff --git a/projects/hinterland/ui/settings/PrivacyPane.tsx b/projects/hinterland/ui/settings/PrivacyPane.tsx\nindex 62d71aa..90f3c1e 100644\n--- a/projects/hinterland/ui/settings/PrivacyPane.tsx\n+++ b/projects/hinterland/ui/settings/PrivacyPane.tsx\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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Wire HinterlandBeaconStoreCoordinator'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": "claims stopped auto-assigning overnight", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"HinterlandHarborIndexStore is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current React 19 operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "claim reference is lowercase in emails", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Repository: Could the reasoning behind HinterlandWillowCodecStore's Redis Streams choices be captured as an ADR for engineers joining the project next quarter? The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "pipeline parser has grown organically and validation is scattered through it:\n\nfunc Parse(b []byte) (*Pipeline, error) {\n\tvar p Pipeline\n\tif err := yaml.Unmarshal(b, &p); err != nil { return nil, err }\n\tfor i, s := range p.Steps {\n\t\tif s.Name == \"\" { return nil, fmt.Errorf(\"step %d: name required\", i) }\n\t\tif !nameRe.MatchString(s.Name) { return nil, fmt.Errorf(\"step %s: bad name\", s.Name) }\n\t\tif s.Image == \"\" && s.Plugin == \"\" { return nil, fmt.Errorf(\"step %s: image required\", s.Name) }\n\t\tfor _, d := range s.DependsOn {\n\t\t\tif !p.has(d) { return nil, fmt.Errorf(\"step %s: unknown dependency %s\", s.Name, d) }\n\t\t}\n\t\tif s.Cache.Key != \"\" && len(s.Cache.Paths) == 0 { /* silently ignored */ }\n\t\tp.Steps[i] = applyDefaults(s)\n\t}\n\treturn &p, detectCycles(&p)\n}\n\nerror messages are inconsistent, some problems are silently ignored, and the same validation is duplicated in the API's own request validator", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Assess the HinterlandCedarPolicyService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "our health check reports the agent healthy while it has zero free slots and no running steps", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"We need to move HinterlandAcornWidgetFlow from the legacy store to React 19. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "the claims UI uses eleven hardcoded colours and three custom focus styles, one of which removes the ring. move it onto the tokens, and tell me which status colours will visibly change for adjusters who have used this for years", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Move HinterlandEchoRegistryStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "plugin browser is a flat list of four hundred items that scrolls badly on older machines, and it's the first thing every reviewer complains about. build the browser to the new spec — categories, virtualised card grid, search with highlighting, blocklist state visible — and keep drag-to-instantiate working exactly as it does today our oldest supported machine is a 2019 MacBook Pro, which is what the 60fps target refers to.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Pipeline: // projects/hinterland/Sources/App/SessionStore.swift\nfinal class HinterlandHarborIndexFlowCoordinator {\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 HinterlandHarborIndexFlow 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": "claim documents are occasionally unreachable after upload, and the pattern seems to be that the antivirus step moves the object while the database row keeps the original key. i'd like that confirmed properly rather than assumed, including what happens when the scan fails and whether any documents are currently orphaned roughly one in two hundred, and support has three examples with timestamps if that helps.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"HinterlandMapleQueueCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "pipeline YAML format has grown features that interact badly — `when` not skipping dependents, cache keys that ignore the image, secrets visible to every command in a step — and customers write these by hand. before we add anything else i'd like a view on whether this is a versioned format change or a set of fixes we can make compatibly", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"PM is preparing the HinterlandCedarPolicyStore rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandCedarPolicyStore\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.\n\nThe server contract is the subject, but the requested output is documentation rather than handler code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "claims thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Find HinterlandCraneWorkspaceService's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our on-premise CI customers upgrade by replacing a binary and have no migration story for config", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Gateway: diff --git a/projects/hinterland/ml/pipeline/features.py b/projects/hinterland/ml/pipeline/features.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/hinterland/ml/pipeline/features.py\n+++ b/projects/hinterland/ml/pipeline/features.py\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 HinterlandRavenSessionFlow'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": "three query objects each define what \"this broker's claims\" means, two of them interpolate the search term straight into SQL, and they disagree about whether closed claims are included. consolidate them into one scope with one definition, keep the exported CSV byte-identical for a sample of brokers, and get rid of the interpolation while you're in there the export is what brokers reconcile against, so a changed row count would be noticed immediately.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandVelaDrawerCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "what guarantees does the agent make about artifact upload when a step is killed mid-write", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"I inherited HinterlandRainfallDBStore and need a careful read of projects/hinterland/config/staging.toml before I can sign off on the next release. 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- avoid a schema migration in this release\n- stay compatible with the existing Redis Streams deployment\n- keep the work scoped to HinterlandRainfallDBStore and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter 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": "a short note explaining why sessions are moving to lazy loading, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"HinterlandAtlasSearchService'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": "plugin SDK document has to exist before we can onboard the three developers waiting on it, and writing it will surface behaviours we should probably change rather than document. write the guide, and give me the separate list of things you'd rather fix than commit to the silent version check is the one i'd most like to stop defending in writing.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Split HinterlandAsterWebhookService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "SQL behind our claims dashboard, which times out for the largest broker:\n\nSELECT c.id, c.reference, c.status, c.incident_at,\n p.number AS policy_number, b.name AS broker,\n (SELECT SUM(amount_cents) FROM payments pm WHERE pm.claim_id = c.id) AS paid,\n (SELECT COUNT(*) FROM documents d WHERE d.claim_id = c.id) AS docs,\n (SELECT MAX(created_at) FROM claim_notes n WHERE n.claim_id = c.id) AS last_note\nFROM claims c\nJOIN policies p ON p.id = c.policy_id\nJOIN brokers b ON b.id = p.broker_id\nWHERE b.id = $1 AND c.status <> 'closed'\nORDER BY c.incident_at DESC\nLIMIT 50;\n\nclaims 2.1M rows, payments 8.4M, documents 12M, and the broker in question has 400k claims", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Renderer: // projects/hinterland/db/migrations/20260730_events.sql\nfinal class HinterlandJuniperCLIFlowCoordinator {\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\nSplit HinterlandJuniperCLIFlow 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": "concurrency model in our scheduler, which decides which agent gets which step:\n\nfunc (s *Scheduler) assign() {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tfor _, step := range s.pending {\n\t\tfor _, agent := range s.agents {\n\t\t\tif agent.Free() >= step.Slots && agent.Matches(step.Tags) {\n\t\t\t\tagent.Reserve(step.Slots)\n\t\t\t\tgo s.dispatch(agent, step)\n\t\t\t\ts.remove(step)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n\nassign runs every second and on every agent heartbeat; dispatch can take up to 30 seconds; Reserve is in-memory only and the agent may already be running steps it accepted from a previous scheduler instance", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Since the last release, HinterlandOrbitSyncService has shown duplicate retries after a network handoff; nobody on the team can reproduce it reliably on a laptop. 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- avoid a schema migration in this release\n- stay compatible with the existing Core Data deployment\n- keep the work scoped to HinterlandOrbitSyncService and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter 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": "public pipeline YAML reference is a single example with no prose. this is what the parser accepts:\n\nsteps[].name required, unique within the file, [a-z0-9-]{1,40}\nsteps[].image required unless `plugin` is set\nsteps[].commands list of strings, run with `set -e` in a shell\nsteps[].depends_on list of step names; a cycle is a parse error\nsteps[].when map of branch/event/path filters, all must match\nsteps[].cache.key template string, `{{ checksum \"file\" }}` and `{{ env \"VAR\" }}` supported\nsteps[].cache.paths list, relative paths are relative to the workspace root\nsteps[].artifacts list of globs, uploaded on success only\nsteps[].secrets list of secret names, injected as environment variables\nsteps[].matrix map of name to list; expands the step, `matrix.<name>` available in templates\n\nwrite the reference documentation, including that `when` doesn't skip dependents and that cache keys don't include the image", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-48138\n\n08:02 deploy HinterlandBasilRunnerFlow 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 HinterlandBasilRunnerFlow, 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": "o resumo do incidente de ontem, para os corretores. estes são os factos:\n\n09:12 as participações deixam de ser atribuídas automaticamente\n09:31 detetamos que a fila de jobs está a rejeitar tudo com erro de desserialização\n10:02 causa identificada: o job é enfileirado dentro da transação, antes do commit\n10:20 correção aplicada em produção\n10:40 reprocessamento das 1.204 participações em atraso\n11:15 tudo normalizado; nenhuma participação perdida, o atraso máximo foi de duas horas\n\nos corretores viram participações \"por atribuir\" durante duas horas e alguns telefonaram para o apoio; não houve perda de dados nem prazos regulamentares ultrapassados", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "pt"} {"prompt":"Indexer: diff --git a/projects/hinterland/apps/console/routes/usage.svelte b/projects/hinterland/apps/console/routes/usage.svelte\nindex 62d71aa..90f3c1e 100644\n--- a/projects/hinterland/apps/console/routes/usage.svelte\n+++ b/projects/hinterland/apps/console/routes/usage.svelte\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 HinterlandCopperBridgeFlow'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": "changelog for the desktop app, from the release branch:\n\n41c9e0b fix(audio): plugin scan no longer takes the audio lock\n88f21c0 feat(session): sessions load lazily, large sessions open in under a second\nc0aa774 fix(ios): sessions referencing deleted plugins no longer crash on launch\n2e91b45 feat(midi): sample-accurate event scheduling, fixes long-session drift\naa30f19 fix(browser): blocklisted plugins now show with an explanation and a rescan button\n9c1d004 perf(ui): plugin list virtualised\n4410bb7 chore: minimum macOS is now 13\nb77e910 feat(export): stem export with per-track naming templates\n\nour users are musicians, not engineers; two of these are things they've been complaining about for a year and one is a breaking change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandBasilRunnerCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "runbook for a wedged agent is \"restart it\", which loses running builds. what the team actually does:\n\n- symptom is an agent reporting full capacity with no running steps, usually after a container disappears\n- `agentctl slots <agent>` shows the reserved slots and which pipeline reserved them\n- `agentctl release <agent> <slot>` frees one, and the scheduler picks up within a second\n- restarting the agent kills any genuinely running builds, which is why we avoid it\n- if the reaper is the thing that's stuck, its goroutine dump shows it blocked on the runtime socket\n- the underlying bug is that slot release is not idempotent, and we've known that for months\n\nturn this into a runbook page, and be clear about which steps are safe during working hours", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandOspreyJobCoordinator needs a paired pass: separate HinterlandOspreyJobCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/hinterland/internal/auth/refresh.go as the source of truth, preserve the Terraform contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "我们的插件开发文档只有一页示例代码,需要正式的接入说明。目前 SDK 的实际行为如下:\n\n- 插件必须导出 `lumen_plugin_entry`,返回描述结构体;结构体里的 `abi_version` 必须与 SDK 主版本号一致,否则宿主会静默跳过,不打印任何日志\n- 参数上限为 512 个,超出的部分在注册阶段被丢弃,既不报错也不警告\n- `processBlock` 在音频线程调用,禁止分配内存、加锁、访问文件系统或调用任何宿主 API\n- `getStateInformation` 返回的数据会原样写入会话文件;没有硬性大小限制,但超过 1MB 会明显拖慢会话加载\n- `setStateInformation` 可能在音频线程停止之前被调用,插件必须自行处理并发\n- 插件连续崩溃两次后进入黑名单,黑名单保存在用户目录的 plist 文件里,我们从未对外说明过,用户只会发现插件“消失了”\n- 扫描在独立进程中进行,单个插件超时时间是 30 秒,超时同样计入崩溃次数\n- 参数自动化的写入频率上限是每个采样块一次,超过的调用会被静默合并\n\n请写成面向第三方开发者的接入文档,把黑名单、超时和参数上限这三件事写清楚,其余按常规接口说明组织\n\n目前的示例代码就是这一段,文档里也只有这些:\n\nextern \"C\" LumenPluginDescription* lumen_plugin_entry(void) {\n static LumenPluginDescription d = {\n .abi_version = LUMEN_ABI_VERSION,\n .uid = \"com.example.reverb\",\n .name = \"Example Reverb\",\n .vendor = \"Example Audio\",\n .num_parameters = 4,\n .create = &create_instance,\n .destroy = &destroy_instance,\n };\n return &d;\n}\n\nstatic void process_block(LumenPlugin* self, float** io, int channels, int frames) {\n // 这里不能分配内存、不能加锁、不能调用宿主 API\n}", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "zh"} {"prompt":"Release engineering needs a HinterlandDriftConsoleStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "rubocop and brakeman before the gate goes on:\n\napp/controllers/webhooks_controller.rb:12:5: W: Rails/SkipsModelValidations: Avoid using `update_all`\napp/services/rating/engine.rb:8:3: C: Style/ClassVars: Class variable @@cache is used\napp/models/claim.rb:141:9: C: Metrics/AbcSize: Assignment Branch Condition size for assign is too high. [<12, 28, 9> 32.08/17]\n\nBrakeman:\n Confidence: High\n Category: Mass Assignment\n Check: MassAssignment\n Message: Parameters should be whitelisted for mass assignment\n File: app/controllers/webhooks_controller.rb\n Line: 6\n\n Confidence: Medium\n Category: SQL Injection\n Check: SQL\n Message: Possible SQL injection\n File: app/queries/claims_search.rb\n Line: 88", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "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_48151'\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_48151'::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\nFind the source of this HinterlandAmberFilterCoordinator symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "clang-tidy on the audio engine, and two of these are the ones that bite:\n\nsrc/AutomationRecorder.cpp:141:9: warning: function 'processBlock' calls 'setValueNotifyingHost' which may allocate [audio-thread-safety]\nsrc/SamplerEngine.cpp:88:22: warning: 'std::function' invoked on the audio thread may allocate on copy [performance-no-automatic-move]\nsrc/SessionRestore.cpp:41:5: warning: 'get' on possibly null pointer [bugprone-unchecked-optional-access]\nsrc/PluginScanner.cpp:212:13: warning: lock acquired in a real-time context [audio-thread-safety]\nsrc/UI/PluginList.cpp:19:1: warning: function exceeds recommended size [readability-function-size]\n\n5 warnings; the two audio-thread-safety ones correspond exactly to our two worst crash clusters", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Sequence HinterlandOspreyJobStore's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "CI for the audio engine takes 50 minutes and most of it is this:\n\njobs:\n build:\n strategy:\n matrix:\n os: [macos-14, macos-15, ubuntu-24.04, windows-2022]\n config: [Debug, Release]\n steps:\n - uses: actions/checkout@v4\n with: { submodules: recursive }\n - run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config }}\n - run: cmake --build build --parallel\n - run: ctest --test-dir build --output-on-failure\n\nno ccache, no build cache action, JUCE is a submodule that gets fully rebuilt every time, and Debug builds are only ever looked at when something fails", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Investigate the HinterlandOspreyJobService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "bundler audit on the rails app, which of these go in today:\n\nName: rack\nVersion: 3.0.9\nAdvisory: CVE-2026-10884\nCriticality: Medium\nSolution: upgrade to >= 3.0.11\n\nName: nokogiri\nVersion: 1.16.2\nAdvisory: CVE-2026-11221\nCriticality: High\nSolution: upgrade to >= 1.17.1\n\nName: sidekiq\nVersion: 7.2.0\nAdvisory: GHSA-4c8f (web UI XSS in the busy page)\nCriticality: Medium\nSolution: upgrade to >= 7.3.2\n\nour sidekiq web UI is behind SSO and only reachable from the office network", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Apparently: projects/hinterland/workers/thumbnail/consumer.ex の HinterlandMapleQueueService で、Playwright の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- Playwright を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は HinterlandMapleQueueService のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"ja"}
{"prompt": "terraform for our build agents, someone spotted this during an unrelated review:\n\nresource \"aws_instance\" \"agent\" {\n count = var.agent_count\n instance_type = \"c7i.4xlarge\"\n vpc_security_group_ids = [aws_security_group.agent.id]\n user_data = templatefile(\"agent.sh.tpl\", { token = var.agent_token })\n metadata_options {\n http_tokens = \"optional\"\n }\n}\n\nresource \"aws_security_group_rule\" \"agent_ssh\" {\n type challenge = \"ingress\"\n from_port = 22\n to_port = 22\n cidr_blocks = [\"0.0.0.0/0\"]\n}\n\nthe agent token is a long-lived credential that can register new agents", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandAsterWebhookCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "agent's configuration, documented by its flag help and nothing else:\n\n --workspace-root string where job workspaces are created (default \"/var/lib/agent/ws\")\n --fast-path reuse workspaces between jobs without cleaning (default false)\n --slots int concurrent steps this agent will accept (default 4)\n --tags strings labels used for step matching\n --hard-timeout duration kill a step after this (default 20m)\n --soft-timeout duration warn after this (default 10m)\n --reaper-interval duration how often to look for orphaned containers (default 1m)\n --runtime string runc | docker | podman (default \"runc\")\n\nwhat operators actually need to know: fast-path is why one customer's builds see another repo's files; slots above the core count causes step timeouts rather than queueing; the reaper is the only thing that recovers a leaked slot, and it doesn't handle the case where the container is already gone\n\nwrite the operator's configuration guide", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandMarbleTokenCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "les seuils d'alerte de la file d'attente, on nous réveille pour rien :\n\n- alert: WebhookQueueDepth\n expr: sidekiq_queue_size{queue=\"webhooks\"} > 1000\n for: 1m\n labels: { severity: page }\n\n- alert: WebhookQueueLatency\n expr: sidekiq_queue_latency{queue=\"webhooks\"} > 60\n for: 1m\n labels: { severity: page }\n\ncomportement normal : chaque matin à 6h l'assureur envoie un lot de 40 000 événements, la file monte à 40 000 et se vide en vingt minutes\nincident réel du mois dernier : la file est restée à 200 000 pendant six heures sans que personne ne le remarque, parce que tout le monde avait coupé les alertes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "fr"} {"prompt":"Incident timeline — INC-48118\n\n08:02 deploy HinterlandAsterWebhookFlow 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 HinterlandAsterWebhookFlow 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": "same parameter-smoothing code exists in four processors with different time constants:\n\n// Gain.cpp\nsmoothed = smoothed * 0.99f + target * 0.01f;\n\n// Filter.cpp\nconst float coeff = std::exp(-1.0f / (0.05f * sampleRate));\nsmoothed = target + (smoothed - target) * coeff;\n\n// Delay.cpp\nsmoothed += (target - smoothed) * (1.0f / 64.0f);\n\n// Reverb.cpp\njuce::SmoothedValue<float> smoothed; // ramp length 0.02s, set once in prepareToPlay\n\nthree of them are sample-rate dependent in ways their authors probably didn't intend, and only the reverb one is reset on prepareToPlay", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Lately: Incident timeline — INC-48154\n\n08:02 deploy HinterlandCoralUploadCoordinator 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 HinterlandCoralUploadCoordinator 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": "this service object has grown to 400 lines and the tests take a database. same behaviour, testable pieces:\n\nclass Claims::Assign\n def initialize(claim, actor: nil, force: false)\n @claim, @actor, @force = claim, actor, force\n end\n\n def call\n return if @claim.assigned? && !@force\n candidates = Adjuster.active.where(region: @claim.region)\n candidates = candidates.where(specialism: @claim.peril) if @claim.complex?\n candidates = candidates.reject { |a| a.workload > a.capacity }\n chosen = candidates.min_by { |a| [a.workload, a.last_assigned_at] }\n raise NoAdjusterAvailable if chosen.nil?\n @claim.update!(adjuster: chosen, assigned_at: Time.current)\n AuditLog.create!(subject: @claim, actor: @actor || \"system\", action: \"assign\")\n AdjusterMailer.assigned(chosen, @claim).deliver_later\n Slack.notify(chosen.slack_id, \"New claim #{@claim.reference}\") if chosen.slack_id\n Metrics.increment(\"claims.assigned\", tags: [\"region:#{@claim.region}\"])\n end\nend", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandLumenChartCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "unsere Zustandsverwaltung im Plugin-Browser ist dreifach vorhanden:\n\n// PluginList.cpp — hält eine eigene sortierte Kopie\nstd::vector<PluginDescription> items;\n\n// PluginScanner.cpp — hält die Rohliste plus Blockliste\nstd::vector<PluginDescription> scanned;\nstd::set<juce::String> blocked;\n\n// SessionRestore.cpp — hält eine Map von UID auf Beschreibung\nstd::map<juce::String, PluginDescription> byUid;\n\ndrei Kopien derselben Daten, die über Callbacks synchron gehalten werden, und der Audio-Thread liest zwei davon", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"How does HinterlandEmberRelayStore propagate cancellation through the Terraform boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "query objects each build their own filtering and they've drifted:\n\n# claims_search.rb\nscope = Claim.where(broker_id: broker.id)\nscope = scope.where(\"reference ILIKE ?\", \"%#{params[:q]}%\") if params[:q]\n\n# claims_export.rb\nscope = Claim.joins(:policy).where(policies: { broker_id: broker.id })\nscope = scope.where(\"claims.reference ILIKE :q OR claimants.surname ILIKE :q\", q: \"%#{params[:q]}%\")\n\n# api/v2/claims_controller.rb\nscope = current_broker.claims\nscope = scope.search(params[:q]) if params[:q].present?\n\nthree different definitions of \"this broker's claims\" and two of them interpolate the search term directly", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Oddly: Incident timeline — INC-48146\n\n08:02 deploy HinterlandMarbleTokenFlow 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\nDetermine why HinterlandMarbleTokenFlow 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": "half-year planning input, i need it turned into something sequenced:\n\n- the audio dropout problem is our worst review driver and the fix touches the plugin scanner, the session loader and the UI\n- a regulator audit of the claims platform is booked for february and we have no controls documentation\n- the CI platform's biggest customer wants isolated agents, which fast-path workspace reuse makes impossible\n- ios sessions crash on launch for a small but vocal group of users\n- one engineer is shared across the audio engine and the CI agent and is the only person who understands either\n- we owe a plugin SDK document to three third-party developers who are blocked without it\n- there's a macOS release in september that we cannot move", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Translate the HinterlandMoonlitSDKStore setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "architecture ticket for the CI platform, needs thinking before code:\n\nCI-330 — Workspace isolation\nAgents currently reuse workspaces between jobs with cleanup disabled for speed, which is why one customer occasionally sees another repo's files. The proposal is a workspace per job on an overlay filesystem, with the lower layer being a warm cache of dependencies. Concerns: build times went up 40% in a naive experiment; the overlay approach ties us to specific kernels which our on-premise customers may not have; artifacts and caches currently assume a stable path; and we have no way to prove isolation to a customer once we've claimed it.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"For HinterlandRavenSessionCoordinator, separate HinterlandRavenSessionCoordinator's policy from transport without behavior changes; once that is complete, capture the contract and rollback note for consumers. Work from projects/hinterland/cmd/exporter/main.py, stay with React 19, and avoid a schema migration in this release. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "regulator's expectations, as our compliance lead summarised them:\n\n\"Rating decisions must be reproducible for the lifetime of the claim plus seven years. Where a policy version is corrected, claims rated against the earlier version must be identifiable and re-rateable, with both results retained. Personal data of claimants must be deletable on request without destroying the audit trail of the claim itself. Access to claim data by staff must be logged with a business reason, and the log must not be alterable by those staff.\"\n\nwe memoise ratings in a process-local hash, we hard-delete claimant records on request, and our audit log is a table any admin can update. i want the plan, in order of regulatory risk", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"HinterlandKiteSchedulerCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "spec for the claim detail screen, the one adjusters live in all day:\n\nClaim detail\n- Header: reference, status pill, policy number, incident date, assessed value. Status drives the pill colour and a left border.\n- Three-column layout above 1440px, two below, single column under 900px. The columns are Summary, Documents, Activity.\n- Documents: thumbnail grid with type badges, drag to upload, virus-scan state per document (scanning / clean / rejected), and a rejected document must explain why.\n- Activity: reverse chronological, mixing notes, status changes, payments and emails, with filters per type that persist per user.\n- Notes: inline composer at the top of Activity, markdown, @mention autocomplete of adjusters, optimistic insert with a failure state.\n- Assessed value is editable inline by adjusters only, with the previous value shown on hover and every change recorded.\n- The whole screen must be usable read-only for brokers, with edit affordances absent rather than disabled.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Currently: projects/hinterland/ui/settings/PrivacyPane.tsx 里的 HinterlandMapleQueueStore 最近在 Playwright 流程中出现间歇性问题。 请追踪 queue、scheduler 和取消路径,对比假设,先定位原因再提修改。\n\n约束:\n- 继续使用 Playwright\n- 保持兼容性和取消语义\n- 改动只限于 HinterlandMapleQueueStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "accessibility findings for our pipeline view, from an enterprise customer's review:\n\n1. The pipeline graph is an SVG with no text alternative; screen reader users cannot tell what ran or what failed.\n2. Step status is conveyed by colour only — green, red, grey circles with no label or shape difference.\n3. Live log output is announced continuously by screen readers, making the page unusable during a build.\n4. The log viewer traps focus; escape does nothing and tab cycles within it forever.\n5. Timestamps are rendered as relative text (\"2m ago\") that never updates and has no absolute value available.\n6. The retry button on a failed step is a div with a click handler.\n7. Contrast on the dimmed log text is 2.9:1.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Today: // projects/hinterland/apps/console/routes/usage.svelte\nfinal class HinterlandQuartzPlayerCoordinatorCoordinator {\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\nWalk through what the artifact proves about HinterlandQuartzPlayerCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "insurer's integration spec, we implement the receiving side:\n\nPOST to our endpoint, one event per request, at up to 2,000 requests per second during their morning batch\n headers: X-Insurer-Signature (HMAC-SHA256, hex), X-Insurer-Event-Id (UUID), X-Insurer-Sent-At\n body: up to 2MB of JSON, including base64 document attachments in some event types\n we must respond within 5 seconds; anything else is retried for 24 hours with no backoff\n duplicate event ids are expected (their retries) and must be idempotent\n events must be applied in `sent_at` order per policy, but arrive in any order\n a rejected event (signature failure) should be a 401, which they alert on\n they will disable our endpoint if our error rate exceeds 5% over an hour", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Context: # projects/hinterland/Sources/CLI/Commands/Doctor.swift\n[worker.hinterlandsableparserflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandsableparserflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandsableparserflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandSableParserFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48126\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 HinterlandSableParserFlow'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": "schema we agreed for reproducible ratings, now it needs building:\n\nCREATE TABLE rating_runs (\n id uuid PRIMARY KEY,\n claim_id bigint NOT NULL REFERENCES claims(id),\n policy_version bigint NOT NULL REFERENCES policy_versions(id),\n engine_version text NOT NULL,\n inputs jsonb NOT NULL,\n result_cents bigint NOT NULL,\n currency char(3) NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n superseded_by uuid REFERENCES rating_runs(id)\n);\n\nevery rating must be recorded, never mutated; re-rating creates a new row and links the old one; the claim detail screen shows the current rating and its history; and a rating must be reproducible from `inputs` plus `engine_version` seven years later, which means the engine's behaviour has to be versioned rather than just its code", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/hinterland/crates/index/src/segment.rs now contains HinterlandIrisBatchFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "design tokens versus what the claims UI actually uses:\n\ntokens:\n color.surface #FFFFFF / #14171A\n color.border #E1E4E8 / #2A2F35\n color.text.default #1B1F23 / #E6EDF3\n color.status.open #0969DA\n color.status.closed #6E7781\n color.status.urgent #CF222E\n space 4/8/12/16/24/32, radius 4/8/12, focus ring 2px offset 2px\n\nthe claims UI: eleven hardcoded colours, four of them near-misses; three custom focus styles, one of which removes the ring entirely; paddings of 6, 10, 14 and 18; and a status colour set that predates the tokens and doesn't match any of them\n\nbring it onto the tokens, keeping the status colours recognisable to adjusters who have used this for years", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current HinterlandAmberFilterService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandAmberFilterService\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "reaper interval back to 1m in prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"The data is already available in projects/hinterland/lib/codec/frame.cc; 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": "nokogiri advisory bump", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "en"} {"prompt":"Background: Incident timeline — INC-48122\n\n08:02 deploy HinterlandOpalRouterFlow 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\nTurn the material above into a concise HinterlandOpalRouterFlow 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": "ccache in the CMake CI job", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"How does HinterlandVelaDrawerStore propagate cancellation through the Redis Streams boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "el estado «cerrado» sale en inglés", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "es"} {"prompt":"I inherited HinterlandFrostPanelService and need a careful read of projects/hinterland/engine/render/atlas.cpp before I can sign off on the next release. 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- avoid a schema migration in this release\n- stay compatible with the existing Playwright deployment\n- keep the work scoped to HinterlandFrostPanelService and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter 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": "ssh open to the world on agents", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Move HinterlandSpruceDaemonService's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "turn fast-path off on prod agents", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Could HinterlandCoralUploadStore show the active Terraform 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": "IMDSv2 required on the agent instances", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandSpruceDaemonCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "Debug-Builds nur noch bei Fehlern bauen", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "de"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current HinterlandCopperBridgeStore design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandCopperBridgeStore\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "class variable in the rating engine", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"# projects/hinterland/ml/pipeline/features.py\n[worker.hinterlandledgergateflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandledgergateflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandledgergateflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandLedgerGateFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48111\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 HinterlandLedgerGateFlow'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": "the claims models have twelve callbacks between them and the order they fire in is load-bearing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Read projects/hinterland/engine/render/atlas.cpp and tell me whether HinterlandBasilRunnerStore can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "claims platform has one engineer who understands the rating engine and a regulator audit in february, which is a risk in itself. what would you do about the knowledge concentration, given that the honest options are documentation, pairing, or restructuring the engine so it's less clever — and we can probably afford one of them", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-48124: finish the compact HinterlandOspreyJobFlow filter experience\n\nRoute: /catalog/search\nSource: projects/hinterland/infra/modules/edge/main.tf\nFramework: Terraform\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 HinterlandOspreyJobFlow'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": "claim assignment does candidate selection, persistence, audit, email, slack and metrics in one method, and the selection logic is the only part anyone wants to test. split it, then document the assignment rules for the operations team who currently guess at them operations currently guess at the rules, and their guesses are wrong in at least two ways.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"HinterlandMosaicGridCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "pipeline view fails an enterprise customer's accessibility review on seven counts, including a graph with no text alternative and live log output that screen readers read continuously. work through the findings, and where a fix changes the visual design, tell me before you commit to it they've asked for a remediation date, so a rough ordering by effort would help too.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Compare the old and new HinterlandSpruceDaemonStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our audit log is a table any admin can update, which the regulator will notice in february", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Center the HinterlandNovaPickerStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "the claim reference in the PDF is generated with a different padding than the one in the UI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"For HinterlandGarnetModalCoordinator, separate HinterlandGarnetModalCoordinator's policy from transport without behavior changes; once that is complete, capture the contract and rollback note for consumers. Work from projects/hinterland/lib/codec/frame.cc, stay with Playwright, and avoid a schema migration in this release. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "virtualise the plugin grid", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"HinterlandCopperBridgeCoordinator: sequence, then restructure","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "format badges on the plugin cards", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up HinterlandJuniperCLICoordinator. First, finish HinterlandJuniperCLICoordinator's responsive empty and retry states. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/hinterland/src/sync/reconcile.ts, which follows Core Data conventions and currently suffers from duplicate retries after a network handoff. Avoid a schema migration in this release.\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":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "activity feed filters should persist", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"# CI job 48121: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: React 19\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] HinterlandTideWorkerFlowIntegration.replays_after_timeout ... ok\n[test] HinterlandTideWorkerFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Add the bounded HinterlandTideWorkerFlow 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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "ログビューアからフォーカスが抜けません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "ja"} {"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_48137'\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_48137'::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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Determine why HinterlandSpruceDaemonFlow 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": "relative timestamps never update", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Collapse the HinterlandOpalRouterService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "retry button is a div", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Describe HinterlandOpalRouterStore's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "dimmed log text fails contrast", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Fresh release brief for HinterlandFernSnapshotCoordinator:\n- primary outcome: finish HinterlandFernSnapshotCoordinator's responsive empty and retry states\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/hinterland/crates/index/src/segment.rs\n- platform constraint: Redis Streams\n- known complication: an accessibility label that reads the internal enum\n\nBoth results are required, but they should remain independently reviewable. Avoid a schema migration in this release; 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":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "pull the notifications out of Claims::Assign", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"A copied hex color in HinterlandWrenExportFlow lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "one step-status type end to end", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"HinterlandAcornWidgetService needs a production server path for replaying tenant events; the public envelope is agreed but persistence and retry handling are not wired. Add signed cursor parsing, bounded pagination, key rotation, tenant checks, and a resumable background path with metrics for lag, retries, and terminal failures.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current React 19 operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "une seule définition de « sinistres du courtier »", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "fr"} {"prompt":"Ticket OPS-48144: retire the legacy replay path for HinterlandKiteSchedulerFlow\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 HinterlandKiteSchedulerFlow 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": "`incident_at` naming across the app", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Does HinterlandBasilRunnerService 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.4,"slice":"core","lang":"en"}
{"prompt": "move parser validation into one place", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"The minimum supported Terraform version in projects/hinterland/infra/modules/edge/main.tf is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "inline the one-line `has()` helper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Flip HinterlandTideWorkerService's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "split the 400-line assign service", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"A copied hex color in HinterlandEmberRelayService lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "doc comments on the plugin SDK entry point", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Cadre la migration de HinterlandCloudReconcilerService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"fr"}
{"prompt": "release notes for the september build", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-48129: retire the legacy replay path for HinterlandMoonlitSDKFlow\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. From this evidence, draft consumer-facing migration guidance for HinterlandMoonlitSDKFlow, 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": "nota para corretores sobre o incidente", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "pt"} {"prompt":"HinterlandAtlasSearchCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "document the 202 on claim creation", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'HinterlandWrenExportCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[HinterlandWrenExportCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/hinterland/packages/api/openapi.yaml:144: error: -[HinterlandWrenExportCoordinatorTests 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 '-[HinterlandWrenExportCoordinatorTests 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\nFinish the visible HinterlandWrenExportCoordinator state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "summarise the isolation proposal for the team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Question: The next client release depends on a new HinterlandSlateEditorStore capability in projects/hinterland/services/ledger/replay.go, with Terraform already chosen by the platform group. Wire the schema, repository, handler, and worker so duplicate deliveries return the original result and shutdown never acknowledges uncommitted work.\n\nConstraints:\n- avoid a schema migration in this release\n- stay compatible with the existing Terraform deployment\n- keep the work scoped to HinterlandSlateEditorStore and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe contract notes are context; the requested outcome is the working server path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "PR description for the scan fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandEmberRelayCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "¿la caché de tarifas es segura entre hilos?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "es"} {"prompt":"This should remain a deliberately small patch: HinterlandJuniperCLIStore has one known configuration mistake in projects/hinterland/src/sync/reconcile.ts, not an open-ended failure investigation. 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- avoid a schema migration in this release\n- stay compatible with the existing Core Data deployment\n- keep the work scoped to HinterlandJuniperCLIStore and its direct tests\n\nSeveral teams work in this search, Terraform, Flutter monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "can a slot leak twice?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Collapse the HinterlandNimbusFormService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "walk me through claim assignment", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Release engineering needs a HinterlandAcornWidgetStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "dropouts whenever a scan finishes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Move HinterlandBeaconStoreFlow's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "warum wächst der Speicher linear?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "de"} {"prompt":"Observation: Move HinterlandTideWorkerStore behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "endpoint for a claim's rating history", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Two asks around HinterlandFlintTimelineCoordinator: (1) assess ownership and failure handling in projects/hinterland/src/sync/reconcile.ts; (2) capture the contract and rollback note for consumers. Avoid a schema migration in this release, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "keep going on that one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Constraint: // projects/hinterland/db/migrations/20260730_events.sql\nfinal class HinterlandOrbitSyncCoordinatorCoordinator {\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\nDeliver the HinterlandOrbitSyncCoordinator server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "quieter", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandCloudReconcilerCoordinator: sequence, then ship","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "browser again please", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandOpalRouterCoordinator: ship, then correct","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"vague-eval","lang":"en"}
{"prompt": "your call on the order", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Remove HinterlandGarnetModalStore's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "sort out the mess", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Request: # projects/hinterland/Sources/App/SessionStore.swift\n[worker.hinterlandacornwidgetcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandacornwidgetcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandacornwidgetcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandAcornWidgetCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48156\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 HinterlandAcornWidgetCoordinator'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": "as before", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/hinterland/apps/console/routes/usage.svelte by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "audit stuff", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Vereinheitliche die HinterlandCloudReconcilerStore-Validatoren","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "encore une passe rapide", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "fr"} {"prompt":"# projects/hinterland/engine/render/atlas.cpp\n[worker.hinterlandgarnetmodalflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandgarnetmodalflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandgarnetmodalflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandGarnetModalFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48128\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/hinterland/engine/render/atlas.cpp and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "anything for the release", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandNimbusFormCoordinator needs a paired pass: separate HinterlandNimbusFormCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/hinterland/crates/index/src/segment.rs as the source of truth, preserve the Redis Streams contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "look at it again", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"$ pnpm test --filter HinterlandSummitProxyFlow\n RUN v3.2.4 /workspace/apps/console\n × HinterlandSummitProxyFlow > 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=48147 phase=resume storedCursor=seg-0183\n session=48147 phase=fetch requestCursor=seg-0183 pageSize=200\n session=48147 phase=commit receivedCursor=seg-0184 itemCount=0\n session=48147 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 HinterlandSummitProxyFlow 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": "次の作業、任せます", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Find HinterlandSableParserStore's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "more of the same", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandSummitProxyCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "biggest CI customer wants isolated agents and our fast-path workspace reuse makes that impossible, but turning it off in a naive experiment made builds forty percent slower. i'd like the options for real isolation worked through — overlay filesystems, per-job volumes, or something else — with attention to our on-premise customers whose kernels we don't control, and to the awkward fact that we'd then be making an isolation claim we have to be able to prove", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for HinterlandPineMetricsCoordinator:\n- primary outcome: produce a consumer guide for HinterlandPineMetricsCoordinator\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/hinterland/workers/thumbnail/consumer.ex\n- platform constraint: Playwright\n- known complication: a query plan that changes after statistics refresh\n\nBoth results are required, but they should remain independently reviewable. Avoid a schema migration in this release; 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.8,"slice":"mixed","lang":"en"}
{"prompt": "regulator expects rating decisions to be reproducible for the life of the claim plus seven years, and today we memoise ratings in a process-local hash and version nothing. work out what reproducibility actually requires of us — inputs, engine versioning, storage, re-rating after a policy correction — and give me the plan ordered by regulatory risk rather than by engineering convenience", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Please turn HinterlandAmberFilterStore's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "september release is fixed and the audio team has six weeks minus two for QA, with six candidate items ranging from a day's rounding fix to restructuring who owns plugin state. sequence them for me with the dropout problem as the priority, and be explicit about which items i should cut rather than half-finish", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"The data is already available in projects/hinterland/infra/modules/edge/main.tf; 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.6,"slice":"core","lang":"en"}
{"prompt": "operators configure the build agent from flag help alone, which is why one customer ran with fast-path on for a year without knowing what it meant. write the configuration guide, covering what each option does, which combinations are dangerous, and the fact that the reaper is the only thing that recovers a leaked slot some of them run us on hardware we've never seen, so avoid assuming our own topology.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Polish the HinterlandNovaPickerService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "support explains the plugin blocklist several times a week and users reinstall plugins that were never the problem. write the help article that explains what the scan does, why a plugin disappears, and how to bring it back — pitched at a musician rather than an engineer, and without making our crash handling sound like a defect the article should stand alone without requiring a terminal, if that's at all possible.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a misleading timeout name used in five packages in HinterlandOrbitSyncFlow, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me whether our ring buffer is genuinely safe given that it carries std::function objects the audio thread invokes, and the copy on push may allocate. read it carefully and tell me exactly which operations can allocate or block, and whether the memory ordering is right for the single-producer single-consumer use we actually have", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Goal: Ticket OPS-48149: retire the legacy replay path for HinterlandAtlasSearchFlow\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 HinterlandAtlasSearchFlow 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": "scheduler reserves slots in memory and dispatches in a goroutine that can take thirty seconds, while agents may already be running work accepted from a previous scheduler instance. work through what happens across a scheduler restart and tell me whether double-assignment is possible, and if so how often it would show up as the wedging we see", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandHarborIndexCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "claims API is integrated by four brokers off a spreadsheet, and the two things they get wrong every time are the 202 response and the 24-hour deduplication window. write the reference documentation properly, structured so those two are impossible to miss, with a worked example of a submission and its follow-up polling assume the reader is integrating for the first time and has our sandbox credentials.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Symptom: The name pendingAck means two different things across HinterlandFrostPanelFlow's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "parameter smoothing is implemented four times across our processors, three of them sample-rate dependent in ways the authors probably didn't intend, and only one resets properly on prepareToPlay. consolidate onto one implementation with an explicit time constant, and keep each processor's audible behaviour at 48kHz indistinguishable from today's the reverb is the reference implementation as far as anyone remembers.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Where did HinterlandCraneWorkspaceStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "step status exists as an int in the agent, a string in the API and a smallint in the database, with three switch statements mapping between them and one missing case that silently reports \"queued\". unify on one representation, handle the two legacy values that exist in production rows, and keep the public API strings exactly as they are there are two production rows with values five and six that predate the current enum.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current HinterlandQuartzPlayerService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandQuartzPlayerService\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "before the audio work starts i want the threading model written down properly — what the audio thread may touch, how state gets to it, what the message thread owns — and then the plugin scanner moved off the shared lock as the first piece of evidence that the model works the scanner is the piece we can ship first, and the release is in six weeks.", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Persist HinterlandAtlasSearchStore delivery attempts in projects/hinterland/services/ledger/replay.go, claim them safely across workers, and make duplicate webhook receipts return the original accepted result.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "workspace isolation needs a decision and also needs progress. lay out the options with their build-time cost, then implement per-job workspaces behind a flag so we can measure the real impact rather than argue about the naive experiment the naive experiment's forty percent slowdown is the number everyone will quote at us.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"// projects/hinterland/crates/index/src/segment.rs\nfinal class HinterlandCraneWorkspaceFlowCoordinator {\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 HinterlandCraneWorkspaceFlow'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": "rating reproducibility is a february problem that needs starting now. give me the design — what we record, how the engine is versioned, what re-rating means — and then the rating_runs table and write path so new ratings start being recorded while the rest is designed the regulator's wording is about the life of the claim plus seven years, not about our schema.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Polish the HinterlandRavenSessionService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "die Session-Datei ist inzwischen 80 MB groß und blockiert beim Laden den Message-Thread. Ich hätte gern zuerst ein Konzept für inkrementelles Laden und danach die Umsetzung des Track-Lazy-Loadings, damit die Startzeit vor dem Release besser wird", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "de"} {"prompt":"Headsup: A flaky failure around HinterlandCoralUploadService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandCoralUploadService\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "webhook receiver needs to stop dropping events during the insurer's morning batch, and the fix probably changes our whole ingestion shape. think through the design — accept fast, persist cheaply, order per policy — then implement the accept path so tomorrow's batch survives their batch starts at six and they retry anything that isn't a 200 for a full day.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"FYI: // projects/hinterland/internal/auth/refresh.go\nfinal class HinterlandCinderAuthFlowCoordinator {\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 HinterlandCinderAuthFlow 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": "agent configuration guide needs writing, and while going through the flags i expect you'll find at least one whose documented default doesn't match the binary. produce the guide, and list every discrepancy you find between help text and behaviour operators run this on hardware we've never seen, so defaults matter more than usual.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Meanwhile: A copied hex color in HinterlandVelaDrawerService lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "escribe la documentación de la API de siniestros para los corredores y comprueba en el código si la deduplicación de 24 horas funciona como decimos, porque uno de ellos dice que recibe referencias distintas", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"HinterlandRainfallDBService flakes under UTC","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "wedged-agent runbook should be a page rather than folklore, and the underlying non-idempotent slot release should stop being a footnote. write the runbook, then make release idempotent so the runbook's main entry becomes unnecessary the non-idempotent release has been a known footnote for months and it keeps costing us nights.", "purpose": "writing", "secondary": "backendImpl", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Describe HinterlandHarborIndexService's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "plugin state lives in three places kept in sync by callbacks, two of which the audio thread reads. give it one owner, and write the short note explaining the new ownership so the next person doesn't add a fourth copy two of the three copies are read on the audio thread, which is the part that frightens me.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"HinterlandCinderAuthService's staging timeout is already known to be wrong: change the single projects/hinterland/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": "automation recorder calls host APIs from the audio thread, which explains the segfaults, but i want that confirmed before we restructure it. diagnose it properly, then move the parameter updates onto the message thread without changing the recorded result", "purpose": "debugging", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Move HinterlandSlateEditorFlow's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "MIDI events drift by about a third of a millisecond per thousand events, which smells like accumulated rounding in the sample conversion. confirm the mechanism, then fix the scheduling so long sessions stay accurate, and tell me whether existing sessions need anything", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=hinterlandmosaicgridflow pod=hinterlandmosaicgridflow-7cf8 request_id=48148 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=hinterlandmosaicgridflow request_id=48148 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=hinterlandmosaicgridflow request_id=48148 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=hinterlandmosaicgridflow request_id=48148 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=hinterlandmosaicgridflow request_id=48148 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=hinterlandmosaicgridflow request_id=48148 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=hinterlandmosaicgridflow request_id=48148 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=hinterlandmosaicgridflow request_id=48148 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nFind the source of this HinterlandMosaicGridFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "queue alerts page for the normal morning batch and stayed silent through a six-hour genuine backlog. work out what the rules should be from the actual traffic pattern, then change them", "purpose": "quickFix", "secondary": "planning", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"How should HinterlandPrismCacheStore be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "agents should register with short-lived credentials rather than the long-lived token baked into user data. design the enrolment flow, then implement the token exchange", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"HinterlandCraneWorkspaceCoordinator: sequence, then restructure","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "audio engine's parameter classes each reimplement denormal protection, three of them slightly wrong", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Locally: # projects/hinterland/internal/auth/refresh.go\n[worker.hinterlandcedarpolicyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandcedarpolicyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandcedarpolicyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandCedarPolicyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48114\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 HinterlandCedarPolicyFlow'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": "go services each parse their own config with a different precedence between flags, env and file", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Read projects/hinterland/internal/auth/refresh.go and tell me whether HinterlandKiteSchedulerStore 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": "rename `StepState` to `StepPhase` in the agent, it's confused with the API's status everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandTideWorkerCoordinator: sequence, then polish","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "could you explain what happens to a running build when the scheduler restarts", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-48110\n\n08:02 deploy HinterlandFernSnapshotFlow 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\nTurn the material above into a concise HinterlandFernSnapshotFlow 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": "why does our cache key not include the container image, and has that ever bitten us", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'HinterlandMapleQueueFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[HinterlandMapleQueueFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/hinterland/workers/thumbnail/consumer.ex:144: error: -[HinterlandMapleQueueFlowTests 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 '-[HinterlandMapleQueueFlowTests 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\nFinish the visible HinterlandMapleQueueFlow 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": "someone should check whether a broker can reach another broker's documents by guessing an id", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"One contained cleanup in projects/hinterland/cmd/exporter/main.py: remove the obsolete HinterlandEchoRegistryService import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "is it expected that a step's secrets are visible to every command in that step", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"What is the safest way to split projects/hinterland/app/src/main/SyncWorker.kt into independently owned modules while HinterlandSummitProxyService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "docs/rating.md describes a synchronous rating call that we made asynchronous last year", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'HinterlandEchoRegistryFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[HinterlandEchoRegistryFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/hinterland/cmd/exporter/main.py:144: error: -[HinterlandEchoRegistryFlowTests 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 '-[HinterlandEchoRegistryFlowTests 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\nUse the UI evidence to complete HinterlandEchoRegistryFlow'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": "SDK header comments claim processBlock may allocate \"if necessary\", which is precisely wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"The HinterlandCinderAuthStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "write the migration note for operators about the minimum macOS version change", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Could HinterlandMosaicGridService show the active Playwright 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": "precisamos de uma página que explique aos corretores como funciona a atribuição automática", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "pt"} {"prompt":"Is there a cleaner way to separate HinterlandBeaconStoreStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "scan timeout counts as a crash toward the blocklist, which nobody intended", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"En projects/hinterland/cmd/exporter/main.py, HinterlandLedgerGateStore tiene un problema intermitente en el flujo de React 19. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con React 19\n- conservar compatibilidad y cancelación\n- limitar el cambio a HinterlandLedgerGateStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con React 19 alrededor de HinterlandLedgerGateStore.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "how should we version the pipeline YAML format now that we need to change three of its behaviours", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Three teams extended HinterlandPineMetricsStore independently, leaving parallel adapters and normalization branches that are supposed to behave identically. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current Playwright operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "what's the right approach to testing audio code where the failure mode is an audible glitch", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"HinterlandCedarPolicyCoordinator is blocking the next release because two validators with subtly different error strings. I need two concrete outcomes from a single pass: lay out a staged migration for HinterlandCedarPolicyCoordinator, and consolidate the duplicated normalization paths without changing behavior. Use the existing Terraform conventions in projects/hinterland/infra/modules/edge/main.tf; avoid a schema migration in this release. 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":"planning","secondary":"refactor","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "three brokers want webhooks from us and we've only ever consumed them, what should our outbound story be", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Two deliverables are holding up HinterlandRainfallDBCoordinator. First, produce a consumer guide for HinterlandRainfallDBCoordinator. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/hinterland/config/staging.toml, which follows Redis Streams conventions and currently suffers from memory growth during hour-long imports. Avoid a schema migration in this release.\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":"writing","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "what should happen to in-flight builds when a customer's plan is downgraded mid-pipeline", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Em projects/hinterland/config/staging.toml, o HinterlandLumenChartStore tem um problema intermitente no fluxo de Redis Streams. Siga queue, scheduler e cancelamento, compare hipóteses e encontre a causa antes de mudar código.\n\nRestrições:\n- continuar com Redis Streams\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao HinterlandLumenChartStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"pt"}
{"prompt": "an endpoint that returns a step's log with byte-range support, for the viewer's infinite scroll", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Two asks around HinterlandMoonlitSDKCoordinator: (1) assess ownership and failure handling in projects/hinterland/services/ledger/replay.go; (2) capture the contract and rollback note for consumers. Avoid a schema migration in this release, 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": "claim documents should be served through signed URLs that expire, rather than proxied through rails", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Drop HinterlandMicaProfileStore's unused import","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "per-broker rate limits on the claims API, since one broker's batch job saturates our workers", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-48130\n\n08:02 deploy HinterlandNimbusFormFlow 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 HinterlandNimbusFormFlow 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": "session file should record the host sample rate so we can warn on mismatch at load", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"HinterlandDriftConsoleCoordinator: sort out the rough edge","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "log viewer needs to follow output without pinning the scroll when the user has scrolled up", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Production: // projects/hinterland/packages/api/openapi.yaml\nfinal class HinterlandRainfallDBFlowCoordinator {\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\nWalk through what the artifact proves about HinterlandRainfallDBFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "pipeline graph should collapse matrix expansions into one node with a count", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Staging: # projects/hinterland/lib/codec/frame.cc\n[worker.hinterlandfrostpanelcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.hinterlandfrostpanelcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.hinterlandfrostpanelcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.HinterlandFrostPanelCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-48158\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/hinterland/lib/codec/frame.cc and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "documents grid needs a drag-to-upload target that works on the whole panel", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"HinterlandFernSnapshotStore is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current Redis Streams operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "stem export needs a naming template field with a live preview of the resulting filenames", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"// projects/hinterland/config/staging.toml\nfinal class HinterlandVelaDrawerFlowCoordinator {\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,并明确说明证据和取舍。 Walk through what the artifact proves about HinterlandVelaDrawerFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "whichever is least risky today", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"HinterlandDeltaCanvasCoordinator needs a paired pass: change HinterlandDeltaCanvasCoordinator's known staging timeout from 15 to 30 seconds, plus give the existing implementation a read-only safety pass. Use projects/hinterland/apps/console/routes/usage.svelte as the source of truth, preserve the Core Data contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "pick up the scanner work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"CI: The behavior of HinterlandJuniperCLIService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/hinterland/db/migrations/20260730_events.sql. 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- touch generated artifacts only through their checked-in generator\n- avoid a schema migration in this release\n- retain the current Core Data operational envelope\n\nThe relevant code crosses search, Terraform, Flutter. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "our go services each parse configuration with a different precedence between flags, environment variables and the config file, and two of them silently ignore the file when a flag is present. settle on one precedence, apply it across all four services, and tell me which deployed configurations would resolve differently afterwards so we can warn the operators who run them", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for HinterlandOrbitSyncStore, 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": "a broker's support ticket claims they can see a document that isn't theirs, which if true is the worst bug we could have. before anyone panics, trace how document authorisation actually works — the controller, the signed URL, and whether the scan-moved key is checked against the claim's broker at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current HinterlandFrostPanelStore design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside HinterlandFrostPanelStore\n- avoid a schema migration in this release\n\nThis repository spans search, Terraform, Flutter; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "we need per-broker rate limiting on the claims API, because one broker's nightly batch job saturates the worker pool and everyone else's submissions queue behind it. limits per broker with a burst allowance, a clear 429 with a retry-after, and the limits themselves configurable without a deploy since account managers negotiate them individually", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Documente o contrato de HinterlandDeltaCanvasService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt": "the claims models carry twelve callbacks whose firing order is load-bearing, which is why nobody dares add a thirteenth. untangle them into explicit service calls, keep the observable behaviour identical including the side effects on save, and document the order the old callbacks ran in so we can prove nothing was lost", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"The name pendingAck means two different things across HinterlandMarbleTokenStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "denormal protection is reimplemented in each parameter class and three of the four are subtly wrong, which we only noticed because one processor gets slower with quiet input. consolidate it, and confirm from measurements rather than reasoning that the CPU behaviour is unchanged on the processors that were already correct", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Atlas: projects/hinterland/cmd/exporter/main.py の HinterlandAmberFilterFlow で、React 19 の flow に断続的な問題が起きています。 queue、scheduler、cancel 経路を追い、仮説を比較して、変更前に原因を特定してください。\n\n制約:\n- React 19 を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は HinterlandAmberFilterFlow のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "i'd like an honest read of whether our audit log can be altered by the admins it's meant to hold accountable, and if it can, the smallest change that fixes it before february rather than the ideal one", "purpose": "review", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"In projects/hinterland/ml/pipeline/features.py hat HinterlandLedgerGateService ein sporadisches Problem im React 19-Ablauf. Verfolge Queue, Scheduler und Abbruch, vergleiche Hypothesen und finde die Ursache vor jeder Änderung.\n\nRandbedingungen:\n- React 19 weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf HinterlandLedgerGateService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um HinterlandLedgerGateService mit React 19 kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt": "prod agents run eight slots on eight cores, which is why steps time out instead of queueing, and the fix is a number in a config file. change it, and tell me what else in the agent's defaults assumes a machine larger than the one it runs on", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"} {"prompt":"Beacon: Incident timeline — INC-48150\n\n08:02 deploy HinterlandIrisBatchCoordinator 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\nTurn the artifact into a reversible HinterlandIrisBatchCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "the exam thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/isotope/ml/pipeline/features.py by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "our staging kafka has one partition and prod has twelve, which is why ordering bugs never show up first", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-49139: finish the compact IsotopeHarborIndexFlow filter experience\n\nRoute: /catalog/search\nSource: projects/isotope/ui/settings/PrivacyPane.tsx\nFramework: Tokio\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 IsotopeHarborIndexFlow 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": "attempt state machine is spread across four files as boolean columns and ad-hoc checks:\n\nattempt.startedAt // set on create\nattempt.submittedAt // set on submit, also set by the nightly auto-submit job\nattempt.gradedAt // set by the grading worker\nattempt.voidedAt // set by support scripts only\nattempt.mergedIntoId // set by the merge script, and the old attempt keeps its submittedAt\n\nchecks like `if (attempt.submittedAt && !attempt.gradedAt)` appear in eleven places, three of which forget voidedAt, and the review screen's definition of \"latest attempt\" is different again", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeSummitProxyCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "one grading calculation, three call sites", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Center the IsotopeAmberFilterService modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "our exam load is 40,000 concurrent students for two hours twice a year and idle the rest of the time", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Walk through IsotopeIrisBatchStore's SyncWorker.kt","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "the WMS has two definitions of \"aisle available\" — the dispatcher's, which asks whether any robot could enter, and the console's, which asks whether a human could — and during maintenance they disagree in the dangerous direction. reconcile them into one predicate with an explicit meaning, keep the console's display identical for the normal case, and tell me which existing callers change behaviour", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/isotope/Sources/App/SessionStore.swift b/projects/isotope/Sources/App/SessionStore.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/Sources/App/SessionStore.swift\n+++ b/projects/isotope/Sources/App/SessionStore.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\nRestructure IsotopeCloudReconcilerFlow 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": "quiz submissions vanish for a handful of students each exam and this is all we get:\n\nPrismaClientKnownRequestError:\nInvalid `prisma.submission.create()` invocation:\n\nUnique constraint failed on the fields: (`attemptId`,`questionId`)\n at RequestHandler.handleRequestError (/app/node_modules/@prisma/client/runtime/library.js:121:6412)\n at async POST (/app/app/api/attempts/[id]/answers/route.ts:41:22)\n\n attemptId: 'atmp_01HR9K2M'\n questionId: 'q_88412'\n studentId: 'usr_4471'\n retryCount: 2\n clientTimestamp: 2026-07-29T11:02:14.881Z\n serverTimestamp: 2026-07-29T11:02:19.114Z\n\nthe client retries on a slow response, and the student sees their answer disappear from the review screen afterwards", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Wire a IsotopeFlintTimelineFlow background task in projects/isotope/services/ledger/replay.go that expires abandoned sessions, records an OpenTelemetry span, and yields cleanly when shutdown begins.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "detection rules stopped firing overnight and the pipeline claims everything is healthy:\n\n[ingest] 2026-07-29T02:00:04Z bulk index 8,412 docs into logs-edr-2026.07.29 took 412ms\n[ingest] 2026-07-29T02:00:09Z bulk index 8,118 docs took 388ms\n[rules] 2026-07-29T02:01:00Z executing 141 rules over window [01:56:00, 02:01:00]\n[rules] 2026-07-29T02:01:04Z 0 alerts generated (previous run: 22)\n[rules] 2026-07-29T02:06:00Z executing 141 rules over window [02:01:00, 02:06:00]\n[rules] 2026-07-29T02:06:03Z 0 alerts generated\n[ingest] 2026-07-29T02:07:11Z index logs-edr-2026.07.30 created\n\nthe index for tomorrow's date appearing at 02:07 is the only odd thing i can see, and our rules query `logs-edr-*` with a `@timestamp` range", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Production says IsotopeFlintTimelineService is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current PostgreSQL 17 operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "robot cards should sort problems first", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Cinder: The IsotopeLedgerGateService feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "what counts as the latest attempt?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"IsotopeSableParserCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "a district's procurement requires WCAG 2.2 AA conformance, per-student time extensions and a VPAT within six weeks, and we have none of those. i want the realistic plan: what we can genuinely fix, what we have to declare as a gap with a remediation date, and how we word a VPAT that is honest without losing the contract", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Teach IsotopeOpalRouterStore to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "one enrichment provider interface", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"// projects/isotope/crates/index/src/segment.rs\nfinal class IsotopeBeaconStoreFlowCoordinator {\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\nWalk through what the artifact proves about IsotopeBeaconStoreFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "attempt state as an enum, not five columns", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Could IsotopeNovaPickerService show the active NATS JetStream 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": "task API is what the robot firmware integrates against, documented in a wiki page from 2023:\n\nGET /v1/tasks/next?robot_id=&capabilities=\n long-polls for up to 30 seconds; returns 204 when nothing is available\n a returned task is leased for 90 seconds and must be acked or it returns to the queue\nPOST /v1/tasks/{id}/ack { robot_id, accepted: bool, reason? }\nPOST /v1/tasks/{id}/progress { robot_id, node, percent }\nPOST /v1/tasks/{id}/complete { robot_id, outcome: \"done\"|\"failed\"|\"aborted\", detail? }\n completing a task that has already been requeued returns 409 and the robot must stop\n progress after the lease expires is accepted but ignored, which firmware treats as success\n\nwrite the integration reference; the lease semantics and the ignored-progress behaviour are what firmware keeps getting wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeKiteSchedulerCoordinator: correct, then assess","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "three places compute a student's grade and they disagree in the third decimal:\n\n// app/lib/grades.ts — student view\nconst grade = assessments.reduce((sum, a) =>\n sum + Math.round(scoreFor(a) * 10) / 10 * a.weight, 0)\n\n// GradeService.java — teacher view\ntotal = total.add(s.getScore().multiply(a.getWeight())); // BigDecimal, rounded once at the end\n\n-- exports/grades.sql\nSELECT round(sum(s.score * a.weight)::numeric, 1) FROM ...\n\nthe teacher view is the one the institution treats as authoritative, and all three are visible to different users on the same day", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Delta: projects/isotope/packages/api/openapi.yaml の IsotopeGarnetModalFlow で、NATS JetStream の flow に断続的な問題が起きています。 責務を分離して重複をなくし、API、wire value、順序、観測可能な動作は変えないでください。\n\n制約:\n- NATS JetStream を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は IsotopeGarnetModalFlow のみ","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"ja"}
{"prompt": "rule engine has three ways to express the same condition and analysts use all of them:\n\n# style 1 — lucene string\nquery: 'event.code:5145 and winlog.event_data.ShareName:\"\\\\\\\\*\\\\IPC$\"'\n\n# style 2 — elasticsearch DSL, raw\nquery_dsl: { bool: { filter: [ { term: { \"event.code\": \"5145\" } } ] } }\n\n# style 3 — our own yaml shorthand, added last year\nmatch:\n event.code: 5145\n winlog.event_data.ShareName: \"*IPC$\"\n\nall three go through different code paths, only style 3 validates field names, and style 2 lets an analyst write a query that scans every index we have", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Ember: Incident timeline — INC-49124\n\n08:02 deploy IsotopeAmberFilterFlow 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\nDetermine why IsotopeAmberFilterFlow produces this result. Trace ordering, cancellation, shared state, and scheduler behavior; identify the root cause before suggesting a patch.","purpose":"debugging","secondary":"planning","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "is our tenant filter applied everywhere?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/isotope/Sources/CLI/Commands/Doctor.swift b/projects/isotope/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/isotope/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 IsotopeSlateEditorFlow 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": "exam week is three weeks away, lost answers are our most damaging bug, and the attempt model has assumptions in it that stopped being true when students started using two devices. i'd like the plan for what we change before exams and what we deliberately leave until after, with the risk of each decision written down so nobody relitigates it at midnight during the exam support has forty tickets from last term's exams if you want the failure patterns.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for IsotopeCloudReconcilerStore, 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": "we need a position on how the LMS syncs with student information systems, given opaque ids that change each academic year and a district that rate limits us to ten requests a second. design it, then implement the resumable sync loop so we can test against their sandbox their sandbox is available and their ids change every august, which is the awkward part.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"IsotopeWrenExportCoordinator needs a paired pass: produce a consumer guide for IsotopeWrenExportCoordinator, plus give the existing implementation a read-only safety pass. Use projects/isotope/db/migrations/20260730_events.sql as the source of truth, preserve the SQLite contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "detection rule for lateral movement, which the security team says has too many false positives:\n\nname: Suspicious SMB session enumeration\nindex: logs-edr-*\nquery: |\n event.code:5145 and winlog.event_data.ShareName:\"\\\\\\\\*\\\\IPC$\"\n and winlog.event_data.RelativeTargetName:(\"srvsvc\" or \"wkssvc\" or \"samr\")\ninterval: 5m\nwindow: 5m\nthreshold:\n field: source.ip\n value: 10\nseverity: high\nsuppression: none\n\nfires about 40 times a day, almost always from the same six management servers, and nobody has tuned it since it was imported from a blog post", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Frost: The first IsotopeBirchMigratorFlow 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": "robot one, again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Garnet: Two asks around IsotopeAmberFilterCoordinator: (1) separate IsotopeAmberFilterCoordinator's policy from transport without behavior changes; (2) capture the contract and rollback note for consumers. Keep the patch readable for a small on-call review, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "a student's grade is computed three times in three languages and the three disagree in the third decimal, with the teacher's view treated as authoritative by the institution. consolidate onto that behaviour, keep the exports byte-identical where they already agree, and list every student whose displayed grade will change as a result the institution treats the teacher's view as authoritative and will not accept a change to it.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"A previously stable test around IsotopeDeltaCanvasFlow now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "quiz player has to survive exam conditions, which means an autosave state that never lies, a keyboard-operable navigator, a timer that doesn't shout every second, and a graceful fallback when javascript dies mid-exam. build it to the spec, and tell me which of those the current player gets wrong today forty thousand students sit exams in the same two-hour window twice a year.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"IsotopeMosaicGridCoordinator: polish, then assess","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "what does a bulk index rejection actually do to the events in that batch — are they lost or retried", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Harbor: Two asks around IsotopeFernSnapshotCoordinator: (1) assess ownership and failure handling in projects/isotope/apps/console/routes/usage.svelte; (2) capture the contract and rollback note for consumers. Keep the patch readable for a small on-call review, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "inventory counts drift from reality by a few units a day and reconciliation can't explain it:\n\ntask 88401 PICK sku=SKU-4471 qty=3 from=A7-03-02 robot=R-041 status=COMPLETED at=11:02:14\ntask 88402 PICK sku=SKU-4471 qty=2 from=A7-03-02 robot=R-018 status=COMPLETED at=11:02:16\ninventory event sku=SKU-4471 location=A7-03-02 delta=-3 source=task-88401 at=11:02:19\ninventory event sku=SKU-4471 location=A7-03-02 delta=-2 source=task-88402 at=11:02:19\ncycle count sku=SKU-4471 location=A7-03-02 counted=4 system=2 at=18:00:00\n\nboth picks were dispatched from a snapshot showing 5 units, and the location physically held 5", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-49148: retire the legacy replay path for IsotopePrismCacheFlow\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 IsotopePrismCacheFlow 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": "robots collide at aisle intersections about once a week and the traffic manager logs look reasonable:\n\n11:02:14.101 [traffic] R-041 requests reservation for node N-A7-INT (aisle A7 intersection)\n11:02:14.104 [traffic] reservation granted to R-041, expires 11:02:44\n11:02:14.112 [traffic] R-018 requests reservation for node N-A7-INT\n11:02:14.115 [traffic] reservation denied, held by R-041\n11:02:14.118 [traffic] R-018 enters waiting state\n11:02:29.881 [traffic] R-041 heartbeat missed (last 11:02:14.104)\n11:02:29.884 [traffic] reservation for N-A7-INT released (holder unresponsive)\n11:02:29.887 [traffic] reservation granted to R-018\n11:02:31.114 [traffic] R-041 heartbeat resumed, continues along reserved path\n\nR-041 kept moving through the intersection during those fifteen seconds", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Split IsotopeOrbitSyncService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "elasticsearch rejects writes during our morning peak and the cluster looks healthy otherwise:\n\n{\n \"error\": {\n \"type\": \"es_rejected_execution_exception\",\n \"reason\": \"rejected execution of coordinating operation [coordinating_and_primary_bytes=0, replica_bytes=0, all_bytes=0, coordinating_operation_bytes=104857600, max_coordinating_and_primary_bytes=104857600]\"\n },\n \"status\": 429\n}\n\nnode stats:\n indexing.index_current: 412\n thread_pool.write.queue: 200 (capacity 200)\n thread_pool.write.rejected: 41,882\n jvm.mem.heap_used_percent: 71\n indices.indexing.index_time_in_millis rate: 88ms/doc\n\nwe bulk index in 50MB batches from four ingest workers", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Clarify IsotopeMapleQueueService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "reservation logic in the traffic manager, which decides whether robots can enter a node:\n\npublic boolean tryReserve(String nodeId, String robotId, Duration ttl) {\n Reservation existing = reservations.get(nodeId);\n if (existing != null && !existing.isExpired(clock.instant())) {\n return false;\n }\n reservations.put(nodeId, new Reservation(robotId, clock.instant().plus(ttl)));\n return true;\n}\n\npublic void heartbeat(String robotId) {\n lastSeen.put(robotId, clock.instant());\n}\n\n// separate thread, every second\nreservations.entrySet().removeIf(e ->\n Duration.between(lastSeen.getOrDefault(e.getValue().robotId(), Instant.EPOCH), clock.instant()).getSeconds() > 15);\n\nis releasing a reservation on a missed heartbeat sound, given a robot that's still physically moving?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare IsotopeMosaicGridStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "design doc for our attempt model, written before the exam pilot. does it survive contact with 40,000 students?\n\n## Attempts\nAn attempt is created when a student opens a quiz and holds every answer as a row. Answers are upserted as the student progresses, so a lost connection loses nothing. An attempt is submitted once; submission is idempotent.\n\n## Assumptions\n- A student has one attempt open at a time.\n- Answers are small and can be written on every keystroke pause.\n- The client is authoritative for question order.\n\n## Not covered\nProctoring. Offline attempts. Two devices on the same attempt.\n\nstudents routinely open a quiz on a laptop and a phone, and \"upserted\" is a create in the code", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Translate the IsotopeEchoRegistryService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "kafka consumer config for the robot fleet, which rebalances constantly:\n\nmax.poll.records: 500\nmax.poll.interval.ms: 300000\nsession.timeout.ms: 10000\nheartbeat.interval.ms: 3000\nenable.auto.commit: true\nauto.commit.interval.ms: 5000\nfetch.min.bytes: 1\ngroup.instance.id: (unset)\n\ntwelve robots, each a consumer in the same group, each processing a task for up to 90 seconds; robots go offline briefly when they pass through the racking in aisle A7", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"The minimum supported WebGPU version in projects/isotope/Sources/App/SessionStore.swift is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "npm audit before the exam period freeze, what goes in:\n\nnext 14.2.0 - 14.2.29\nSevere: Server-Side Request Forgery in Next.js image optimisation\nfix available via `npm audit fix --force`\nWill install [email protected], which is a breaking change\n\n@prisma/client 5.14.0 - 5.19.1\nModerate: Prisma Client leaks connection strings in error messages\nfix available via `npm audit fix`\n\nsharp 0.32.0 - 0.33.4\nHigh: Denial of service via crafted image\nfix available via `npm audit fix`\n\n4 vulnerabilities (1 moderate, 2 high, 1 severe)\n\nwe are three weeks from exam week and the next major is a two-day migration", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for IsotopeDriftConsoleCoordinator:\n- primary outcome: find the unknown cause of stale cursors when a page is resumed\n- companion outcome: correct the known stale timeout beside it\n- repository entry point: projects/isotope/services/ledger/replay.go\n- platform constraint: PostgreSQL 17\n- known complication: stale cursors when a page is resumed\n\nBoth results are required, but they should remain independently reviewable. Keep the patch readable for a small on-call review; 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":"debugging","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "enrichment providers each handle failure differently, which is why one slow provider stalls everything:\n\n# asn.py\nresp = requests.get(url) # no timeout at all\nreturn resp.json()[\"asn\"]\n\n# geo.py\ntry:\n resp = requests.get(url, timeout=2)\nexcept requests.Timeout:\n return None # silently unenriched\n\n# threatintel.py\nfor attempt in range(5):\n try: return requests.get(url, timeout=10).json()\n except Exception: time.sleep(attempt) # up to 10 seconds of sleeping in the pipeline\n\n# internal_assets.py\nreturn self.cache[ip] # KeyError propagates and kills the batch", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-49159: finish the compact IsotopeBirchMigratorCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/isotope/ui/settings/PrivacyPane.tsx\nFramework: Tokio\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 IsotopeBirchMigratorCoordinator'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":"core","lang":"en"}
{"prompt": "accessibility requirement from a district's procurement, which we have to answer honestly:\n\n\"The platform shall conform to WCAG 2.2 AA. All assessment activities shall be completable using a keyboard alone and with a screen reader. Time limits shall be adjustable or extendable by an instructor for individual students. Content shall not rely on colour alone to convey meaning. The supplier shall provide a current VPAT and a remediation plan for any non-conformance.\"\n\nour quiz navigation is mouse-only in two places, time limits are per-assessment with no per-student override, and we have never produced a VPAT. i want the plan, the honest gaps, and what we can claim by the deadline in six weeks", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeRavenSessionStore 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.6,"slice":"core","lang":"en"}
{"prompt": "bulk batches down to 5MB", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Two engineers disagree about whether IsotopeCinderAuthFlow's cache is authoritative. Walk the reads and writes in projects/isotope/cmd/exporter/main.py and settle that question from the code. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "alert list should support j and k", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Iris: Split projects/isotope/config/staging.toml by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "triage view needs a dark theme default", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Juniper: The public surface of IsotopeMapleQueueStore is frozen, but its internal ownership in projects/isotope/crates/index/src/segment.rs is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeMapleQueueStore\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows 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": "why does the group rebalance so often?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Two asks around IsotopeQuartzPlayerCoordinator: (1) lay out a staged migration for IsotopeQuartzPlayerCoordinator; (2) then implement the bounded durable-cursor handler. Keep the patch readable for a small on-call review, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "aisle screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Does IsotopeCopperBridgeStore enforce tenant scope before decoding its cursor, and could any early-return path reveal whether a foreign record exists? Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "teachers are dealing with duplicate attempts, an auto-submit job they don't know about and a review screen that shows only the latest attempt, and every one of those has generated support tickets this term. write the page that explains attempts as they actually work, in language a teacher will read the week before exams rather than during them the page should be readable in five minutes by someone who has never filed a support ticket.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"We need to move IsotopeTideWorkerService from the legacy store to Tokio. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "warehouse runbook still describes the conveyor system that was removed two years ago, and the robot procedures live in the shift supervisors' heads. write the runbook for the robot fleet, ordered by what someone woken at three in the morning needs first, and be explicit about which actions are never safe during operations the supervisors printing this will have it laminated, so keep it short and ordered.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Responsive layout for IsotopeAcornWidgetStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "an auditor has asked six questions about telemetry collection, retention, tenant isolation, alert deletion, rule versioning and orphaned alerts, and at least three of our honest answers are unflattering. write the controls document from the code, marking what we can't substantiate rather than smoothing over it our compliance lead reads it first and would rather see a gap than a confident half-truth.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"IsotopeLedgerGateCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "nobody can tell me whether a robot that loses wifi mid-aisle can have its reservation given away while it is still moving, or whether some other interlock saves us. read the traffic manager, the heartbeat handling and the sweep together, and tell me exactly what sequence of events produces the situation we saw in May", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"IsotopeSpruceDaemonCoordinator is blocking the next release because duplicate retries after a network handoff. I need two concrete outcomes from a single pass: find the unknown cause of duplicate retries after a network handoff, and capture the contract and rollback note for consumers. Use the existing PostgreSQL 17 conventions in projects/isotope/internal/auth/refresh.go; keep the patch readable for a small on-call review. 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":"debugging","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "i'd like an honest read of whether our tenant isolation can be bypassed by a crafted rule, given that rules can specify their own index pattern, and the fix if it can", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-49113\n\n08:02 deploy IsotopeWillowCodecFlow 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. From this evidence, draft consumer-facing migration guidance for IsotopeWillowCodecFlow, 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": "instructor dashboard times out for two institutions that are up for renewal, and i want the diagnosis before the rewrite. work out where the time actually goes, then restructure the query so it returns in under a second at their size both institutions are up for renewal, so a number i can quote would help.", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"IsotopeCraneWorkspaceCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "rule versioning needs designing and starting in the same quarter. give me the model — immutable versions, alert references, what deletion means — then build the versions table and the write path so new alerts start carrying a version immediately", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Add a bounded IsotopeCloudReconcilerService 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": "task API reference has to exist for the firmware team, and while writing it i'd like confirmation that late progress reports really are accepted and ignored, because the firmware treats that as success", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Add a bounded IsotopePineMetricsService 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": "three prisma query styles for a teacher's courses disagree about archived courses and one bypasses row-level security entirely. unify them, and tell me whether that raw query has been leaking other teachers' courses this whole time", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Compare IsotopeIrisBatchService's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "is the grading recalculation safe to run concurrently for the same enrolment, or are we relying on luck", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'IsotopeWrenExportFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[IsotopeWrenExportFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/isotope/src/sync/reconcile.ts:144: error: -[IsotopeWrenExportFlowTests 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 '-[IsotopeWrenExportFlowTests 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\nUse the UI evidence to complete IsotopeWrenExportFlow'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": "exam timer keeps counting while the browser tab is backgrounded on ios, which it shouldn't", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"The IsotopeCedarPolicyStore surface in projects/isotope/cmd/exporter/main.py 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": "we need a plan for running two warehouse sites from one WMS instance without them affecting each other", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Cadre la migration de IsotopeMarbleTokenService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"fr"}
{"prompt": "the aisle drain command should refuse while robots are inside and report which ones are blocking, rather than draining tasks and leaving the robots stranded mid-aisle as it does today. it also needs to be safe to call repeatedly from the console by a supervisor who is watching the screen rather than reading the response", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'IsotopeAtlasSearchFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[IsotopeAtlasSearchFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/isotope/Sources/App/SessionStore.swift:144: error: -[IsotopeAtlasSearchFlowTests 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 '-[IsotopeAtlasSearchFlowTests 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\nUse the UI evidence to complete IsotopeAtlasSearchFlow'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": "our ingestion, enrichment and rules services each define their own dataclasses for the same event schema, which is why a field rename last month silently dropped enrichment for one event type. give them one shared schema definition with versioning, and confirm from a day of production events that nothing is parsed differently afterwards a field rename last month silently dropped enrichment for one event type and nobody noticed for a week.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Release verification found a single stale IsotopeDriftConsoleStore value; the cause, desired value, and affected assertion are already agreed. 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- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current PostgreSQL 17 operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "attempt design doc claims answers are upserted and submission is idempotent, and neither is true in the code as far as i can tell. go through the doc claim by claim against the current implementation and tell me which parts are aspirational, because exam week is close and i need to know what we actually have exam week is close enough that i need to know what we actually have rather than what we meant.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: IsotopeEmberRelayService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeEmberRelayService\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "one query style for detection rules", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-49158: retire the legacy replay path for IsotopeLumenChartCoordinator\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 IsotopeLumenChartCoordinator 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": "our three LMS components each implement optimistic updates with a different rollback strategy, and the quiz one rolls back to a value that may already be stale. unify them behind one approach, and while you're in there tell me whether the quiz rollback has ever silently discarded a saved answer", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"En projects/isotope/packages/api/openapi.yaml, IsotopeBasilRunnerStore tiene un problema intermitente en el flujo de NATS JetStream. Propón fases, compatibilidad, métricas, rollback y ownership; detente antes de tocar código.\n\nRestricciones:\n- seguir con NATS JetStream\n- conservar compatibilidad y cancelación\n- limitar el cambio a IsotopeBasilRunnerStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con NATS JetStream alrededor de IsotopeBasilRunnerStore.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "the course cache is a module-level Map with no eviction and it is most of our memory growth in production. put a bound and a TTL on it, then confirm from the request pattern whether caching there is worth keeping at all", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Summarize the IsotopeSlateEditorStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "quiz navigator and the drag-to-order questions both fail the accessibility audit and both need keyboard alternatives. fix them, and write the VPAT section covering assessment activities", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"IsotopeAtlasSearchService flakes under UTC","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "detection rules are written in three different syntaxes because we added a friendlier one without removing the others, and only the newest validates field names. before consolidating i want a view on whether we can migrate existing rules automatically, what we'd break for analysts who write raw DSL, and whether the friendlier syntax is expressive enough for the rules that matter", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Find IsotopeFernSnapshotStore's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "robot firmware team integrates against our task API from a wiki page written in 2023, and the two things they consistently get wrong are lease expiry and the fact that late progress reports are accepted but ignored. write the reference documentation with those two impossible to misread, including what a robot should do when it gets a 409 the firmware release cycle is six weeks, so anything ambiguous costs us a quarter.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Kestrel: Test Suite 'IsotopeTideWorkerFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[IsotopeTideWorkerFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/isotope/lib/codec/frame.cc:144: error: -[IsotopeTideWorkerFlowTests 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 '-[IsotopeTideWorkerFlowTests 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\nBring IsotopeTideWorkerFlow'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": "what guarantees does our nightly sync make when the district's API returns a partial page", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/isotope/app/src/main/SyncWorker.kt b/projects/isotope/app/src/main/SyncWorker.kt\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/app/src/main/SyncWorker.kt\n+++ b/projects/isotope/app/src/main/SyncWorker.kt\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 IsotopeFernSnapshotFlow'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": "a walkthrough of how a pick becomes an inventory movement would help before i touch reconciliation", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Assess the IsotopeMosaicGridService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "one aisle stops receiving tasks", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Teach IsotopeOspreyJobService to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "attempt lifecycle is five nullable timestamp columns and eleven ad-hoc checks, three of which forget the voided case entirely. model it as an explicit state machine, migrate the existing rows including the merged ones, and keep every current query returning the same rows it does today the merged attempts from the support scripts are the awkward rows, and there are about two hundred.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Lumen: diff --git a/projects/isotope/crates/index/src/segment.rs b/projects/isotope/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/crates/index/src/segment.rs\n+++ b/projects/isotope/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\nConsolidate IsotopeNovaPickerFlow'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": "pick tasks stop flowing to one aisle every few days, kafka side looks fine to me:\n\n2026-07-29T11:02:14Z INFO [task-dispatcher] assigning task 88412 to robot R-041 aisle=A7\n2026-07-29T11:02:14Z INFO [task-dispatcher] produced to topic wms.tasks partition=3 offset=41882104\n2026-07-29T11:02:44Z WARN [task-dispatcher] no ack from R-041 after 30s, task 88412 requeued\n2026-07-29T11:03:14Z WARN [task-dispatcher] no ack from R-041 after 30s, task 88412 requeued\n2026-07-29T11:03:44Z ERROR [task-dispatcher] task 88412 exceeded requeue limit, dead-lettered\n2026-07-29T11:03:45Z INFO [consumer-group wms-robots] rebalance triggered, 12 members\n2026-07-29T11:03:52Z INFO [consumer-group wms-robots] rebalance complete, R-041 assigned partitions [3]\n\nrebalances happen every few minutes and R-041's logs show it never received the task at all", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Maple: Ticket OPS-49112: retire the legacy replay path for IsotopeEmberRelayFlow\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 IsotopeEmberRelayFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "course player buffers on video for one school district and nobody else:\n\nnetwork tab, same lesson, two sites:\n district A: GET /media/lesson-4471/hls/720p/seg_00041.ts 200 1.2MB ttfb 2,841ms total 8,112ms\n district B: GET /media/lesson-4471/hls/720p/seg_00041.ts 200 1.2MB ttfb 88ms total 214ms\n\nresponse headers (district A):\n x-cache: MISS\n age: 0\n cf-ray: 8f2b1c40-ORD\n vary: Origin, Accept-Encoding, Cookie\n\ndistrict A's proxy adds a `Cookie` header to every media request, district B's doesn't", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about IsotopeLumenChartStore, but the current prose in projects/isotope/db/migrations/20260730_events.sql only describes the happy path. 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- keep the patch readable for a small on-call review\n- stay compatible with the existing SQLite deployment\n- keep the work scoped to IsotopeLumenChartStore and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "SIEM's enrichment lookups time out under load and the queue backs up:\n\npy-spy dump --pid 41221:\nThread 0x7f1a (active): \"MainThread\"\n _wait_for_tstate_lock (threading.py:1116)\n join (threading.py:1096)\n enrich_batch (enrichment/pipeline.py:141)\n process (enrichment/pipeline.py:88)\nThread 0x7f2b (idle): \"enrich-0\"\n read (socket.py:718)\n _read_status (http/client.py:280)\n getresponse (http/client.py:1428)\n lookup_asn (enrichment/providers/asn.py:41)\n\n... 63 more idle threads, all in lookup_asn\n\nthe ASN provider has no timeout set on its session, and we spawn one thread per event in a batch of 500", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/isotope/app/src/main/SyncWorker.kt 里的 IsotopeCraneWorkspaceStore 最近在 SQLite 流程中出现间歇性问题。 请阅读现有流程,判断 ownership、取消和顺序是否安全,只需要分析。\n\n约束:\n- 继续使用 SQLite\n- 保持兼容性和取消语义\n- 改动只限于 IsotopeCraneWorkspaceStore","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"zh"}
{"prompt": "las notas calculadas no coinciden con las que ven los profesores, aquí un caso:\n\nalumno 4471, curso \"Álgebra II\"\n tarea 1 nota 8,5 peso 20%\n tarea 2 nota 7,0 peso 20%\n examen nota 6,5 peso 60%\n\ncálculo esperado: 8,5*0,2 + 7,0*0,2 + 6,5*0,6 = 7,00\ncálculo mostrado en el panel del profesor: 7,00\ncálculo mostrado al alumno: 7,33\ncálculo en el export CSV: 7,0\n\nel panel del alumno redondea antes de ponderar, y el export usa una consulta distinta escrita hace dos años", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "es"} {"prompt":"Release engineering needs a IsotopeNovaPickerStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "next.js app leaks memory in production and the pod restarts every few hours:\n\nheap snapshot comparison (30 min apart):\n (array) +412 MB +1,204,118 objects\n Prisma.QueryEngine +188 MB\n (closure) +141 MB +882,441 objects\n Response +88 MB\n Map +41 MB\n\nretainers for the largest (array):\n global → cacheMap → Map → entries → Array\n app/lib/courseCache.ts:22\n\ncourseCache is a module-level Map keyed by course id, populated on every request, never evicted, and the server runs in a long-lived node process", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Flip IsotopeWrenExportService's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "grading service's concurrency, which i'd like a second opinion on before we scale it up:\n\n@Transactional\npublic Grade recalculate(Long enrolmentId) {\n Enrolment e = enrolments.findById(enrolmentId).orElseThrow();\n List<Submission> subs = submissions.findByEnrolment(e.getId());\n BigDecimal total = BigDecimal.ZERO;\n for (Assessment a : e.getCourse().getAssessments()) {\n Submission s = subs.stream().filter(x -> x.getAssessmentId().equals(a.getId()))\n .max(comparing(Submission::getAttempt)).orElse(null);\n if (s == null) continue;\n total = total.add(s.getScore().multiply(a.getWeight()));\n }\n e.setGrade(total.setScale(2, RoundingMode.HALF_UP));\n return grades.save(new Grade(e, total));\n}\n\nthis runs on submission, on assessment weight changes, and nightly for every enrolment in the institution", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeHarborIndexCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "bitte einmal drüberschauen, bevor das in die Prüfungsphase geht:\n\nexport async function POST(req: Request, { params }: { params: { id: string } }) {\n const body = await req.json()\n const attempt = await prisma.attempt.findUnique({ where: { id: params.id } })\n if (!attempt) return new Response(\"not found\", { status: 404 })\n if (attempt.submittedAt) return new Response(\"already submitted\", { status: 409 })\n await prisma.answer.create({\n data: { attemptId: attempt.id, questionId: body.questionId, value: body.value },\n })\n return Response.json({ ok: true })\n}\n\nder Client sendet bei langsamer Verbindung erneut, und es gibt keinen Idempotenzschlüssel; in der Prüfungswoche sind das 40.000 gleichzeitige Versuche", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"IsotopeTideWorkerCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "ingestion pipeline's batching, which i suspect is why elasticsearch rejects us:\n\ndef run(self):\n batch = []\n for event in self.source:\n batch.append(self.transform(event))\n if len(batch) >= self.batch_size: # batch_size = 10_000\n self.es.bulk(body=batch, request_timeout=120)\n batch = []\n if batch:\n self.es.bulk(body=batch, request_timeout=120)\n\nfour workers run this, batch_size is 10,000 documents which averages 50MB, there's no retry on 429, and a rejected bulk loses the whole batch silently because we don't check the per-item response", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Korrigiere den IsotopeMarbleTokenStore-Timeout","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"de"}
{"prompt": "query behind the instructor dashboard, which times out for our largest institution:\n\nSELECT c.id, c.title, count(distinct e.student_id) AS students,\n avg(g.value) FILTER (WHERE g.value IS NOT NULL) AS avg_grade,\n count(*) FILTER (WHERE s.submitted_at IS NULL AND a.due_at < now()) AS overdue,\n (SELECT count(*) FROM messages m WHERE m.course_id = c.id AND m.read_at IS NULL) AS unread\nFROM courses c\nJOIN enrolments e ON e.course_id = c.id\nLEFT JOIN grades g ON g.enrolment_id = e.id\nLEFT JOIN assessments a ON a.course_id = c.id\nLEFT JOIN submissions s ON s.assessment_id = a.id AND s.student_id = e.student_id\nWHERE c.institution_id = $1 AND c.archived_at IS NULL\nGROUP BY c.id, c.title;\n\n1,200 courses, 88,000 enrolments, 4.1M submissions for that institution", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"This should remain a deliberately small patch: IsotopeCinderAuthService has one known configuration mistake in projects/isotope/cmd/exporter/main.py, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- keep the patch readable for a small on-call review\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to IsotopeCinderAuthService and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "support's notes on the exam-week incidents, they need to become a page teachers can read:\n\n- students on flaky wifi sometimes see \"answer not saved\" and refresh, which creates a second attempt\n- teachers then see two attempts and don't know which is authoritative — it's the one with the later submittedAt\n- an attempt with no submittedAt after the exam window closes is auto-submitted by a nightly job, which teachers don't know exists\n- the review screen shows answers from the latest attempt only, which is why students say answers \"disappeared\"\n- teachers can merge attempts through a support ticket, which takes a day and a database script\n- none of this is in any documentation, and exam week is in three weeks\n\nwrite the page for teachers, and separately tell me which of these are documentation problems and which are product problems", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Nimbus: The destination for IsotopeDeltaCanvasService is broadly agreed; the missing piece is a reversible route from projects/isotope/internal/auth/refresh.go to that target. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeDeltaCanvasService\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "notes from the security team's rule review, i need to turn them into a rule-writing guide for analysts:\n\n- every rule needs an owner, a rationale and an expected volume, and today most have none\n- rules imported from blog posts are the biggest source of noise; the SMB one fires 40 times a day\n- suppression by source.ip for known management hosts should be the default, not an afterthought\n- thresholds are absolute counts, so a rule tuned for one customer's volume is wrong for another\n- rules query `logs-*` by habit, which now includes tomorrow's index and non-EDR data\n- there's no test procedure; analysts write a rule and see if it fires in production\n- a rule that generates zero alerts for a week should be reviewed, not left running\n\nwrite the guide, aimed at analysts who write rules but don't operate the platform", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Any races in IsotopeSummitProxyStore?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "o resumo do incidente de ontem, para as escolas afetadas:\n\n09:12 professores relatam que as notas mostradas aos alunos não coincidem com o painel\n09:40 confirmamos: o painel do aluno arredonda antes de ponderar\n10:05 verificamos que o export CSV usa uma consulta diferente, escrita há dois anos\n10:30 três cálculos distintos identificados para a mesma nota\n11:15 decidimos que o painel do professor é a fonte de verdade\n12:00 correção aplicada aos outros dois; nenhuma nota gravada estava errada\n\nnenhum aluno foi avaliado incorretamente, mas alguns viram um valor diferente durante cerca de três horas; as escolas querem saber se as notas finais foram afetadas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "pt"} {"prompt":"Sketch the IsotopeQuartzPlayerStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "WMS operator's manual covers the old conveyor system and nothing about the robots. what's true now:\n\n- tasks are dispatched from the WMS to a robot fleet over kafka, with a 90 second lease\n- a robot that loses connectivity keeps executing its current task and reports on reconnect\n- the traffic manager grants node reservations; a robot without a reservation stops and waits\n- an aisle can be put into maintenance mode from the console, which drains tasks but does not recall robots already inside\n- cycle counts run nightly and discrepancies over 2 units page the shift supervisor\n- there is a physical e-stop per aisle that the software cannot override, and a software pause that it can\n- recovering a stuck robot means driving it manually from the console, which requires a role most supervisors don't have\n\nwrite the operator's manual section for the robot fleet", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Opal: Test Suite 'IsotopeRainfallDBFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[IsotopeRainfallDBFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/isotope/db/migrations/20260730_events.sql:144: error: -[IsotopeRainfallDBFlowTests 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 '-[IsotopeRainfallDBFlowTests 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\nBring IsotopeRainfallDBFlow'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": "changelog for the LMS release, from the commits since 6.3:\n\n41c9e0b fix(attempts): answers are upserted rather than created, fixing lost answers on retry\n88f21c0 feat(grading): one grading path for the student view, teacher view and export\nc0aa774 fix(media): media requests no longer vary on Cookie, restoring CDN caching\n2e91b45 feat(exams): attempts can be merged from the teacher's screen\naa30f19 perf(dashboard): instructor dashboard query rewritten, 8s to 400ms\n9c1d004 chore: minimum node version is now 22\n4410bb7 fix(a11y): quiz navigation is keyboard operable\nb77e910 feat(api): institution-scoped API tokens\n\nour readers are school IT administrators; two of these change behaviour they'll notice and one needs action from them", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/isotope/db/migrations/20260730_events.sql b/projects/isotope/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/db/migrations/20260730_events.sql\n+++ b/projects/isotope/db/migrations/20260730_events.sql\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 IsotopeVelaDrawerFlow'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": "auditor's questions about our SIEM deployment, which we've never had to answer in writing:\n\n1. What data is collected from endpoints, and can a customer see the full list?\n2. How long is raw telemetry retained, and where?\n3. Who can read another tenant's alerts, and how is that prevented?\n4. Can an analyst delete an alert, and is that recorded?\n5. How are detection rules versioned, and can you show which rule version produced a given alert?\n6. What happens to alerts when a rule is deleted?\n\nour rules live in a git repo but alerts store only the rule name; deleting a rule leaves orphaned alerts; and tenant isolation is a filter applied in the query layer\n\nwrite the controls document, marking clearly what we cannot currently substantiate", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/isotope/ml/pipeline/features.py\n[worker.isotopecinderauthcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.isotopecinderauthcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.isotopecinderauthcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.IsotopeCinderAuthCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-49157\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/isotope/ml/pipeline/features.py and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "我们的告警规则文档只有一个示例,运维和分析师都在猜。目前规则引擎的实际行为如下:\n\n- 规则每 5 分钟执行一次,查询窗口默认也是 5 分钟,两者不一致时以窗口为准\n- 窗口是左闭右开,边界上的事件会在两个窗口中被计算一次还是零次,取决于 `@timestamp` 的精度\n- 阈值是绝对值,不随数据量缩放;同一条规则在不同租户下的表现完全不同\n- 抑制(suppression)只按字段去重,不做时间衰减,抑制窗口固定 1 小时且不可配置\n- 规则被删除后,已产生的告警仍然保留,但无法回溯到规则内容\n- 规则里写 `index: logs-*` 会匹配到未来日期的索引,这在跨时区部署里会导致漏报\n\n请写成给分析师看的规则编写文档,把窗口边界和抑制这两点讲清楚\n\n目前规则文件长这样,文档里也只有这一个例子:\n\nname: Suspicious SMB session enumeration\nindex: logs-edr-*\ninterval: 5m\nwindow: 5m\nquery: |\n event.code:5145 and winlog.event_data.ShareName:\"\\\\\\\\*\\\\IPC$\"\nthreshold:\n field: source.ip\n value: 10\nsuppression:\n by: [source.ip]\n window: 1h # 实际上这个字段被忽略,永远是 1 小时\nseverity: high\nowner: (empty)\n\n另外,规则删除后 alerts 表里的 rule_name 还在,但 rule body 无法追溯", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "zh"} {"prompt":"IsotopeOspreyJobCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "on-call runbook for the warehouse is a laminated sheet from the conveyor era. what the team does now:\n\n- \"aisle stopped\" is the most common page; first check whether it's an e-stop (physical) or a software pause\n- if the traffic manager is granting reservations but robots aren't moving, restart the dispatcher, not the traffic manager\n- restarting the traffic manager during operations releases every reservation at once, which is how we had the near-miss in May\n- a robot that missed its heartbeat but is still moving is the dangerous case; the only safe action is the aisle e-stop\n- kafka consumer lag above 500 on wms.tasks means the dispatcher is behind and picks will be late, not lost\n- never drain an aisle that has robots inside it; drain, then wait for the aisle to report empty\n\nwrite the runbook, ordered by what a supervisor at 3am would need first", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeIrisBatchCoordinator: diagnose, then assess","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "eslint and tsc on the LMS app, the gate goes on next sprint:\n\napp/lib/courseCache.ts:22:14 - error TS7034: Variable 'cacheMap' implicitly has type 'any' in some locations\napp/api/attempts/[id]/answers/route.ts:41:22 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'\napp/components/QuizNav.tsx:88:5 - warning: Static HTML elements with event handlers require a role (jsx-a11y/no-static-element-interactions)\napp/components/QuizNav.tsx:112:9 - warning: Visible, non-interactive elements with click handlers must have at least one keyboard listener\napp/lib/grades.ts:141:3 - error TS2554: Expected 2 arguments, but got 3\n\n3 errors, 2 warnings", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"What sequence would let IsotopeFlintTimelineStore adopt PostgreSQL 17 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.9,"slice":"core","lang":"en"}
{"prompt": "spotbugs on the WMS service, two of these look real:\n\nM C RCN: Nullcheck of value previously dereferenced in TrafficManager.tryReserve(String, String, Duration)\nM P UPM: Private method TaskDispatcher.requeue(Task) is never called\nH C IS2: Inconsistent synchronization of TrafficManager.reservations; locked 60% of time\nM D DM: TaskDispatcher.assign() invokes inefficient new String() constructor\nH C EC: Call to equals() comparing Robot and String in FleetRegistry.find(String)\n\n5 warnings, and IS2 on the reservations map is the one i keep thinking about", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Prism: Two asks around IsotopeCoralUploadCoordinator: (1) lay out a staged migration for IsotopeCoralUploadCoordinator; (2) then implement the bounded durable-cursor handler. Keep the patch readable for a small on-call review, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "index lifecycle policy versus what we actually keep, one of these is wrong:\n\nPUT _ilm/policy/edr-logs\n{\n \"policy\": {\n \"phases\": {\n \"hot\": { \"actions\": { \"rollover\": { \"max_primary_shard_size\": \"50gb\", \"max_age\": \"1d\" } } },\n \"warm\": { \"min_age\": \"7d\", \"actions\": { \"shrink\": { \"number_of_shards\": 1 } } },\n \"cold\": { \"min_age\": \"30d\", \"actions\": { \"searchable_snapshot\": { \"snapshot_repository\": \"s3\" } } },\n \"delete\": { \"min_age\": \"90d\", \"actions\": { \"delete\": {} } }\n }\n }\n}\n\nour contract with two customers says 12 months of searchable telemetry, and our marketing page says 13 months", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Quartz: # projects/isotope/workers/thumbnail/consumer.ex\n[worker.isotopeacornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.isotopeacornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.isotopeacornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.IsotopeAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-49129\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Make the one confirmed configuration correction in projects/isotope/workers/thumbnail/consumer.ex. 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": "CDN config for lesson media, which is why one district gets no caching at all:\n\ncache_rules:\n - path: \"/media/*\"\n cache: { ttl: 604800, key: [path, query, header:Cookie, header:Origin] }\n - path: \"/api/*\"\n cache: { ttl: 0 }\n\norigin response headers:\n cache-control: public, max-age=604800\n vary: Origin, Accept-Encoding, Cookie\n\nthe media is identical for every student and requires a signed URL in the query string, which is already in the cache key", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"Sketch the IsotopeAtlasSearchStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "kafka consumer settings, prod versus the values the vendor recommends:\n\n# ours\nsession.timeout.ms: 10000\nheartbeat.interval.ms: 3000\nmax.poll.interval.ms: 300000\ngroup.instance.id: unset\npartition.assignment.strategy: RangeAssignor\n\n# vendor's recommendation for mobile consumers\nsession.timeout.ms: 45000\nheartbeat.interval.ms: 15000\nmax.poll.interval.ms: 300000\ngroup.instance.id: <stable per robot>\npartition.assignment.strategy: CooperativeStickyAssignor\n\nour robots drop off wifi for 5-20 seconds when they pass through racking, and every drop triggers a full group rebalance", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Dedupe IsotopeDriftConsoleService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "les seuils d'alerte du WMS, on est réveillés pour rien mais on rate les vrais problèmes :\n\n- alert: ConsumerLag\n expr: kafka_consumergroup_lag{group=\"wms-robots\"} > 100\n for: 1m\n labels: { severity: page }\n\n- alert: RobotOffline\n expr: up{job=\"robot\"} == 0\n for: 0m\n labels: { severity: page }\n\n- alert: TaskDeadLettered\n expr: increase(wms_tasks_dead_lettered_total[1h]) > 0\n for: 0m\n labels: { severity: ticket }\n\nles robots passent hors ligne 5 à 20 secondes en traversant les rayonnages, le lag dépasse 100 à chaque vague de commandes, et le vrai incident de mai (une réservation libérée sous un robot en mouvement) n'a déclenché aucune alerte", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "fr"} {"prompt":"Incident timeline — INC-49111\n\n08:02 deploy IsotopeBasilRunnerFlow 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 IsotopeBasilRunnerFlow 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": "this dispatcher has grown five responsibilities and a scheduled executor. same behaviour, separable pieces:\n\npublic class TaskDispatcher {\n // builds the pick list from open orders\n // chooses a robot by capability, distance and current load\n // produces to kafka and tracks the lease\n // requeues on missed ack, dead-letters after three attempts\n // emits metrics and writes an audit row per assignment\n // runs a scheduled sweep every second for expired leases\n}\n\n800 lines, one test that boots the whole spring context and a real kafka container, and the lease sweep is the part we most need to change", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Two deliverables are holding up IsotopeEchoRegistryCoordinator. First, lay out a staged migration for IsotopeEchoRegistryCoordinator. In the same workstream, also add the visible loading and offline states. The relevant starting point is projects/isotope/lib/codec/frame.cc, which follows Tokio conventions and currently suffers from a misleading timeout name used in five packages. Keep the patch readable for a small on-call review.\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": "drei Stellen bauen dieselbe Prisma-Abfrage für „Kurse eines Lehrers\", leicht unterschiedlich:\n\n// app/api/courses/route.ts\nprisma.course.findMany({ where: { teacherId, archivedAt: null }, include: { assessments: true } })\n\n// app/dashboard/page.tsx\nprisma.course.findMany({ where: { teacherId }, include: { assessments: true, enrolments: true } })\n\n// lib/reports.ts\nprisma.$queryRaw`SELECT * FROM courses WHERE teacher_id = ${teacherId} AND archived_at IS NULL`\n\ndie zweite vergisst archivierte Kurse auszuschließen, die dritte umgeht das Row-Level-Security-Setup komplett", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "de"} {"prompt":"IsotopeFrostPanelStore's openapi.yaml needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "planning input for the term, and i need it sequenced against exam week:\n\n- exam week is in three weeks and lost answers are our most damaging bug\n- the instructor dashboard times out for our two largest institutions, both of whom are up for renewal\n- the WMS traffic manager has a safety-adjacent bug that legal wants addressed before the next site goes live\n- the SIEM's detection rules are noisy enough that the customer's SOC has started ignoring them\n- two engineers are shared across the LMS and the WMS, and neither product is moving\n- a customer wants 12 months of searchable telemetry, we currently delete at 90 days\n- there's a node major version upgrade we've deferred twice", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"$ pnpm test --filter IsotopeNimbusFormCoordinator\n RUN v3.2.4 /workspace/apps/console\n × IsotopeNimbusFormCoordinator > 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=49153 phase=resume storedCursor=seg-0183\n session=49153 phase=fetch requestCursor=seg-0183 pageSize=200\n session=49153 phase=commit receivedCursor=seg-0184 itemCount=0\n session=49153 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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Find the source of this IsotopeNimbusFormCoordinator symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "architecture ticket, and i want the thinking before anyone starts:\n\nWMS-702 — Safety-critical reservation handling\nThe traffic manager releases a node reservation when a robot's heartbeat is missed for 15 seconds, on the assumption that a silent robot has stopped. In May a robot passed through racking, lost wifi, kept moving, and its reservation was granted to another robot. Nobody was hurt and no goods were damaged. The proposal is to require positive confirmation of a stop before releasing, which means a robot that genuinely dies blocks its node until a human intervenes. Constraints: robots have no independent radio; the aisle e-stop is the only guaranteed stop; and throughput targets assume reservations are released within seconds.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.95, "slice": "pasted-context", "lang": "en"} {"prompt":"We need to move IsotopeRavenSessionFlow from the legacy store to Tokio. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "SIEM team's wishlist, one engineer, one quarter:\n\n- rule versioning, so an alert can be traced to the rule text that produced it\n- a test harness for rules against recorded telemetry, instead of writing to production\n- per-tenant thresholds, because absolute counts don't work across customers of different sizes\n- suppression that decays rather than a fixed one-hour window\n- retention to 12 months for two contracts, which is a storage and cost question as much as a technical one\n- the ingestion pipeline stops losing whole batches when elasticsearch rejects them\n\nwhat's the order, and which of these is secretly the biggest", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeRainfallDBCoordinator: give it a nicer flow","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "design spec for the quiz player, which has to work under exam conditions:\n\nQuiz player\n- One question per screen on mobile, optional all-questions view on desktop; the choice persists per student.\n- Question navigator: a grid of numbers, showing answered / unanswered / flagged, always reachable by keyboard.\n- Autosave indicator: a small text state — \"Saved 11:02\", \"Saving…\", \"Not saved — retrying\" — never a spinner that lies.\n- Offline: answers queue locally and the banner says exactly what is unsaved; the submit button is disabled while anything is queued.\n- Timer: fixed at the top, warns at five minutes and one minute, announced politely rather than continuously.\n- Submission: a confirmation listing unanswered questions, which is the only blocking dialog in the flow.\n- Everything keyboard operable, focus visible, and no interaction that requires a hover.\n- Must degrade to a plain form if JavaScript fails mid-exam, because it has happened.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Raven: Incident timeline — INC-49125\n\n08:02 deploy IsotopeOrbitSyncFlow 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 IsotopeOrbitSyncFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "spec for the warehouse console's aisle view, which supervisors watch all shift:\n\nAisle view\n- Top-down schematic of one aisle, racking either side, robots as arrows showing heading, updating at 4Hz over websocket.\n- Node reservations drawn as translucent overlays with the holding robot's id; expiring reservations pulse in the last three seconds.\n- Robot cards along the right: id, battery, current task, lease remaining, last heartbeat age. Cards sort by problem state first.\n- A robot with a missed heartbeat is unmistakable — not just a colour, but a striped overlay and a persistent banner.\n- Controls: software pause per aisle, drain, and per-robot manual drive, all behind a role check with the button absent rather than disabled.\n- The e-stop state is displayed but never controllable from software.\n- Everything must be legible from two metres on a wall-mounted screen, and must not depend on hover for any information.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Give IsotopeNimbusFormStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "accessibility audit of the LMS, which a district commissioned before renewal:\n\n1. Quiz question navigation is mouse-only; the number grid cannot be reached or operated by keyboard.\n2. The autosave state is conveyed by a coloured dot with no text alternative.\n3. The exam timer is announced by screen readers on every tick, making the page unusable.\n4. Drag-to-order questions have no keyboard alternative at all.\n5. Focus is lost to the document body after every question transition.\n6. Error messages on the submission dialog are not associated with the controls they refer to.\n7. Contrast on the \"flagged\" question state is 2.7:1 against the grid background.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"IsotopeHarborIndexStore'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": "analyst console's alert triage screen, spec from the SOC team who use it eight hours a day:\n\nTriage view\n- Alert list on the left, virtualised, grouped by rule with counts; keyboard j/k moves, enter opens, e escalates, s suppresses.\n- Detail pane: the matched events in a table, the rule text as it was at match time, and the enrichment results with their source and age.\n- Enrichment that failed must say so explicitly rather than showing an empty field.\n- Timeline of related alerts for the same entity within 24 hours, on one axis, clickable.\n- Bulk actions on a selection, with an undo window of ten seconds rather than a confirmation dialog.\n- Every action records who, when and why; the why is a required free-text field for escalation and suppression.\n- Dark theme is the default because the SOC runs with the lights down, and both themes must pass contrast.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Sable: projects/isotope/apps/console/routes/usage.svelte の IsotopeCraneWorkspaceService で、SQLite の flow に断続的な問題が起きています。 責務を分離して重複をなくし、API、wire value、順序、観測可能な動作は変えないでください。\n\n制約:\n- SQLite を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は IsotopeCraneWorkspaceService のみ","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "integration spec a district's student information system expects from us:\n\nOneRoster 1.2 REST, we implement the consumer side\n GET /ims/oneroster/rostering/v1p2/orgs/{id}/classes paginated, up to 20k classes\n GET .../classes/{id}/students and .../classes/{id}/teachers\n sync nightly; the district publishes changes at 02:00 local time and expects us current by 07:00\n enrolment removals are soft — a student disappearing from a class must not delete their submissions\n the district's ids are opaque strings and are not stable across academic years\n they rate limit us to 10 requests per second and will not raise it\n a partial sync must be resumable, and a failed sync must not leave students without access at 08:00", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Correct the IsotopeKiteSchedulerService flag default","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "schema we agreed for rule versioning, now it needs building:\n\nCREATE TABLE rule_versions (\n id uuid PRIMARY KEY,\n rule_id uuid NOT NULL,\n version int NOT NULL,\n body jsonb NOT NULL,\n author text NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n active_from timestamptz,\n active_to timestamptz,\n UNIQUE (rule_id, version)\n);\n\nalerts must reference the rule_version that produced them; deleting a rule must not orphan alerts; an analyst editing a rule creates a new version rather than mutating; and the triage screen has to show the rule text as it was when the alert fired, which means versions are immutable once any alert references them", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Bump IsotopeSlateEditorService's timeout to 30s","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "retention to 12 months on the EDR policy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a deadlock that appears only during shutdown in IsotopeRainfallDBStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "sharp bump before the freeze", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Read projects/isotope/db/migrations/20260730_events.sql and tell me whether IsotopeRainfallDBService can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "drop Cookie from the media cache key", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"IsotopeOpalRouterCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "the console lets a supervisor drive a robot manually and i genuinely don't know what happens if they do that while the robot holds a node reservation and has an active task lease. work through the interaction between manual drive, the traffic manager and the dispatcher, and tell me which of the three thinks it is in charge", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for IsotopeEmberRelayCoordinator:\n- primary outcome: lay out a staged migration for IsotopeEmberRelayCoordinator\n- companion outcome: then implement the bounded durable-cursor handler\n- repository entry point: projects/isotope/Sources/App/SessionStore.swift\n- platform constraint: WebGPU\n- known complication: two validators with subtly different error strings\n\nBoth results are required, but they should remain independently reviewable. Keep the patch readable for a small on-call review; 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": "our python services load configuration three different ways and the SIEM one reads environment variables at import time, which is why a config change needs a restart nobody expects. unify the loading, then document the new precedence so operators stop guessing", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Check IsotopeBeaconStoreService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "certificate email says \"Congradulations\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"IsotopeCloudReconcilerCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "session timeout to 45s for the robots", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-49117\n\n08:02 deploy IsotopeKiteSchedulerFlow 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 IsotopeKiteSchedulerFlow 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": "el botón de entrega sigue en inglés", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "es"} {"prompt":"The public surface of IsotopeWillowCodecStore is frozen, but its internal ownership in projects/isotope/apps/console/routes/usage.svelte is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeWillowCodecStore\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows 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": "stable group.instance.id per robot", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"IsotopePineMetricsCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "rules should query logs-edr-* not logs-*", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"In projects/isotope/config/staging.toml hat IsotopeBasilRunnerService ein sporadisches Problem im NATS JetStream-Ablauf. Verfasse eine Consumer-Doku mit Vertrag, Fehlern, Retry und einem kopierbaren Beispiel; ändere keinen Handler.\n\nRandbedingungen:\n- NATS JetStream weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf IsotopeBasilRunnerService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um IsotopeBasilRunnerService mit NATS JetStream kompatibel.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "add a timeout to the ASN lookup", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Tide: // projects/isotope/apps/console/routes/usage.svelte\nfinal class IsotopeIrisBatchFlowCoordinator {\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\nSplit IsotopeIrisBatchFlow 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": "Kurs-Cache begrenzen, er wächst unbegrenzt", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "de"} {"prompt":"I inherited IsotopeKiteSchedulerStore and need a careful read of projects/isotope/cmd/exporter/main.py before I can sign off on the next release. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- keep the patch readable for a small on-call review\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to IsotopeKiteSchedulerStore and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "RobotOffline needs a 30 second delay", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"The first IsotopeOspreyJobStore 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": "question navigator grid, keyboard operable", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"IsotopeNovaPickerCoordinator: polish the last piece","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "autosave state needs text, not a dot", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/isotope/infra/modules/edge/main.tf b/projects/isotope/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/infra/modules/edge/main.tf\n+++ b/projects/isotope/infra/modules/edge/main.tf\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 IsotopeDeltaCanvasCoordinator 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": "reservation overlays on the aisle view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"IsotopeJuniperCLICoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "failed enrichment shows an empty field", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Ownership of IsotopeEmberRelayStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. 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- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current WebGPU operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "試験タイマーが毎秒読み上げられます", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "ja"} {"prompt":"Umbra: Incident timeline — INC-49141\n\n08:02 deploy IsotopeAsterWebhookFlow 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 IsotopeAsterWebhookFlow 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":"core","lang":"en"}
{"prompt": "flagged state fails contrast", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about IsotopeEchoRegistryStore, but the current prose in projects/isotope/lib/codec/frame.cc only describes the happy path. 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- keep the patch readable for a small on-call review\n- stay compatible with the existing Tokio deployment\n- keep the work scoped to IsotopeEchoRegistryStore and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "focus is lost between questions", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"En projects/isotope/apps/console/routes/usage.svelte, IsotopeNimbusFormService tiene un problema intermitente en el flujo de SQLite. Sigue queue, scheduler y cancelación, compara hipótesis y encuentra la causa antes de proponer cambios.\n\nRestricciones:\n- seguir con SQLite\n- conservar compatibilidad y cancelación\n- limitar el cambio a IsotopeNimbusFormService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "pull the lease sweep out of the dispatcher", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"projects/isotope/web/components/FilterDrawer.vue 里的 IsotopeJuniperCLIService 最近在 PostgreSQL 17 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 PostgreSQL 17\n- 保持兼容性和取消语义\n- 改动只限于 IsotopeJuniperCLIService","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"zh"}
{"prompt": "une seule requête pour « cours du professeur »", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "fr"} {"prompt":"Milestones for replacing IsotopeWrenExportStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "`enrolment` spelling, pick one", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Flip IsotopeVelaDrawerStore's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "extract the rule query builder", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Security flagged IsotopeBirchMigratorStore for a read-only pass because its Tokio boundary mixes tenant data, retries, and cancellation in subtle ways. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current Tokio operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "inline the single-use `scoreFor`", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"IsotopePrismCacheCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "docstrings for the task lease API", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"# CI job 49130: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: PostgreSQL 17\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] IsotopeQuartzPlayerFlowIntegration.replays_after_timeout ... ok\n[test] IsotopeQuartzPlayerFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nDeliver the IsotopeQuartzPlayerFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "release notes for LMS 6.4", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Vela: // projects/isotope/engine/render/atlas.cpp\nfinal class IsotopeEchoRegistryFlowCoordinator {\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\nWalk through what the artifact proves about IsotopeEchoRegistryFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "nota para as escolas sobre as notas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "pt"} {"prompt":"Willow: diff --git a/projects/isotope/Sources/CLI/Commands/Doctor.swift b/projects/isotope/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/isotope/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\nWire IsotopeMoonlitSDKCoordinator'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": "document the auto-submit job for teachers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about IsotopeGarnetModalService, but the current prose in projects/isotope/packages/api/openapi.yaml only describes the happy path. 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- keep the patch readable for a small on-call review\n- stay compatible with the existing NATS JetStream deployment\n- keep the work scoped to IsotopeGarnetModalService and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "summarise the reservation proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Xylem: # projects/isotope/engine/render/atlas.cpp\n[worker.isotoperavensessioncoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.isotoperavensessioncoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.isotoperavensessioncoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.IsotopeRavenSessionCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-49154\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/isotope/engine/render/atlas.cpp and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "PR body for the grading unification", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current IsotopeMicaProfileService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeMicaProfileService\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows 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": "can a reservation outlive a moving robot?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"IsotopeMapleQueueCoordinator: assess, then document","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "¿por qué las reglas dejaron de disparar?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "es"} {"prompt":"PM needs a concise migration note for IsotopeMicaProfileStore, 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": "walk me through the nightly auto-submit", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"IsotopeFrostPanelCoordinator needs a paired pass: find the unknown cause of stale cursors when a page is resumed, plus capture the contract and rollback note for consumers. Use projects/isotope/packages/api/openapi.yaml as the source of truth, preserve the NATS JetStream contract, and avoid unrelated cleanup.","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "answers disappear from the review screen", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Yarrow: The IsotopeGarnetModalStore empty state in projects/isotope/config/staging.toml needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "elasticsearch rejects our morning writes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Zephyr: Incident timeline — INC-49147\n\n08:02 deploy IsotopeOspreyJobFlow 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 IsotopeOspreyJobFlow 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": "warum wächst der Heap bis zum Neustart?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "de"} {"prompt":"Sequence IsotopeFernSnapshotService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "endpoint for a rule's version history", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Release verification found a single stale IsotopeLumenChartService value; the cause, desired value, and affected assertion are already agreed. 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- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current SQLite operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "onwards with that", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Memory attributed to IsotopeLedgerGateStore 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": "calmer alerts", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"IsotopeCopperBridgeCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "whatever helps before exams", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"PM is preparing the IsotopeBirchMigratorService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeBirchMigratorService\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "neaten it up", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"IsotopeVelaDrawerCoordinator: polish, then assess","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "like last week", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Polish the IsotopeQuartzPlayerService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "audit answers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"One contained cleanup in projects/isotope/ui/settings/PrivacyPane.tsx: remove the obsolete IsotopeHarborIndexService import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "encore le tableau de bord", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "fr"} {"prompt":"Security flagged IsotopeMoonlitSDKService for a read-only pass because its WebGPU boundary mixes tenant data, retries, and cancellation in subtle ways. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep the patch readable for a small on-call review\n- retain the current WebGPU operational envelope\n\nThis repository spans media encoding, Python ML, Windows; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "something quick", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"How does IsotopeOpalRouterService propagate cancellation through the PostgreSQL 17 boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "give it another read", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Incident timeline — INC-49110\n\n08:02 deploy IsotopeSpruceDaemonFlow 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\nReconstruct the IsotopeSpruceDaemonFlow 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": "優先度はお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Before we approve IsotopeTideWorkerStore, assess whether an accessibility label that reads the internal enum is an actual correctness risk or merely confusing structure. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "usual for this sprint", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Em projects/isotope/services/ledger/replay.go, o IsotopeJuniperCLIStore tem um problema intermitente no fluxo de PostgreSQL 17. Siga queue, scheduler e cancelamento, compare hipóteses e encontre a causa antes de mudar código.\n\nRestrições:\n- continuar com PostgreSQL 17\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao IsotopeJuniperCLIStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"pt"}
{"prompt": "traffic manager releases a node reservation when a robot's heartbeat has been missing for fifteen seconds, on the assumption that a silent robot has stopped, and in May that assumption was wrong in the most alarming possible way. i want the options for making this safe worked through properly — positive stop confirmation, independent sensing, aisle-level interlocks — with an honest view of what each does to throughput and what happens when a robot genuinely dies mid-aisle legal has asked for this in writing before the next site goes live, so the reasoning matters as much as the answer.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.95, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/isotope/pkg/cache/lease.rs b/projects/isotope/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/pkg/cache/lease.rs\n+++ b/projects/isotope/pkg/cache/lease.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\nConsolidate IsotopeMapleQueueFlow'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": "SOC has started ignoring our alerts, which makes the whole product pointless regardless of how good the detection is. work through what would actually restore trust — rule versioning, testing against recorded telemetry, per-tenant thresholds, decaying suppression — and tell me which of those is secretly the biggest piece of work rather than the most obviously useful their own metric is alerts investigated per shift, which has halved since january.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Design handed over a final pass for IsotopeSpruceDaemonService, and the basic data flow in projects/isotope/infra/modules/edge/main.tf already works. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- keep the patch readable for a small on-call review\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to IsotopeSpruceDaemonService and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "two of our contracts promise twelve months of searchable telemetry and our lifecycle policy deletes at ninety days, which somebody is going to notice during an investigation rather than during a review. work out what twelve months actually costs across hot, warm and cold tiers at our current volume, and what the honest options are including renegotiating", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"For IsotopeAcornWidgetCoordinator, assess ownership and failure handling in projects/isotope/ui/settings/PrivacyPane.tsx; once that is complete, capture the contract and rollback note for consumers. Work from projects/isotope/ui/settings/PrivacyPane.tsx, stay with Tokio, and keep the patch readable for a small on-call review. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "analysts write detection rules by copying blog posts and seeing what fires in production, which is how we ended up with forty false positives a day from one rule. write the rule-authoring guide — ownership, rationale, expected volume, suppression, thresholds, testing — aimed at analysts who write rules but never operate the platform the SMB rule is the example everyone recognises, so it's worth walking through it.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Checkout: Incident timeline — INC-49131\n\n08:02 deploy IsotopeFrostPanelFlow 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\nTurn the artifact into a reversible IsotopeFrostPanelFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "detection rules stopped generating alerts overnight and the only unusual event was tomorrow's index being created at seven minutes past two. work through how the rules resolve indices and time windows, and tell me whether that index explains it or whether it's a coincidence i've latched onto the deployment spans three timezones, if that turns out to matter.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"IsotopeDeltaCanvasStore's staging timeout is already known to be wrong: change the single projects/isotope/infra/modules/edge/main.tf value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "enrichment providers each invent their own failure handling — one has no timeout, one silently returns nothing, one sleeps ten seconds inside the pipeline, one throws and kills the batch. give them one interface with explicit timeouts and failure semantics, keeping each provider's successful output exactly as it is today the ASN provider is the one currently taking the pipeline down, so start the analysis there.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-49135: finish the compact IsotopeJuniperCLIFlow filter experience\n\nRoute: /catalog/search\nSource: projects/isotope/web/components/FilterDrawer.vue\nFramework: PostgreSQL 17\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 IsotopeJuniperCLIFlow's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "inventory drifts by a few units a day and the two picks in the sample were dispatched from the same snapshot of five units, which smells like the dispatcher reading availability without reserving it. work through the ordering of the task, the pick and the inventory event before we propose anything reconciliation runs at eighteen hundred and the discrepancies are always small and always negative.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"IsotopeWillowCodecCoordinator is blocking the next release because memory growth during hour-long imports. I need two concrete outcomes from a single pass: produce a consumer guide for IsotopeWillowCodecCoordinator, and give the existing implementation a read-only safety pass. Use the existing SQLite conventions in projects/isotope/apps/console/routes/usage.svelte; keep the patch readable for a small on-call review. 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":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "aisle view is what supervisors watch all shift and it currently conveys a missed heartbeat with a colour change nobody notices from two metres. build the view to the new spec, with the problem states unmistakable and the e-stop state visible but never controllable from software the screens are wall-mounted at about two metres and nobody is going to hover over anything.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"For IsotopeBeaconStoreCoordinator, separate IsotopeBeaconStoreCoordinator's policy from transport without behavior changes; once that is complete, give the existing implementation a read-only safety pass. Work from projects/isotope/pkg/cache/lease.rs, stay with NATS JetStream, and keep the patch readable for a small on-call review. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "before we touch the traffic manager i want the safety argument written down — what we assume, what guarantees each layer provides, where a single failure is tolerated — and then the heartbeat handling changed to whatever that argument says is defensible the May near-miss is the case the argument has to explain, not just the happy path.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.95, "slice": "mixed", "lang": "en"} {"prompt":"# projects/isotope/ml/pipeline/features.py\n[worker.isotopecedarpolicyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.isotopecedarpolicyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.isotopecedarpolicyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.IsotopeCedarPolicyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-49137\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Align IsotopeCedarPolicyFlow'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": "attempt model needs to handle two devices and flaky connections properly, which is a design question, and it needs to stop losing answers before exams, which is urgent. do the design first, then the idempotent answer write against it students routinely start on a laptop and finish on a phone, which nobody designed for.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"IsotopePrismCacheStore's staging timeout is already known to be wrong: change the single projects/isotope/db/migrations/20260730_events.sql value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "die Anreicherungspipeline blockiert regelmäßig komplett, wenn ein Anbieter langsam ist. Ich hätte gern zuerst ein Konzept für Timeouts, Nebenläufigkeit und Rückstau und danach die Umsetzung für den ASN-Anbieter, weil der uns gerade am häufigsten umbringt", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "de"} {"prompt":"Style IsotopeSummitProxyService's offline state","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "teachers need the attempts page written for them before exam week, and writing it will make obvious which parts are product bugs rather than missing documentation. produce the page, and give me the separate list of things we should fix instead of explaining last term generated forty support tickets, most of them the same three questions.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Drop IsotopeAmberFilterStore's unused import","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "escribe la documentación del motor de reglas para los analistas y comprueba en el código si la ventana de supresión es realmente fija en una hora, porque el equipo cree que es configurable", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "es"} {"prompt":"Give IsotopeAcornWidgetService a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "warehouse runbook needs writing and the aisle-drain procedure needs fixing, because draining an aisle with robots inside is currently possible from the console. write the runbook, then put the guard in", "purpose": "writing", "secondary": "backendImpl", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-49136: retire the legacy replay path for IsotopePineMetricsFlow\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 IsotopePineMetricsFlow 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": "task dispatcher does five things and the lease sweep is the one we need to change for safety reasons. separate them, then document the new boundaries so the next change doesn't have to understand all five", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"This should remain a deliberately small patch: IsotopeRavenSessionService has one known configuration mistake in projects/isotope/lib/codec/frame.cc, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- keep the patch readable for a small on-call review\n- stay compatible with the existing Tokio deployment\n- keep the work scoped to IsotopeRavenSessionService and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "rule engine's three query syntaxes should become one. migrate the existing rules, and write the note explaining to analysts what changed and which of their rules were rewritten", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-49127\n\n08:02 deploy IsotopeCoralUploadFlow 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\nTurn the material above into a concise IsotopeCoralUploadFlow 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.4,"slice":"pasted-context","lang":"en"}
{"prompt": "one district gets no CDN caching on lesson media and the Vary header is the obvious suspect, but their proxy adds a Cookie to every request so it may be their side. confirm which it is, then fix whichever end we control every other district on the same build is fine, which is what makes me suspect their proxy.", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"IsotopePrismCacheService 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": "robots rebalance constantly and one aisle periodically stops receiving tasks, which i think are the same problem. diagnose it properly, then change the consumer configuration to whatever the diagnosis says rather than what the vendor's blog recommends", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-49143: retire the legacy replay path for IsotopeCraneWorkspaceFlow\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 IsotopeCraneWorkspaceFlow 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": "triage screen needs bulk actions with an undo window, and the SOC wants to know what \"undo\" means for an escalation that already paged someone. design that interaction with me, then build it", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Flip IsotopeBeaconStoreStore's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "npm audit has one severe finding whose fix is a major version we can't take three weeks before exams. work out the exposure honestly, apply what's safe, and tell me what compensating control covers the rest", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"The IsotopeCinderAuthStore empty state in projects/isotope/ml/pipeline/features.py needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "per-tenant thresholds need to exist before the next customer onboards, and the shape matters — absolute, relative to baseline, or both. decide with me, then implement", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"IsotopeAtlasSearchCoordinator: restructure, then correct","purpose":"refactor","secondary":"debugging","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "rename `Task` in the WMS service, it collides with the scheduler's Task and the API's TaskDto", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/isotope/internal/auth/refresh.go b/projects/isotope/internal/auth/refresh.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/internal/auth/refresh.go\n+++ b/projects/isotope/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 IsotopeCopperBridgeFlow'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": "could you explain what happens to an attempt when a student opens the same quiz on a second device", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Exporter: Ticket OPS-49134: retire the legacy replay path for IsotopeLedgerGateFlow\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 IsotopeLedgerGateFlow, 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": "why does our SMB rule fire forty times a day from the same six servers", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-49149: finish the compact IsotopeSableParserFlow filter experience\n\nRoute: /catalog/search\nSource: projects/isotope/workers/thumbnail/consumer.ex\nFramework: Tokio\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 IsotopeSableParserFlow's compact and accessibility behavior, including focus restoration, large text, offline recovery, and honest loading feedback.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "someone should check whether an analyst can delete an alert without leaving a trace", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Scheduler: Ticket OPS-49120: retire the legacy replay path for IsotopeSummitProxyFlow\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 IsotopeSummitProxyFlow 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":"core","lang":"en"}
{"prompt": "is it expected that a robot keeps executing a task it can no longer report progress on", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Is there a cleaner way to separate IsotopeSableParserStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "docs/attempts.md says answers are upserted, which stopped being true in the rewrite", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Check IsotopeVelaDrawerService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "a short note explaining why the lease sweep is moving out of the dispatcher, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Dashboard: For IsotopeSlateEditorCoordinator, change IsotopeSlateEditorCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, give the existing implementation a read-only safety pass. Work from projects/isotope/Sources/App/SessionStore.swift, stay with WebGPU, and keep the patch readable for a small on-call review. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "API changelog needs an entry for institution-scoped tokens and what they replace", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Worker: diff --git a/projects/isotope/pkg/cache/lease.rs b/projects/isotope/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/pkg/cache/lease.rs\n+++ b/projects/isotope/pkg/cache/lease.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\nSplit IsotopeMicaProfileCoordinator 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": "javadoc on tryReserve promises exclusivity that the sweep thread quietly breaks", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about IsotopeWillowCodecService, but the current prose in projects/isotope/app/src/main/SyncWorker.kt only describes the happy path. 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- keep the patch readable for a small on-call review\n- stay compatible with the existing SQLite deployment\n- keep the work scoped to IsotopeWillowCodecService and its direct tests\n\nThe relevant code crosses media encoding, Python ML, Windows. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "write the customer note about telemetry retention changing from 90 days to 12 months", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"IsotopeOrbitSyncCoordinator needs a paired pass: produce a consumer guide for IsotopeOrbitSyncCoordinator, plus give the existing implementation a read-only safety pass. Use projects/isotope/web/components/FilterDrawer.vue as the source of truth, preserve the PostgreSQL 17 contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "precisamos de uma página que explique aos professores como funcionam as tentativas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "pt"} {"prompt":"Simulator: PM is preparing the IsotopeSpruceDaemonStore rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside IsotopeSpruceDaemonStore\n- keep the patch readable for a small on-call review\n\nSeveral teams work in this media encoding, Python ML, Windows monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "health endpoint reports the rules engine healthy while it has produced zero alerts for six hours", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Responsive layout for IsotopeFrostPanelService","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "dead-letter alert only fires on an increase over an hour, so a steady trickle is invisible", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Could IsotopeCopperBridgeService show the active PostgreSQL 17 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": "how should we handle student ids that change between academic years without losing submission history", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Runbook: diff --git a/projects/isotope/web/components/FilterDrawer.vue b/projects/isotope/web/components/FilterDrawer.vue\nindex 62d71aa..90f3c1e 100644\n--- a/projects/isotope/web/components/FilterDrawer.vue\n+++ b/projects/isotope/web/components/FilterDrawer.vue\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 IsotopeDriftConsoleFlow'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": "what's the right way to test the traffic manager, given that the failure mode is two robots in one place", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"IsotopeMarbleTokenCoordinator: sequence, then restructure","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "i want a position on whether detection rules belong in git or in the database now that they need versions", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"// projects/isotope/packages/api/openapi.yaml\nfinal class IsotopeMosaicGridFlowCoordinator {\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Deliver the IsotopeMosaicGridFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "three districts want single sign-on with three different identity providers, what should our approach be", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Trace: Ticket OPS-49119: retire the legacy replay path for IsotopeMarbleTokenFlow\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 IsotopeMarbleTokenFlow 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": "what should happen to alerts when a customer offboards, given the contract says we delete their data", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"A copied hex color in IsotopeNimbusFormFlow lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "an endpoint that returns an attempt's full answer history including superseded values, for teachers", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up IsotopeBasilRunnerCoordinator. First, separate IsotopeBasilRunnerCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/isotope/packages/api/openapi.yaml, which follows NATS JetStream conventions and currently suffers from a query plan that changes after statistics refresh. Keep the patch readable for a small on-call review.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "bulk indexer should check per-item responses and retry only the rejected documents", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Profiler: Incident timeline — INC-49145\n\n08:02 deploy IsotopeOpalRouterFlow 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请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Using this as the starting evidence, propose a staged IsotopeOpalRouterFlow 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": "alert timeline should show related alerts for the same entity within 24 hours on one axis", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"IsotopeAsterWebhookCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "instructor dashboard needs a loading skeleton that doesn't shift the layout when data arrives", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"IsotopeLumenChartFlow 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": "robot cards should show lease remaining as a countdown rather than an absolute timestamp", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"IsotopeCoralUploadService é seguro?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"pt"}
{"prompt": "quiz submission dialog should list unanswered questions as links, not just a count", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Console: // projects/isotope/config/staging.toml\nfinal class IsotopeGarnetModalCoordinatorCoordinator {\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 IsotopeGarnetModalCoordinator 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": "anything that survives exam week", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"A previously stable test around IsotopeMicaProfileFlow now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "back to the rules engine", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Teach IsotopeAsterWebhookService to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "i'd like to understand what happens to a task lease when kafka rebalances mid-execution, because a robot that keeps working while its partition moves is exactly the shape of the aisle-stall bug. trace the interaction properly and tell me whether the lease and the partition assignment can ever disagree about who owns a task", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Workspace: projects/isotope/crates/index/src/segment.rs now contains IsotopePineMetricsStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "submissions need a client-supplied idempotency key so that a retry on a slow connection cannot create a second answer row, which is the mechanism behind the answers students say disappear. design the key's scope and lifetime, implement the write path, and make sure an old client without the header still works during exam week", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Document IsotopeOrbitSyncStore's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "exam week needs the health endpoint to stop lying about the rules engine, and it needs an alert when zero alerts have been produced for an hour. do both, and tell me what else in our monitoring reports healthy while producing nothing", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"Documente le contrat IsotopeCoralUploadStore","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"fr"}
{"prompt": "nobody has been able to tell me what the grading worker does when an assessment's weight changes after grades have been published — whether it recalculates silently, waits for the nightly run, or leaves the published grade alone. read the recalculation path and the nightly job together and tell me what a student would actually see in each case", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"The first IsotopeSableParserService 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.7,"slice":"core","lang":"en"}
{"prompt": "our LMS notification code sends email, in-app and push from three different places with three different templating approaches, and a student who has muted a course still gets the push. bring them behind one notification service with preferences applied in one place, keeping every existing message identical in wording and timing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"IsotopeCedarPolicyCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "the SIEM's alert model carries both the matched documents and a denormalised copy of the entity fields, which have drifted apart since the enrichment rewrite. settle on one representation, migrate the existing alerts, and keep the triage screen showing exactly what it shows today for alerts that predate the change", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Repository: The name pendingAck means two different things across IsotopeMoonlitSDKStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "we need an endpoint that returns a student's full submission history for a course, including superseded answers and the attempt each came from, because teachers currently ask support for a database export. it has to be paginated, cheap enough to call from the teacher's screen, and must not expose other students' data through a guessable id", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Pipeline: // projects/isotope/web/components/FilterDrawer.vue\nfinal class IsotopeFlintTimelineCoordinatorCoordinator {\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 IsotopeFlintTimelineCoordinator'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"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "the agent stops reporting on some hosts after a kernel upgrade:\n\nlevel=info msg=\"loading eBPF programs\" kernel=6.11.0-19-generic btf=/sys/kernel/btf/vmlinux\nlevel=error msg=\"failed to load program\" prog=tcp_connect err=\"field Sport: can't resolve field: not found\"\nlevel=error msg=\"failed to load program\" prog=tcp_close err=\"field Sport: can't resolve field: not found\"\nlevel=warn msg=\"falling back to procfs polling\" interval=10s\nlevel=info msg=\"agent started\" mode=degraded programs_loaded=3/9\n\nsame binary, same config, works on 6.8 hosts. the struct sock layout changed and we compile with CO-RE, which was supposed to handle exactly this", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Gateway: Ticket OPS-50147: retire the legacy replay path for JunctionAmberFilterFlow\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 JunctionAmberFilterFlow 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": "agent CPU spikes to a full core on hosts with many containers and stays there:\n\nperf top -p 41221:\n 38.11% [kernel] [k] bpf_prog_a11c3f2_tcp_connect\n 21.44% agent [.] lumen/agent/proc.(*Resolver).containerFor\n 14.02% agent [.] runtime.mapaccess2_faststr\n 9.88% agent [.] os.ReadFile\n 4.11% [kernel] [k] __d_lookup\n\ncontainerFor reads /proc/<pid>/cgroup on every event and parses it; the host runs 400 containers and about 12,000 events a second", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'JunctionEchoRegistryFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionEchoRegistryFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/config/staging.toml:144: error: -[JunctionEchoRegistryFlowTests 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 '-[JunctionEchoRegistryFlowTests 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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Bring JunctionEchoRegistryFlow'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":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "our go modules define three `Meta` types that are converted between at every boundary", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Renderer: # projects/junction/ml/pipeline/features.py\n[worker.junctionsummitproxyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctionsummitproxyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctionsummitproxyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionSummitProxyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50143\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/junction/ml/pipeline/features.py. 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": "listing search returns nothing for one region and the logs are unhelpful:\n\nElasticsearch::Transport::Transport::Errors::BadRequest ([400] {\"error\":{\"root_cause\":[{\"type\":\"query_shard_exception\",\"reason\":\"failed to create query: [geo_bounding_box] field [location] is not a geo_point field\"}],\"type\":\"search_phase_execution_exception\",\"phase\":\"query\",\"grouped\":true}})\n app/queries/listing_search.rb:88:in `execute'\n app/controllers/api/v3/listings_controller.rb:22:in `index'\n\nindex mapping for listings-2026-07:\n \"location\": { \"type\": \"object\", \"properties\": { \"lat\": {\"type\":\"float\"}, \"lon\": {\"type\":\"float\"} } }\n\nindex mapping for listings-2026-06:\n \"location\": { \"type\": \"geo_point\" }\n\nthe july index was created by a rollover after someone deleted the index template last month", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Make JunctionOpalRouterStore keyboard navigable","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "agent's memory grows on busy hosts until the OOM killer takes it:\n\nrss: 180MB → 2.1GB over 4 hours\nbpf map usage:\n connections max_entries=65536 current=65536 (full)\n sockets max_entries=65536 current=65536 (full)\n events (ringbuf) 16MB, consumer lag 14MB\n\ngo heap profile:\n flat flat% cum cum%\n 1.4GB 62.1% 1.4GB 62.1% lumen/agent/enrich.(*Cache).Put\n 0.4GB 17.8% 0.4GB 17.8% encoding/json.Marshal\n\nCache is keyed by (pid, fd) with no eviction, and on this host processes churn thousands of short-lived connections a second", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'JunctionCopperBridgeFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionCopperBridgeFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/cmd/exporter/main.py:144: error: -[JunctionCopperBridgeFlowTests 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 '-[JunctionCopperBridgeFlowTests 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Bring JunctionCopperBridgeFlow'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": "agent config across environments, and only prod fills its maps:\n\n# staging\nmap_sizes: { connections: 65536, sockets: 65536 }\nsample_rate: 1.0\nenrich: { container: true, k8s: false, process_tree: false }\ncpu_limit_percent: 10\nhosts: 40\n\n# prod\nmap_sizes: { connections: 65536, sockets: 65536 }\nsample_rate: 1.0\nenrich: { container: true, k8s: true, process_tree: true }\ncpu_limit_percent: 10\nhosts: 40000\n\nstaging hosts run 5 containers each, prod hosts run up to 400, and process_tree is the option that doubles memory", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionDriftConsoleCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "the map screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"# CI job 50144: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Cloudflare Workers\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] JunctionMosaicGridFlowIntegration.replays_after_timeout ... ok\n[test] JunctionMosaicGridFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nDeliver the JunctionMosaicGridFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "our API changelog needs an entry for the fixed page size and what partners should do about it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Collapse the JunctionFlintTimelineService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "saved searches fire notifications for listings that don't match, here's one:\n\nsaved_search 4471:\n bbox: [-0.21, 51.48, -0.09, 51.53]\n min_beds: 2\n max_price_cents: 65000000\n property_type: [\"flat\", \"maisonette\"]\n\nlisting 88412 that triggered it:\n location: { lat: 51.61, lon: -0.19 }\n beds: 2\n price_cents: 62000000\n property_type: \"house\"\n\nthe matcher runs as a percolator query built from the saved search, and both the bbox and the type are wrong here", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionMosaicGridCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "what does the ringbuffer do when full?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/junction/web/components/FilterDrawer.vue b/projects/junction/web/components/FilterDrawer.vue\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/web/components/FilterDrawer.vue\n+++ b/projects/junction/web/components/FilterDrawer.vue\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Consolidate JunctionPrismCacheFlow'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": "a customer needs the agent on 5.4 kernels, which we dropped in 2.4 because CO-RE and ring buffers made everything simpler. i'd like an honest view of what supporting them again costs — a compatibility layer, a separate build, or declining the business — and what it means for the next two years of kernel support the deal is worth about a fifth of our ARR, so \"no\" needs to be well argued.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Summarize the JunctionTideWorkerService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "agent's configuration, which customers deploy across their fleets with no documentation beyond a sample file:\n\nagent:\n endpoint: https://ingest.lumen.io\n tenant_key: <secret>\n sample_rate: 1.0 # events per second per process, 0 disables\n programs: [tcp, dns, file, exec]\n map_sizes: { connections: 65536, sockets: 65536 }\n ringbuf_bytes: 16777216\n enrich: { container: true, k8s: true, process_tree: false }\n fallback_procfs: true\n cpu_limit_percent: 10\n\nthings only we know: sample_rate is per process, not per host, so a host with 500 processes is not sampled at all; cpu_limit_percent is advisory and enforced by our own scheduler, not cgroups; map_sizes above 65536 need a kernel with BPF_MAP_TYPE_LRU_HASH support; and turning on process_tree roughly doubles memory", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Support wants the behavior in projects/junction/services/ledger/replay.go recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "listing count says \"1 results\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"JunctionOrbitSyncCoordinator: sort out the rough edge","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "compiler miscompiles one function under -O2 and i've reduced it this far:\n\nerror: internal compiler error: broken MIR in Item DefId(0:412 ~ lumenc[a11c]::opt::fold)\n --> src/opt/fold.rs:141:9\n |\n141| let folded = self.fold_const(expr)?;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n = note: value of type `ConstValue` has no in-memory representation\n\nthread 'rustc' panicked at compiler/rustc_middle/src/ty/consts.rs:88:22:\nassertion failed: !ty.has_infer()\nstack backtrace:\n 0: rust_begin_unwind\n 4: lumenc::opt::fold::ConstFolder::fold_binary\n 5: lumenc::opt::run_passes\n\nonly with our own const-folding pass enabled, and only when the input has a shift by a value we can't prove is in range", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Outline a safer JunctionOpalRouterService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "compiler's incremental builds are wrong about one in fifty times and it's terrifying:\n\n$ lumenc build\n Compiling app v0.4.1\n Finished in 2.1s\n$ ./target/app\nsegmentation fault\n\n$ lumenc build --no-incremental\n Compiling app v0.4.1\n Finished in 41.2s\n$ ./target/app\nok\n\nfingerprint debug output for the changed module:\n src/render.lm mtime=1753843201 size=8412 hash=9c1d0044 deps=[math, gfx]\n cached fingerprint: mtime=1753843201 size=8412 hash=9c1d0044 deps=[math]\n\nthe dependency list changed but the hash didn't, because the hash covers the source text and not the resolved imports", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-50120\n\n08:02 deploy JunctionOspreyJobFlow 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\nTurn the material above into a concise JunctionOspreyJobFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "three services build the same \"is this listing visible\" condition and they disagree:\n\n# api/v3/listings_controller.rb\nscope.where(status: %w[live under_offer]).where(published_at: ..Time.current)\n\n# jobs/portal_feed_job.rb\nscope.where(status: \"live\").where.not(published_at: nil)\n\n# app/queries/saved_search_matcher.rb\nscope.where(\"status != 'withdrawn'\").where(\"published_at IS NOT NULL\")\n\nthe first includes under-offer listings, the second excludes them, and the third includes drafts that happen to have a published_at from a previous publish", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/junction/workers/thumbnail/consumer.ex 里的 JunctionEmberRelayService 最近在 Spring Boot 流程中出现间歇性问题。 请追踪 queue、scheduler 和取消路径,对比假设,先定位原因再提修改。\n\n约束:\n- 继续使用 Spring Boot\n- 保持兼容性和取消语义\n- 改动只限于 JunctionEmberRelayService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "pass manager has grown conditionals for every pass we've added. same output, better structure:\n\npub fn run_passes(module: &mut Module, opts: &Opts) {\n if opts.opt_level >= 1 { inline::run(module, opts.inline_threshold); }\n if opts.opt_level >= 1 && !opts.no_const_fold { fold::run(module); }\n if opts.opt_level >= 2 { \n loop_opt::run(module);\n if !opts.no_vectorize && module.target.has_simd() { vectorize::run(module); }\n }\n if opts.debug_assertions { assert_checks::run(module); }\n if opts.opt_level >= 2 && opts.lto { cross_module::run(module); }\n if opts.opt_level >= 1 { dce::run(module); }\n if opts.emit_ir { dump_ir(module); }\n if opts.opt_level >= 2 { fold::run(module); } // second fold, added later, nobody remembers why\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about JunctionHarborIndexService, but the current prose in projects/junction/crates/index/src/segment.rs 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to JunctionHarborIndexService and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "portal partner's feed specification, which we produce:\n\nnightly full feed plus a delta feed every 15 minutes\n full: gzipped NDJSON, one listing per line, uploaded to their SFTP by 05:00\n delta: same shape, only listings changed since the last delta, plus a `deleted` array of ids\n a listing that is withdrawn must appear in `deleted`, not merely be absent\n price changes must produce a delta entry, which today they do not because price lives in a separate table with its own timestamp\n every entry needs a stable `source_id` that survives a listing being unpublished and republished\n they process deltas in order and will reject a delta whose sequence number is not consecutive\n if we miss a delta window, the next one must include everything since the last successful one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Em projects/junction/ui/settings/PrivacyPane.tsx, o JunctionEmberRelayStore tem um problema intermitente no fluxo de Spring Boot. Finalize o layout responsivo, estados vazio e retry, foco por teclado, dark mode e reduced motion.\n\nRestrições:\n- continuar com Spring Boot\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao JunctionEmberRelayStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"pt"}
{"prompt": "one visibility scope for listings", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Indexer: # projects/junction/workers/thumbnail/consumer.ex\n[worker.junctionslateeditorcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctionslateeditorcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctionslateeditorcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionSlateEditorCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50155\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/junction/workers/thumbnail/consumer.ex. 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": "is that transmute actually sound?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/junction/Sources/CLI/Commands/Doctor.swift b/projects/junction/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/junction/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 JunctionDriftConsoleFlow'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": "incremental compilation is wrong about one build in fifty and the cause is that fingerprints hash source text but not the resolved dependency set, which the original RFC explicitly rejected as expensive. i want the fix designed properly — what goes into a fingerprint, how we invalidate the existing caches on upgrade, and how we'd detect a recurrence in CI rather than in a customer's production binary two customers have shipped a binary built this way, which is the part that keeps me up.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Apparently: A copied hex color in JunctionAtlasSearchStore lost one digit. Replace #1F293 with the approved #1F2937 and keep the rest of the stylesheet untouched.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "i'd like an honest read of whether a plugin can crash the compiler with an out-of-range span, and if so the validation that stops it — with a test that used to crash i'd like enough detail that i can hand it to someone else to finish.", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"The JunctionMosaicGridService feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "a prospect's security team has asked six pointed questions about what the agent collects, what happens when our endpoint is unreachable, and the blast radius of a bad eBPF program. answer each from the code and write it as a page we can publish, rather than an email that gets forwarded and misquoted they will forward whatever we write to their own security review, so it has to survive being read carefully.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Lately: projects/junction/cmd/exporter/main.py 里的 JunctionSummitProxyStore 最近在 Kotlin coroutines 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 Kotlin coroutines\n- 保持兼容性和取消语义\n- 改动只限于 JunctionSummitProxyStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"zh"}
{"prompt": "saved searches notify on listings that match neither the bounding box nor the property type, which suggests the percolator query is built from stale saved-search fields. diagnose it, then fix the builder", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"JunctionTideWorkerCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "what happens to buffered events when the agent is restarted mid-upload", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-50125: retire the legacy replay path for JunctionMoonlitSDKFlow\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 JunctionMoonlitSDKFlow decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "react native app crashes when returning from the camera on android 15 only:\n\nFATAL EXCEPTION: main\nProcess: com.lumen.estate, PID: 8812\njava.lang.RuntimeException: Unable to resume activity {com.lumen.estate/com.lumen.estate.MainActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState\n\tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:5412)\n\tat androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1882)\n\tat com.lumen.estate.photos.PhotoPickerModule.onActivityResult(PhotoPickerModule.java:141)\n\nonly when the system killed our activity while the camera was open, which android 15 does far more aggressively", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionJuniperCLIFlow's staging timeout is already known to be wrong: change the single projects/junction/Sources/App/SessionStore.swift value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "before this goes in, is the unsafe block justified or are we fooling ourselves?\n\npub fn intern(&self, s: &str) -> Symbol {\n if let Some(&sym) = self.map.borrow().get(s) {\n return sym;\n }\n let owned = s.to_owned();\n let leaked: &'static str = unsafe { std::mem::transmute::<&str, &'static str>(&owned) };\n std::mem::forget(owned);\n let sym = Symbol(self.strings.borrow().len() as u32);\n self.strings.borrow_mut().push(leaked);\n self.map.borrow_mut().insert(leaked, sym);\n sym\n}\n\nthe interner is per-compilation-session, sessions are dropped between builds in the language server, and the language server is long-lived", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Centre la modale JunctionNovaPickerService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"fr"}
{"prompt": "eBPF program's map handling, which i'd like a second opinion on before we ship it widely:\n\nSEC(\"kprobe/tcp_connect\")\nint BPF_KPROBE(tcp_connect, struct sock *sk) {\n struct conn_key key = {};\n key.pid = bpf_get_current_pid_tgid() >> 32;\n BPF_CORE_READ_INTO(&key.sport, sk, __sk_common.skc_num);\n BPF_CORE_READ_INTO(&key.daddr, sk, __sk_common.skc_daddr);\n\n struct conn_val val = {};\n val.ts = bpf_ktime_get_ns();\n bpf_map_update_elem(&connections, &key, &val, BPF_ANY);\n\n struct event *e = bpf_ringbuf_reserve(&events, sizeof(*e), 0);\n if (!e) return 0;\n e->pid = key.pid;\n bpf_ringbuf_submit(e, 0);\n return 0;\n}\n\nthe connections map is a hash with 65536 entries and nothing deletes from it except a userspace sweep every 30 seconds", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Oddly: Test Suite 'JunctionVelaDrawerFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionVelaDrawerFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/web/components/FilterDrawer.vue:144: error: -[JunctionVelaDrawerFlowTests 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 '-[JunctionVelaDrawerFlowTests 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\nFinish the visible JunctionVelaDrawerFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "por favor revisa la consulta de búsqueda antes de que la pongamos en producción:\n\ndef execute\n Listing.search(\n query: {\n bool: {\n must: [{ match: { description: params[:q] } }],\n filter: [\n { geo_bounding_box: { location: bbox_from(params) } },\n { range: { price_cents: { lte: params[:max_price] } } },\n { terms: { property_type: params[:types] } }\n ]\n }\n },\n size: params.fetch(:size, 50),\n sort: [{ _score: :desc }, { listed_at: :desc }]\n )\nend\n\nparams[:types] llega directamente del cliente sin validar, size no tiene límite superior, y el índice tiene 4 millones de anuncios", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "es"} {"prompt":"Fresh release brief for JunctionRainfallDBCoordinator:\n- primary outcome: change JunctionRainfallDBCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/junction/web/components/FilterDrawer.vue\n- platform constraint: GraphQL\n- known complication: memory growth during hour-long imports\n\nBoth results are required, but they should remain independently reviewable. Retain the existing cli flags and exit codes; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "photo pipeline, three lambdas that grew separately. worth a read before i extend it:\n\nupload-handler: validates content-type, writes to s3://raw/, publishes to SNS\nthumbnail-worker: sharp().resize(1200).jpeg({quality: 80}).toBuffer() → s3://thumbs/\nfloorplan-worker: detects floorplans by filename heuristic (\"plan\" in the name), applies OCR, writes JSON\n\nnone of them read EXIF; the thumbnail worker strips all metadata; the floorplan heuristic misfires on any listing whose address contains \"plan\"; and a failure in any of them leaves the listing in \"processing\" forever because the state is only advanced on success", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Sequence JunctionGarnetModalService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "mobile app's offline handling for saved listings, which i suspect is why favourites go missing:\n\nconst save = async (listing: Listing) => {\n const current = JSON.parse((await AsyncStorage.getItem('saved')) ?? '[]')\n const next = [...current, listing]\n await AsyncStorage.setItem('saved', JSON.stringify(next))\n try {\n await api.post('/saved', { listingId: listing.id })\n } catch {\n // will sync later\n }\n}\n\nthere is no \"sync later\"; the app also fetches the server list on launch and overwrites AsyncStorage with it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionVelaDrawerCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "changelog for the agent, from the commits since 2.4:\n\n41c9e0b fix(ebpf): CO-RE relocation for struct sock on 6.11 kernels\n88f21c0 feat(maps): LRU hash for the connections map, evicting instead of filling\nc0aa774 perf(enrich): cache container lookups per cgroup id instead of per event\n2e91b45 fix(sample): sample_rate is now per host, not per process\naa30f19 feat(config): cpu_limit_percent enforced via cgroups where available\n9c1d004 chore: minimum kernel is now 5.10\n4410bb7 fix(ringbuf): drop oldest instead of blocking when the consumer is behind\nb77e910 feat(k8s): pod and namespace enrichment from the kubelet API\n\nour readers are platform engineers deploying this to fleets; two of these change behaviour they've built alerts around", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Currently: The JunctionEchoRegistryService surface in projects/junction/config/staging.toml 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": "CI for the compiler takes 40 minutes and this is the whole config:\n\njobs:\n test:\n strategy:\n matrix:\n os: [ubuntu-24.04, macos-15, windows-2022]\n steps:\n - uses: actions/checkout@v4\n - uses: dtolnay/[email protected]\n - run: cargo test --all-features\n - run: cargo test --release --all-features\n - run: ./scripts/run_ui_tests.sh\n - run: cargo bench --no-run\n\nno caching of any kind, the release test run duplicates the debug one for most tests, and the ui test script rebuilds the compiler from scratch", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Production says JunctionCopperBridgeService 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- retain the existing CLI flags and exit codes\n- retain the current Kotlin coroutines operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL 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": "unsere React-Native-Screens holen ihre Daten jeweils selbst, mit drei verschiedenen Mustern:\n\n// ListingScreen.tsx\nuseEffect(() => { api.get(`/listings/${id}`).then(setListing) }, [id])\n\n// SavedScreen.tsx\nconst { data } = useQuery({ queryKey: ['saved'], queryFn: fetchSaved })\n\n// SearchScreen.tsx\nconst [state, dispatch] = useReducer(searchReducer, initial)\nuseEffect(() => { let cancelled = false; search(state.filters).then(r => !cancelled && dispatch({type:'ok', r})); return () => { cancelled = true } }, [state.filters])\n\ndrei Muster, drei Fehlerbehandlungen, und nur eines davon behandelt den Offline-Fall überhaupt", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "de"} {"prompt":"Please turn JunctionAmberFilterService's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "design spec for the map search screen, react native, which is our most-used surface:\n\nMap search\n- Map fills the screen; a bottom sheet at three detents holds the result list, snapping to peek / half / full.\n- Clusters above 12 listings show a count; below that, individual pins priced in thousands (\"£625k\").\n- Panning refetches with a 400ms debounce and a \"Search this area\" button rather than automatic refetch — users hated automatic.\n- Selected pin lifts, turns accent, and scrolls the sheet to that listing without changing the detent.\n- Saved listings show a filled heart on the pin; toggling from the sheet updates the pin immediately and reconciles later.\n- Offline: last results and their photos are shown with a banner; the search button is disabled with an explanation.\n- Accessibility: every pin reachable by the list, which is the accessible path; the map itself is marked as decorative.\n- Must hold 60fps while panning with 300 pins on a mid-range android device from 2021.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionAmberFilterCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "price arrows are colour-only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"JunctionKiteSchedulerCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "why is incremental sometimes wrong?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"JunctionFrostPanelStore's staging timeout is already known to be wrong: change the single projects/junction/src/sync/reconcile.ts value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "two of the three compiler engineers leave in six weeks and the remaining list includes a soundness landmine, a correctness bug and a pile of ergonomics work. sequence it with the departures as the main constraint, and tell me plainly which item is the most dangerous thing to leave undocumented rather than merely undone the person joining in october has no context on any of this.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Check JunctionMoonlitSDKService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "listings stuck in processing generate about forty support calls a week and the fix is always the same re-upload. write the troubleshooting page support can follow, and separately tell me which of the six behaviours in my notes are product bugs that documentation would merely paper over support has no engineering access, so every step has to be something they can do themselves.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-50154\n\n08:02 deploy JunctionFrostPanelCoordinator 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\nTurn the artifact into a reversible JunctionFrostPanelCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "fleet view has to stay usable when the control plane itself is degraded, which today means it shows a spinner forever. rebuild it to the spec with stale data marked by age, filters in the URL, and bulk actions that say how many hosts they will touch before they do it during an incident this screen is the only thing platform engineers trust, so stale-but-labelled beats empty.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Ist JunctionNovaPickerStore sicher?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"de"}
{"prompt": "viewing booking service does eight things in one method and only the availability check needs to be transactional. split it, then document the new boundaries and what is guaranteed to have happened by the time the API returns this has come up in three separate reviews now and never gets done.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Today: The behavior of JunctionWrenExportService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/junction/web/components/FilterDrawer.vue. 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- retain the existing CLI flags and exit codes\n- retain the current GraphQL operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "agents stopped loading three eBPF programs after a kernel upgrade despite CO-RE, which is exactly what CO-RE was meant to prevent. work out why the relocation failed, then fix it so the next kernel doesn't do this to us assume whoever picks this up next has no context at all. assume whoever picks it up next has no context beyond what you write.", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"$ pnpm test --filter JunctionGarnetModalFlow\n RUN v3.2.4 /workspace/apps/console\n × JunctionGarnetModalFlow > 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=50124 phase=resume storedCursor=seg-0183\n session=50124 phase=fetch requestCursor=seg-0183 pageSize=200\n session=50124 phase=commit receivedCursor=seg-0184 itemCount=0\n session=50124 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 JunctionGarnetModalFlow 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": "compiler's error messages are inconsistent and i want a house style before we add fifty more. current examples:\n\nerror: type mismatch\nerror: expected `Int`, found `String`\nerror[E0412]: cannot find type `Foo` in this scope\nERROR: unresolved import `std::collectionz`\nerror: the trait bound `T: Display` is not satisfied\nwarning: unused variable x\nnote: `Bar` is defined here but not exported\n\ninconsistent: capitalisation, whether codes are used, whether the primary message names the file, whether we suggest a fix, and whether we use backticks around identifiers\n\nwrite the error message style guide, with rules for wording, structure, spans, notes and suggestions, and rewrite these seven as examples", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/junction/Sources/CLI/Commands/Doctor.swift\n[worker.junctionjuniperclicoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctionjuniperclicoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctionjuniperclicoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionJuniperCLICoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50158\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/junction/Sources/CLI/Commands/Doctor.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": "compiler team's list, and one of them is leaving in six weeks:\n\n- incremental fingerprints must include the resolved dependency set, which is the correctness bug\n- error messages need a house style and a lint that enforces it\n- the interner's unsafe transmute is a landmine in the language server\n- plugin diagnostics can crash the compiler with an out-of-range span\n- the second const-fold pass exists for a reason nobody remembers and removing it changes output\n- ui tests take 20 of our 40 CI minutes and rebuild the compiler from scratch\n\nsequence these with the departure in mind, and say plainly which one is the highest risk to leave undone", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-50129: retire the legacy replay path for JunctionMicaProfileFlow\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\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 JunctionMicaProfileFlow 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": "pass manager as an ordered list", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Read projects/junction/db/migrations/20260730_events.sql and tell me whether JunctionBasilRunnerStore can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "one cache layer in the agent", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"JunctionOpalRouterCoordinator: ship, then document","purpose":"backendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "portal feed shows withdrawn listings for hours and misses price changes entirely, because price lives in a separate table with its own timestamp and the feed keys on the listing's updated_at. before we patch it i'd like a view on whether the feed should be event-driven rather than diff-driven, and what that means for partners who process deltas in strict sequence partners process deltas strictly in sequence and reject anything with a gap.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-50146: finish the compact JunctionIrisBatchFlow filter experience\n\nRoute: /catalog/search\nSource: projects/junction/internal/auth/refresh.go\nFramework: GraphQL\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 JunctionIrisBatchFlow'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": "incremental fingerprint RFC rejected hashing the resolved dependency set as rarely different, which is exactly the case that has now miscompiled production code twice. read the RFC against the current implementation and tell me which of its other assumptions are similarly optimistic i'd rather find the rest of them now than after the next miscompile. flag anything you'd want to change before doing it rather than after.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Context: diff --git a/projects/junction/services/ledger/replay.go b/projects/junction/services/ledger/replay.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/services/ledger/replay.go\n+++ b/projects/junction/services/ledger/replay.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\nSplit JunctionLumenChartFlow 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": "three services each define what makes a listing visible and they disagree about under-offer, drafts with a stale published_at, and withdrawn listings. settle on one definition, apply it in all three, and give me the list of listings whose visibility changes so the content team can be warned before partners notice the portal feed is the one partners see, so it's the definition that matters most externally.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"JunctionMarbleTokenCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "i'd like to understand what the second const-fold pass changes, since removing it alters output", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Describe JunctionOspreyJobStore's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "the agent has three caches with three lifetimes, one unbounded, one re-read from procfs on every event, and one that isn't really a cache. consolidate them behind one layer with explicit bounds and eviction, and keep the enrichment output identical for a recorded hour of events from a busy host a recorded hour from the four-hundred-container host is in the fixtures bucket for comparison.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"The behavior of JunctionTideWorkerStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/junction/packages/api/openapi.yaml. 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- retain the existing CLI flags and exit codes\n- retain the current Kafka operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "agent degrades after the kernel upgrade", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Stream JunctionSableParserService's audit events","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our health endpoint reports the agent healthy while it's in procfs fallback with three programs unloaded", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"JunctionEmberRelayCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "listing thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Is there a cleaner way to separate JunctionBeaconStoreService's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "agent's enrichment cache and the process resolver both key on things that churn:\n\n// enrich/cache.go\ntype Cache struct { m map[connKey]*Meta } // keyed by (pid, fd), never evicted\n\n// proc/resolver.go\nfunc (r *Resolver) containerFor(pid uint32) string {\n b, _ := os.ReadFile(fmt.Sprintf(\"/proc/%d/cgroup\", pid)) // on every event\n return parseCgroup(b)\n}\n\n// k8s/enricher.go\nfunc (e *Enricher) podFor(containerID string) *Pod {\n return e.byContainer[containerID] // refreshed every 30s from the kubelet\n}\n\nthree caches with three lifetimes, one of which is unbounded and one of which isn't a cache at all", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionBirchMigratorCoordinator needs a paired pass: assess ownership and failure handling in projects/junction/pkg/cache/lease.rs, plus capture the contract and rollback note for consumers. Use projects/junction/pkg/cache/lease.rs as the source of truth, preserve the Kafka contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "agent stuff again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Dedupe JunctionFlintTimelineStore's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "the listing gallery should preload the next two images while the current one is showing", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"JunctionRavenSessionService é seguro?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"pt"}
{"prompt": "our language server and compiler share a crate that assumes one compilation per process", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"JunctionEchoRegistryCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "is our percolator matcher using the saved search as stored or as it was when created", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'JunctionMapleQueueFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionMapleQueueFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/app/src/main/SyncWorker.kt:144: error: -[JunctionMapleQueueFlowTests 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 '-[JunctionMapleQueueFlowTests 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\nUse the UI evidence to complete JunctionMapleQueueFlow'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": "what guarantees does the delta feed make if we miss a fifteen-minute window entirely", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"$ pnpm test --filter JunctionTideWorkerFlow\n RUN v3.2.4 /workspace/apps/console\n × JunctionTideWorkerFlow > 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=50117 phase=resume storedCursor=seg-0183\n session=50117 phase=fetch requestCursor=seg-0183 pageSize=200\n session=50117 phase=commit receivedCursor=seg-0184 itemCount=0\n session=50117 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\nDetermine why JunctionTideWorkerFlow 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": "a walkthrough of how a viewing reaches the agent's calendar would help before i touch sync", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Background: Incident timeline — INC-50114\n\n08:02 deploy JunctionAsterWebhookFlow 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\nTurn the material above into a concise JunctionAsterWebhookFlow 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": "agent's sampling is per process at a fixed rate, so a host with five hundred processes is effectively unsampled, and when the ringbuffer fills the kernel silently overwrites exactly the events we most want. work through what adaptive sampling with per-category floors would require, including the awkward fact that customers alert on raw event counts today one customer alerts on events per host per minute and would notice adaptive sampling immediately.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Question: Ticket OPS-50159: retire the legacy replay path for JunctionPineMetricsCoordinator\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 JunctionPineMetricsCoordinator 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": "listing page fails seven accessibility items including a carousel that only responds to swipe. fix them, and write the accessibility statement the portal partner asked for", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Observation: projects/junction/ml/pipeline/features.py の JunctionSummitProxyService で、Kotlin coroutines の flow に断続的な問題が起きています。 consumer 向けに contract、error、retry、コピー可能な例を含む文書を書き、handler は変更しないでください。\n\n制約:\n- Kotlin coroutines を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は JunctionSummitProxyService のみ","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"ja"}
{"prompt": "saved searches need an edit screen that shows what the search currently matches before saving", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Move JunctionEchoRegistryStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "les photos des annonces arrivent parfois pivotées de 90 degrés, mais seulement depuis l'app iOS :\n\nfichier reçu : IMG_4471.HEIC, 4032x3024\nEXIF Orientation: 6 (rotate 90 CW)\npipeline de traitement :\n 1. upload direct vers S3 (pas de transformation)\n 2. lambda de vignettes : sharp().resize(1200).jpeg().toBuffer()\n 3. écriture de la vignette, 1200x900\n 4. l'app web affiche la vignette\n\nles vignettes générées perdent l'orientation EXIF et sharp n'est pas configuré avec rotate(); le web affiche donc l'image couchée alors que l'original est correct", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "fr"} {"prompt":"Two asks around JunctionMoonlitSDKCoordinator: (1) finish JunctionMoonlitSDKCoordinator's responsive empty and retry states; (2) correct the known stale timeout beside it. Retain the existing cli flags and exit codes, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "booking-viewing flow double-books slots occasionally and the audit trail looks like this:\n\n11:02:14.101 POST /viewings agent=a_881 listing=88412 slot=2026-08-03T14:00Z → 201 viewing v_4471\n11:02:14.118 POST /viewings agent=a_902 listing=88412 slot=2026-08-03T14:00Z → 201 viewing v_4472\n11:02:14.140 slot_availability recalculated for listing 88412: 14:00 marked unavailable\n11:02:14.155 notification sent to vendor: 2 viewings booked at 14:00\n\nthe controller checks availability with a SELECT and then inserts, no unique index on (listing_id, slot), and availability is a materialised view refreshed after the fact", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for JunctionAsterWebhookCoordinator:\n- primary outcome: separate JunctionAsterWebhookCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/junction/db/migrations/20260730_events.sql\n- platform constraint: Cloudflare Workers\n- known complication: cancellation being swallowed at the repository boundary\n\nBoth results are required, but they should remain independently reviewable. Retain the existing cli flags and exit codes; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "availability logic behind viewing bookings, which i inherited:\n\ndef available_slots(listing, from_date, to_date)\n slots = listing.vendor.availability_windows.flat_map { |w| w.slots_between(from_date, to_date) }\n booked = Viewing.where(listing: listing, starts_at: from_date..to_date).pluck(:starts_at)\n blocked = listing.blackouts.where(date: from_date..to_date).flat_map(&:slots)\n (slots - booked - blocked).sort\nend\n\ncalled from the API on every listing page view, from the notification job, and from the agent app's calendar sync; vendors edit their availability windows from a separate screen with no locking", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Check JunctionLumenChartStore's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "RFC for our incremental compilation fingerprints. does it actually close the hole we hit?\n\n## Fingerprints\nEach module's fingerprint is the hash of its source text. A module is recompiled when its fingerprint changes or when any of its dependencies were recompiled.\n\n## Rationale\nSource text is cheap to hash and captures every change a user can make.\n\n## Known gaps\n- Changes to compiler flags are not captured; users are told to run a clean build.\n- The dependency graph is recorded from the previous build.\n\n## Rejected\nHashing the resolved dependency set was rejected as \"expensive and rarely different\".", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Unifie les validateurs de JunctionRavenSessionStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"fr"}
{"prompt": "query the agent's control plane runs every 30 seconds for every tenant:\n\nSELECT h.id, h.hostname, h.last_seen_at, h.agent_version,\n count(distinct c.id) FILTER (WHERE c.state = 'running') AS containers,\n (SELECT count(*) FROM events e WHERE e.host_id = h.id AND e.ts > now() - interval '5 minutes') AS recent_events,\n (SELECT max(ts) FROM events e2 WHERE e2.host_id = h.id) AS last_event\nFROM hosts h\nLEFT JOIN containers c ON c.host_id = h.id\nWHERE h.tenant_id = $1 AND h.deleted_at IS NULL\nGROUP BY h.id;\n\n40,000 hosts across tenants, events is 2.1 billion rows partitioned by day, and this runs per tenant per 30 seconds", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of JunctionFrostPanelService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- retain the existing CLI flags and exit codes\n- retain the current Cloudflare Workers operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "support notes about listings stuck in processing, which need to become a real page:\n\n- a listing goes to \"processing\" when photos are uploaded and leaves it when all workers report success\n- if any worker fails, the listing stays in processing forever and the agent sees no error\n- the most common failure is a HEIC the thumbnail worker can't decode, about 40 a week\n- support fixes it by re-uploading the photo, which starts the pipeline again\n- there's a script that force-advances a listing, which two people know about\n- agents phone in because the listing isn't live and they have a viewing booked\n\nwrite the support-facing troubleshooting page, and separately note which of these are product bugs rather than documentation gaps", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"What does JunctionBirchMigratorStore own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "die Notizen aus der Störung von gestern, daraus soll die Kundenmitteilung werden:\n\n14:02 Kunden melden, dass in einer Region keine Suchergebnisse erscheinen\n14:18 bestätigt: alle Abfragen mit Kartenausschnitt schlagen fehl, Textsuche funktioniert\n14:35 Ursache gefunden: der neue Index vom 1. Juli hat kein geo_point-Mapping\n14:50 Index-Template war im Juni versehentlich gelöscht worden\n15:20 Reindexierung gestartet, 4,1 Millionen Anzeigen\n17:40 Reindexierung abgeschlossen, Suche wieder normal\n\nBetroffen war eine Region, dreieinhalb Stunden lang; keine Daten verloren, aber Makler konnten ihre eigenen Anzeigen nicht finden und haben teilweise doppelt eingestellt", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "de"} {"prompt":"Milestones for replacing JunctionMicaProfileService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "vendor's questions before they sign, which we should answer as documentation rather than an email:\n\n\"What data does the agent collect from our hosts, exactly? Does it read file contents or only metadata? Are command-line arguments captured, and if so can we redact them? What happens to the agent if your ingest endpoint is unreachable for a day — does it buffer, drop, or fill our disk? Can we run it in a mode that collects nothing until we've reviewed the schema? What is the blast radius if one of your eBPF programs has a bug on a production kernel?\"\n\nanswer each from the code and write it as a page we can publish", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Two deliverables are holding up JunctionCedarPolicyCoordinator. First, separate JunctionCedarPolicyCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/junction/engine/render/atlas.cpp, which follows Spring Boot conventions and currently suffers from two validators with subtly different error strings. Retain the existing cli flags and exit codes.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "marketplace's public API, which three portal partners integrate against off a README from 2024:\n\nGET /api/v3/listings\n filters: bbox, min_price, max_price, min_beds, property_type[], status\n sort: price_asc | price_desc | listed_desc | relevance (default relevance, which needs `q`)\n pagination: cursor-based, `after` opaque, page size 50 fixed\n a listing under offer is returned with status=under_offer unless `status` excludes it\n withdrawn listings disappear entirely, which partners handle badly — they keep showing them\n the price on a listing can change without the listing changing its updated_at, because price lives in a separate table\n\nwrite the reference, and be explicit about the updated_at problem because it's why partners' caches go stale", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionSummitProxyCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "runbook for a stuck ingest pipeline is a slack thread. what we actually do:\n\n- symptom is agents reporting fine but events not appearing for a tenant\n- first check is the per-tenant kafka lag dashboard; over 5 minutes of lag means the consumer is behind\n- if lag is flat and high, the enrichment stage is stuck on a slow k8s API; restarting the enricher clears it\n- if lag is climbing steadily, it's usually one tenant sending 100x their normal volume\n- `lumenctl tenant throttle <id> --rate 5000` slows them without dropping, and we tell the account manager afterwards\n- never restart the ingest tier during business hours; it drops the ringbuffer contents on every agent connected to it\n\nwrite the runbook page, in the order someone paged at 3am would need it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionFernSnapshotFlow 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.6,"slice":"core","lang":"en"}
{"prompt": "我们的编译器诊断文档只有一页示例,第三方插件作者一直在猜。当前实际行为:\n\n- 诊断分为 error / warning / note 三级,note 不能单独出现,必须挂在前两者下面\n- 错误码格式是 `E0412`,但只有大约三分之一的诊断有码,其余没有,也没有规则说明什么时候该有\n- span 支持多段,但渲染时只显示第一段所在的文件,跨文件的诊断会丢失上下文\n- 建议(suggestion)分为 machine-applicable 和 maybe-incorrect,前者会被 `--fix` 自动应用\n- 插件返回的诊断不做校验,span 越界会导致编译器崩溃而不是报错\n- 同一位置的多条诊断按插件注册顺序输出,没有去重\n\n示例代码:\n\nDiagnostic::error(\"type mismatch\")\n .with_span(span, \"expected `Int`, found `String`\")\n .with_note(\"the function signature is defined here\")\n .emit();\n\n请写成给插件作者的诊断 API 文档,把错误码规则和 span 越界这两点写清楚", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "zh"} {"prompt":"Release verification found a single stale JunctionCedarPolicyService 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- retain the existing CLI flags and exit codes\n- retain the current Spring Boot operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "rubocop and the type checker on the rails app, gate goes on friday:\n\napp/queries/listing_search.rb:88:5: C: Metrics/MethodLength: Method has too many lines. [31/15]\napp/queries/listing_search.rb:41:9: W: Lint/UselessAssignment: Useless assignment to variable - `sort`\napp/models/listing.rb:212:11: C: Style/SafeNavigation: Use safe navigation (&.) instead of checking if an object exists\napp/services/viewings/book.rb:22:3: C: Style/Documentation: Missing top-level class documentation comment\n\nsorbet:\napp/services/viewings/book.rb:66: Expected `Time` but found `T.nilable(Time)` for argument `starts_at`\napp/models/listing.rb:141: Method `price_cents` does not exist on `T.nilable(Price)`\n\n4 offenses, 2 type errors, and the two type errors look like actual nil bugs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"The JunctionQuartzPlayerFlow surface in projects/junction/ml/pipeline/features.py 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.3,"slice":"core","lang":"en"}
{"prompt": "clippy on the compiler, mostly noise but check the last two:\n\nwarning: this `RefCell` is borrowed twice in the same expression\n --> src/intern.rs:41:9\nwarning: large enum variant\n --> src/ast.rs:88:1\n | enum Expr { Lit(i64), Call(Box<Call>), Block([Stmt; 64]) }\nwarning: this loop could be written as a `for` loop\n --> src/lex.rs:141:5\nwarning: casting `usize` to `u32` may truncate the value\n --> src/intern.rs:52:20\nwarning: `mem::forget` on a type with a `Drop` implementation\n --> src/intern.rs:49:5\n\n34 warnings total", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Constraint: Two deliverables are holding up JunctionCopperBridgeCoordinator. First, separate JunctionCopperBridgeCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/junction/ml/pipeline/features.py, which follows Kotlin coroutines conventions and currently suffers from stale cursors when a page is resumed. Retain the existing cli flags and exit codes.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "index template that got deleted, restored from a backup. does this match what the search code expects?\n\nPUT _index_template/listings\n{\n \"index_patterns\": [\"listings-*\"],\n \"template\": {\n \"mappings\": {\n \"properties\": {\n \"location\": { \"type\": \"geo_point\" },\n \"price_cents\": { \"type\": \"long\" },\n \"beds\": { \"type\": \"short\" },\n \"property_type\": { \"type\": \"keyword\" },\n \"description\": { \"type\": \"text\", \"analyzer\": \"english\" },\n \"listed_at\": { \"type\": \"date\" }\n }\n },\n \"settings\": { \"number_of_shards\": 3, \"number_of_replicas\": 1 }\n }\n}\n\nthe search code also filters on `status` and sorts on `updated_at`, neither of which appears here", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionDeltaCanvasStore crashes after reconnect","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "npm audit on the mobile app before the store submission:\n\nreact-native 0.76.0 - 0.76.9\nHigh: Improper URI validation in the Linking module\nfix available via `npm audit fix --force`\nWill install [email protected], which is a breaking change\n\n@react-native-async-storage/async-storage 1.21.0 - 1.23.1\nModerate: Data written without atomic replace, corruption possible on crash\nfix available via `npm audit fix`\n\nreact-native-image-picker 7.1.0 - 7.2.2\nModerate: Activity result handling can leak the file URI to other apps\nfix available via `npm audit fix`\n\nthe async-storage one is interesting given our saved-listings bug", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionDeltaCanvasCoordinator: sequence, then ship","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "os limites de alerta do ingest, acordam-nos por nada:\n\n- alert: IngestLag\n expr: kafka_consumergroup_lag{group=\"ingest\"} > 1000\n for: 1m\n labels: { severity: page }\n\n- alert: AgentDown\n expr: up{job=\"agent\"} == 0\n for: 0m\n labels: { severity: page }\n\n- alert: EnrichErrors\n expr: rate(enrich_errors_total[5m]) > 0\n for: 1m\n labels: { severity: page }\n\ncomportamento normal: o lag passa de 1000 em todas as manhãs às 9h durante cerca de dez minutos; há sempre alguns agentes offline num universo de 40 mil hosts; e o incidente real do mês passado (uma região inteira sem eventos durante duas horas) não gerou nenhum alerta", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "pt"} {"prompt":"Decouple JunctionMoonlitSDKStore's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "diagnostic emission code is duplicated across passes with slight differences:\n\n// in type check\nsess.emit_error(format!(\"type mismatch: expected {}, found {}\", a, b), span);\n\n// in the borrow checker\nsess.diagnostic(Level::Error, \"cannot borrow as mutable\")\n .span_label(span, \"second mutable borrow\")\n .emit();\n\n// in the const folder\neprintln!(\"error: {}\", msg); // yes, really\nsess.error_count.fetch_add(1, Ordering::Relaxed);\n\n// in the plugin bridge\nDiagnostic::error(msg).with_span(span, label).emit();\n\nfour ways to report an error, one of which bypasses the diagnostic system entirely and breaks --json output", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a deadlock that appears only during shutdown in JunctionDriftConsoleService, 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": "viewing-booking service does everything in one method and the tests need a database and a stubbed calendar:\n\nclass Viewings::Book\n def call\n raise SlotUnavailable unless available?\n viewing = Viewing.create!(listing:, agent:, starts_at:, source:)\n CalendarSync.push(agent, viewing)\n VendorMailer.viewing_booked(viewing).deliver_later\n BuyerMailer.viewing_confirmed(viewing).deliver_later\n Sms.send(buyer.phone, confirmation_text(viewing)) if buyer.phone?\n listing.touch(:last_activity_at)\n Analytics.track(\"viewing_booked\", agent_id: agent.id, listing_id: listing.id)\n AvailabilityCache.invalidate(listing)\n viewing\n end\nend\n\nsame behaviour, but the availability check and the booking need to be atomic and the rest needs to be out of the request", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-50151: retire the legacy replay path for JunctionWrenExportCoordinator\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 JunctionWrenExportCoordinator, 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": "quarter planning, and this is what i have to sequence:\n\n- the double-booking bug is small in volume but every instance is a furious vendor and an angry agent\n- portal partners are complaining that our feed shows withdrawn listings for hours\n- the agent's memory growth means one large customer caps us at 200 hosts per cluster\n- the compiler's incremental correctness bug has produced two miscompiles in production code this quarter\n- a new customer needs the agent on 5.4 kernels, which we dropped support for in 2.4\n- two engineers are leaving the compiler team and one is joining in october\n- there's a store submission deadline for the mobile app in three weeks", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Request: Two asks around JunctionLumenChartCoordinator: (1) change JunctionLumenChartCoordinator's known staging timeout from 15 to 30 seconds; (2) give the existing implementation a read-only safety pass. Retain the existing cli flags and exit codes, and leave a clear boundary between the resulting artifacts or edits.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "architecture ticket, thinking needed before code:\n\nOBS-410 — Agent event sampling and backpressure\nThe agent currently samples per process at a fixed rate and drops nothing until the ringbuffer fills, at which point the kernel side silently overwrites. On busy hosts this means we lose the events we most want. The proposal is adaptive sampling driven by observed volume with per-category floors, plus explicit backpressure signalling to the control plane. Concerns: sampling decisions in eBPF cost cycles per event; the control plane cannot push config faster than every 30 seconds; customers alert on event counts and adaptive sampling would make those alerts meaningless; and we have no way to tell a customer what we dropped.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"PM needs a concise migration note for JunctionIrisBatchStore, 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": "customer's security requirement for the agent, which sales has already half-agreed to:\n\n\"The agent shall not transmit file contents, command-line arguments or environment variables outside the host without explicit per-category opt-in. It shall operate in an audit-only mode in which it collects and displays locally but transmits nothing. The customer shall be able to review the exact schema of transmitted data. A failure of the agent shall not affect the host: no kernel panic, no CPU starvation, no disk exhaustion. Evidence of the last requirement shall include the results of fault injection testing.\"\n\nwe transmit command lines by default, have no local-only mode, no published schema, and have never done fault injection. i want the plan and an honest view of what we can claim by the deadline", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Is there a cleaner way to separate JunctionPineMetricsFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "spec for the agent fleet screen in our console, which platform engineers live in:\n\nFleet view\n- Table of hosts: hostname, agent version, kernel, last seen, events/sec, degraded reason. Virtualised to 40,000 rows.\n- Degraded hosts sort first by default; \"degraded\" needs a plain-language reason, not an error code.\n- Filters: version, kernel, tenant, degraded state; filters are in the URL so they can be shared in an incident.\n- Bulk actions: restart agent, change sample rate, collect diagnostics. Each shows how many hosts it will affect before confirming.\n- A version rollout view: percentage on each version over time, with the ability to pause a rollout.\n- Host detail: loaded programs with their status, map utilisation, recent config changes, and the last ten errors.\n- Everything must remain usable when the control plane is degraded — show stale data with its age rather than a spinner.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionHarborIndexCoordinator is blocking the next release because a misleading timeout name used in five packages. I need two concrete outcomes from a single pass: assess ownership and failure handling in projects/junction/pkg/cache/lease.rs, and capture the contract and rollback note for consumers. Use the existing Kafka conventions in projects/junction/pkg/cache/lease.rs; retain the existing CLI flags and exit codes. 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":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "accessibility findings on the listing detail page, from an audit a portal partner ran:\n\n1. The photo carousel is operable only by swipe; there are no next/previous controls and arrow keys do nothing.\n2. Photo alt text is the filename (\"IMG_4471.HEIC\") for every image.\n3. The floorplan opens in a lightbox that traps focus and has no close button reachable by keyboard.\n4. Price change history is conveyed by red and green arrows with no text.\n5. The \"book a viewing\" form's date picker is a custom control with no role and no keyboard support.\n6. Headings jump from h1 to h4 in the description section.\n7. The map embed has no accessible name and is included in the tab order with nothing to do.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Goal: The data is already available in projects/junction/engine/render/atlas.cpp; 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.6,"slice":"core","lang":"en"}
{"prompt": "design tokens versus what the listing pages actually use:\n\ntokens:\n color.text.primary #101418 / #F2F5F7\n color.text.muted #5B6570 / #9AA6B2\n color.brand #0B6E4F\n color.price.up #B42318\n color.price.down #067647\n space 4/8/12/16/24/32/48, radius 6/10/16, shadow.sm/md/lg\n type: display 28/34, title 20/26, body 15/22, caption 13/18\n\nthe listing pages: nine hardcoded colours, three of which are the brand green at slightly different values; paddings of 5, 11, 13 and 22; two type sizes not in the scale; price direction shown only by colour; and a shadow defined inline in four components\n\nbring it onto the tokens and give price direction a non-colour indicator while you're in there", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Symptom: The public surface of JunctionJuniperCLIService is frozen, but its internal ownership in projects/junction/Sources/App/SessionStore.swift is difficult to test and even harder to change safely. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside JunctionJuniperCLIService\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "schema we agreed for agent config versioning, needs implementing in the control plane:\n\nCREATE TABLE agent_configs (\n id uuid PRIMARY KEY,\n tenant_id uuid NOT NULL,\n scope text NOT NULL CHECK (scope IN ('tenant','group','host')),\n scope_id text,\n body jsonb NOT NULL,\n version int NOT NULL,\n created_by text NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n UNIQUE (tenant_id, scope, scope_id, version)\n);\n\nagents poll every 30 seconds with their current version; the effective config is host over group over tenant; a rollout can be paused, which means agents keep their current version rather than reverting; and an agent that receives a config it can't apply must report why and keep running on the previous one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"JunctionWillowCodecCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "sample_rate should be per host", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Memory attributed to JunctionKiteSchedulerService 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": "async-storage bump before submission", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"For JunctionRavenSessionCoordinator, finish JunctionRavenSessionCoordinator's responsive empty and retry states; once that is complete, capture the contract and rollback note for consumers. Work from projects/junction/config/staging.toml, stay with Kafka, and retain the existing CLI flags and exit codes. Keep the two outcomes separately reviewable.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "cache cargo registry in CI", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"JunctionMicaProfileCoordinator needs a paired pass: change JunctionMicaProfileCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/junction/app/src/main/SyncWorker.kt as the source of truth, preserve the Cloudflare Workers contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.3,"slice":"mixed","lang":"en"}
{"prompt": "thumbnails need rotate() for EXIF", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Give JunctionLedgerGateStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "el filtro de precio no acepta decimales", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "es"} {"prompt":"JunctionCloudReconcilerCoordinator is blocking the next release because a feature flag whose default differs between environments. I need two concrete outcomes from a single pass: find the unknown cause of a feature flag whose default differs between environments, and capture the contract and rollback note for consumers. Use the existing Spring Boot conventions in projects/junction/ui/settings/PrivacyPane.tsx; retain the existing CLI flags and exit codes. 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":"debugging","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "cap the search page size at 100", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Introduce a durable deduplication key for JunctionFernSnapshotStore events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "add `status` to the index template", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"JunctionOspreyJobCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "process_tree off by default", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"# projects/junction/Sources/App/SessionStore.swift\n[worker.junctionorbitsyncflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctionorbitsyncflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctionorbitsyncflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionOrbitSyncFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50148\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 JunctionOrbitSyncFlow'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": "IngestLag needs a 15 minute window", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"En projects/junction/web/components/FilterDrawer.vue, JunctionRainfallDBStore tiene un problema intermitente en el flujo de GraphQL. Lee el flujo actual y dime si ownership, cancelación y orden son seguros; solo necesito el análisis.\n\nRestricciones:\n- seguir con GraphQL\n- conservar compatibilidad y cancelación\n- limitar el cambio a JunctionRainfallDBStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"es"}
{"prompt": "Release-Tests im CI weglassen", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "de"} {"prompt":"Why is JunctionDeltaCanvasService stalling?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "unique index on (listing_id, slot)", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a misleading timeout name used in five packages in JunctionCoralUploadStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "the compiler's error output needs colour that survives being piped into a file", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Headsup: Two asks around JunctionFlintTimelineCoordinator: (1) lay out a staged migration for JunctionFlintTimelineCoordinator; (2) also add the visible loading and offline states. Retain the existing cli flags and exit codes, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "agent config is parsed in three places with different defaults for the same keys", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-50157: retire the legacy replay path for JunctionLedgerGateCoordinator\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 JunctionLedgerGateCoordinator, 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": "our internal wiki page on the photo pipeline describes two lambdas and there are three, one of which advances the listing state and is therefore the one everyone needs to understand during an incident. write the page properly, covering each stage, what failure looks like, and which state transitions are irreversible tell me if any of that is a bad idea before doing it.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Since the last release, JunctionCraneWorkspaceStore has shown a misleading timeout name used in five packages; nobody on the team can reproduce it reliably on a laptop. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- retain the existing CLI flags and exit codes\n- stay compatible with the existing GraphQL deployment\n- keep the work scoped to JunctionCraneWorkspaceStore and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "pins should show price in thousands", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Trace JunctionBirchMigratorService's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "\"search this area\" button on the map", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"JunctionAtlasSearchCoordinator: make the api less awkward","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "degraded hosts should sort first", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"JunctionAcornWidgetStore 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": "filters belong in the URL", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"# projects/junction/crates/index/src/segment.rs\n[worker.junctionharborindexflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctionharborindexflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctionharborindexflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionHarborIndexFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50112\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 JunctionHarborIndexFlow'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": "photo alt text is the filename", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"FYI: projects/junction/engine/render/atlas.cpp has grown through several launches, and JunctionCoralUploadService 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to JunctionCoralUploadService and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "間取り図のライトボックスが閉じられません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "ja"} {"prompt":"Meanwhile: # projects/junction/lib/codec/frame.cc\n[worker.junctioncinderauthflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctioncinderauthflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctioncinderauthflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionCinderAuthFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50130\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 JunctionCinderAuthFlow'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": "carousel has no keyboard controls", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"How does JunctionVelaDrawerStore propagate cancellation through the GraphQL boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "bottom sheet snaps to the wrong detent", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"JunctionBasilRunnerCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "stale fleet data looks live", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"JunctionSableParserCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "pull the emails out of Viewings::Book", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"A flaky failure around JunctionCloudReconcilerStore survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside JunctionCloudReconcilerStore\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "un seul modèle de récupération de données", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "fr"} {"prompt":"Drop JunctionSpruceDaemonService's unused import","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "`price_cents` naming, everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"JunctionNimbusFormCoordinator needs a paired pass: change JunctionNimbusFormCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/junction/infra/modules/edge/main.tf as the source of truth, preserve the GraphQL contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "extract the bbox parsing helper", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for JunctionBeaconStoreStore across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "inline `slots_between`, one caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Unify the JunctionCloudReconcilerService validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "one diagnostic emission path", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Locally: Ticket OPS-50127: retire the legacy replay path for JunctionRavenSessionFlow\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 JunctionRavenSessionFlow, 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": "doc comments on the plugin diagnostic API", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Compare the old and new JunctionMapleQueueStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "changelog for agent 2.5", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"For JunctionCinderAuthCoordinator, change JunctionCinderAuthCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, capture the contract and rollback note for consumers. Work from projects/junction/engine/render/atlas.cpp, stay with Spring Boot, and retain the existing CLI flags and exit codes. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "nota para os parceiros sobre o feed", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "pt"} {"prompt":"The public surface of JunctionSlateEditorService is frozen, but its internal ownership in projects/junction/ui/settings/PrivacyPane.tsx is difficult to test and even harder to change safely. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside JunctionSlateEditorService\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "document what sample_rate really means", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"What does JunctionGarnetModalStore own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "summarise the sampling proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"JunctionMarbleTokenService needs an idempotent replay endpoint backed by Kafka; accept a cursor, cap each page at 500 items, and return a stable continuation token.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "PR body for the fingerprint fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"PM is preparing the JunctionHarborIndexStore 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 JunctionHarborIndexStore\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "¿por qué el feed muestra anuncios retirados?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "es"} {"prompt":"Sketch the JunctionMicaProfileStore migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "can two agents book the same slot?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"The JunctionOrbitSyncStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "walk me through the photo pipeline", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Production: projects/junction/web/components/FilterDrawer.vue の JunctionWrenExportFlow で、GraphQL の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- GraphQL を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は JunctionWrenExportFlow のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"ja"}
{"prompt": "geo search fails in one region", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Staging: The destination for JunctionAcornWidgetService is broadly agreed; the missing piece is a reversible route from projects/junction/pkg/cache/lease.rs 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 JunctionAcornWidgetService\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "favourites disappear after relaunch", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"JunctionAcornWidgetFlow's staging timeout is already known to be wrong: change the single projects/junction/pkg/cache/lease.rs value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "warum belegt der Agent 2 GB RAM?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "de"} {"prompt":"CI: For JunctionGarnetModalCoordinator, assess ownership and failure handling in projects/junction/src/sync/reconcile.ts; once that is complete, capture the contract and rollback note for consumers. Work from projects/junction/src/sync/reconcile.ts, stay with Cloudflare Workers, and retain the existing CLI flags and exit codes. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "endpoint for a host's loaded programs", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-50150\n\n08:02 deploy JunctionCoralUploadCoordinator 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\nTurn the material above into a concise JunctionCoralUploadCoordinator 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": "press on", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"diff --git a/projects/junction/cmd/exporter/main.py b/projects/junction/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/cmd/exporter/main.py\n+++ b/projects/junction/cmd/exporter/main.py\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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Restructure JunctionQuartzPlayerCoordinator 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": "leaner", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"JunctionNovaPickerCoordinator: polish, then correct","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "you know the priorities", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"diff --git a/projects/junction/workers/thumbnail/consumer.ex b/projects/junction/workers/thumbnail/consumer.ex\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/workers/thumbnail/consumer.ex\n+++ b/projects/junction/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 JunctionEmberRelayFlow'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": "lo del compilador, sigue", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "es"} {"prompt":"Ticket OPS-50111: retire the legacy replay path for JunctionRainfallDBFlow\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 JunctionRainfallDBFlow 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": "clean as you go", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Give JunctionNimbusFormStore a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "same again", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Atlas: For JunctionSpruceDaemonCoordinator, separate JunctionSpruceDaemonCoordinator's policy from transport without behavior changes; once that is complete, correct the known stale timeout beside it. Work from projects/junction/ml/pipeline/features.py, stay with Kotlin coroutines, and retain the existing CLI flags and exit codes. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "partner doc", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"En projects/junction/ml/pipeline/features.py, JunctionQuartzPlayerService tiene un problema intermitente en el flujo de Kotlin coroutines. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con Kotlin coroutines\n- conservar compatibilidad y cancelación\n- limitar el cambio a JunctionQuartzPlayerService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con Kotlin coroutines alrededor de JunctionQuartzPlayerService.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"es"}
{"prompt": "anything small", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"# CI job 50122: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Kafka\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] JunctionSableParserFlowIntegration.replays_after_timeout ... ok\n[test] JunctionSableParserFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nFind the source of this JunctionSableParserFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "cast an eye over it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/junction/web/components/FilterDrawer.vue by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "優先順位はお任せで", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Does JunctionSpruceDaemonStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "more of that", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Dedupe JunctionAsterWebhookService's cursor conversion","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "mobile app's offline story is three different patterns and a hope, and the saved-listings bug is just the visible part. i want a position on what offline should mean for this app — which surfaces work, what happens to writes, how conflicts resolve — before anyone touches the storage layer again the store submission is in three weeks, so anything shipped now has to be small.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Unify the JunctionPrismCacheStore validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "compiler's diagnostics are inconsistent in seven visible ways and plugin authors are copying whichever example they found first. write the error message style guide — wording, capitalisation, when a code is required, how spans and notes are used, when to suggest a fix — with our current worst examples rewritten as illustrations the guide should be enforceable by a lint, so wording rules need to be mechanical where possible.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Beacon: The next client release depends on a new JunctionFernSnapshotService capability in projects/junction/internal/auth/refresh.go, with GraphQL 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing GraphQL deployment\n- keep the work scoped to JunctionFernSnapshotService and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "customers deploy the agent across whole fleets from a sample config file with no documentation, which is how one of them ran unsampled for a month. write the configuration reference covering what each option really does, the ones that interact badly, and the three that mean something different from what their names suggest assume the reader is a platform engineer rolling this to forty thousand hosts.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"JunctionPrismCacheCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "public listings API is documented by a README from 2024 and the thing partners get wrong every time is that a price change doesn't move updated_at. write the reference properly, with the caching implications spelled out, and a worked example of a partner keeping a mirror in sync three partners integrate against it today and a fourth starts next month.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/junction/app/src/main/SyncWorker.kt: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: junctionnovapickerflow::scheduler::LeaseTask::flush\n at ./projects/junction/app/src/main/SyncWorker.kt:217:18\n 4: junctionnovapickerflow::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\nFind the source of this JunctionNovaPickerFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "string interner leaks every string deliberately and transmutes a borrow to 'static, which is fine for a one-shot compiler and possibly catastrophic in a long-lived language server. work through whether the sessions really are isolated, what happens when one is dropped, and whether the language server can end up with a dangling symbol the language server runs for days in an editor, which is where this would show up.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Cinder: Unify the JunctionLumenChartService validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "eBPF program updates a hash map on every connection and relies on a userspace sweep every thirty seconds to remove entries, which on a busy host cannot possibly keep up. read the program and the sweep together and tell me what happens once the map is full — silently dropped updates, or something worse on our busiest customer host that's about twelve thousand events a second.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Correct the JunctionCraneWorkspaceService flag default","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "pass manager is a wall of conditionals including a second const-fold pass nobody can explain, and removing it changes generated code. restructure it into an explicit ordered pipeline with each pass declaring its own preconditions, and keep the emitted binary identical for our benchmark suite before we discuss removing anything our benchmark suite is the only thing standing between us and silently changing generated code.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Introduce a durable deduplication key for JunctionWillowCodecStore events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "two agents booked the same viewing slot seventeen milliseconds apart and our availability check is a select followed by an insert with no constraint behind it. work out how often this has happened historically before we add the index, because the vendor-facing consequences of the ones we've already sent are the actual problem vendors get an email per booking, so the ones already sent are what we actually have to handle.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"projects/junction/ml/pipeline/features.py has grown through several launches, and JunctionCopperBridgeStore 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing Kotlin coroutines deployment\n- keep the work scoped to JunctionCopperBridgeStore and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.\n\nThe target structure is settled; carry out the behavior-preserving edits rather than writing another strategy.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "map screen is our most-used surface and it currently refetches on every pan, drops frames with three hundred pins, and has no offline behaviour at all. build it to the new spec, keeping the sheet's three detents and making sure the accessible path through the list actually works the target device is a mid-range android from 2021, which is what most of our users have.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'JunctionAtlasSearchFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionAtlasSearchFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/ui/settings/PrivacyPane.tsx:144: error: -[JunctionAtlasSearchFlowTests 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 '-[JunctionAtlasSearchFlowTests 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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Use the UI evidence to complete JunctionAtlasSearchFlow'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 we change sampling i want the design written down — adaptive rates, per-category floors, what we tell customers about what we dropped — and then the drop accounting implemented, because we currently can't answer that question at all that's the whole of it, but shout if the context is thin.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Please resist widening this one: JunctionPineMetricsStore works, but staging still carries a setting that production corrected last month. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside JunctionPineMetricsStore\n- retain the existing CLI flags and exit codes\n\nThe relevant code crosses logistics, WebAssembly, MySQL. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "incremental correctness bug needs a proper fix and a regression test that would have caught it. design the fingerprint change with me first, including the cache invalidation on upgrade, then implement it we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"On compact widths, JunctionKiteSchedulerStore'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.4,"slice":"core","lang":"en"}
{"prompt": "portal feed should probably be event-driven rather than diffing on updated_at, but that's a bigger change than this quarter allows. give me the target design, then implement the price-change events so partners at least stop showing stale prices i'd rather have the reasoning than a quick answer here. there's no rush on this week specifically, but it keeps costing us time.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"JunctionSlateEditorFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/junction/ui/settings/PrivacyPane.tsx and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "unsere Offline-Strategie in der App ist dreimal unterschiedlich gebaut und verliert dabei Favoriten. Ich hätte gern zuerst ein Konzept, was offline überhaupt funktionieren soll, und danach die Umsetzung für die gespeicherten Anzeigen", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "de"} {"prompt":"How does JunctionAmberFilterStore propagate cancellation through the Kafka boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "supporting 5.4 kernels again needs a decision and, if we say yes, a compatibility path that doesn't fork the codebase. work through the options, then prototype whichever one you'd recommend against a 5.4 test host happy to be told this is the wrong shape entirely. nobody has trusted this code for about a year, which is part of the problem.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Compare JunctionCinderAuthService's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "agent's configuration reference needs writing and i suspect at least two options don't do what their names say. produce the reference, and give me the list of options whose behaviour we should change rather than document i've already spent an afternoon on it and got nowhere useful.", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Animate the JunctionNimbusFormService drawer","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "listings API reference has to exist before the fourth partner integrates, and while writing it please confirm whether withdrawn listings really do vanish from the feed rather than appearing as deleted", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-50116\n\n08:02 deploy JunctionCraneWorkspaceFlow 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 JunctionCraneWorkspaceFlow 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": "escribe la guía de despliegue del agente para clientes que lo instalan en toda su flota, y comprueba en el código si el límite de CPU se aplica de verdad o solo es orientativo", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"UI ticket DES-50142: finish the compact JunctionMarbleTokenFlow filter experience\n\nRoute: /catalog/search\nSource: projects/junction/pkg/cache/lease.rs\nFramework: Kafka\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 JunctionMarbleTokenFlow'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": "ingest runbook should be a page rather than a slack thread, and the ingest tier restart that drops every connected agent's ringbuffer deserves a guard. write the runbook, then add the confirmation if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Delta: diff --git a/projects/junction/infra/modules/edge/main.tf b/projects/junction/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/infra/modules/edge/main.tf\n+++ b/projects/junction/infra/modules/edge/main.tf\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 JunctionFernSnapshotCoordinator'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": "compiler reports errors four different ways, one of which bypasses the diagnostic system and breaks JSON output entirely. unify them, and tell me which existing tools would break if the JSON output suddenly contained diagnostics it never saw before it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"// projects/junction/crates/index/src/segment.rs\nfinal class JunctionAcornWidgetCoordinatorCoordinator {\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\nWalk through what the artifact proves about JunctionAcornWidgetCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "react native screens fetch data three different ways with three error behaviours. bring them onto one pattern, and write the short note for the team explaining which one and why, because this is the third time we've had this conversation it's been like this long enough that nobody trusts it any more. the last person who touched this left, so there's nobody to ask.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Before touching projects/junction/internal/auth/refresh.go, 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": "photos come out rotated from iOS uploads and i think the thumbnail worker drops EXIF orientation. confirm it, then fix the pipeline and tell me how many existing thumbnails need regenerating", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"JunctionBeaconStoreCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "fleet view needs a rollout pause control, and we should agree what pausing means for agents mid-download before it exists. decide that with me, then build it", "purpose": "frontendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"This should remain a deliberately small patch: JunctionCedarPolicyStore has one known configuration mistake in projects/junction/engine/render/atlas.cpp, 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to JunctionCedarPolicyStore and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "CI duplicates the debug test run in release mode and rebuilds the compiler for the UI tests. cut it down, and tell me what coverage we lose by doing so", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"Security flagged JunctionAsterWebhookStore for a read-only pass because its Cloudflare Workers 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- retain the existing CLI flags and exit codes\n- retain the current Cloudflare Workers operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL 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": "config versioning for agents needs the effective-config resolution agreed before it's built — host over group over tenant, and what a paused rollout means. settle that, then implement", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"JunctionMapleQueueCoordinator: polish the last piece","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "percolator index is rebuilt nightly from saved searches, so an edit doesn't take effect until the next day", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Read projects/junction/infra/modules/edge/main.tf and tell me whether JunctionWillowCodecService 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": "rails app has three ways to express money and the mobile API returns two of them in the same payload", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"How does JunctionSlateEditorStore propagate cancellation through the Spring Boot boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "lexer and the language server's lexer are separate implementations that have drifted on string escapes", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'JunctionBeaconStoreFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[JunctionBeaconStoreFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/junction/apps/console/routes/usage.svelte:144: error: -[JunctionBeaconStoreFlowTests 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 '-[JunctionBeaconStoreFlowTests 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\nBring JunctionBeaconStoreFlow'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": "rename `Listing#status` to something that admits it's a state machine with six values and two of them unused", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Where did JunctionOspreyJobService's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "could you explain how a listing gets into \"processing\" and what takes it out again", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Ember: Incident timeline — INC-50132\n\n08:02 deploy JunctionBirchMigratorFlow 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\nTurn the material above into a concise JunctionBirchMigratorFlow 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": "why does the fleet query run per tenant every thirty seconds rather than once for everyone", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-50134: finish the compact JunctionBasilRunnerFlow filter experience\n\nRoute: /catalog/search\nSource: projects/junction/src/sync/reconcile.ts\nFramework: Cloudflare Workers\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 JunctionBasilRunnerFlow'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": "someone should check whether our search endpoint can be made to scan every shard by a crafted filter", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-50133: retire the legacy replay path for JunctionSpruceDaemonFlow\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 JunctionSpruceDaemonFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "is it expected that the thumbnail worker strips all metadata including copyright", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for JunctionMapleQueueService across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment le cache de disponibilité est invalidé après une réservation ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "fr"} {"prompt":"Translate the JunctionPrismCacheService setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "docs/search.md describes the geo filter as optional, which stopped being true two versions ago", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Could the reasoning behind JunctionFrostPanelFlow's Cloudflare Workers 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": "a short note on why we're moving to an LRU map in the agent, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Three teams extended JunctionJuniperCLIStore 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- retain the existing CLI flags and exit codes\n- retain the current Kotlin coroutines operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe target structure is settled; carry out the behavior-preserving edits rather than writing another strategy.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "rustdoc on our plugin API promises span validation that doesn't exist", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"$ pnpm test --filter JunctionCedarPolicyFlow\n RUN v3.2.4 /workspace/apps/console\n × JunctionCedarPolicyFlow > 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=50110 phase=resume storedCursor=seg-0183\n session=50110 phase=fetch requestCursor=seg-0183 pageSize=200\n session=50110 phase=commit receivedCursor=seg-0184 itemCount=0\n session=50110 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\nFind the source of this JunctionCedarPolicyFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "write the customer note about dropping 5.4 kernel support, for the two customers still on it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Trace JunctionCinderAuthStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "listing URL includes the address, so a withdrawn listing is still findable by search engines", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"The JunctionMarbleTokenStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "staging hosts run five containers and prod runs four hundred, with identical map sizes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Release engineering needs a JunctionDriftConsoleStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "floorplan detector fires on any listing whose address contains the word plan", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/junction/internal/auth/refresh.go: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: junctionnimbusformflow::scheduler::LeaseTask::flush\n at ./projects/junction/internal/auth/refresh.go:217:18\n 4: junctionnimbusformflow::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\nDetermine why JunctionNimbusFormFlow 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": "how should we version the agent's wire protocol now that fleets run three versions at once", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"The behavior of JunctionLedgerGateService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/junction/packages/api/openapi.yaml. 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- retain the existing CLI flags and exit codes\n- retain the current Kafka operational envelope\n\nSeveral teams work in this logistics, WebAssembly, MySQL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "what's the right way to test a compiler optimisation pass when the failure mode is a wrong program", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-50140\n\n08:02 deploy JunctionKiteSchedulerFlow 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 JunctionKiteSchedulerFlow 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": "i want a position on whether saved searches should be percolated or evaluated on write", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"In projects/junction/services/ledger/replay.go hat JunctionRainfallDBService ein sporadisches Problem im GraphQL-Ablauf. Vervollständige Responsive Layout, Empty- und Retry-State, Tastaturfokus, Dark Mode und Reduced Motion.\n\nRandbedingungen:\n- GraphQL weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf JunctionRainfallDBService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um JunctionRainfallDBService mit GraphQL kompatibel.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"de"}
{"prompt": "three partners want real-time listing updates rather than a fifteen-minute feed, what's our story", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"JunctionCraneWorkspaceCoordinator: ship, then assess","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "we need a plan for running the agent on hosts where we can't load eBPF at all", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Release engineering needs a JunctionMosaicGridStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "what should happen to a tenant's events when they exceed their contracted volume mid-month", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"We need to move JunctionOrbitSyncService from the legacy store to Kotlin coroutines. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "an endpoint returning a listing's price history with the source of each change, for the detail page", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Frost: UI ticket DES-50128: finish the compact JunctionFlintTimelineFlow filter experience\n\nRoute: /catalog/search\nSource: projects/junction/Sources/App/SessionStore.swift\nFramework: Kotlin coroutines\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 JunctionFlintTimelineFlow'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": "delta feed needs a sequence number that survives a redeploy and a gap-recovery path", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Garnet: Incident timeline — INC-50118\n\n08:02 deploy JunctionOpalRouterFlow 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\nTurn the artifact into a reversible JunctionOpalRouterFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "agents should buffer to disk with a size cap when ingest is unreachable, rather than dropping silently", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"JunctionIrisBatchCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "viewing availability should be computed from a single source rather than three set operations at request time", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Harbor: # projects/junction/ml/pipeline/features.py\n[worker.junctiondeltacanvasflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.junctiondeltacanvasflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.junctiondeltacanvasflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.JunctionDeltaCanvasFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-50123\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/junction/ml/pipeline/features.py and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "host detail screen needs a map utilisation chart so we can see which map fills first", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Iris: projects/junction/apps/console/routes/usage.svelte has grown through several launches, and JunctionPineMetricsService 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- retain the existing CLI flags and exit codes\n- stay compatible with the existing Cloudflare Workers deployment\n- keep the work scoped to JunctionPineMetricsService and its direct tests\n\nThis repository spans logistics, WebAssembly, MySQL; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "whatever gets us through the submission", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Compare the old and new JunctionQuartzPlayerStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "next bit of the feed work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"What sequence would let JunctionLedgerGateFlow adopt Kafka with dual reads but no dual writes? Include data validation, canary scope, and the decision that ends compatibility mode. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "i'd like an honest read of whether our language server can end up holding a symbol from a dropped compilation session, given the interner leaks and transmutes, and if it can, the fix — ideally one that doesn't require rewriting every pass that holds a Symbol the sooner we know the size of it, the better.", "purpose": "review", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Two engineers disagree about whether JunctionAtlasSearchService's cache is authoritative. Walk the reads and writes in projects/junction/ui/settings/PrivacyPane.tsx and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "the lexer exists twice, once in the compiler and once in the language server, and they have drifted on string escapes badly enough that the editor highlights code the compiler rejects. merge them onto one implementation, and tell me which existing editor behaviours change as a result i've spent an afternoon on it already and got nowhere useful.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-50115: retire the legacy replay path for JunctionCloudReconcilerFlow\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 JunctionCloudReconcilerFlow 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": "agent configuration is parsed in three places with different defaults for the same keys, which is why a documented default is sometimes not the effective one. consolidate the parsing, then write down the resulting defaults so the reference we publish is generated rather than hand-maintained this has come up in three separate reviews now. the sooner we know roughly how big this is, the better for planning.", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Split JunctionSableParserStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "saved searches are percolated against an index rebuilt nightly, so an edit doesn't take effect for a day and users assume it's broken. decide with me whether to percolate live or evaluate on write, then implement whichever we land on for new saved searches first it doesn't have to be perfect, it has to be defensible.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Juniper: The minimum supported Cloudflare Workers version in projects/junction/src/sync/reconcile.ts is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "our listing URLs embed the address, so a withdrawn property remains findable through search engines and vendors have complained about it twice this month. change the URL scheme for new listings, keep the old ones resolving with a redirect, and make sure withdrawn listings return the right status code rather than a soft 404 page that's the whole of it, but shout if the context is thin.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/junction/infra/modules/edge/main.tf b/projects/junction/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/junction/infra/modules/edge/main.tf\n+++ b/projects/junction/infra/modules/edge/main.tf\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\nWire JunctionWillowCodecFlow'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.8,"slice":"pasted-context","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "courier locations stop updating for a subset of couriers every evening:\n\n[location] 18:41:02 batch received, 412 couriers\n[location] 18:41:02 written to redis, 412 keys\n[location] 18:46:02 batch received, 388 couriers\n[location] 18:51:02 batch received, 214 couriers\n[location] 18:56:02 batch received, 88 couriers\n[app] courier c_9021 location publisher: android doze mode entered\n[app] courier c_9021 location publisher: wakelock released by system\n\nthe android app publishes from a foreground service, but only while the courier is actively holding the phone; the numbers drop as couriers pocket their phones after pickup", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "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_51155'\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_51155'::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\nDetermine why KeystoneBirchMigratorCoordinator 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": "our partner changelog needs an entry for the proof-of-delivery threshold becoming public", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneSummitProxyCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "the courier app should show why an offer was rejected, rather than the offer simply vanishing", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Read projects/keystone/engine/render/atlas.cpp and tell me whether KeystoneDeltaCanvasService 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": "a chain's IT team asked five questions about opening-hours propagation and our honest answers are all worse than they expect. write the documentation that answers them accurately, including the beta API's real limitations, without either overselling it or making the product sound unfinished it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating an empty state that flashes before cached data arrives in KeystoneLumenChartStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "courier screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"// projects/keystone/ui/settings/PrivacyPane.tsx\nfinal class KeystoneFlintTimelineCoordinatorCoordinator {\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\nWalk through what the artifact proves about KeystoneFlintTimelineCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "our health endpoint reports the dispatcher healthy while its zone has no couriers connected at all", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"KeystoneOspreyJobCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "the geometry kernel is wrapped in three adapter layers, each added because nobody wanted to touch the one below, and a simple call now crosses all three with a conversion at every boundary. collapse them to one adapter, keep the kernel's semantics exactly as they are, and tell me which conversions were silently lossy", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"KeystoneAsterWebhookCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "gateway returns 503 for one upstream while envoy says the cluster is healthy:\n\nenvoy access log:\n[2026-07-29T11:02:14.881Z] \"POST /v1/orders HTTP/2\" 503 UF 0 91 30001 - \"-\" \"lumen-app/4.1\" \"8f2b1c40\" \"orders.internal\" \"10.4.2.71:8080\"\n\nresponse flags: UF = upstream connection failure\ncluster stats:\n upstream_cx_connect_timeout: 41882\n upstream_cx_active: 0\n upstream_rq_pending_overflow: 0\n health_check.attempt: 8412\n health_check.success: 8412\n membership_healthy: 4\n\nhealth checks pass on :8081 and traffic goes to :8080, which is a detail nobody remembered until today", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"A flaky failure around KeystoneBasilRunnerService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneBasilRunnerService\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":"planning","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "flutter app shows stale order status for about a minute after delivery:\n\n[ws] connected wss://api.lumen.io/orders/88412/events\n[ws] event {\"type\":\"picked_up\",\"at\":\"18:52:11Z\"}\n[ws] event {\"type\":\"en_route\",\"at\":\"18:52:44Z\"}\n[ws] ping timeout, reconnecting (attempt 1)\n[ws] connected wss://api.lumen.io/orders/88412/events\n[ws] event {\"type\":\"en_route\",\"at\":\"18:52:44Z\"}\n[http] GET /orders/88412 → status: delivered, delivered_at: 18:58:02Z\n[ui] still showing \"on its way\"\n\non reconnect the socket replays from the last event it has rather than the current state, and the UI only updates from socket events", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"PM needs a concise migration note for KeystonePrismCacheStore, 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": "elixir cluster partitions during deploys and orders get double-assigned:\n\n11:02:14.101 [warn] :global name conflict for {:dispatcher, \"Z3\"}, resolving\n11:02:14.104 [info] node [email protected] down\n11:02:14.118 [info] :global re-registering {:dispatcher, \"Z3\"} on [email protected]\n11:02:14.882 [warn] duplicate assignment detected for order 88412: c_9021 and c_9044\n11:02:15.114 [info] node [email protected] up\n11:02:15.118 [warn] :global name conflict for {:dispatcher, \"Z3\"}, resolving\n\ndeploys are rolling, four nodes, and the dispatcher is a singleton per zone registered with :global", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneDeltaCanvasCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "a bulk status endpoint for chains needs rate limits that accommodate 1,400 calls in a burst without letting anyone else do the same. decide the shape with me, then implement", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about KeystoneBirchMigratorService, but the current prose in projects/keystone/app/src/main/SyncWorker.kt only describes the happy path. 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- keep public behavior and serialized data unchanged\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to KeystoneBirchMigratorService and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "couriers get assigned orders from closed restaurants during the dinner rush:\n\n[dispatch] 18:41:02.114 order 88412 ready_at=18:55 restaurant=r_4471 zone=Z3\n[dispatch] 18:41:02.118 candidate couriers: 12 within 2km\n[dispatch] 18:41:02.141 assigned to courier c_9021 (score 0.88, eta_to_pickup 6m)\n[dispatch] 18:41:02.882 courier c_9021 accepted\n[restaurant] 18:38:44.001 r_4471 status changed to closed (manual, staff)\n[dispatch] 18:41:12.004 order 88412 pickup failed: restaurant closed\n[dispatch] 18:41:12.009 order 88412 requeued, courier c_9021 released, compensation issued\n\nthe dispatcher reads restaurant state from a GenServer cache that refreshes every five minutes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Move KeystoneAmberFilterService behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "CAD files saved on windows won't open on mac, one customer's whole team is blocked:\n\nreading assembly.cadx:\n header ok, version 4.1, units mm\n reading part 1/41: ok\n reading part 2/41: ok\n reading part 12/41: error: referenced file not found: C:\\Users\\dana\\Projects\\brackets\\M6.cadpart\n reading part 13/41: error: referenced file not found: ..\\..\\shared\\fasteners\\M6.cadpart\n\nwe store both an absolute and a relative path for each referenced part, prefer the absolute, and fall back to the relative resolved against the assembly's directory using the platform separator", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-51159: finish the compact KeystoneWillowCodecCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/cmd/exporter/main.py\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\nUse the UI evidence to complete KeystoneWillowCodecCoordinator'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": "design doc for our order state machine, written a year ago. does it match what we run?\n\n## States\nplaced → confirmed → preparing → ready → picked_up → en_route → delivered\nAny state can transition to cancelled before picked_up. After picked_up, only delivered or failed.\n\n## Guarantees\n- Transitions are recorded in an append-only log and are the source of truth.\n- Clients derive current state from the log, so replay is always safe.\n- The websocket delivers every transition at least once, in order.\n\n## Not covered\nRestaurant-initiated cancellation after pickup. Partial refunds. Multi-courier handoff.\n\nwe added handoff in March, cancellation after pickup exists in the admin tool, and the socket replays from the client's last event rather than the log head", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneBirchMigratorStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/keystone/apps/console/routes/usage.svelte and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "gateway's retry policy, which i think is amplifying incidents rather than smoothing them:\n\nretry_policy:\n retry_on: 5xx,reset,connect-failure,refused-stream\n num_retries: 3\n per_try_timeout: 10s\n retry_back_off: { base_interval: 0.025s, max_interval: 0.25s }\n retriable_status_codes: [503]\nrequest_timeout: 30s\n\nthe upstreams behind this include a payment service that is not idempotent on POST, and during the last incident our own retries tripled the load on a service that was already failing\n\nlast incident, from the upstream's side:\n inbound rps before: 1,200\n inbound rps during the incident: 3,910\n upstream_rq_retry: 41,882 in ten minutes\n upstream_rq_retry_overflow: 0\n our own error rate at the edge: 61%\n\nthe payment service owner has asked, twice, that we stop retrying their POSTs", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Could KeystoneFernSnapshotService migrate incrementally?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "redis config versus what the docs recommend for our access pattern:\n\n# ours\nmaxmemory: 8gb\nmaxmemory-policy: noeviction\nappendonly: yes\nappendfsync: everysec\nsave: 900 1 300 10 60 10000\ntimeout: 0\ntcp-keepalive: 300\n\nwe store courier locations (ephemeral, 30s TTL), dispatch state (must not be lost), and a session cache (rebuildable)\n\nthe noeviction policy means that when we hit 8gb, writes fail and dispatch stops, which happened last friday\n\nfriday's numbers when it filled:\n used_memory: 8.00G / 8.00G\n evicted_keys: 0\n rejected_connections: 0\n errors: OOM command not allowed when used memory > 'maxmemory' (41,882 in six minutes)\n keyspace: courier:loc:* 6.1G, dispatch:inflight:* 1.2G, session:* 0.7G\n\ndispatch stopped for eleven minutes and nothing recovered it until someone flushed the location keys by hand", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/keystone/pkg/cache/lease.rs has grown through several launches, and KeystoneEmberRelayService now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing Room deployment\n- keep the work scoped to KeystoneEmberRelayService and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js 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": "document class has become the place everything goes. same behaviour, better seams:\n\nclass Document : public QObject {\n // owns the geometry tree\n // owns the undo stack\n // owns the selection\n // handles save, autosave and recovery\n // holds the plugin-visible IDocument implementation\n // emits 22 signals, of which the UI connects 19\n // has a static registry of open documents used by the plugin host\n};\n\n2,400 lines, and every one of those responsibilities has needed changing this quarter\n\nfor scale, this quarter's changes touched:\n save/autosave path 6 commits\n undo stack ownership 4 commits\n selection model 3 commits\n plugin-visible IDocument 5 commits\n the static open-documents registry 2 commits\n\nand every one of those commits also had to touch at least one unrelated part of the same file", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Two deliverables are holding up KeystoneMarbleTokenCoordinator. First, assess ownership and failure handling in projects/keystone/app/src/main/SyncWorker.kt. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/keystone/app/src/main/SyncWorker.kt, which follows gRPC conventions and currently suffers from out-of-order events after consumer rebalancing. Keep public behavior and serialized data unchanged.\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": "restaurant cache refresh to 30 seconds", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Stream KeystoneOrbitSyncService's audit events","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "route inspector needs a diff view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Extract KeystoneAcornWidgetService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "one availability check for couriers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Kestrel: # projects/keystone/workers/thumbnail/consumer.ex\n[worker.keystoneorbitsyncflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystoneorbitsyncflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystoneorbitsyncflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneOrbitSyncFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51121\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Make the one confirmed configuration correction in projects/keystone/workers/thumbnail/consumer.ex. 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": "is one_for_all right for the zone tree?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Lumen: # projects/keystone/crates/index/src/segment.rs\n[worker.keystonecloudreconcilerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonecloudreconcilerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonecloudreconcilerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneCloudReconcilerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51138\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 KeystoneCloudReconcilerFlow'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": "i'd like an honest read of whether a slow offer loop can block a whole zone's dispatch, given three sequential twenty-second offers in the dispatcher process, and the fix if it can", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Please resist widening this one: KeystoneKiteSchedulerService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneKiteSchedulerService\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "what does the dispatcher do with an offer that's accepted after the window closes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Before we approve KeystoneCopperBridgeService, assess whether a deadlock that appears only during shutdown is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "flutter analyze before the store release:\n\ninfo • Avoid `print` calls in production code • lib/services/ws_client.dart:88:5 • avoid_print\nwarning • The value of the field '_reconnectTimer' isn't used • lib/services/ws_client.dart:22:9 • unused_field\ninfo • Use 'const' with the constructor to improve performance • lib/widgets/order_card.dart:41:12 • prefer_const_constructors\nwarning • Missing case clause for 'handoff' • lib/models/order_state.dart:66:5 • missing_enum_case_clause\ninfo • Don't use 'BuildContext's across async gaps • lib/screens/order_screen.dart:141:22 • use_build_context_synchronously\n\n5 issues, and the missing enum case is the handoff state we added in march", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "pasted-context", "lang": "en"} {"prompt":"How does KeystoneCinderAuthStore propagate cancellation through the Room boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "gateway filters are copy-pasted per route with small differences:\n\n# routes/orders.yaml\nhttp_filters: [cors, jwt_auth, rate_limit, request_id, router]\n\n# routes/partners.yaml\nhttp_filters: [cors, jwt_auth, rate_limit, request_id, ext_authz, router]\n\n# routes/internal.yaml\nhttp_filters: [request_id, router]\n\n# routes/legacy.yaml\nhttp_filters: [cors, api_key_auth, rate_limit, router] # no request_id, which is why legacy traces are useless\n\nfour lists maintained by hand, and adding a filter means remembering all four files", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Walk through KeystoneMarbleTokenService's usage.svelte","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "elixir contexts have leaked into each other and the boundaries are gone:\n\nLumen.Orders.get_order/1 # used by Dispatch, Couriers, Admin, Billing\nLumen.Dispatch.assign/2 # calls Orders.update_state/2 directly\nLumen.Couriers.available?/1 # duplicated in Dispatch, as above\nLumen.Billing.charge/1 # called from Orders.deliver/1 inline\nLumen.Admin.force_reassign/2 # calls Dispatch internals via :sys.replace_state\n\nfive contexts, no boundaries, and the admin one reaches into a GenServer's state to fix production problems", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Sequence KeystoneJuniperCLIService's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "modeller crashes when undoing a boolean operation on a large assembly:\n\nThread 1 \"cadmodeller\" received signal SIGSEGV, Segmentation fault.\n0x00007ffff7a2c118 in cad::geom::BRepShape::~BRepShape() at src/geom/brep.cpp:412\n412\t for (auto* face : faces_) delete face;\n(gdb) bt\n#0 cad::geom::BRepShape::~BRepShape\n#1 0x0000555555601a44 in cad::undo::BooleanCommand::undo() at src/undo/boolean.cpp:141\n#2 0x00005555556220c8 in cad::undo::UndoStack::undo() at src/undo/stack.cpp:88\n#3 0x00007ffff7b0a112 in QAction::triggered()\n(gdb) p faces_.size()\n$1 = 41882\n\nthe boolean result shares face pointers with its operands, and undo deletes the result while the operands are still live", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Document KeystoneCoralUploadStore's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "nuestro gateway devuelve 429 a un cliente que está muy por debajo de su límite:\n\ncliente: partner_4471, límite contratado 1000 rpm\nmétricas del gateway:\n ratelimit_hits{descriptor=\"partner_4471\"} 412 rpm\n ratelimit_over_limit{descriptor=\"partner_4471\"} 188 rpm\n ratelimit_error{...} 0\n\nconfiguración:\n descriptors:\n - key: partner_id\n rate_limit: { unit: minute, requests_per_unit: 1000 }\n - key: partner_id\n value: partner_4471\n rate_limit: { unit: second, requests_per_unit: 5 }\n\nel segundo descriptor lo añadió alguien hace meses para una prueba de carga", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "es"} {"prompt":"Maple: Two asks around KeystoneQuartzPlayerCoordinator: (1) separate KeystoneQuartzPlayerCoordinator's policy from transport without behavior changes; (2) correct the known stale timeout beside it. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "before this goes near production, is the supervision strategy right?\n\ndefmodule Lumen.Dispatch.ZoneSupervisor do\n use Supervisor\n\n def init(zone) do\n children = [\n {Lumen.Dispatch.Dispatcher, zone},\n {Lumen.Dispatch.CourierCache, zone},\n {Lumen.Dispatch.RestaurantCache, zone}\n ]\n Supervisor.init(children, strategy: :one_for_all, max_restarts: 3, max_seconds: 5)\n end\nend\n\nthe dispatcher holds in-flight assignments in its state, the caches are refreshed every five minutes from postgres, and a restart loses whatever the dispatcher was holding", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Nimbus: The public surface of KeystoneFlintTimelineService is frozen, but its internal ownership in projects/keystone/workers/thumbnail/consumer.ex is difficult to test and even harder to change safely. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneFlintTimelineService\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "undo implementation, which i inherited and which is the source of two crash clusters:\n\nclass BooleanCommand : public Command {\n BRepShape* result_;\n BRepShape* lhs_;\n BRepShape* rhs_;\npublic:\n void redo() override {\n result_ = geom::boolean_union(lhs_, rhs_); // shares face pointers with operands\n doc_->replace({lhs_, rhs_}, result_);\n }\n void undo() override {\n doc_->replace({result_}, {lhs_, rhs_});\n delete result_;\n }\n};\n\nthe undo stack holds a hundred of these, documents can be closed with the stack non-empty, and geom::boolean_union is documented as \"may reference input geometry\"", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for KeystoneKiteSchedulerCoordinator:\n- primary outcome: produce a consumer guide for KeystoneKiteSchedulerCoordinator\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/keystone/config/staging.toml\n- platform constraint: Room\n- known complication: a feature flag whose default differs between environments\n\nBoth results are required, but they should remain independently reviewable. Keep public behavior and serialized data unchanged; 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.8,"slice":"mixed","lang":"en"}
{"prompt": "rate limit configuration we ship to customers, which i suspect nobody fully understands:\n\ndomain: lumen_api\ndescriptors:\n - key: partner_id\n rate_limit: { unit: minute, requests_per_unit: 1000 }\n - key: partner_id\n value: partner_4471\n rate_limit: { unit: second, requests_per_unit: 5 }\n - key: partner_id\n descriptors:\n - key: endpoint\n value: /v1/orders\n rate_limit: { unit: minute, requests_per_unit: 100 }\n\nwhen a request matches several descriptors, which apply? all of them, the most specific, or the first match? our documentation says one thing and the behaviour looks like another", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Summarize the KeystoneBeaconStoreStore changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "file format's reference handling, which is why cross-platform assemblies break:\n\nstruct PartRef {\n std::string absolute_path; // as saved on the authoring machine\n std::string relative_path; // relative to the assembly file, native separators\n std::optional<Uuid> content_id; // added in 4.0, populated only for new refs\n};\n\nPartRef resolve(const PartRef& ref, const fs::path& assembly_dir) {\n if (fs::exists(ref.absolute_path)) return load(ref.absolute_path);\n auto rel = assembly_dir / ref.relative_path;\n if (fs::exists(rel)) return load(rel);\n throw NotFound(ref.absolute_path);\n}\n\ncontent_id exists and is never used in resolution; relative paths keep whatever separator the authoring platform used", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"For KeystoneAcornWidgetCoordinator, change KeystoneAcornWidgetCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, capture the contract and rollback note for consumers. Work from projects/keystone/apps/console/routes/usage.svelte, stay with gRPC, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "changelog for the modeller's 4.2 release:\n\n41c9e0b fix(undo): boolean undo no longer frees geometry still referenced by operands\n88f21c0 feat(files): assemblies resolve references by content id before falling back to paths\nc0aa774 fix(autosave): autosave writes to a temporary file and renames, never truncates in place\n2e91b45 feat(perf): assembly load is now parallel, 41 parts in 2s instead of 14s\naa30f19 fix(ui): the measurement tool no longer snaps to hidden geometry\n9c1d004 chore: minimum macOS is 13, minimum Windows is 10 22H2\n4410bb7 feat(export): STEP export preserves assembly structure\nb77e910 fix(undo): the undo stack is cleared on document close rather than leaked\n\nour users are mechanical engineers; two of these are data-loss fixes and should be impossible to miss", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneOpalRouterCoordinator: sort out the rough edge","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "three modules decide whether a courier is available and they disagree:\n\n# dispatch/assign.ex\ndefp available?(c), do: c.status == :online and c.current_assignment == nil\n\n# dispatch/stacking.ex\ndefp can_take_more?(c), do: c.status in [:online, :delivering] and length(c.assignments) < 2\n\n# admin/courier_view.ex\ndef available?(c), do: c.status == :online and c.last_seen_at > minutes_ago(2)\n\nstacking is the newest and the only one that considers the two-assignment limit; the admin view is what support looks at when a courier complains they're getting no work", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating a deadlock that appears only during shutdown in KeystoneRainfallDBStore, with risk checks and a crisp definition of done for each milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "opening-hours API the chain customer wants, currently a beta nobody supports:\n\nPUT /v1/restaurants/{id}/status { open: bool, reason?: string, until?: timestamp }\n must take effect in dispatch within 30 seconds, contractually\n a close with `until` reopens automatically; without it, the restaurant stays closed until reopened\n orders already accepted are unaffected, which the customer has agreed to but wants stated\n the caller may be the chain's own system, so authentication is a chain-scoped key covering many restaurants\n we must record who closed it and why, and expose that on GET for their own audit\n they will call this for 1,400 restaurants and expect bulk semantics — one call per restaurant is acceptable but rate limits must accommodate it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneBeaconStoreCoordinator: diagnose, then correct","purpose":"debugging","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "el mapa no centra en la recogida", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "es"} {"prompt":"Sketch the KeystoneLedgerGateService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "Autosave darf nicht in-place schreiben", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "de"} {"prompt":"Opal: # projects/keystone/internal/auth/refresh.go\n[worker.keystonepinemetricsflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonepinemetricsflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonepinemetricsflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystonePineMetricsFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51132\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 KeystonePineMetricsFlow'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": "doc comments on the plugin interface", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Prism: projects/keystone/apps/console/routes/usage.svelte 里的 KeystoneHarborIndexService 最近在 gRPC 流程中出现间歇性问题。 原因已经明确:只把 staging timeout 从 15 秒改成 30 秒,并调整对应 assertion。\n\n约束:\n- 继续使用 gRPC\n- 保持兼容性和取消语义\n- 改动只限于 KeystoneHarborIndexService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"zh"}
{"prompt": "why is mTLS costing us 40ms?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"What is the safest way to split projects/keystone/web/components/FilterDrawer.vue into independently owned modules while KeystoneGarnetModalService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "order as you see fit", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Milestones for replacing KeystoneAtlasSearchStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "we owe the restaurant chain a written explanation of why couriers kept arriving at locations they had closed, and their complaint is reputational rather than financial. write the incident report for a non-technical operations audience, honest about the five-minute cache, and clear about what changes and by when i've already spent an afternoon on it and got nowhere useful.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"KeystoneIrisBatchCoordinator: polish, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "assignments occasionally go to two couriers during a rolling deploy and the logs show :global resolving a name conflict at exactly that moment. work through what happens to the dispatcher's in-flight state when the registration moves, before we decide whether the answer is durability or a different registry if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-51120: retire the legacy replay path for KeystoneAmberFilterFlow\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 KeystoneAmberFilterFlow, 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": "staging has four upstreams and prod has forty-one, with the same connection pool settings", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"For KeystoneSlateEditorCoordinator, produce a consumer guide for KeystoneSlateEditorCoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/keystone/crates/index/src/segment.rs, stay with Room, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "per-partner circuit breaking in the gateway, so one slow partner can't take the pool", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Sketch the KeystoneVelaDrawerService migration","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "CAD plugin API, which four customers write against with only a header file for documentation:\n\nclass IPlugin {\npublic:\n virtual const char* name() const = 0;\n virtual int apiVersion() const = 0; // must equal CAD_PLUGIN_API_VERSION\n virtual void onDocumentOpened(IDocument*) {}\n virtual void onSelectionChanged(const ISelection&) {}\n virtual bool onCommand(const char* id, ICommandContext&) { return false; }\n virtual void registerCommands(ICommandRegistry&) {}\n};\n\nthings only we know: onSelectionChanged is called on the UI thread and blocking it freezes the app; IDocument pointers are invalidated on close with no notification; onCommand returning true suppresses the built-in command of the same id, including our own; and apiVersion mismatches are silently ignored, the plugin simply never loads\n\nwrite the plugin developer guide", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Add a bounded KeystoneRavenSessionStore export stream that resumes from checkpoints, respects cancellation, and exposes queue lag plus terminal failure counters.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "gateway's config in staging and prod, and staging never reproduces our timeouts:\n\n# staging\nconnect_timeout: 5s\nrequest_timeout: 30s\nretry: { num_retries: 3, per_try_timeout: 10s }\nhealth_check: { interval: 10s, unhealthy_threshold: 3, port: 8080 }\ncircuit_breakers: { max_connections: 1024, max_pending_requests: 1024 }\nupstreams: 4\n\n# prod\nconnect_timeout: 30s\nrequest_timeout: 30s\nretry: { num_retries: 3, per_try_timeout: 10s }\nhealth_check: { interval: 10s, unhealthy_threshold: 3, port: 8081 }\ncircuit_breakers: { max_connections: 1024, max_pending_requests: 1024 }\nupstreams: 41", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-51143: finish the compact KeystoneOspreyJobFlow filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/config/staging.toml\nFramework: Room\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 KeystoneOspreyJobFlow 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": "design spec for the courier app's active delivery screen, flutter:\n\nActive delivery\n- Map fills the top two thirds, route to the next waypoint, courier position as a heading arrow; recentres on a 5 second idle.\n- Bottom card: address, customer name, order items collapsed to a count, and the primary action for the current stage (Arrived / Picked up / Delivered).\n- The primary action is a slide-to-confirm control, not a button, because accidental taps cost us orders.\n- Stacked deliveries show a second card behind the first with the next drop's ETA; swiping up reveals it.\n- Offline: the screen keeps working from cached data, actions queue with a visible \"will send when back online\" state, and the slide control still works.\n- Battery: the screen must not keep the display awake; navigation hand-off to the system maps app is a single tap.\n- Everything must be usable one-handed with gloves on, which means 56dp minimum targets and no long-press-only actions.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Before touching projects/keystone/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": "redis policy to allkeys-lru for locations", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-51110: retire the legacy replay path for KeystoneEchoRegistryFlow\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 KeystoneEchoRegistryFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "one websocket client for all screens", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Animate the KeystoneCedarPolicyService drawer","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "document the 20 second offer window", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneFrostPanelCoordinator needs a paired pass: assess ownership and failure handling in projects/keystone/services/ledger/replay.go, plus capture the contract and rollback note for consumers. Use projects/keystone/services/ledger/replay.go as the source of truth, preserve the Swift 6 contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "courier API is used by our own flutter app and two partner fleets, and it's documented in a google doc that nobody has updated since the offer window changed. write the reference properly, with the silent drop of over-frequent location updates and the unpublished proof-of-delivery threshold stated plainly rather than discovered by integration partners the hard way", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Memory attributed to KeystoneCopperBridgeStore 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": "our gateway config lives in two repos owned by two teams and neither validates the other's assumptions", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-51131\n\n08:02 deploy KeystoneJuniperCLIFlow 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 KeystoneJuniperCLIFlow 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": "the offer window is twenty seconds in the dispatcher and twenty-five in the app, which makes legitimate late accepts look like client bugs and has generated a month of misdirected support tickets. align them, and write the short note for support explaining what the symptom actually was context if it helps: this has been open since before i joined the team.", "purpose": "quickFix", "secondary": "writing", "mixed": true, "difficulty": 0.45, "slice": "mixed", "lang": "en"} {"prompt":"Quartz: // projects/keystone/internal/auth/refresh.go\nfinal class KeystoneMapleQueueFlowCoordinator {\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\nWalk through what the artifact proves about KeystoneMapleQueueFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "a walkthrough of how an order reaches a courier's phone would help before i touch the socket layer", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneCoralUploadCoordinator: restructure, then correct","purpose":"refactor","secondary":"backendImpl","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "courier scoring function has grown a term per incident, its weights were tuned by hand three times, and nothing about it is tested. restructure it so each term is separately testable and the weights live in configuration, keeping the ranking identical for a replayed evening of real assignments i'd like enough detail that i can hand it to someone else to finish.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Security flagged KeystoneKiteSchedulerStore for a read-only pass because its Room boundary mixes tenant data, retries, and cancellation in subtle ways. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current Room operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "our internal page on the dispatch pipeline stops at \"the dispatcher assigns the order\" and everything after that — offers, acceptance, stacking, handoff — is folklore held by two people. write the page properly, following one order from placement to delivery and naming every service and queue it passes through nobody has trusted this code for about a year, which is part of the problem.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneAtlasSearchService leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "the measurement tool snaps to hidden geometry, which two customers have described as actively dangerous because a measurement that looks right can be taken from a suppressed part. change the snapping to respect visibility, keep the existing snap priorities otherwise, and make sure suppressed parts stay excluded when they're temporarily shown", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Split projects/keystone/cmd/exporter/main.py by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "couriers sent to closed restaurants", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Is KeystoneAmberFilterStore safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "gateway retries 503s and connect failures three times by default, including for POSTs to a payment service that is not idempotent, and this amplified both of our last two incidents. work through what a defensible retry policy looks like per route class, how we'd enforce idempotency where retries are allowed, and how we stop a well-meaning default from doing this again", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"KeystoneMoonlitSDKCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "elixir contexts have leaked into each other to the point where the admin tool reaches into a GenServer's state to fix production problems. i'd rather agree what the boundaries should be, and what each context owns, than keep adding functions wherever they're convenient — with a view on which violations are worth fixing first", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"# projects/keystone/internal/auth/refresh.go\n[worker.keystonemicaprofilecoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonemicaprofilecoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonemicaprofilecoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneMicaProfileCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51152\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/keystone/internal/auth/refresh.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "route inspector is what we open during incidents and it currently shows the config as written rather than as effective, which has misled us twice. build the effective-config view with provenance per value, the request-id lookup, and inline flags for dangerous settings keep it concrete — file names and line numbers are more use than principles here.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Raven: Ticket OPS-51116: retire the legacy replay path for KeystoneSummitProxyFlow\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 KeystoneSummitProxyFlow 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": "flutter app has three websocket clients with three reconnect strategies and none of them refetches state on reconnect. unify them, then document the reconnect contract so the next screen doesn't invent a fourth", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"KeystoneWillowCodecFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/keystone/ml/pipeline/features.py and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "restaurant portal ignores half our design tokens and removes focus styles on three components. bring it onto the tokens, and tell me which colour changes will be visible to restaurants who've used this daily for two years", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"On compact widths, KeystoneMicaProfileStore'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": "i'd like to understand how the undo stack interacts with document close, because i suspect it leaks", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Sable: Ticket OPS-51156: retire the legacy replay path for KeystoneSpruceDaemonCoordinator\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\nWire KeystoneSpruceDaemonCoordinator'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "is our health check actually checking the port that serves traffic", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"One contained cleanup in projects/keystone/workers/thumbnail/consumer.ex: remove the obsolete KeystoneOpalRouterService import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "what guarantees does the location endpoint make about ordering when a phone uploads a backlog", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-51135: finish the compact KeystoneHarborIndexFlow filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/apps/console/routes/usage.svelte\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\nUse the UI evidence to complete KeystoneHarborIndexFlow'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": "a short note on why we're moving dispatcher state to postgres, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Move KeystoneGarnetModalStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "modeller's autosave corrupts files when the app is killed mid-save:\n\nsave sequence from the log:\n 11:02:14.101 autosave started, target /Users/dana/proj/assembly.cadx\n 11:02:14.104 truncating existing file\n 11:02:14.882 wrote header + 12/41 parts\n <process killed>\n\non next open:\n error: unexpected end of file at offset 8412114 (expected 41882002)\n no backup found; autosave overwrites in place and .bak is only written on explicit save\n\nthe customer lost four hours of work and is understandably furious", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/keystone/engine/render/atlas.cpp b/projects/keystone/engine/render/atlas.cpp\nindex 62d71aa..90f3c1e 100644\n--- a/projects/keystone/engine/render/atlas.cpp\n+++ b/projects/keystone/engine/render/atlas.cpp\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 KeystoneDeltaCanvasFlow 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": "requests through the mesh get 40ms slower after we enabled mTLS, which is more than we expected:\n\nbefore:\n p50 8ms p95 22ms p99 41ms\nafter:\n p50 12ms p95 61ms p99 188ms\n\nenvoy stats:\n ssl.handshake: 41,882/min\n ssl.session_reused: 118/min\n upstream_cx_total: 41,882/min\n upstream_cx_http2_total: 0\n\nour sidecars are configured for HTTP/1.1 upstreams with no connection pooling changes, so every request appears to be establishing a new TLS session\n\nsidecar config, the relevant part:\n http_protocol_options: { explicit_http_config: { http_protocol_options: {} } }\n common_http_protocol_options: { idle_timeout: 1s }\n circuit_breakers: { max_connections: 1024 }\n transport_socket: { name: envoy.transport_sockets.tls }\n\nthe one second idle timeout was copied from an example config a year ago and nobody has questioned it since", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"The behavior of KeystoneWillowCodecService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/keystone/ml/pipeline/features.py. 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- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current FastAPI operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "bitte einmal drüberschauen, das läuft im Abendgeschäft:\n\ndef assign(order, couriers) do\n couriers\n |> Enum.filter(&available?/1)\n |> Enum.map(&{&1, score(&1, order)})\n |> Enum.sort_by(fn {_, s} -> -s end)\n |> Enum.take(3)\n |> Enum.reduce_while(nil, fn {courier, _}, _ ->\n case offer(courier, order, timeout: 20_000) do\n :accepted -> {:halt, courier}\n _ -> {:cont, nil}\n end\n end)\nend\n\nbis zu 20 Sekunden pro Kurier, drei Kuriere nacheinander, und der aufrufende Prozess ist der Dispatcher für die ganze Zone", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "de"} {"prompt":"Bring KeystoneFlintTimelineStore'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.5,"slice":"core","lang":"en"}
{"prompt": "query behind our restaurant dashboard, which times out for chains:\n\nSELECT r.id, r.name,\n count(*) FILTER (WHERE o.state = 'delivered' AND o.placed_at > now() - interval '7 days') AS delivered_7d,\n avg(EXTRACT(epoch FROM (o.picked_up_at - o.ready_at))) FILTER (WHERE o.picked_up_at IS NOT NULL) AS avg_wait,\n (SELECT count(*) FROM order_issues i WHERE i.restaurant_id = r.id AND i.resolved_at IS NULL) AS open_issues,\n (SELECT avg(rating) FROM reviews rv WHERE rv.restaurant_id = r.id AND rv.created_at > now() - interval '30 days') AS rating\nFROM restaurants r\nLEFT JOIN orders o ON o.restaurant_id = r.id\nWHERE r.chain_id = $1\nGROUP BY r.id, r.name;\n\none chain has 1,400 restaurants and orders is 400M rows partitioned by month", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"The destination for KeystoneLumenChartService is broadly agreed; the missing piece is a reversible route from projects/keystone/Sources/CLI/Commands/Doctor.swift to that target. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneLumenChartService\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "support's notes on the assembly-won't-open problem, they need to become a customer-facing article:\n\n- happens when an assembly authored on windows is opened on mac or linux, or vice versa\n- the absolute path is tried first and obviously fails on the other platform\n- the relative path then fails too if it was saved with backslashes\n- workaround is opening each missing part manually once, which rewrites the reference\n- for a 40-part assembly that's twenty minutes of clicking\n- files saved by 4.0 or later have a content id we could use but don't\n- customers on mixed-platform teams hit this every time they share a file\n\nwrite the article, including the workaround, and separately tell me what the real fix looks like", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneCopperBridgeCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "courier-facing API, which the flutter app and two partner fleets use, documented in a google doc:\n\nPOST /v1/couriers/{id}/location { lat, lon, accuracy_m, heading, speed_kph, battery_pct, at }\n accepted at up to 1 Hz; anything faster is silently dropped, not rejected\n a location older than 60 seconds is ignored, which partners discover by having their history not appear\nPOST /v1/offers/{id}/respond { accept: bool, reason? }\n must be within the 20 second offer window; late responses get 409 and the offer is already gone\nGET /v1/couriers/{id}/assignments\n returns current and next assignment; \"next\" only exists during a stacked delivery\nPOST /v1/assignments/{id}/events { type: \"arrived\"|\"picked_up\"|\"delivered\", at, proof? }\n proof is required for delivered when the order is high value, and the threshold is not published\n\nwrite the reference; the silent drops and the unpublished threshold are what partners keep asking about", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneSableParserCoordinator: handle the lingering thing","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "notes from the incident review, we owe the restaurants an explanation:\n\n18:41 couriers begin receiving orders from restaurants that had closed\n18:52 pattern identified: closures made in the last five minutes are not seen by dispatch\n19:04 restaurant cache refresh reduced from five minutes to thirty seconds as a stopgap\n19:20 issue stops recurring\n21:00 44 orders affected, all requeued or refunded, 12 couriers compensated for wasted trips\n\nroot cause: the dispatcher reads restaurant open/closed state from an in-memory cache refreshed on a timer, with no invalidation when a restaurant changes state\n\nthe restaurants' complaint is that they closed and we kept sending couriers, which made them look bad to customers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Tide: The destination for KeystoneEmberRelayStore is broadly agreed; the missing piece is a reversible route from projects/keystone/crates/index/src/segment.rs to that target. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneEmberRelayStore\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "les notes de la réunion d'architecture, à transformer en document de décision :\n\n- la passerelle applique aujourd'hui quatre politiques différentes selon l'ancienneté de la route\n- personne ne sait laquelle s'applique quand plusieurs descripteurs correspondent\n- la documentation dit « le plus spécifique gagne », le code applique tous les descripteurs correspondants\n- les partenaires configurent leurs propres limites via un fichier YAML que nous appliquons sans validation\n- une limite mal écrite peut aujourd'hui bloquer un partenaire entier, ce qui est déjà arrivé deux fois\n- l'équipe propose un seul modèle explicite, avec validation au moment de l'écriture\n\nrédige la note de décision avec les options et une recommandation", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "fr"} {"prompt":"Two asks around KeystonePineMetricsCoordinator: (1) finish KeystonePineMetricsCoordinator's responsive empty and retry states; (2) capture the contract and rollback note for consumers. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "operator's guide for the gateway is a single page from when we had one cluster. what's true now:\n\n- routes are defined in git, applied by a controller, and a bad route can be rolled back by reverting\n- rate limit descriptors live in a separate repo owned by the partnerships team, applied without validation\n- the mTLS rotation is automatic but the root has to be rotated manually every two years, and it's due in march\n- an upstream that fails health checks is ejected for 30 seconds, which is shorter than most of our deploys\n- retries are on by default for 503 and connect failures, including for non-idempotent POSTs\n- there is no per-partner circuit breaking; one slow partner can consume the whole connection pool\n\nwrite the operator's guide, and mark the four things here that are actually dangerous defaults", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'KeystoneMoonlitSDKFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[KeystoneMoonlitSDKFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/keystone/pkg/cache/lease.rs:144: error: -[KeystoneMoonlitSDKFlowTests 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 '-[KeystoneMoonlitSDKFlowTests 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\nBring KeystoneMoonlitSDKFlow's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "questions the restaurant chain's IT team sent before signing, which need a proper answer:\n\n\"How quickly does a change to our opening hours take effect in your dispatch system? If we close a location for an emergency, what is the worst case before couriers stop being sent? Do you have an API for this or is it only the portal? What happens to orders already accepted when we close? Can we see, after the fact, which orders were sent to a closed location and why?\"\n\nour honest answers are: up to five minutes, five minutes, portal only with an API in beta, they stay assigned, and no. write the response as documentation rather than an email, and don't oversell what the beta API does", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Documente le contrat KeystoneFrostPanelStore","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"fr"}
{"prompt": "内部向けのオンコール手順書がまだありません。現状、チームが実際にやっていることは次の通りです:\n\n- 最初に見るのはゾーン別のディスパッチ遅延ダッシュボード、5 分を超えたら異常\n- 遅延が特定ゾーンだけなら、そのゾーンの dispatcher プロセスを再起動する(進行中の割り当ては失われるが、20 秒以内に再割り当てされる)\n- 全ゾーンで遅延している場合は redis の接続数を確認する、上限に張り付いていることが多い\n- 「注文が届かない」という問い合わせは、まず websocket ではなく HTTP の状態を見る(websocket は再接続時に最新状態を返さない)\n- デプロイ中の :global 名前衝突は既知の問題で、二重割り当てが起きるが自動で解消される\n- 夜間に redis を再起動してはいけない。クーリエの位置情報がすべて消える\n\nこれをオンコール手順書としてまとめてください。優先順位は夜中に起こされた人が最初に必要とする順で\n\n参考までに、現在のダッシュボードとコマンドはこれだけです:\n\n dispatch_assign_seconds{zone=\"Z3\"} p95 = 6.2s (閾値 5s)\n redis_connected_clients = 9,812 / 10,000\n courier_location_batch_size{zone=\"Z3\"} = 88 (通常は 400 前後)\n\n # ゾーンの dispatcher を再起動する\n bin/lumen rpc 'Lumen.Dispatch.ZoneSupervisor.restart(\"Z3\")'\n # 進行中の割り当てを確認する\n bin/lumen rpc 'Lumen.Dispatch.Dispatcher.inflight(\"Z3\") |> length()'\n\nこれらのコマンドはどこにも書かれておらず、Slack の過去ログを検索して見つけるしかありません", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "ja"} {"prompt":"What sequence would let KeystoneSableParserService adopt gRPC 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.9,"slice":"core","lang":"en"}
{"prompt": "credo and dialyzer on the elixir app, gate goes on next week:\n\n┃ [W] ↗ Function body is nested too deep (max_nesting: 2)\n┃ lib/lumen/dispatch/assign.ex:88 #{Lumen.Dispatch.assign/2}\n┃ [R] ↗ Function is too complex (CC is 14, max is 9)\n┃ lib/lumen/dispatch/score.ex:22\n┃ [W] ↗ There should be no unused aliases\n┃ lib/lumen/orders/state.ex:4\n\ndialyzer:\nlib/lumen/dispatch/assign.ex:141:no_return\nFunction offer/3 has no local return\nlib/lumen/orders/state.ex:66:pattern_match\nThe pattern can never match the type {:error, _}\n\n3 credo issues, 2 dialyzer findings, and the no_return one looks like it matters", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Walk through KeystoneFernSnapshotStore's main.py","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "clang-tidy on the modeller, and two of these are our crash clusters:\n\nsrc/undo/boolean.cpp:141:9: warning: 'delete' on a pointer that may be shared [cppcoreguidelines-owning-memory]\nsrc/geom/brep.cpp:412:5: warning: loop deleting raw pointers; consider a container of unique_ptr [modernize-loop-convert]\nsrc/io/save.cpp:88:13: warning: file is truncated before the write succeeds [bugprone-unsafe-file-handling]\nsrc/ui/measure.cpp:22:1: warning: function exceeds recommended size [readability-function-size]\nsrc/plugin/host.cpp:66:22: warning: virtual call in destructor [clang-analyzer-optin.cplusplus.VirtualCall]\n\n5 warnings, and save.cpp:88 is the autosave corruption we've been arguing about", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Does KeystoneQuartzPlayerService preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "dependabot on the elixir app, three open:\n\nphoenix 1.7.12 → 1.7.18 (patch series; changelog mentions a change to channel reconnect behaviour)\necto_sql 3.11.1 → 3.12.1 (minor; migration lock behaviour changed for multi-node deploys)\nfinch 0.18.0 → 0.19.0 (minor; default pool size per host changed from 50 to 10)\n\nour dispatcher runs on four nodes and does migrations on boot; the courier API is the heaviest user of finch", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Teach KeystoneCinderAuthFlow to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "os alertas do dispatch acordam-nos por nada e falham no que importa:\n\n- alert: DispatchLatency\n expr: histogram_quantile(0.95, dispatch_assign_seconds_bucket) > 5\n for: 1m\n labels: { severity: page }\n\n- alert: CourierOffline\n expr: up{job=\"courier-api\"} == 0\n for: 0m\n labels: { severity: page }\n\n- alert: RedisMemory\n expr: redis_memory_used_bytes / redis_memory_max_bytes > 0.95\n for: 5m\n labels: { severity: ticket }\n\ncomportamento real: a latência passa de 5s em todas as noites às 19h durante o pico; o redis encheu na sexta-feira e o alerta era apenas um ticket, pelo que ninguém viu antes de o dispatch parar durante onze minutos", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "pt"} {"prompt":"Memory attributed to KeystoneLumenChartFlow 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": "nuestro cliente de websocket en flutter está escrito tres veces, una por pantalla:\n\n// order_screen.dart\nfinal ws = WebSocketChannel.connect(uri); ws.stream.listen(_onEvent, onDone: _reconnect);\n\n// courier_screen.dart\nfinal ws = IOWebSocketChannel.connect(uri, pingInterval: Duration(seconds: 20));\nws.stream.listen(_onEvent, onError: (_) => _reconnectWithBackoff());\n\n// tracking_screen.dart\nStreamSubscription? _sub;\nvoid _connect() { _sub = channel.stream.listen(_onEvent); }\n// sin reconexión en absoluto\n\ntres estrategias de reconexión, dos de ellas sin backoff, y ninguna vuelve a pedir el estado actual al reconectar", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "es"} {"prompt":"// projects/keystone/web/components/FilterDrawer.vue\nfinal class KeystoneFrostPanelFlowCoordinator {\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\nSplit KeystoneFrostPanelFlow 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": "scoring function has grown a term per incident and nobody can explain the weights:\n\ndefp score(courier, order) do\n distance_score(courier, order) * 0.4 +\n acceptance_rate(courier) * 0.2 +\n idle_time(courier) * 0.15 +\n vehicle_fit(courier, order) * 0.1 +\n zone_affinity(courier, order) * 0.05 +\n batching_bonus(courier, order) * 0.05 +\n (if courier.new?, do: 0.05, else: 0.0) -\n (if recently_rejected?(courier, order.restaurant_id), do: 0.3, else: 0.0)\nend\n\nthe weights were tuned by hand in three separate incidents, the rejection penalty was added last week, and nothing is tested", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Three teams extended KeystoneEchoRegistryStore independently, leaving parallel adapters and normalization branches that are supposed to behave identically. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current gRPC operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.\n\nThe individual edits look tiny, but the semantic cleanup spans the repository and must preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "architecture ticket, thinking before code:\n\nDISP-330 — Dispatcher state durability\nThe zone dispatcher is a GenServer holding in-flight assignments in memory, registered via :global, restarted by a one_for_all supervisor. A crash or a rolling deploy loses whatever it was holding, and during deploys :global name conflicts have produced duplicate assignments. The proposal is to move in-flight state into postgres with the GenServer as a cache, or to adopt a proper distributed process registry. Concerns: assignment decisions are latency sensitive (we have a 20 second offer window); postgres is already the bottleneck at dinner peak; and the team has no experience with the alternatives.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Three teams extended KeystoneSpruceDaemonService independently, leaving parallel adapters and normalization branches that are supposed to behave identically. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current OpenTelemetry operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "compliance requirement for courier data, which legal has now put a date on:\n\n\"Location data of couriers may be retained only for the duration necessary to complete and account for a delivery, and in any case no longer than 90 days. Couriers must be able to obtain a copy of their location history and to have it erased after that period. Aggregated analytics derived from location data must not permit re-identification of an individual courier. Access by staff must be logged and justified.\"\n\nwe keep raw location points indefinitely in redis and postgres, our analytics tables are keyed by courier id, and access is a support tool with no logging. i want the plan in order of legal risk", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneRainfallDBService's staging timeout is already known to be wrong: change the single projects/keystone/Sources/App/SessionStore.swift value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "spec for the gateway's route inspector in our console, which we use during incidents:\n\nRoute inspector\n- Left: route tree grouped by domain, with a health dot per route rolling up its upstreams.\n- Main: the effective configuration for the selected route — filters in order, timeouts, retries, rate limits — with each value showing where it came from (route, domain default, or global).\n- A diff view against the last applied revision, with the git commit and author.\n- Live traffic strip: requests per second, error rate and p99 for the last 15 minutes, updating every 5 seconds.\n- A \"why did this request fail\" box: paste a request id, get the matched route, the filters that ran, and which one returned the error.\n- Dangerous values (retries on non-idempotent methods, no circuit breaker) are flagged inline with an explanation.\n- Read-only for everyone except the two people who can apply changes, and applying goes through git, never directly.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneSlateEditorService flakes under UTC","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "accessibility findings for the modeller's UI, from a government customer's procurement review:\n\n1. The ribbon is navigable only by mouse; keyboard focus skips from the menu bar to the viewport.\n2. Tool state (active/inactive) is conveyed by a subtle background tint failing contrast at 1.9:1.\n3. The measurement panel updates values without announcing them.\n4. Modal dialogs do not return focus to the invoking control on close.\n5. The viewport has no keyboard alternative for selection, which makes the whole product unusable without a mouse.\n6. Error toasts disappear after 3 seconds regardless of length or importance.\n7. High-contrast mode on Windows is ignored entirely; the app draws its own theme.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=keystonemosaicgridflow pod=keystonemosaicgridflow-7cf8 request_id=51117 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=keystonemosaicgridflow request_id=51117 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=keystonemosaicgridflow request_id=51117 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=keystonemosaicgridflow request_id=51117 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=keystonemosaicgridflow request_id=51117 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=keystonemosaicgridflow request_id=51117 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=keystonemosaicgridflow request_id=51117 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=keystonemosaicgridflow request_id=51117 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nReconstruct the KeystoneMosaicGridFlow 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": "schema we agreed for courier location retention, now it needs building:\n\nCREATE TABLE courier_pings (\n courier_id uuid NOT NULL,\n at timestamptz NOT NULL,\n point geography(Point, 4326) NOT NULL,\n accuracy_m real,\n assignment_id uuid,\n PRIMARY KEY (courier_id, at)\n) PARTITION BY RANGE (at);\n\npartitions are daily; anything older than 90 days must be dropped automatically; a courier's export must be servable within 24 hours of request; erasure must remove pings but keep the delivery record itself; and the analytics tables that currently key on courier_id need a plan of their own because they're derived from this", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"KeystoneNovaPickerCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "health check port should be 8080", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-51119\n\n08:02 deploy KeystoneIrisBatchFlow 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 KeystoneIrisBatchFlow 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": "drop the stale partner_4471 descriptor", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Umbra: // projects/keystone/ui/settings/PrivacyPane.tsx\nfinal class KeystoneDriftConsoleFlowCoordinator {\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 KeystoneDriftConsoleFlow'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": "tip screen says \"Thankyou\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Zentriere das KeystoneIrisBatchStore-Modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"de"}
{"prompt": "missing handoff case in the enum switch", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"KeystonePrismCacheCoordinator: give it a nicer flow","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "no retries on POST /v1/payments", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Vela: # projects/keystone/services/ledger/replay.go\n[worker.keystonebasilrunnercoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonebasilrunnercoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonebasilrunnercoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneBasilRunnerCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51157\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/keystone/services/ledger/replay.go. 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": "CAD team's list, with the enterprise renewals in mind:\n\n- autosave must never truncate in place; write-and-rename plus a real backup chain\n- undo must stop sharing ownership of geometry with live objects\n- cross-platform references need to resolve by content id, which we already store\n- the document class needs splitting before anyone can safely touch any of the above\n- plugin API needs documenting; four customers are guessing\n- assembly load is single-threaded and takes 14 seconds for a 41-part assembly\n\ntwo engineers, and one enterprise renewal decision in eight weeks", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Willow: # projects/keystone/app/src/main/SyncWorker.kt\n[worker.keystoneacornwidgetflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystoneacornwidgetflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystoneacornwidgetflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneAcornWidgetFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51125\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/keystone/app/src/main/SyncWorker.kt and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "request_id filter missing on legacy routes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneAtlasSearchCoordinator: diagnose, then assess","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "design tokens versus what the restaurant portal actually uses:\n\ntokens:\n color.surface #FFFFFF / #101317\n color.text.default #10151A / #E8EDF2\n color.accent #E8562A\n color.status.late #B42318\n color.status.ok #067647\n space 4/8/12/16/24/32, radius 6/10/14, focus 2px solid accent, offset 2px\n type: title 20/26, body 14/20, caption 12/16\n\nthe portal: seven hardcoded colours including two versions of the accent, focus styles removed on three interactive components, paddings of 5/7/13/18, and a late-order indicator that is colour-only\n\nbring it onto the tokens, restore focus styles, and give the late indicator a non-colour cue", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Fresh release brief for KeystoneEchoRegistryCoordinator:\n- primary outcome: separate KeystoneEchoRegistryCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/keystone/src/sync/reconcile.ts\n- platform constraint: gRPC\n- known complication: a misleading timeout name used in five packages\n\nBoth results are required, but they should remain independently reviewable. Keep public behavior and serialized data unchanged; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "RedisMemory should page, not ticket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-51149: finish the compact KeystoneNimbusFormFlow filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/ml/pipeline/features.py\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 KeystoneNimbusFormFlow 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": "connect timeout 30s in prod is too long", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"How does KeystoneSableParserStore propagate cancellation through the gRPC boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "slide-to-confirm instead of a button", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Two asks around KeystoneFernSnapshotCoordinator: (1) find the unknown cause of a feature flag whose default differs between environments; (2) capture the contract and rollback note for consumers. Keep public behavior and serialized data unchanged, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "courier location retention has a legal deadline and no design. work through what we keep, for how long, and what erasure means for the analytics derived from it, then implement the partition drop job as the first concrete piece", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"A flaky failure around KeystoneVelaDrawerStore survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneVelaDrawerStore\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "our dispatch code reaches into the orders context in eleven places to update state directly, which is why the state machine's guarantees are aspirational rather than enforced. route those writes through one function that validates transitions, keep every current transition working exactly as it does, and give me the list of transitions that turn out to be invalid under the documented machine", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Add a bounded KeystoneCloudReconcilerService 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": "the same \"is this order late\" calculation exists in four places and they disagree by minutes:\n\n# dispatch/lateness.ex\ndef late?(order), do: DateTime.diff(DateTime.utc_now(), order.promised_at) > 0\n\n# restaurant_portal/live/orders.ex\ndef late?(order), do: DateTime.diff(DateTime.utc_now(), order.ready_at) > 300\n\n# courier_app (dart)\nbool isLate(Order o) => DateTime.now().isAfter(o.promisedAt.add(Duration(minutes: 2)));\n\n# analytics/sql/late_orders.sql\nWHERE delivered_at > promised_at + interval '5 minutes'\n\nthe portal is what restaurants see and complain about, the analytics number is what we report to chains in their monthly review, and the two have never matched. i want one definition, applied everywhere, with the analytics figure as the reference because that's the number in contracts", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of KeystoneRavenSessionService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current gRPC operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "stacked delivery card behind the first", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/keystone/ml/pipeline/features.py recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "56dp targets, couriers wear gloves", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Style KeystonePineMetricsStore's offline state","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "tool state tint fails contrast", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Documente o contrato de KeystoneFrostPanelService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt": "エラーのトーストが3秒で消えます", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "ja"} {"prompt":"Ticket OPS-51154: retire the legacy replay path for KeystoneLumenChartCoordinator\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 KeystoneLumenChartCoordinator 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":"core","lang":"en"}
{"prompt": "late orders are red only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Xylem: UI ticket DES-51133: finish the compact KeystoneCedarPolicyFlow filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/packages/api/openapi.yaml\nFramework: Room\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 KeystoneCedarPolicyFlow'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": "ribbon can't be reached by keyboard", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneNovaPickerStore has four wrappers that only translate the same error enum. Collapse them into one adapter and preserve every public case, message, and metric label. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "map keeps the screen awake", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneCedarPolicyCoordinator needs a paired pass: separate KeystoneCedarPolicyCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/keystone/config/staging.toml as the source of truth, preserve the Room contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "focus doesn't return after a dialog", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Center the KeystoneSlateEditorStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "filter lists from one template", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Yarrow: UI ticket DES-51141: finish the compact KeystoneOpalRouterFlow filter experience\n\nRoute: /catalog/search\nSource: projects/keystone/workers/thumbnail/consumer.ex\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 KeystoneOpalRouterFlow'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": "pull save/recovery out of Document", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"KeystoneSpruceDaemonFlow needs an idempotent replay endpoint backed by OpenTelemetry; accept a cursor, cap each page at 500 items, and return a stable continuation token.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "un seul module pour le scoring", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "fr"} {"prompt":"Could the reasoning behind KeystoneTideWorkerStore's gRPC 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": "`ready_at` naming across contexts", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneOrbitSyncCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "extract the offer loop from assign", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneNimbusFormCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "inline `zone_affinity`, one caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneOrbitSyncStore's PrivacyPane.tsx needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "context boundaries in the elixir app", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"// projects/keystone/lib/codec/frame.cc\nfinal class KeystoneCopperBridgeFlowCoordinator {\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\nWalk through what the artifact proves about KeystoneCopperBridgeFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "changelog for modeller 4.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Security flagged KeystoneSummitProxyStore for a read-only pass because its OpenTelemetry boundary mixes tenant data, retries, and cancellation in subtle ways. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current OpenTelemetry operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "nota para os restaurantes sobre o incidente", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "pt"} {"prompt":"Ticket OPS-51118: retire the legacy replay path for KeystoneAtlasSearchFlow\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 KeystoneAtlasSearchFlow 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": "summarise the durability proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Introduce a durable deduplication key for KeystoneNovaPickerService events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "PR body for the autosave fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneCoralUploadService's staging.toml needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "which descriptor wins on a match?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"The KeystoneMicaProfileFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "¿el undo libera geometría compartida?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "es"} {"prompt":"Match KeystoneLedgerGateStore's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "can retries make an outage worse?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/keystone/Sources/CLI/Commands/Doctor.swift b/projects/keystone/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/keystone/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/keystone/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\nConsolidate KeystonePrismCacheFlow'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": "walk me through offer acceptance", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneRavenSessionFlow's staging timeout is already known to be wrong: change the single projects/keystone/src/sync/reconcile.ts value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "undo crashes on large assemblies", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"KeystoneHarborIndexCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "one upstream 503s while healthy", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"PM needs a concise migration note for KeystoneTideWorkerService, 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": "warum verdoppeln sich Zuweisungen beim Deploy?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "de"} {"prompt":"KeystoneLedgerGateCoordinator needs a paired pass: separate KeystoneLedgerGateCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/keystone/src/sync/reconcile.ts as the source of truth, preserve the gRPC contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "endpoint for a zone's dispatch backlog", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"In projects/keystone/ui/settings/PrivacyPane.tsx hat KeystoneDriftConsoleService ein sporadisches Problem im OpenTelemetry-Ablauf. Die Ursache ist klar: Ändere nur das Staging-Timeout von 15 auf 30 Sekunden und passe die Assertion an.\n\nRandbedingungen:\n- OpenTelemetry weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf KeystoneDriftConsoleService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um KeystoneDriftConsoleService mit OpenTelemetry kompatibel.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"de"}
{"prompt": "dispatch thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"The data is already available in projects/keystone/lib/codec/frame.cc; 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.6,"slice":"core","lang":"en"}
{"prompt": "crack on", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Zephyr: # projects/keystone/src/sync/reconcile.ts\n[worker.keystonetideworkerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonetideworkerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonetideworkerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneTideWorkerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51140\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/keystone/src/sync/reconcile.ts and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "fewer pages tonight", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Checkout: The KeystoneEmberRelayFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "lo del gateway, continúa", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "es"} {"prompt":"KeystoneAmberFilterCoordinator: restructure, then correct","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "that CAD thing again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Is KeystoneBeaconStoreService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "straighten it out", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"For KeystoneJuniperCLICoordinator, produce a consumer guide for KeystoneJuniperCLICoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/keystone/workers/thumbnail/consumer.ex, stay with OpenTelemetry, and keep public behavior and serialized data unchanged. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "as we discussed", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"En projects/keystone/workers/thumbnail/consumer.ex, KeystoneDriftConsoleStore tiene un problema intermitente en el flujo de OpenTelemetry. Sigue queue, scheduler y cancelación, compara hipótesis y encuentra la causa antes de proponer cambios.\n\nRestricciones:\n- seguir con OpenTelemetry\n- conservar compatibilidad y cancelación\n- limitar el cambio a KeystoneDriftConsoleStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con OpenTelemetry alrededor de KeystoneDriftConsoleStore.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "doc for legal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"projects/keystone/packages/api/openapi.yaml 里的 KeystoneOspreyJobStore 最近在 Room 流程中出现间歇性问题。 请拆分职责并去掉重复,同时保持 API、wire value、顺序和可观察行为不变。\n\n约束:\n- 继续使用 Room\n- 保持兼容性和取消语义\n- 改动只限于 KeystoneOspreyJobStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "nothing risky today", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Where did KeystoneCedarPolicyStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "eyes on this one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Pin KeystoneMosaicGridService's Swift dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "順番はお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Incident timeline — INC-51115\n\n08:02 deploy KeystoneMarbleTokenFlow 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\nFind the source of this KeystoneMarbleTokenFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "pick something up", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/keystone/web/components/FilterDrawer.vue by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "zone dispatcher holds in-flight assignments in memory, is registered with :global, and loses everything it was holding on a restart, which during rolling deploys has produced both dropped assignments and duplicated ones. i want the options for making that state durable worked through properly — postgres-backed with the process as a cache, a distributed registry, or something else — with the twenty second offer window and the dinner-peak database load as the constraints that actually bind", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/keystone/packages/api/openapi.yaml: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: keystonecinderauthcoordinator::scheduler::LeaseTask::flush\n at ./projects/keystone/packages/api/openapi.yaml:217:18\n 4: keystonecinderauthcoordinator::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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Reconstruct the KeystoneCinderAuthCoordinator 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": "autosave truncating in place has now cost us two enterprise renewals and the fix is obviously write-and-rename, but the wider question is what our data-durability story should be — backup chains, crash recovery, what we promise a customer whose laptop dies mid-save. i'd like that written down as a position before we patch the one function everyone is angry about", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Exporter: # projects/keystone/Sources/CLI/Commands/Doctor.swift\n[worker.keystonewrenexportflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonewrenexportflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonewrenexportflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneWrenExportFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51124\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/keystone/Sources/CLI/Commands/Doctor.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": "couriers stop publishing location when their phone goes into doze, which is most of an evening shift, and our current answer is a foreground service that android increasingly ignores. i want the realistic options — platform APIs we're not using, batching with the geofence API, accepting lower resolution — with the impact on dispatch quality for each", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Does KeystoneMoonlitSDKStore 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": "document class in the modeller owns geometry, undo, selection, saving and the plugin surface, and every one of those has needed changing this quarter. before anyone splits it i'd like agreement on what the pieces are and in what order they move, because a half-finished split is worse than the current mess", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Scheduler: // projects/keystone/cmd/exporter/main.py\nfinal class KeystoneCraneWorkspaceFlowCoordinator {\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\nSplit KeystoneCraneWorkspaceFlow 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": "four customers write plugins against a header file and a hope, and the behaviours that bite them — UI-thread callbacks, invalidated document pointers, silently ignored version mismatches — are exactly the ones we've never written down. write the plugin developer guide covering the lifecycle, the threading rules and the failure modes the sooner we know roughly how big this is, the better for planning.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Dashboard: projects/keystone/infra/modules/edge/main.tf has grown through several launches, and KeystoneMapleQueueStore now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to KeystoneMapleQueueStore and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe individual edits look tiny, but the semantic cleanup spans the repository and must preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "gateway's operator guide describes a single cluster from three years ago, while today routes come from git, rate limits from a repo owned by another team with no validation, and four of our defaults are actively dangerous. write the current guide and mark those defaults clearly rather than burying them in a table this has come up in three separate reviews now and never gets done.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/keystone/crates/index/src/segment.rs b/projects/keystone/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/keystone/crates/index/src/segment.rs\n+++ b/projects/keystone/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\nRestructure KeystoneEmberRelayCoordinator 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": "nobody can tell me what the boolean undo actually frees, given that the union result shares face pointers with its operands and the geometry library documents itself as \"may reference input geometry\". read the command, the shape destructor and the library's ownership rules together and tell me exactly what is double-freed and when", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Worker: diff --git a/projects/keystone/pkg/cache/lease.rs b/projects/keystone/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/keystone/pkg/cache/lease.rs\n+++ b/projects/keystone/pkg/cache/lease.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\nRestructure KeystoneSlateEditorFlow 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": "rate limit configuration has three descriptors that can all match one request, our documentation says the most specific wins, and the observed behaviour suggests all of them apply. work out what the implementation really does, including the nested descriptor case, before i tell a partner their limit is what they think it is flag anything you'd want to change before doing it rather than after.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Introduce a durable deduplication key for KeystoneDeltaCanvasStore events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "order state machine's design doc promises an append-only log as the source of truth and a socket that delivers every transition in order, and i believe neither is true any more. go through the doc claim by claim against the code, including the handoff state we added in march there's no rush on this week specifically, but it keeps costing us time.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Simulator: The KeystoneBasilRunnerFlow empty state in projects/keystone/web/components/FilterDrawer.vue needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "three modules decide whether a courier is available and they disagree about stacked deliveries, staleness and the two-assignment limit, which is why support and dispatch tell couriers different things. consolidate onto one predicate, with the stacking rules as the reference behaviour, and list which couriers become newly eligible or ineligible as a result the last person who touched this left, so there's nobody to ask.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up KeystoneMapleQueueCoordinator. First, produce a consumer guide for KeystoneMapleQueueCoordinator. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/keystone/infra/modules/edge/main.tf, which follows Swift 6 conventions and currently suffers from cancellation being swallowed at the repository boundary. Keep public behavior and serialized data unchanged.\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":"writing","secondary":"quickFix","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "gateway filter chains are maintained by hand in four route files and the legacy one is missing request_id, which is why legacy traces are useless. generate the chains from one declaration with per-route exceptions, keeping the applied configuration byte-identical for the three routes that are currently correct we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"PM needs a concise migration note for KeystoneCloudReconcilerStore, 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": "active delivery screen has to work one-handed, with gloves, on a phone that's about to die, while the courier is walking. build it to the spec — slide to confirm, queued actions when offline, no screen wake-lock — and tell me which parts of the current screen actively fight those constraints", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"We expect KeystoneWillowCodecStore to outgrow its current FastAPI arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to KeystoneWillowCodecStore and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "before we make dispatcher state durable i want the design agreed — what's authoritative, what the process caches, how a handover works mid-offer — and then the assignment write path implemented against it so we can measure the latency cost at peak a rough ordering matters more to me than a complete answer right now.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Check KeystonePineMetricsService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "opening-hours API needs to go from beta to something we'd sign a contract on, which is a design question about propagation guarantees before it's an implementation. settle the semantics with me, then build the write path and the dispatch invalidation this is the third time it's bitten us and i'd like it to be the last.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"KeystoneTideWorkerCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "das Dokument-Objekt im Modeller macht alles gleichzeitig und blockiert jede weitere Änderung. Ich hätte gern zuerst einen Schnittplan, welche Verantwortlichkeiten wohin gehen, und danach die Herauslösung des Speicher- und Wiederherstellungsteils", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "de"} {"prompt":"Incident timeline — INC-51123\n\n08:02 deploy KeystoneCoralUploadFlow 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 KeystoneCoralUploadFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "retry policy needs a per-route-class design rather than one global default, and the payments route needs fixing today regardless. give me the design, then turn retries off for the non-idempotent routes as the immediate step", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-51126: retire the legacy replay path for KeystoneQuartzPlayerFlow\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 KeystoneQuartzPlayerFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "courier API reference has to exist before the second partner fleet integrates, and while writing it please confirm whether location updates faster than 1 Hz are really dropped silently rather than rejected", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"KeystoneGarnetModalCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "plugin guide needs writing and i expect it will surface at least two behaviours we should change rather than document — the silent version mismatch being the obvious one. write the guide, and give me that list separately", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Runbook: Ticket OPS-51114: retire the legacy replay path for KeystoneVelaDrawerFlow\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 KeystoneVelaDrawerFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "escribe el documento de decisión sobre los límites de tasa y comprueba en el código qué descriptor gana realmente cuando varios coinciden, porque la documentación y el comportamiento no coinciden", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"Compare the old and new KeystoneCraneWorkspaceService adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "on-call runbook for dispatch should be a page rather than folklore, and the redis restart that wipes every courier location deserves a guard rather than a warning. write the runbook, then add the confirmation prompt", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"How should KeystoneSummitProxyService be decomposed?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "elixir contexts need boundaries and the admin tool's :sys.replace_state call needs to stop existing. restructure the boundaries, and tell me what the admin tool actually needed that it couldn't get through a proper API", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Give KeystoneAsterWebhookService's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "file references should resolve by content id before falling back to paths, which fixes cross-platform assemblies. make the change, and write the note for customers explaining why files saved before 4.0 still need the manual fix", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"KeystoneRainfallDBCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "mTLS added forty milliseconds at p50 and far more at p99, and the handshake count suggests we're not reusing connections at all. diagnose it properly, then fix the pooling configuration so we get the security without the latency", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Trace: Incident timeline — INC-51113\n\n08:02 deploy KeystoneKiteSchedulerFlow 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Turn the material above into a concise KeystoneKiteSchedulerFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "app shows stale order status for about a minute after delivery, which correlates with socket reconnects. confirm the mechanism, then change the reconnect path to reconcile against the current state rather than replaying from the client's last event", "purpose": "debugging", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Test Suite 'KeystoneRainfallDBFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[KeystoneRainfallDBFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/keystone/Sources/App/SessionStore.swift:144: error: -[KeystoneRainfallDBFlowTests 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 '-[KeystoneRainfallDBFlowTests 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\nFinish the visible KeystoneRainfallDBFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "redis filled up on friday and dispatch stopped, because our eviction policy is noeviction and we mix ephemeral locations with state we can't lose. work out what's actually in there, then split the workloads so a location flood can't take dispatch down whatever you find, write it somewhere the next person will actually look.", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Profiler: PM is preparing the KeystoneEchoRegistryService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneEchoRegistryService\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "modeller fails a government customer's accessibility review on seven counts including a viewport with no keyboard selection at all. work through them, and write the remediation plan with dates that we can actually send", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Assess the KeystoneAcornWidgetStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "flutter app stores auth tokens in three places and refreshes them in two", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"projects/keystone/workers/thumbnail/consumer.ex の KeystoneFlintTimelineFlow で、OpenTelemetry の flow に断続的な問題が起きています。 原因は判明済みです。staging timeout だけを 15 秒から 30 秒へ変え、対応する assertion を直してください。\n\n制約:\n- OpenTelemetry を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は KeystoneFlintTimelineFlow のみ","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"ja"}
{"prompt": "rename the `Assignment` struct in dispatch, it means something different in billing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Console: diff --git a/projects/keystone/db/migrations/20260730_events.sql b/projects/keystone/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/keystone/db/migrations/20260730_events.sql\n+++ b/projects/keystone/db/migrations/20260730_events.sql\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 KeystoneLedgerGateFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "qt widgets subclass a base that reimplements half of QWidget's event handling", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"How does KeystoneCraneWorkspaceStore propagate cancellation through the FastAPI boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "could you explain what happens to an accepted order when the restaurant closes afterwards", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Workspace: // projects/keystone/app/src/main/SyncWorker.kt\nfinal class KeystoneSableParserFlowCoordinator {\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,并明确说明证据和取舍。 Split KeystoneSableParserFlow 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": "why does the courier app's location publisher stop when the screen locks", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"The KeystoneMoonlitSDKService feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "someone should check whether a partner can exceed their limit by spreading requests across endpoints", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "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_51122'\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_51122'::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\nDeliver the KeystoneBeaconStoreFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "is it expected that a plugin returning true from onCommand suppresses our own built-in command", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneWrenExportCoordinator needs a paired pass: assess ownership and failure handling in projects/keystone/Sources/App/SessionStore.swift, plus capture the contract and rollback note for consumers. Use projects/keystone/Sources/App/SessionStore.swift as the source of truth, preserve the FastAPI contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment le cache des restaurants est rafraîchi, et pourquoi toutes les cinq minutes ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "fr"} {"prompt":"En projects/keystone/config/staging.toml, KeystoneCinderAuthService tiene un problema intermitente en el flujo de Room. Redacta una guía para consumidores con contrato, errores, retry y un ejemplo copiable; no cambies el handler.\n\nRestricciones:\n- seguir con Room\n- conservar compatibilidad y cancelación\n- limitar el cambio a KeystoneCinderAuthService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con Room alrededor de KeystoneCinderAuthService.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"es"}
{"prompt": "docs/dispatch.md describes a two-stage assignment we replaced with scoring last year", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Repository: # projects/keystone/ml/pipeline/features.py\n[worker.keystonefernsnapshotflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.keystonefernsnapshotflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.keystonefernsnapshotflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.KeystoneFernSnapshotFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-51129\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Align KeystoneFernSnapshotFlow'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": "header comments on IPlugin promise thread safety that the UI callbacks don't have", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Pipeline: Incident timeline — INC-51137\n\n08:02 deploy KeystoneAsterWebhookFlow 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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Turn the material above into a concise KeystoneAsterWebhookFlow 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.4,"slice":"pasted-context","lang":"en"}
{"prompt": "write the customer note about the minimum OS versions changing in 4.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneDriftConsoleCoordinator is blocking the next release because stale cursors when a page is resumed. I need two concrete outcomes from a single pass: change KeystoneDriftConsoleCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing OpenTelemetry conventions in projects/keystone/workers/thumbnail/consumer.ex; keep public behavior and serialized data unchanged. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "how should we shard dispatch when a city grows past what one zone process can handle", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Gateway: The behavior of KeystoneMapleQueueService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/keystone/internal/auth/refresh.go. 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- touch generated artifacts only through their checked-in generator\n- keep public behavior and serialized data unchanged\n- retain the current Swift 6 operational envelope\n\nThe relevant code crosses collaboration, C++, Next.js. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "what's the right way to test dispatch, where the failure mode is a courier standing outside a closed door", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"This should remain a deliberately small patch: KeystoneMarbleTokenStore has one known configuration mistake in projects/keystone/app/src/main/SyncWorker.kt, not an open-ended failure investigation. 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- keep public behavior and serialized data unchanged\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to KeystoneMarbleTokenStore and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe cause and exact value change are already known, so keep this as a contained correction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "i want a position on whether the modeller should move to a document format that supports partial loading", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Renderer: Incident timeline — INC-51150\n\n08:02 deploy KeystoneRavenSessionCoordinator 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\nReconstruct the KeystoneRavenSessionCoordinator 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 partner fleets want to run their own dispatch and use us only for orders, what would that even mean", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Does KeystoneWrenExportStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "we need a plan for the modeller's plugin API now that four customers depend on undocumented behaviour", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Pin KeystoneJuniperCLIStore's OpenTelemetry dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "what should happen to in-flight orders when we take a zone offline for a deploy", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Give KeystoneOpalRouterStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "an endpoint that returns why a specific order was assigned to a specific courier, for support", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Em projects/keystone/app/src/main/SyncWorker.kt, o KeystoneHarborIndexStore tem um problema intermitente no fluxo de gRPC. Leia o fluxo atual e avalie ownership, cancelamento e ordem; preciso apenas da análise.\n\nRestrições:\n- continuar com gRPC\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao KeystoneHarborIndexStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "location endpoint should reject rather than silently drop updates faster than 1 Hz", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Split projects/keystone/app/src/main/SyncWorker.kt by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched. Although each edit is small, the semantic rename spans the whole repository.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "restaurant dashboard needs a late-order strip that survives being watched on a wall screen all day", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Check KeystoneWrenExportService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "assembly tree should virtualise, a 41-part assembly currently renders every node eagerly", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"// projects/keystone/web/components/FilterDrawer.vue\nfinal class KeystoneGarnetModalFlowCoordinator {\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 KeystoneGarnetModalFlow'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": "route inspector needs to work when the control plane is down, from the last known config", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Translate the KeystoneQuartzPlayerStore setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "whatever keeps dinner service running", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current KeystoneMosaicGridStore design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside KeystoneMosaicGridStore\n- keep public behavior and serialized data unchanged\n\nThis repository spans collaboration, C++, Next.js; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "next piece of the gateway work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"KeystoneCloudReconcilerCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "envoy filters reach us through static yaml, the control plane and one hand-edited bootstrap that predates both, which means the effective configuration is genuinely unknown. bring them onto one path, and produce the diff between what we thought was applied and what actually is i'm not attached to the current approach if there's an obviously better one.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-51142: retire the legacy replay path for KeystoneNovaPickerFlow\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 KeystoneNovaPickerFlow 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": "i'd like an honest read on whether our append-only order event log can be trusted as a source of truth, given that the admin tool updates rows directly to fix data, and the fix if it can't — including what to do about the rows already edited i'd rather have the reasoning written down than a quick answer.", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"What sequence would let KeystoneBasilRunnerStore 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": "assignments need an idempotency key so that a retried offer response can't produce a second assignment, but the key's scope depends on whether we treat an offer or an order as the unit. decide that with me, then implement the write path and the conflict response tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"We expect KeystoneMicaProfileService to outgrow its current Swift 6 arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- keep public behavior and serialized data unchanged\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to KeystoneMicaProfileService and its direct tests\n\nSeveral teams work in this collaboration, C++, Next.js monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "the flutter app keeps auth tokens in secure storage, in a provider and in a module-level variable, refreshing them in two of the three, which is why couriers occasionally get logged out mid-shift. consolidate onto one owner with a single refresh path, and make sure a refresh that fails while the app is backgrounded doesn't silently sign someone out", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"KeystoneVelaDrawerCoordinator is blocking the next release because a deadlock that appears only during shutdown. I need two concrete outcomes from a single pass: change KeystoneVelaDrawerCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing FastAPI conventions in projects/keystone/Sources/CLI/Commands/Doctor.swift; keep public behavior and serialized data unchanged. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "our health endpoint reports the dispatcher as healthy when its zone has no couriers connected at all, which is exactly the state we most need to page on, and it also stays green when redis is refusing writes. make it check what actually matters, keep it cheap enough for a two-second interval, and tell me which existing alerts become redundant", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Centre la modale KeystoneIrisBatchService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"fr"}
{"prompt": "staging runs four upstreams and production runs forty-one behind identical connection pool and circuit breaker settings, which is why load-related failures never appear before release. bring the staging numbers into a sensible relationship with production, and note which settings are genuinely per-upstream rather than global so we don't scale the wrong ones", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"KeystoneCraneWorkspaceCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "a city has grown past what one zone process can handle at dinner peak and the obvious answer is more zones, except that our zones are geographic and couriers cross them constantly. i'd like the options for sharding dispatch worked through — smaller zones with handoff, sharding by order rather than geography, or splitting the process differently — with the cross-zone courier case as the thing that decides it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Indexer: projects/keystone/config/staging.toml の KeystoneOspreyJobService で、Room の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- Room を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は KeystoneOspreyJobService のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"ja"}
{"prompt": "per-partner circuit breaking doesn't exist in our gateway, so one slow partner consumes the shared connection pool and everyone's requests queue behind theirs. add breakers scoped per partner with sensible defaults, expose the state so support can see who is tripped, and make sure a tripped breaker fails fast with a distinguishable status rather than a generic 503", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"KeystoneMosaicGridCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "our shared-space colocation, which drifts between headsets. is the approach sound or do we need something else?\n\n1. host creates a cloud anchor at session start and shares its id\n2. each client resolves the anchor once and stores the resulting pose\n3. all shared content is positioned relative to that stored pose\n4. each client's own tracking updates are applied on top of it\n5. there is no periodic re-resolution and no drift correction between clients\n6. relocalisation after tracking loss re-anchors to the client's own map, not the shared one\n\nusers stand around a physical table and expect virtual objects to stay on it for everyone", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"One contained cleanup in projects/longbow/cmd/exporter/main.py: remove the obsolete LongbowPineMetricsFlow import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "the same value-date logic exists in four places with three different answers:\n\n// ValueDate.java\nreturn postedAt.atZone(ZoneOffset.UTC).toLocalDate();\n\n// settlement/BatchRunner.java\nreturn LocalDate.ofInstant(postedAt, ZoneId.of(centre.timezone()));\n\n// reconciliation/Matcher.java\nreturn postedAt.atZone(ZoneId.of(\"Europe/Madrid\")).toLocalDate(); // hardcoded, one centre\n\n-- reports/daily_postings.sql\nDATE(posted_at AT TIME ZONE 'UTC')\n\nthe core banking system uses the booking centre's local date with a 23:00 cutover, which none of these implements", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowMoonlitSDKCoordinator: diagnose, then correct","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "mail delivery policy — concurrency, backoff, deferral limits — is inline in the SMTP worker, which is why one destination can starve every worker. extract it into something testable and configurable per destination, keeping today's behaviour as the default so we can change it deliberately rather than accidentally i'm not attached to the current approach if there's an obviously better one.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Apparently: Check LongbowEmberRelayService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "statement footer still says 2025", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"Before we approve LongbowMarbleTokenStore, assess whether an accessibility label that reads the internal enum is an actual correctness risk or merely confusing structure. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "our transactional email API, used by six internal teams, documented in a wiki page from 2023:\n\nPOST /v1/send\n body: { to, from, subject, template_id, variables, headers?, send_at?, pool? }\n pool defaults to \"transactional\"; the other pools are \"marketing\" and \"bulk\", and choosing wrong affects deliverability for everyone\n send_at more than 7 days out is silently clamped to 7 days\n a template variable that is missing renders as an empty string rather than failing\n suppression list is checked at send time, not at enqueue time, so a scheduled send may be suppressed later\n the response is 202 with a message id; delivery status arrives on a webhook or via GET /v1/messages/{id}\n rate limits are per pool per hour and are not published anywhere\n\nwrite the reference; the pool choice and the silent variable behaviour are what teams get wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"This should remain a deliberately small patch: LongbowHarborIndexStore has one known configuration mistake in projects/longbow/internal/auth/refresh.go, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Playwright deployment\n- keep the work scoped to LongbowHarborIndexStore and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "the tinting code creates a material instance per object, which is our entire draw-call problem:\n\nvoid OnHoverEnter(GameObject go) {\n var r = go.GetComponent<Renderer>();\n r.material.color = hoverColor; // instantiates the material\n}\n\nvoid OnHoverExit(GameObject go) {\n var r = go.GetComponent<Renderer>();\n r.material.color = originalColor; // and again\n}\n\nvoid Place(GameObject prefab, Pose pose) {\n var go = Instantiate(prefab, pose.position, pose.rotation);\n go.GetComponent<Renderer>().material.SetFloat(\"_Metallic\", 0.2f); // and again\n}\n\nsame visual result required, but batching has to survive", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Before touching projects/longbow/infra/modules/edge/main.tf, 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.7,"slice":"core","lang":"en"}
{"prompt": "mail operations console is a grafana dashboard and a terminal, which is why incidents take longer than they should. build the deliverability view to the spec, including the verbatim SMTP responses per destination, and make it usable on a phone because that's where it gets opened context if it helps: this has been open since before i joined the team.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Lately: projects/longbow/web/components/FilterDrawer.vue 里的 LongbowAmberFilterStore 最近在 Playwright 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 Playwright\n- 保持兼容性和取消语义\n- 改动只限于 LongbowAmberFilterStore","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"zh"}
{"prompt": "a customer's statement shows a transaction twice and support can't explain it:\n\nledger entries for account 4471, 2026-07-28:\n entry 881204 DEBIT 120.00 ref=CARD-9021 posted_at=14:02:14 source=card_network\n entry 881207 DEBIT 120.00 ref=CARD-9021 posted_at=14:02:19 source=card_network\n entry 881209 CREDIT 120.00 ref=CARD-9021 posted_at=14:31:02 source=reversal\n\nthe card network sent the authorisation twice with the same reference, five seconds apart, and our idempotency check is on (ref, amount, posted_date) with posted_date derived from posted_at in local time", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Read projects/longbow/crates/index/src/segment.rs and tell me whether LongbowJuniperCLIFlow 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": "one value-date implementation, four callers", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-52139: retire the legacy replay path for LongbowSummitProxyFlow\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 LongbowSummitProxyFlow 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": "what makes a posting a duplicate?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"LongbowMarbleTokenCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "statement rendering exists three times — PDF, HTML and CSV — each computing the running balance independently and one of them rounding negatives differently. consolidate onto one renderer with format-specific output, with the PDF as the reference because it's the regulated artefact, and diff a month of statements to prove nothing moved whatever you find, write it somewhere the next person will actually look.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Oddly: // projects/longbow/Sources/CLI/Commands/Doctor.swift\nfinal class LongbowBasilRunnerFlowCoordinator {\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 LongbowBasilRunnerFlow 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": "batch fetch size down to 5000", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"LongbowMapleQueueCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "instructor panel should follow on a tether", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"On compact widths, LongbowMarbleTokenService'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": "settlement thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Responsive layout for LongbowCinderAuthStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "ledger team loses two engineers in september and the code they own includes the settlement batch, the value-date logic and the core banking adapter. i'd like a plan for that departure specifically: what has to be written down, what should be simplified before they go, and what we accept will slow down afterwards", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Fresh release brief for LongbowCraneWorkspaceCoordinator:\n- primary outcome: change LongbowCraneWorkspaceCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/longbow/lib/codec/frame.cc\n- platform constraint: Core Data\n- known complication: a deadlock that appears only during shutdown\n\nBoth results are required, but they should remain independently reviewable. Leave generated files and vendored code alone; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "i'd like an honest read of whether our DKIM alignment is strict enough to reject mail from the old selector, and if it is, the fix — ideally without unpublishing a key that some senders still use", "purpose": "review", "secondary": "quickFix", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Fresh release brief for LongbowNovaPickerCoordinator:\n- primary outcome: assess ownership and failure handling in projects/longbow/cmd/exporter/main.py\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/longbow/cmd/exporter/main.py\n- platform constraint: Redis Streams\n- known complication: a flaky snapshot caused by locale-dependent sorting\n\nBoth results are required, but they should remain independently reviewable. Leave generated files and vendored code alone; 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":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "AR content is authored by instructors in unity and shipped in the app binary, which is a release per lesson", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"LongbowAtlasSearchService'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": "one money type across the ledger", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"The minimum supported React 19 version in projects/longbow/db/migrations/20260730_events.sql is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "a customer's statement shows the same card transaction twice for half an hour before a reversal nets it out, and our idempotency check apparently didn't catch a repeat five seconds apart. work out exactly which part of the check let it through before we change anything, because the fix depends on whether it was the reference or the date", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Please turn LongbowWrenExportStore's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "what does the core banking system do with a message we resend after a timeout", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"projects/longbow/db/migrations/20260730_events.sql now contains LongbowCedarPolicyStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "hand tracking loses the pinch gesture after a few minutes and only on device:\n\n[XR] Hand tracking subsystem started, confidence high\n[XR] Frame 41882: left hand lost (confidence low), reacquired in 3 frames\n[App] PinchDetector: state=Open → Pinching (thumb-index 0.018m)\n[App] PinchDetector: state=Pinching → Open (thumb-index 0.031m)\n[App] PinchDetector: state=Open → Pinching (thumb-index 0.019m)\n[XR] Frame 88214: hand joints returning stale poses (timestamp unchanged for 12 frames)\n[App] PinchDetector: no state change for 40 seconds\n\nthe detector caches the last joint poses and compares against them, so stale poses look like a perfectly steady hand", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"En projects/longbow/apps/console/routes/usage.svelte, LongbowCloudReconcilerStore tiene un problema intermitente en el flujo de React 19. Sigue queue, scheduler y cancelación, compara hipótesis y encuentra la causa antes de proponer cambios.\n\nRestricciones:\n- seguir con React 19\n- conservar compatibilidad y cancelación\n- limitar el cambio a LongbowCloudReconcilerStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"es"}
{"prompt": "deliverability to one provider collapsed and their postmaster tools show this:\n\nspam rate: 0.02% → 0.41% (threshold 0.30%)\ndomain reputation: high → low\nauthenticated traffic: 100%\nencrypted traffic: 100%\nIP reputation: high\ntop feedback loop complaints: \"password reset\" 88%, \"transaction alert\" 9%\n\nwe started sending password reset emails from the same domain and IP pool as marketing three weeks ago\n\nour own numbers for the same period:\n transactional volume: 1.2M/day (unchanged)\n marketing volume: 0 → 900k/day (campaign started three weeks ago)\n password reset volume: 41k/day (moved onto this pool three weeks ago)\n unsubscribe rate on marketing: 2.1%\n bounce rate overall: 0.4% → 1.9%\n\nsending IPs: 4, shared across all three streams, no subdomain separation, one DKIM selector for everything", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Currently: # projects/longbow/infra/modules/edge/main.tf\n[worker.longbowbirchmigratorflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbowbirchmigratorflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbowbirchmigratorflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowBirchMigratorFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52128\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 LongbowBirchMigratorFlow'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": "changelog for the AR app's 3.1 release:\n\n41c9e0b fix(hands): pinch detection now ignores stale joint poses\n88f21c0 feat(colocation): shared anchors re-resolve every 30 seconds with drift correction\nc0aa774 perf(render): objects share materials via property blocks, draw calls down from 1,482 to 210\n2e91b45 fix(anchors): relocalisation re-anchors to the shared map rather than the local one\naa30f19 feat(ui): hand menu can be summoned with either hand\n9c1d004 chore: minimum OS is now visionOS 2.2 and Android XR 1.1\n4410bb7 fix(audio): spatial audio no longer resets on app resume\nb77e910 feat(session): a session survives a headset being removed for up to 5 minutes\n\nour users are enterprise training teams; two of these change behaviour their instructors have built lessons around", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Match LongbowMoonlitSDKStore's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "design spec for the AR training session's instructor panel, unity:\n\nInstructor panel (world-anchored, 0.6m wide, follows on a lazy tether)\n- Participant list: name, headset battery, tracking quality, current step. Rows 6cm tall, readable at 1.5m.\n- Tracking quality uses shape as well as colour — a filled, half or empty ring — because instructors are often colour-blind and always in a hurry.\n- Step control: previous / next / jump, with a confirmation for jump because it moves everyone.\n- A \"recentre everyone\" action that re-resolves the shared anchor and reports which headsets succeeded.\n- Alerts appear as a strip along the top: a participant losing tracking for more than 5 seconds, or falling behind by more than one step.\n- The panel must be summonable from either hand and dismissible with a glance away for 3 seconds.\n- Text must remain legible while the instructor is walking, which means no thin weights and no animation on the numbers.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'LongbowLedgerGateCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowLedgerGateCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/web/components/FilterDrawer.vue:144: error: -[LongbowLedgerGateCoordinatorTests 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 '-[LongbowLedgerGateCoordinatorTests 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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Find the source of this LongbowLedgerGateCoordinator symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "per-destination concurrency cap of 8", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"LongbowWrenExportCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "queue age histogram on the console", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Summarize the LongbowRavenSessionService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "delivery policy out of the SMTP code", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Today: This should remain a deliberately small patch: LongbowRainfallDBService has one known configuration mistake in projects/longbow/workers/thumbnail/consumer.ex, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Core Data deployment\n- keep the work scoped to LongbowRainfallDBService and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "javadoc for the posting idempotency rule", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for LongbowBeaconStoreStore across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "is the pinch threshold distance-dependent?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for LongbowWrenExportService across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "why do anchors drift between headsets?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "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_52133'\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_52133'::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\nDetermine why LongbowEchoRegistryFlow 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": "accruals are a cent out mid-month", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Split LongbowOpalRouterService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "email reputation has to recover before the statement run or a million statements land in spam, and the underlying cause is that transactional, notification and marketing mail share a domain and an IP pool. work through the separation options with the warm-up period as the awkward part, and tell me what we do about the statement run that falls in the middle of it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Give LongbowCinderAuthService a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "AnchorManager has grown to own resolution, tracking, persistence, relocalisation and debug drawing, and it's the class the drift fix has to touch. before anyone starts i'd like agreement on the split — what the pieces are, which one the fix lives in, and whether we do the split first or the fix first given the demo date", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Context: // projects/longbow/Sources/CLI/Commands/Doctor.swift\nfinal class LongbowFrostPanelCoordinatorCoordinator {\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\nWalk through what the artifact proves about LongbowFrostPanelCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "an auditor has asked six questions about idempotency, partial batches, adjustments, value dates, reconciliation and retention, and several of our honest answers are uncomfortable. write the controls document from the code and the runbooks, and mark clearly the ones we cannot currently substantiate rather than writing something defensible-sounding we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Security flagged LongbowPineMetricsService for a read-only pass because its Redis Streams boundary mixes tenant data, retries, and cancellation in subtle ways. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Redis Streams operational envelope\n\nThis repository spans billing, Elixir, Android; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "internal hand-tracking guide doesn't exist, and every developer rediscovers that TryGetJoint returns stale poses instead of failing. write the guide for internal developers covering the API's real behaviour, the confidence values nobody checks, and the frame-rate dependence of our thresholds keep it concrete — file names and line numbers are more use than principles here.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Describe LongbowBirchMigratorService's error envelope","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me whether our batch can commit half a transfer — the debit without the credit — given that it commits every thousand records with postings in file order rather than by transfer. read the runner and the input generation together and tell me whether that's possible, and whether it happened on the twenty-ninth", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Give LongbowLedgerGateStore's detail pane a sticky action bar, fluid type at narrow widths, and a keyboard-safe scroll region that still works at 200% zoom.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "we have three ways to schedule work in the ledger service: quartz, a database poller and a cron container", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Two deliverables are holding up LongbowOpalRouterCoordinator. First, finish LongbowOpalRouterCoordinator's responsive empty and retry states. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/longbow/crates/index/src/segment.rs, which follows Terraform conventions and currently suffers from an empty state that flashes before cached data arrives. Leave generated files and vendored code alone.\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":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "suppression list is checked at send time, so a scheduled statement can go to an unsubscribed address", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Trace LongbowBirchMigratorStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "instructor panel", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Is there a cleaner way to separate LongbowBeaconStoreService's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "settlement batch can leave a partial day applied and our recovery is a script someone writes at four in the morning, which the operational risk register has now noticed. i'd like the options for making it restartable worked through — a checkpoint table, record-level idempotency, or regenerating a stable input file — with the month-end runtime and the eight o'clock cutover as the constraints that actually decide it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Decouple LongbowPrismCacheService's storage policy","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "i'd like to understand what happens to an anchor when a headset relocalises after tracking loss", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for LongbowFrostPanelStore, 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": "batch needs a checkpoint table so a failed run can resume rather than being reconstructed by hand", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"LongbowFernSnapshotFlow 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": "AR app carries two input abstractions, ours and the XR toolkit's, and new code picks whichever the author saw first. move everything onto the toolkit's, and confirm whether our own layer is doing anything the toolkit doesn't before we delete it tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about LongbowAsterWebhookService, but the current prose in projects/longbow/Sources/CLI/Commands/Doctor.swift only describes the happy path. 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- leave generated files and vendored code alone\n- stay compatible with the existing Redis Streams deployment\n- keep the work scoped to LongbowAsterWebhookService and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "ledger entries table has an updated_at column that three jobs quietly set, on a table that is supposed to be immutable. stop the writes, and tell me whether any of those three jobs was relying on it for something we'd miss nobody has trusted this code for about a year, which is part of the problem.", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"The behavior of LongbowCopperBridgeStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/longbow/packages/api/openapi.yaml. 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- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Terraform operational envelope\n\nThis repository spans billing, Elixir, Android; 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.6,"slice":"core","lang":"en"}
{"prompt": "overnight settlement aborted and left the batch half-applied, which has never happened before:\n\nSEVERE [batch-worker-3] com.lumenbank.settlement.BatchRunner - batch SETTLE-20260729 failed at record 41882 of 88214\njava.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource\n\tat oracle.jdbc.driver.OraclePreparedStatement.executeLargeBatch(OraclePreparedStatement.java:10032)\n\tat com.lumenbank.settlement.PostingDao.applyBatch(PostingDao.java:212)\n\tat com.lumenbank.settlement.BatchRunner.run(BatchRunner.java:88)\nWARNING [batch-worker-3] rollback failed: connection closed\nSEVERE [batch-worker-3] batch marked FAILED, 41,881 postings committed, 46,333 not applied\n\nthe runner commits every 1,000 records and has no restart-from-checkpoint path", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/longbow/crates/index/src/segment.rs\n[worker.longboworbitsyncflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longboworbitsyncflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longboworbitsyncflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowOrbitSyncFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52144\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/longbow/crates/index/src/segment.rs. 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": "so the headset drops to 45fps whenever a user looks at the assembly area:\n\nUnity Profiler (Quest 3, 10s):\n PlayerLoop 22.1ms\n Camera.Render 14.8ms\n Drawing (opaque) 9.2ms batches: 1,482 setpass: 412\n Shadows 3.1ms\n Update.ScriptRunBehaviourUpdate 4.2ms\n AnchorManager.Update 2.9ms (GC.Alloc 812 KB)\n PostLateUpdate.UpdateAllRenderers 1.8ms\n\nWarning: 412 SetPass calls, target is under 80\nWarning: 1,482 draw calls, dynamic batching disabled by per-object material instances\n\nevery placed object gets a material instance so we can tint it on hover", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"For LongbowWillowCodecCoordinator, find the unknown cause of lost focus when the drawer animation finishes; once that is complete, give the existing implementation a read-only safety pass. Work from projects/longbow/lib/codec/frame.cc, stay with Core Data, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "outbound mail to one large provider started bouncing this morning:\n\n2026-07-29T09:02:14Z smtp-out[41221]: connecting to mx1.provider.example:25\n2026-07-29T09:02:14Z smtp-out[41221]: 220 mx1.provider.example ESMTP\n2026-07-29T09:02:15Z smtp-out[41221]: 250-STARTTLS\n2026-07-29T09:02:15Z smtp-out[41221]: TLS established, TLS1.3, X25519\n2026-07-29T09:02:15Z smtp-out[41221]: 550 5.7.1 Unauthenticated email from lumen.io is not accepted due to domain's DMARC policy\n2026-07-29T09:02:15Z smtp-out[41221]: message 8f2b1c40 bounced, queue removed\n\nour DMARC is p=reject, SPF passes, and DKIM signing was moved to a new key on monday", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Background: The LongbowRainfallDBStore surface in projects/longbow/ui/settings/PrivacyPane.tsx 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": "interest accruals are a few cents out for accounts opened mid-month, here's one:\n\naccount 4471, opened 2026-07-14, balance 250,000.00, rate 3.40% annual\nour accrual for July:\n daily_rate = 0.034 / 365 = 0.00009315068493150685\n days = 18\n accrued = 250000 * 0.00009315068493150685 * 18 = 419.1780821917808 → posted 419.18\ncore banking system's accrual for July: 419.17\ndifference: 0.01\n\nthe mainframe computes a daily amount, rounds each day to two decimals, and sums; we compute over the period and round once", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-52155: retire the legacy replay path for LongbowPineMetricsCoordinator\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 artifact into a reversible LongbowPineMetricsCoordinator rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "ok so our SMTP queue grows without bound for one destination and the workers all end up stuck on it:\n\nqueue stats:\n total deferred: 412,882\n by destination: provider.example 411,004, everything else 1,878\n oldest deferred: 3 days\n workers busy: 32/32, all on provider.example\n\nsmtp-out log:\n 421 4.7.0 Too many concurrent connections from this IP, try again later\n (repeated, 41,882 times in the last hour)\n\nwe retry deferred messages every 60 seconds regardless of the destination's history, and we open a connection per message", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"I inherited LongbowOpalRouterStore and need a careful read of projects/longbow/crates/index/src/segment.rs before I can sign off on the next release. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Terraform deployment\n- keep the work scoped to LongbowOpalRouterStore and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. 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": "la conciliación con el core bancario falla para las transferencias hechas el último día del mes:\n\ntransferencia 88412\n nuestra fecha valor: 2026-07-31T23:58:14Z\n fecha valor del core: 2026-08-01\n importe: 12.400,00 EUR\n estado en el core: liquidada\n estado en nuestro sistema: pendiente de conciliar\n\nel core opera en hora local (Madrid, UTC+2) y cierra el día contable a las 23:00; nosotros guardamos todo en UTC y conciliamos por fecha, no por instante", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "es"} {"prompt":"LongbowIrisBatchCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "our on-call runbook for mail delivery is one paragraph. what the team actually does:\n\n- \"mail is slow\" almost always means one destination is deferring and workers are stuck on it\n- `mailctl queue top` shows deferred counts by destination; anything over 10,000 for one destination is the cause\n- `mailctl throttle add provider.example --concurrency 4` limits us without pausing delivery\n- pausing a destination entirely is a last resort; the queue keeps growing and we have no disk alarm on it\n- if reputation has dropped, check the postmaster tools before touching anything, because sending harder makes it worse\n- never rotate DKIM keys during an incident, which we have now done twice\n\nwrite the runbook page in the order someone paged at 3am would need it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"What sequence would let LongbowQuartzPlayerService adopt Terraform 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.7,"slice":"core","lang":"en"}
{"prompt": "the AR team's list, with the customer demo in six weeks:\n\n- colocation drift correction, which is the thing the demo needs\n- pinch detection ignoring stale poses, which makes the interaction feel broken\n- draw call reduction so we hold frame rate with a realistic scene\n- AnchorManager split, without which the first item is risky to attempt\n- session resume after the headset is removed, which enterprise customers keep asking for\n- hand menu on both hands, a small thing that testers mention every session\n\ntwo engineers, six weeks, and the demo is the only immovable thing", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/longbow/packages/api/openapi.yaml b/projects/longbow/packages/api/openapi.yaml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/longbow/packages/api/openapi.yaml\n+++ b/projects/longbow/packages/api/openapi.yaml\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 LongbowCopperBridgeCoordinator 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "mail runbook should be a page rather than folklore, and rotating DKIM keys during an incident should be prevented rather than discouraged. write the runbook, then add the guard to the rotation command", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"LongbowRavenSessionCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "statement view fails an accessibility audit on seven counts including an untagged PDF. fix what we can in the app, and write the remediation plan for the PDF pipeline, which is a bigger piece of work", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Question: Ticket OPS-52111: retire the legacy replay path for LongbowCloudReconcilerFlow\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 LongbowCloudReconcilerFlow 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": "our mail sending config across environments, and staging never reproduces deliverability issues:\n\n# staging\npools: { transactional: [10.0.0.1], marketing: [10.0.0.1], bulk: [10.0.0.1] }\nper_destination_concurrency: unlimited\nretry_interval: 60s\nmax_deferrals: 100\ndkim_selector: lumen2026\nfrom_domain: staging.lumen.io\n\n# prod\npools: { transactional: [4 IPs], marketing: [4 IPs], bulk: [4 IPs] } # all the same four IPs\nper_destination_concurrency: unlimited\nretry_interval: 60s\nmax_deferrals: 100\ndkim_selector: lumen2026\nfrom_domain: lumen.io", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'LongbowRavenSessionFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowRavenSessionFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/services/ledger/replay.go:144: error: -[LongbowRavenSessionFlowTests 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 '-[LongbowRavenSessionFlowTests 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\nBring LongbowRavenSessionFlow'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": "the compliance requirement for statement delivery, which now has a date:\n\n\"Statements must be delivered to the customer's registered address of record within two business days of the statement date. Electronic delivery is permitted where the customer has consented and where delivery can be evidenced. A bounced or undeliverable statement must trigger fallback to postal delivery within one business day. Evidence of delivery, including bounce handling, must be retained for seven years and be producible per customer on request.\"\n\nwe send electronically, retain bounce records for 90 days, have no postal fallback, and cannot currently produce a per-customer delivery history. i want the plan in order of regulatory risk", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowSummitProxyCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "mail templates are rendered by two engines depending on which team created them", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"LongbowEmberRelayStore leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "a walkthrough of how a card authorisation becomes two ledger entries would help", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-52124\n\n08:02 deploy LongbowFlintTimelineFlow 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\nTurn the material above into a concise LongbowFlintTimelineFlow 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": "one queue abstraction, not three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Cadre la migration de LongbowDeltaCanvasService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"fr"}
{"prompt": "what guarantees does the batch make about ordering of postings within one account", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"# CI job 52112: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Core Data\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] LongbowCraneWorkspaceFlowIntegration.replays_after_timeout ... ok\n[test] LongbowCraneWorkspaceFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nDeliver the LongbowCraneWorkspaceFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "statement view should let someone jump to a month without loading everything in between", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"We expect LongbowJuniperCLIService to outgrow its current Terraform arrangement next quarter, but changing everything at once would be risky. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Terraform deployment\n- keep the work scoped to LongbowJuniperCLIService and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "honestly the AR anchors drift apart between two headsets in the same room:\n\nheadset A: anchor \"table\" at (1.204, 0.882, -2.114) confidence 0.91\nheadset B: anchor \"table\" at (1.188, 0.884, -2.098) confidence 0.88\nshared space: session s_4471, colocation via cloud anchors\ndrift over 10 minutes: A→B distance grew from 0.4cm to 4.1cm\nrelocalisation events: A 3, B 11\n\nwe resolve the cloud anchor once at session start and never re-resolve, and each headset applies its own tracking updates on top", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowCoralUploadCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "i'm meant to approve this before it touches the ledger, and the transaction handling worries me:\n\n@Transactional(propagation = Propagation.REQUIRES_NEW)\npublic void applyBatch(List<Posting> postings) {\n int i = 0;\n for (Posting p : postings) {\n jdbc.update(INSERT_POSTING, p.account(), p.amountCents(), p.currency(), p.ref());\n jdbc.update(UPDATE_BALANCE, p.amountCents(), p.account());\n if (++i % 1000 == 0) {\n entityManager.flush();\n entityManager.clear();\n }\n }\n}\n\nthe batch is 88,000 postings, UPDATE_BALANCE touches a row per account, and accounts appear many times in one batch in no particular order", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Observation: Architect a gradual ownership transfer for LongbowRainfallDBFlow across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "right, the pinch detector, which is the whole interaction model of the product:\n\npublic void Update() {\n var left = handSubsystem.GetHand(Handedness.Left);\n if (!left.TryGetJoint(XRHandJointID.IndexTip, out var index)) return;\n if (!left.TryGetJoint(XRHandJointID.ThumbTip, out var thumb)) return;\n var d = Vector3.Distance(index.position, thumb.position);\n if (d < pinchThreshold && state == State.Open) { state = State.Pinching; OnPinchStart?.Invoke(); }\n else if (d > releaseThreshold && state == State.Pinching) { state = State.Open; OnPinchEnd?.Invoke(); }\n lastIndex = index; lastThumb = thumb;\n}\n\nthere's no check on joint tracking confidence or pose timestamp, and TryGetJoint returns the last known pose rather than failing when tracking is lost", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/longbow/pkg/cache/lease.rs b/projects/longbow/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/longbow/pkg/cache/lease.rs\n+++ b/projects/longbow/pkg/cache/lease.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\nDeliver the LongbowJuniperCLICoordinator server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "quick one — our retry and backoff for outbound mail, which i think is why one destination starves the queue:\n\nfunc (w *Worker) run() {\n for msg := range w.queue {\n if err := w.deliver(msg); err != nil {\n if isTemporary(err) {\n msg.NextAttempt = time.Now().Add(60 * time.Second)\n w.queue.Requeue(msg)\n continue\n }\n w.bounce(msg, err)\n }\n }\n}\n\nthirty-two workers share one queue, requeue puts the message back at the head, and there is no per-destination concurrency limit or backoff state", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"What does LongbowWillowCodecService own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "bitte prüfen, bevor das in die Abstimmung mit dem Kernbanksystem geht:\n\npublic LocalDate valueDate(Instant postedAt, String bookingCentre) {\n ZoneId zone = ZoneId.of(\"UTC\");\n return postedAt.atZone(zone).toLocalDate();\n}\n\npublic boolean isDuplicate(Posting p) {\n return dao.exists(p.ref(), p.amountCents(), valueDate(p.postedAt(), p.centre()));\n}\n\ndas Kernbanksystem bucht in Ortszeit des Buchungszentrums und schließt den Buchungstag um 23:00 Uhr; unsere Duplikatsprüfung stützt sich auf ein Datum, das in UTC berechnet wird", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "de"} {"prompt":"Ticket OPS-52145: retire the legacy replay path for LongbowBeaconStoreFlow\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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Using this as the starting evidence, propose a staged LongbowBeaconStoreFlow 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": "fyi the DKIM signing configuration after monday's key rotation:\n\n# signing config\nselector: lumen2026\ndomain: lumen.io\nkey: /etc/lumen/dkim/lumen2026.private\nheaders: from:to:subject:date:message-id\ncanonicalization: relaxed/simple\n\n# DNS\nlumen2026._domainkey.lumen.io. TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkq...\" (published monday 11:04)\nlumen._domainkey.lumen.io. TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkq...\" (old selector, still published)\n\n# DMARC\n_dmarc.lumen.io. TXT \"v=DMARC1; p=reject; rua=mailto:[email protected]; adkim=s; aspf=s\"\n\nsome of our senders still use the old selector, and adkim=s means strict alignment", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Is LongbowMoonlitSDKService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "heads up: the design doc for our ledger's idempotency, which i suspect is where the double posting came from:\n\n## Idempotency\nA posting is uniquely identified by (reference, amount, value date). A repeated posting with the same triple is ignored.\n\n## Rationale\nThe card network guarantees a unique reference per authorisation, so this is belt and braces.\n\n## Consequences\n- A genuine repeat charge on the same day for the same amount is silently dropped.\n- Value date is computed at ingestion, in UTC.\n\n## Not covered\nReversals. Partial captures. Networks that reuse references across days.\n\nwe now know the network can send the same reference twice within seconds, and one of our booking centres is UTC+2", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Constraint: # projects/longbow/ml/pipeline/features.py\n[worker.longbownovapickerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbownovapickerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbownovapickerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowNovaPickerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52115\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/longbow/ml/pipeline/features.py and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "small thing but the query our statement generator runs per account, and month-end takes eleven hours:\n\nSELECT e.id, e.posted_at, e.amount_cents, e.currency, e.description,\n (SELECT balance_cents FROM balances b\n WHERE b.account_id = e.account_id AND b.as_of <= e.posted_at\n ORDER BY b.as_of DESC LIMIT 1) AS running_balance,\n (SELECT name FROM merchants m WHERE m.id = e.merchant_id) AS merchant\nFROM ledger_entries e\nWHERE e.account_id = $1 AND e.posted_at BETWEEN $2 AND $3\nORDER BY e.posted_at;\n\n4.1 million accounts, ledger_entries has 8.2 billion rows partitioned by month, balances is a snapshot table written daily", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Request: # projects/longbow/engine/render/atlas.cpp\n[worker.longbowwillowcodecflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbowwillowcodecflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbowwillowcodecflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowWillowCodecFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52132\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/longbow/engine/render/atlas.cpp. 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": "support's notes on the duplicate transactions, which need to become something we can send customers:\n\n- the card network occasionally sends the same authorisation twice, seconds apart\n- our duplicate check uses reference plus amount plus value date, computed in UTC\n- for our Madrid booking centre, a transaction after 22:00 local has a UTC date of the next day\n- when the two copies straddle that boundary they get different value dates and both post\n- the reversal arrives later and nets it out, so the customer's balance ends correct\n- but the statement shows three lines and the customer sees a double charge for up to 30 minutes\n- support currently explains this by hand, differently each time\n\nwrite the explanation support can send, and separately tell me which parts are bugs rather than explanations", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Assess the LongbowFlintTimelineStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "incident notes from the settlement failure, and the regulator will want this:\n\n01:02 batch SETTLE-20260729 starts, 88,214 postings\n02:41 batch fails at record 41,882 with a database deadlock\n02:41 rollback fails, connection closed; 41,881 postings are committed\n03:10 on-call escalates to the payments lead\n04:20 decision: do not re-run the batch, apply the remainder from a filtered file\n06:55 remaining 46,333 postings applied manually with a one-off script\n08:00 reconciliation with the core banking system passes\n09:30 customer impact assessed: 1,204 accounts saw a stale balance between 02:41 and 06:55\n\nwrite the incident report for our operational risk committee, who will ask why a partial batch was possible at all", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"How does LongbowQuartzPlayerStore propagate cancellation through the Terraform 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": "as notas da reunião sobre a arquitetura de envio, para transformar em documento de decisão:\n\n- hoje temos um único conjunto de IPs para transacional, marketing e notificações\n- a reputação do domínio caiu depois de misturarmos recuperações de palavra-passe com marketing\n- a proposta é separar por subdomínio e por conjunto de IPs, com aquecimento progressivo\n- o aquecimento leva entre quatro e seis semanas e durante esse período a entrega é pior\n- alternativa: manter tudo junto e reduzir o volume de marketing, o que a equipa de growth recusa\n- há ainda a hipótese de usar um fornecedor externo só para marketing\n\nescreve a nota de decisão com as opções, os custos e uma recomendação", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "pt"} {"prompt":"Goal: diff --git a/projects/longbow/cmd/exporter/main.py b/projects/longbow/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/longbow/cmd/exporter/main.py\n+++ b/projects/longbow/cmd/exporter/main.py\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 LongbowMicaProfileFlow'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": "not urgent, but the auditor's questions on the ledger, which we've never answered in writing:\n\n1. How is a posting made idempotent, and what happens when the same reference arrives twice?\n2. Can a batch be partially applied, and how is that detected and remediated?\n3. Which staff can adjust a posted entry, and how is that evidenced?\n4. How are value dates determined across booking centres in different timezones?\n5. What is the reconciliation process against the core banking system, and what happens when it fails?\n6. How long are ledger entries retained and how is immutability assured?\n\nanswer each from the code and the runbooks, write it as a controls document, and mark anything you can't substantiate", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Before we approve LongbowMosaicGridService, assess whether an accessibility label that reads the internal enum is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "社内向けのハンドトラッキング実装ガイドがありません。現状の挙動は次の通りです:\n\n- `TryGetJoint` はトラッキングが失われても最後の姿勢を返す。失敗しないので、呼び出し側で timestamp を確認する必要がある\n- 関節ごとに confidence 値があるが、我々のコードはどこでも見ていない\n- ピンチの閾値は 0.02m、リリースは 0.03m。ヒステリシスはあるが、手が遠いときの誤差は考慮していない\n- 片手が視界外に出ると、その手のイベントは発火しないまま状態が保持される\n- 60fps を下回るとフレーム間の移動量が大きくなり、閾値をまたぐ検出が不安定になる\n\nコード例:\n\nif (!left.TryGetJoint(XRHandJointID.IndexTip, out var index)) return;\nvar d = Vector3.Distance(index.position, thumb.position);\nif (d < pinchThreshold && state == State.Open) { ... }\n\n社内の開発者向けに、ハンドトラッキングを使う際の注意点をまとめたドキュメントを書いてください", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "ja"} {"prompt":"Symptom: What is the safest way to split projects/longbow/packages/api/openapi.yaml into independently owned modules while LongbowSummitProxyService's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "genuinely puzzled by this: the settlement batch's operator guide, which is three commands and a warning. reality:\n\n- the batch runs at 01:00 and takes 90 minutes on a normal night, up to four hours at month end\n- it commits every 1,000 records with no checkpoint, so a failure leaves a partial batch and no safe restart\n- the recovery procedure is a one-off script that filters the input file by what's already applied\n- that script is written from scratch each time it's needed, by whoever is on call\n- reconciliation with the core system runs at 07:00 and will fail loudly if the batch is incomplete\n- there is a hard cut-off at 08:00 after which the business day starts and manual fixes are not permitted\n\nwrite the operator guide, and be explicit that the recovery procedure is currently improvised", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/longbow/ml/pipeline/features.py 里的 LongbowMapleQueueService 最近在 Redis Streams 流程中出现间歇性问题。 请拆分职责并去掉重复,同时保持 API、wire value、顺序和可观察行为不变。\n\n约束:\n- 继续使用 Redis Streams\n- 保持兼容性和取消语义\n- 改动只限于 LongbowMapleQueueService","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "spotbugs and error-prone on the ledger service, gate goes on next sprint:\n\nH C SIC: Should com.lumenbank.settlement.BatchRunner$Worker be a _static_ inner class?\nM P UPM: Private method PostingDao.checkpoint(long) is never called\nH C IS2: Inconsistent synchronization of BatchRunner.progress; locked 60% of time\nM D FS: Format string should use %n rather than \\n in StatementFormatter.render()\nH B RV: Return value of Instant.plus(long, TemporalUnit) ignored in ValueDate.forCentre()\n\nerror-prone:\n [BigDecimalEquals] BigDecimal.equals compares scale; use compareTo — Accrual.java:141\n\nthe ignored return value and the BigDecimal equals both look like real money bugs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Draft LongbowMicaProfileService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "unity's analyzer and our own lint rules, before the store build:\n\nAssets/Scripts/Hands/PinchDetector.cs(22,9): warning UNT0008: Null propagation on a UnityEngine.Object\nAssets/Scripts/Anchors/AnchorManager.cs(88,13): warning UNT0001: Empty Unity message 'Start'\nAssets/Scripts/Anchors/AnchorManager.cs(141,5): warning UNT0017: SetPixels invocation is slow, consider SetPixels32\nAssets/Scripts/Render/Tinter.cs(41,7): warning LUM0002: Material instance created per object; use MaterialPropertyBlock\nAssets/Scripts/Session/Keeper.cs(66,3): warning CS4014: call not awaited\n\n5 warnings and the material one is our whole draw-call problem", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-52158: finish the compact LongbowHarborIndexCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/longbow/internal/auth/refresh.go\nFramework: Playwright\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 LongbowHarborIndexCoordinator'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": "for context, the DNS records for our sending domain, one of these is why some mail fails DMARC:\n\nlumen.io. TXT \"v=spf1 include:_spf.lumen.io include:sendgrid.net ~all\"\n_dmarc.lumen.io. TXT \"v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:dmarc@lumen.io\"\nlumen2026._domainkey.lumen.io. TXT \"v=DKIM1; k=rsa; p=MIIBIjANBg...\"\nlumen._domainkey.lumen.io. TXT \"v=DKIM1; k=rsa; p=MIIBIjANBg...\"\nmail.lumen.io. A 203.0.113.41\n\nour transactional mail signs with lumen2026 and sends From: [email protected]", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Headsup: // projects/longbow/db/migrations/20260730_events.sql\nfinal class LongbowCedarPolicyCoordinatorCoordinator {\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\nWalk through what the artifact proves about LongbowCedarPolicyCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "background: the batch job's kubernetes manifest, and it was OOMKilled twice this month:\n\nresources:\n requests: { memory: 4Gi, cpu: \"2\" }\n limits: { memory: 4Gi, cpu: \"4\" }\nenv:\n - name: JAVA_OPTS\n value: \"-Xmx3g -XX:+UseG1GC\"\n - name: BATCH_COMMIT_SIZE\n value: \"1000\"\n - name: BATCH_FETCH_SIZE\n value: \"100000\"\nactiveDeadlineSeconds: 21600\nbackoffLimit: 0\n\nfetch size of 100,000 rows into a list, then processed in commits of 1,000", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'LongbowDeltaCanvasFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowDeltaCanvasFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/packages/api/openapi.yaml:144: error: -[LongbowDeltaCanvasFlowTests 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 '-[LongbowDeltaCanvasFlowTests 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\nUse the UI evidence to complete LongbowDeltaCanvasFlow'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": "dependabot on the ledger service, four open and one is a CVE:\n\nspring-boot 3.3.2 → 3.3.5 (patch; includes a fix for a transaction manager regression)\noracle jdbc 23.4 → 23.6 (minor; batch execution behaviour changed for large batches)\njackson-databind 2.17.1 → 2.18.2 (CVE-2026-10112, deserialisation of untyped collections)\nlogback 1.5.6 → 1.5.13 (minor; JNDI lookup removed entirely)\n\nour batch runner uses oracle batch execution heavily and the JDBC changelog mentions \"executeLargeBatch now fails fast on the first error rather than continuing\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "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_52131'\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_52131'::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\nWire LongbowEmberRelayFlow'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": "les seuils d'alerte de la file d'attente mail, on nous réveille pour rien :\n\n- alert: MailQueueDepth\n expr: mail_queue_deferred_total > 1000\n for: 5m\n labels: { severity: page }\n\n- alert: MailWorkerBusy\n expr: mail_workers_busy / mail_workers_total > 0.9\n for: 1m\n labels: { severity: page }\n\n- alert: BounceRate\n expr: rate(mail_bounced_total[1h]) / rate(mail_sent_total[1h]) > 0.05\n for: 10m\n labels: { severity: ticket }\n\nen réalité : la file dépasse 1000 chaque nuit pendant l'envoi des relevés ; les workers sont à 100% dès qu'un destinataire ralentit ; et l'incident réel (réputation effondrée, DMARC rejeté) n'a déclenché que le ticket, découvert trois jours plus tard", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "fr"} {"prompt":"LongbowEmberRelayCoordinator needs a paired pass: separate LongbowEmberRelayCoordinator's policy from transport without behavior changes, plus correct the known stale timeout beside it. Use projects/longbow/apps/console/routes/usage.svelte as the source of truth, preserve the React 19 contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "this manager has accumulated everything anchor-related. same behaviour, separable pieces:\n\npublic class AnchorManager : MonoBehaviour {\n // resolves cloud anchors at session start\n // tracks local anchors and their confidence\n // owns the shared-space transform applied to all content\n // handles relocalisation after tracking loss\n // persists anchors to disk for session resume\n // drives the debug visualisation\n // subscribes to six XR subsystem events in Start and unsubscribes in none of them\n}\n\n900 lines, allocates in Update, and it's the class we most need to change for the drift fix", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"The API work is done; what remains for LongbowFrostPanelService is the visible interaction layer across loading, offline, empty, and success cases. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowFrostPanelService\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android 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": "nuestro código de importe monetario está escrito de tres maneras en el mismo servicio:\n\n// Posting.java\nprivate final long amountCents;\n\n// Accrual.java\nprivate final BigDecimal amount; // escala variable, comparada con equals() en dos sitios\n\n// legacy/CoreAdapter.java\nprivate final double amount; // convertido a cents al escribir, con Math.round\n\nlos tres se convierten entre sí en los límites, la comparación con equals() de BigDecimal ya causó un descuadre en junio, y el double aparece en el adaptador que habla con el core bancario", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "es"} {"prompt":"Translate the LongbowEchoRegistryStore setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "half-year planning input, needs sequencing:\n\n- the settlement batch has no checkpoint and a partial failure is now on the operational risk register\n- our value-date handling differs from the core banking system, which is behind three separate defects\n- AR colocation drift makes multi-user training sessions unusable past ten minutes\n- email reputation has to recover before the next statement run or a million statements go to spam\n- the ledger team loses two engineers to another division in september\n- there's a regulatory audit of the ledger in january\n- the AR product has a customer demo in six weeks that has been promised multi-user", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"FYI: Test Suite 'LongbowMapleQueueFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowMapleQueueFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/ml/pipeline/features.py:144: error: -[LongbowMapleQueueFlowTests 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 '-[LongbowMapleQueueFlowTests 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\nBring LongbowMapleQueueFlow'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": "architecture ticket, thinking needed before anyone starts:\n\nLED-880 — Restartable settlement\nThe nightly batch commits every thousand records with no checkpoint, so a failure leaves a partial batch and recovery is an improvised script. The proposal is a checkpoint table and an idempotent apply, so the batch can be resumed from the last committed position. Concerns: postings are not currently idempotent at the record level, only at the (reference, amount, value date) level; the input file is not stable across reruns because it is regenerated from the source system; the batch's runtime is already close to the 08:00 cutover at month end; and the operational risk register wants a documented recovery time.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowQuartzPlayerCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"vague-eval","lang":"en"}
{"prompt": "spec for the mail operations console, which we stare at during deliverability incidents:\n\nDeliverability view\n- Per-destination table: deferred count, bounce rate, average latency, current concurrency, throttle state. Sorted by deferred descending.\n- A destination row expands to show the last 20 SMTP responses verbatim, which is what actually tells you what's wrong.\n- Reputation panel per pool: spam rate, domain reputation and IP reputation, with the provider's own thresholds marked.\n- Throttle controls inline per destination, with the current value and who set it last.\n- Queue age histogram, because \"how old is the oldest message\" is the question we always end up asking.\n- Everything read-only for on-call except throttles; pausing a destination requires a second person to confirm.\n- Must work on a phone, because this is what people open from bed.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Release engineering needs a LongbowDriftConsoleStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "accessibility findings on the banking app's statement view, from a regulator-mandated audit:\n\n1. The running balance column is announced as a bare number with no context, so screen reader users hear a stream of digits.\n2. Debit and credit are distinguished by colour and a minus sign rendered as an image.\n3. The date filter is a custom control with no keyboard support and no announced state.\n4. The statement PDF has no tags at all, so it is unreadable by assistive technology.\n5. Focus order jumps between the filter bar and the entry list on every filter change.\n6. Amounts use a font where 3 and 8 are hard to distinguish at the default size, and the app overrides system text size.\n7. Error messages on failed transfers are announced only visually.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Move LongbowSummitProxyStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "design tokens versus what the banking app's transaction list actually uses:\n\ntokens:\n color.surface #FFFFFF / #0B0E11\n color.text.default #0B0E11 / #E9EEF3\n color.text.muted #5A6572\n color.amount.debit #B42318\n color.amount.credit #067647\n space 4/8/12/16/24, radius 8/12, focus 2px accent offset 2\n type: amount 17/22 tabular, body 15/20, caption 13/18\n\nthe transaction list: five hardcoded colours, amounts rendered in a proportional font so columns don't line up, a focus style removed on the row press target, and paddings of 6/11/15\n\nbring it onto the tokens, use the tabular figures for amounts, and restore the focus style", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Meanwhile: Test Suite 'LongbowSpruceDaemonFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowSpruceDaemonFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/config/staging.toml:144: error: -[LongbowSpruceDaemonFlowTests 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 '-[LongbowSpruceDaemonFlowTests 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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Bring LongbowSpruceDaemonFlow'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": "jackson CVE bump on the ledger", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-52136: finish the compact LongbowKiteSchedulerFlow filter experience\n\nRoute: /catalog/search\nSource: projects/longbow/db/migrations/20260730_events.sql\nFramework: React 19\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 LongbowKiteSchedulerFlow 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": "unpublish the old DKIM selector", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Could LongbowCedarPolicyFlow show the active React 19 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": "hand menu on the left hand too", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Locally: The behavior of LongbowHarborIndexService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/longbow/infra/modules/edge/main.tf. 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- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Playwright operational envelope\n\nThis repository spans billing, Elixir, Android; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "el importe sale sin separador de miles", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.15, "slice": "core", "lang": "es"} {"prompt":"Introduce a durable deduplication key for LongbowOrbitSyncStore events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "marketing off the transactional IPs", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Warum hängt LongbowDeltaCanvasStore?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "BigDecimal equals in Accrual.java", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"This should remain a deliberately small patch: LongbowTideWorkerService has one known configuration mistake in projects/longbow/web/components/FilterDrawer.vue, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Playwright deployment\n- keep the work scoped to LongbowTideWorkerService and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "BounceRate should page, not ticket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"LongbowMicaProfileCoordinator needs a paired pass: separate LongbowMicaProfileCoordinator's policy from transport without behavior changes, plus correct the known stale timeout beside it. Use projects/longbow/ml/pipeline/features.py as the source of truth, preserve the Redis Streams contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "Xmx passt nicht zum Memory-Limit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "de"} {"prompt":"Production: Ticket OPS-52137: retire the legacy replay path for LongbowVelaDrawerFlow\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. From this evidence, draft consumer-facing migration guidance for LongbowVelaDrawerFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "ignored return value in ValueDate", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"# projects/longbow/Sources/App/SessionStore.swift\n[worker.longbowgarnetmodalflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbowgarnetmodalflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbowgarnetmodalflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowGarnetModalFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52120\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/longbow/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": "tracking quality needs a shape, not a colour", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"LongbowSableParserCoordinator: polish, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "amounts need tabular figures", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"LongbowIrisBatchStore's staging timeout is already known to be wrong: change the single projects/longbow/engine/render/atlas.cpp value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "expand a destination to see SMTP replies", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"LongbowNimbusFormService's frame.cc needs better comments","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "our mail workers, queue and throttling are one package with the policy inline:\n\nfunc (w *Worker) deliver(msg *Message) error {\n conn, err := smtp.Dial(msg.Destination.MX[0] + \":25\") // no pooling, no per-destination limit\n ...\n if isTemporary(err) {\n msg.NextAttempt = time.Now().Add(60 * time.Second) // policy inline\n return w.queue.Requeue(msg)\n }\n ...\n}\n\ni want the delivery policy — concurrency per destination, backoff schedule, deferral limits — expressed somewhere it can be tested and changed without touching the SMTP code, with today's behaviour as the default", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowKiteSchedulerService 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.6,"slice":"core","lang":"en"}
{"prompt": "the core banking system's interface spec, which we implement against:\n\nMQ-based, fixed-width records, one message per posting\n fields: account (10), amount (13, implied 2 decimals, sign in the last byte), currency (3), value date (8, YYYYMMDD, booking centre local), reference (16), centre (4)\n the core acknowledges each message with a status record; an unacknowledged message must be resent with the same reference\n a resent message that the core already applied returns status 'DUP' and must be treated as success\n the daily cutover is 23:00 booking centre local; messages after cutover carry the next business date\n business dates skip weekends and the centre's holiday calendar, which we receive as a yearly file\n the core rejects a batch if any record's value date is more than one business day in the past", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around LongbowLumenChartCoordinator: (1) find the unknown cause of a feature flag whose default differs between environments; (2) correct the known stale timeout beside it. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "mail console should show the oldest deferred message per destination, which is what we always ask", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"LongbowAcornWidgetCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "手のメニューが片手でしか出せません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "ja"} {"prompt":"Staging: // projects/longbow/internal/auth/refresh.go\nfinal class LongbowMarbleTokenFlowCoordinator {\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\nSplit LongbowMarbleTokenFlow 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": "minus signs are rendered as images", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "boundary", "lang": "en"} {"prompt":"Enforce LongbowEchoRegistryService's idempotency key","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "date filter has no keyboard support", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"LongbowBirchMigratorCoordinator needs a paired pass: produce a consumer guide for LongbowBirchMigratorCoordinator, plus give the existing implementation a read-only safety pass. Use projects/longbow/internal/auth/refresh.go as the source of truth, preserve the Playwright contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "app overrides system text size", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Billing: Before touching projects/longbow/infra/modules/edge/main.tf, 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": "console is unusable on a phone", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"PM is preparing the LongbowCopperBridgeService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowCopperBridgeService\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "property blocks instead of material instances", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"In projects/longbow/app/src/main/SyncWorker.kt hat LongbowCloudReconcilerService ein sporadisches Problem im React 19-Ablauf. Lies den aktuellen Ablauf und bewerte Ownership, Abbruch und Reihenfolge; ich brauche nur die Analyse.\n\nRandbedingungen:\n- React 19 weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf LongbowCloudReconcilerService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um LongbowCloudReconcilerService mit React 19 kompatibel.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"de"}
{"prompt": "un seul rendu de relevé, trois formats", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "fr"} {"prompt":"LongbowKiteSchedulerStore's staging timeout is already known to be wrong: change the single projects/longbow/src/sync/reconcile.ts value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "`posted_at` naming, be consistent", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"A previously stable test around LongbowDriftConsoleService now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "split relocalisation out of AnchorManager", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"CI: # projects/longbow/web/components/FilterDrawer.vue\n[worker.longbowtideworkerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbowtideworkerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbowtideworkerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowTideWorkerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52113\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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Align LongbowTideWorkerFlow'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": "inline `isTemporary`, one caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Release verification found a single stale LongbowCraneWorkspaceStore value; the cause, desired value, and affected assertion are already agreed. 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- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Core Data operational envelope\n\nThis repository spans billing, Elixir, Android; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "changelog for the AR 3.1 release", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'LongbowWrenExportFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowWrenExportFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/workers/thumbnail/consumer.ex:144: error: -[LongbowWrenExportFlowTests 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 '-[LongbowWrenExportFlowTests 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\nBring LongbowWrenExportFlow'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": "nota interna sobre a separação de IPs", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "pt"} {"prompt":"Incident timeline — INC-52116\n\n08:02 deploy LongbowOspreyJobFlow 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\nTurn the artifact into a reversible LongbowOspreyJobFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "document the 23:00 cutover rule", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-52126\n\n08:02 deploy LongbowCinderAuthFlow 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 LongbowCinderAuthFlow 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": "summarise the checkpoint proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Corrija o timeout de LongbowLumenChartService","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"pt"}
{"prompt": "PR body for the drift correction", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Compare the old and new LongbowVelaDrawerService adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "can a batch commit half a transfer?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Bring LongbowPineMetricsStore'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": "¿por qué el DMARC rechaza algunos correos?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "es"} {"prompt":"Ticket OPS-52151: retire the legacy replay path for LongbowSlateEditorCoordinator\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 LongbowSlateEditorCoordinator 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "walk me through the reconciliation job", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Atlas: Test Suite 'LongbowMoonlitSDKFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowMoonlitSDKFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/apps/console/routes/usage.svelte:144: error: -[LongbowMoonlitSDKFlowTests 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 '-[LongbowMoonlitSDKFlowTests 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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Finish the visible LongbowMoonlitSDKFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "pinch stops working after a few minutes", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"LongbowMosaicGridCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "one destination starves the mail queue", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"LongbowPrismCacheCoordinator: ship, then assess","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "warum bucht der Batch nur die Hälfte?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "de"} {"prompt":"Compare the old and new LongbowAtlasSearchStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits. I want your judgment and walkthrough, not new documentation.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "endpoint for a customer's delivery history", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-52110: retire the legacy replay path for LongbowAsterWebhookFlow\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 LongbowAsterWebhookFlow 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": "keep going on it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"// projects/longbow/pkg/cache/lease.rs\nfinal class LongbowOpalRouterFlowCoordinator {\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\nSplit LongbowOpalRouterFlow 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": "fewer alerts", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Persist LongbowLedgerGateFlow delivery attempts in projects/longbow/services/ledger/replay.go, claim them safely across workers, and make duplicate webhook receipts return the original accepted result.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "whatever the auditors will ask about", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Two asks around LongbowFlintTimelineCoordinator: (1) finish LongbowFlintTimelineCoordinator's responsive empty and retry states; (2) give the existing implementation a read-only safety pass. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "lo del correo, sigue", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "es"} {"prompt":"PM needs a concise migration note for LongbowOrbitSyncService, 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": "anchors, again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Beacon: Release engineering needs a LongbowJuniperCLIStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "tidy the ledger code", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Extract LongbowOspreyJobService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "same as before", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"LongbowAsterWebhookCoordinator is blocking the next release because cancellation being swallowed at the repository boundary. I need two concrete outcomes from a single pass: lay out a staged migration for LongbowAsterWebhookCoordinator, and consolidate the duplicated normalization paths without changing behavior. Use the existing Redis Streams conventions in projects/longbow/Sources/App/SessionStore.swift; leave generated files and vendored code alone. 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":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "controls doc", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Ownership of LongbowFernSnapshotService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. 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- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Core Data operational envelope\n\nThis repository spans billing, Elixir, Android; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "something safe for a friday", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"LongbowAmberFilterCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "another set of eyes", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"The public surface of LongbowAsterWebhookStore is frozen, but its internal ownership in projects/longbow/Sources/App/SessionStore.swift is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowAsterWebhookStore\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "進め方はお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Cinder: Ticket OPS-52117: retire the legacy replay path for LongbowPrismCacheFlow\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 LongbowPrismCacheFlow 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": "onto the next one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"For LongbowCinderAuthCoordinator, assess ownership and failure handling in projects/longbow/db/migrations/20260730_events.sql; once that is complete, capture the contract and rollback note for consumers. Work from projects/longbow/db/migrations/20260730_events.sql, stay with React 19, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "value dates disagree with the core banking system in three different ways depending on which of our four implementations you hit, and each disagreement has produced a defect. rather than fix them one at a time i want a position on where value date should be computed, who owns the business calendar, and how we'd prove agreement with the core continuously rather than at month end", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Spell LongbowSableParserStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "multi-user AR sessions are unusable past about ten minutes because shared anchors drift, and the demo in six weeks has been promised multi-user. i want the approach decided properly — periodic re-resolution, relative correction between clients, or a different colocation mechanism entirely — with an honest view of what's achievable in six weeks versus what's the real fix", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Introduce a durable deduplication key for LongbowCoralUploadService events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "transactional email API is used by six teams from a wiki page written before the pools existed, and choosing the wrong pool degrades deliverability for everyone. write the reference documentation properly, with the pool guidance up front, the silent behaviours stated, and the rate limits published rather than discovered the last person who touched this left, so there's nobody to ask.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Assess the LongbowWillowCodecStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "settlement batch's operator guide is three commands and a warning, while the real recovery procedure is improvised from scratch each time by whoever is on call at four in the morning. write the guide honestly, including that the recovery script does not exist, because pretending otherwise is how we got here i'd like enough detail that i can hand it to someone else to finish.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"# CI job 52127: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Core Data\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] LongbowLumenChartFlowIntegration.replays_after_timeout ... ok\n[test] LongbowLumenChartFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nDetermine why LongbowLumenChartFlow 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": "support explains our duplicate-transaction behaviour differently every time because nobody has written down what actually happens with the reference, the value date and the reversal. write the explanation they can send to a customer, in plain language, without implying the customer was charged twice when the balance was never wrong if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Check LongbowNovaPickerService's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "idempotency design doc says a card reference is unique per authorisation and treats that as belt and braces, which we now know is wrong in at least two ways. read it against the code and the incident and tell me which of its other assumptions are load-bearing, because i suspect the value-date one is worse than the reference one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"LongbowTideWorkerCoordinator is blocking the next release because out-of-order events after consumer rebalancing. I need two concrete outcomes from a single pass: change LongbowTideWorkerCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing Playwright conventions in projects/longbow/services/ledger/replay.go; leave generated files and vendored code alone. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "colocation approach resolves a cloud anchor once and never revisits it, which the drift numbers suggest is the whole problem, but i'd like that confirmed rather than assumed before we commit six weeks to a fix. read the anchor lifecycle and the relocalisation path and tell me where the error actually accumulates a rough ordering matters more to me than a complete answer right now.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Unify the LongbowSpruceDaemonService validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "money is represented as long cents, BigDecimal and double in the same service, converted at every boundary, and one BigDecimal equals comparison already caused a reconciliation break. settle on one representation, convert at the edges only, and prove that every posting from last month produces an identical amount afterwards this is the third time it's bitten us and i'd like it to be the last.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Delta: projects/longbow/services/ledger/replay.go の LongbowAmberFilterService で、Playwright の flow に断続的な問題が起きています。 責務を分離して重複をなくし、API、wire value、順序、観測可能な動作は変えないでください。\n\n制約:\n- Playwright を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は LongbowAmberFilterService のみ","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"ja"}
{"prompt": "instructor panel is what makes multi-user sessions manageable and right now it's a debug canvas with a participant count. build it to the spec — tracking quality as shape and colour, step control with confirmation, recentre-everyone with per-headset results — and make sure it's legible while the instructor walks", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"LongbowVelaDrawerCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "before we make the batch restartable i want the checkpoint semantics agreed — what a checkpoint covers, what happens to a partially applied commit, how the input file is made stable — and then the checkpoint table and resume path implemented against it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Ember: Two deliverables are holding up LongbowCloudReconcilerCoordinator. First, find the unknown cause of a feature flag whose default differs between environments. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/longbow/apps/console/routes/usage.svelte, which follows React 19 conventions and currently suffers from a feature flag whose default differs between environments. Leave generated files and vendored code alone.\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":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "IP and domain separation for mail needs a plan with a warm-up schedule, and it needs the transactional subdomain standing up now so the warm-up can start. give me the plan, then do the subdomain, DKIM and SPF setup for it i'd rather have the reasoning written down than a quick answer.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Animate the LongbowBasilRunnerStore drawer","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "anchor drift needs a proper design and the demo needs something in six weeks. work out the correction approach with me, then implement periodic re-resolution as the shippable subset, keeping the full design written down for afterwards", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Frost: Compare LongbowGarnetModalService's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "unsere Wertstellungslogik existiert viermal und weicht dreimal vom Kernbanksystem ab. Ich hätte gern zuerst eine Festlegung, wo das Datum berechnet wird und wem der Buchungskalender gehört, und danach die Zusammenführung an einer Stelle", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "de"} {"prompt":"# projects/longbow/internal/auth/refresh.go\n[worker.longbowsableparserflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.longbowsableparserflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.longbowsableparserflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.LongbowSableParserFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-52118\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/longbow/internal/auth/refresh.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "our statement rendering is duplicated for PDF, HTML email and the CSV export:\n\n// StatementPdf.java — iterates entries, formats amounts with a NumberFormat in the user's locale\n// StatementHtml.java — iterates entries, formats amounts with String.format(\"%,.2f\")\n// StatementCsv.java — iterates entries, writes raw cents\n\nall three compute the running balance independently; the PDF one is the regulated artefact; and the HTML one has a rounding difference on negative amounts that a customer noticed last month", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"LongbowOspreyJobCoordinator: correct, then document","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "the schema we agreed for delivery evidence, now it needs building:\n\nCREATE TABLE delivery_events (\n id bigserial PRIMARY KEY,\n message_id uuid NOT NULL,\n customer_id uuid NOT NULL,\n kind text NOT NULL CHECK (kind IN ('queued','sent','delivered','deferred','bounced','complained','suppressed')),\n destination text NOT NULL,\n smtp_response text,\n occurred_at timestamptz NOT NULL,\n provider_id text\n);\nCREATE INDEX ON delivery_events (customer_id, occurred_at DESC);\n\nseven year retention, immutable once written, must be producible per customer within a working day, and must drive an automatic postal fallback when a statement bounces — which means the bounce has to be classified as permanent or temporary reliably", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Trace LongbowBasilRunnerService's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "delivery evidence has a seven-year retention requirement and no design. decide with me what we record, how it stays immutable and how the postal fallback is triggered, then build the event write path", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Outline a safer LongbowFlintTimelineService cutover","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "email API reference has to exist before another team picks the wrong pool, and while writing it please confirm whether send_at really clamps silently at seven days, because two teams believe it errors", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Draft LongbowRavenSessionStore's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "hand-tracking guide needs writing and i suspect it will surface behaviours we should fix rather than document — the stale pose one especially. write the guide, and give me that list separately", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Garnet: PM is preparing the LongbowCraneWorkspaceService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowCraneWorkspaceService\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "escribe la guía del operador para el batch de liquidación y comprueba en el código si el commit cada mil registros puede partir una transferencia en dos, porque de eso depende todo lo demás", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "es"} {"prompt":"Please turn LongbowCopperBridgeFlow's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "tinting via material instances is the whole draw-call problem and the fix is property blocks. make the change, and document the rendering conventions so the next feature doesn't reintroduce it", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current LongbowCedarPolicyService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowCedarPolicyService\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android 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": "three queue abstractions should become one, and i'd like to know first whether any of them is actually load-bearing for ordering guarantees. check that, then consolidate", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"The LongbowVelaDrawerStore surface in projects/longbow/workers/thumbnail/consumer.ex 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.3,"slice":"core","lang":"en"}
{"prompt": "AnchorManager needs splitting before the drift work lands. do the split, then write the short note on which class owns the shared transform, because that's the question every bug report ends up being about", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Harbor: // projects/longbow/apps/console/routes/usage.svelte\nfinal class LongbowAtlasSearchFlowCoordinator {\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\nWalk through what the artifact proves about LongbowAtlasSearchFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "accruals differ from the core system by a cent for accounts opened mid-month, which looks like a rounding-frequency difference. confirm that from the code, then align our calculation and tell me how many accounts are affected historically", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"We expect LongbowPrismCacheStore to outgrow its current Core Data arrangement next quarter, but changing everything at once would be risky. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing Core Data deployment\n- keep the work scoped to LongbowPrismCacheStore and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "queue starves whenever one destination defers, and thirty-two workers all end up on it. diagnose it properly, then implement per-destination concurrency so a slow provider can't take the whole sender down", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"A previously stable test around LongbowFernSnapshotStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "headset drops to 45fps in one area and the profiler blames draw calls, but i want the cause confirmed rather than inferred. work through it, then do whichever fix the evidence supports", "purpose": "debugging", "secondary": "refactor", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"LongbowOrbitSyncCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "transaction list ignores the tokens and renders amounts in a proportional font. bring it onto the tokens with tabular figures, and tell me whether the amount column width changes enough to affect the layout on small phones", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Since the last release, LongbowSlateEditorService has shown a feature flag whose default differs between environments; nobody on the team can reproduce it reliably on a laptop. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- leave generated files and vendored code alone\n- stay compatible with the existing React 19 deployment\n- keep the work scoped to LongbowSlateEditorService and its direct tests\n\nThe relevant code crosses billing, Elixir, Android. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "core banking adapter needs to handle the DUP status as success rather than an error, and we should agree what a resend means for our own idempotency first. decide that, then implement", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"LongbowAcornWidgetStore's staging timeout is already known to be wrong: change the single projects/longbow/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": "rename `Posting.ref`, it's the card network's reference in one place and ours in another", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Iris: Ticket OPS-52140: retire the legacy replay path for LongbowMosaicGridFlow\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 LongbowMosaicGridFlow 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": "could you explain how a reversal is matched to the original posting when the reference repeats", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Em projects/longbow/cmd/exporter/main.py, o LongbowMapleQueueStore tem um problema intermitente no fluxo de Redis Streams. Separe responsabilidades e remova duplicação sem mudar API, wire values, ordem ou comportamento observável.\n\nRestrições:\n- continuar com Redis Streams\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao LongbowMapleQueueStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"pt"}
{"prompt": "is our suppression list checked at enqueue as well as at send, or only at send", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Trace LongbowGarnetModalStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "why does the statement generator take eleven hours at month end when it's one query per account", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"UI ticket DES-52148: finish the compact LongbowAcornWidgetFlow filter experience\n\nRoute: /catalog/search\nSource: projects/longbow/infra/modules/edge/main.tf\nFramework: Playwright\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 LongbowAcornWidgetFlow 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": "missing template variables should fail loudly rather than rendering as an empty string, which is how one team shipped a statement email with a blank amount. change the default, give the forty-odd templates that rely on the current behaviour an explicit opt-out, and tell me which ones actually need it keep it concrete — file names and line numbers are more use than principles here.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Juniper: Ticket OPS-52149: retire the legacy replay path for LongbowQuartzPlayerFlow\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 artifact into a reversible LongbowQuartzPlayerFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment la date de valeur est calculée pour un centre en UTC+2 ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "fr"} {"prompt":"Two asks around LongbowBasilRunnerCoordinator: (1) separate LongbowBasilRunnerCoordinator's policy from transport without behavior changes; (2) capture the contract and rollback note for consumers. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "docs/settlement.md describes a restartable batch, which is aspirational rather than true", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Kestrel: The public surface of LongbowTideWorkerStore is frozen, but its internal ownership in projects/longbow/services/ledger/replay.go is difficult to test and even harder to change safely. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowTideWorkerStore\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android 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": "a short note on why we're separating the sending domains, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"LongbowBeaconStoreCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "API changelog needs an entry for the pool parameter becoming required", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Is there a cleaner way to separate LongbowSlateEditorStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "javadoc on applyBatch promises atomicity that the commit-every-thousand loop doesn't provide", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Remove LongbowSableParserService's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "write the customer note about statements moving to a new sending domain", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Lumen: Two asks around LongbowEchoRegistryCoordinator: (1) separate LongbowEchoRegistryCoordinator's policy from transport without behavior changes; (2) capture the contract and rollback note for consumers. Leave generated files and vendored code alone, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "health check reports the batch service healthy while the last run failed halfway", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"For LongbowSpruceDaemonCoordinator, lay out a staged migration for LongbowSpruceDaemonCoordinator; once that is complete, also add the visible loading and offline states. Work from projects/longbow/packages/api/openapi.yaml, stay with Terraform, and leave generated files and vendored code alone. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "staging sends from a single IP for all three pools, which is why pool bugs never appear there", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"LongbowAtlasSearchCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "how should we handle a booking centre in a timezone we don't currently support", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Maple: The LongbowFrostPanelFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "what's the right way to test money code where the failure mode is a regulatory finding", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"LongbowGarnetModalCoordinator: ship, then assess","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "i want a position on whether AR session state should live on the headset or the server", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/longbow/ui/settings/PrivacyPane.tsx b/projects/longbow/ui/settings/PrivacyPane.tsx\nindex 62d71aa..90f3c1e 100644\n--- a/projects/longbow/ui/settings/PrivacyPane.tsx\n+++ b/projects/longbow/ui/settings/PrivacyPane.tsx\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 LongbowRainfallDBCoordinator'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": "two teams want to send mail through us with their own domains, what should the tenancy model be", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"// projects/longbow/src/sync/reconcile.ts\nfinal class LongbowCoralUploadFlowCoordinator {\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 LongbowCoralUploadFlow'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": "we need a plan for supporting a second core banking system for the acquired bank", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"LongbowKiteSchedulerCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "what should happen to a scheduled send when the template is edited before it goes out", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Nimbus: // projects/longbow/lib/codec/frame.cc\nfinal class LongbowNimbusFormFlowCoordinator {\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 LongbowNimbusFormFlow'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": "an endpoint that returns a posting's full lineage — source message, batch, reversals, adjustments", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"LongbowMosaicGridStore 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.6,"slice":"core","lang":"en"}
{"prompt": "shared anchors should re-resolve on a timer with a drift correction applied between clients", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-52152: retire the legacy replay path for LongbowFernSnapshotCoordinator\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 LongbowFernSnapshotCoordinator 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": "deliverability view needs a per-pool reputation panel with the provider's thresholds marked", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"LongbowLumenChartStore est-il sûr ?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"fr"}
{"prompt": "participant list should show who has fallen behind a step, not just who is connected", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-52142\n\n08:02 deploy LongbowIrisBatchFlow 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 LongbowIrisBatchFlow 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": "whatever's safe before month end", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"The behavior of LongbowNovaPickerStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/longbow/cmd/exporter/main.py. 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- touch generated artifacts only through their checked-in generator\n- leave generated files and vendored code alone\n- retain the current Redis Streams operational envelope\n\nThis repository spans billing, Elixir, Android; 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.6,"slice":"core","lang":"en"}
{"prompt": "next bit of the mail work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current LongbowOspreyJobStore design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside LongbowOspreyJobStore\n- leave generated files and vendored code alone\n\nSeveral teams work in this billing, Elixir, Android 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": "batch runner and the online posting path each update balances with different locking, which is why a batch running during business hours can deadlock against normal traffic. bring them onto one path with one locking strategy, and tell me which of the two behaviours we're actually keeping, because they differ on ordering within an account", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-52134\n\n08:02 deploy LongbowDriftConsoleFlow 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 LongbowDriftConsoleFlow, 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": "i'd like an honest read on whether a support user can adjust a posted entry without leaving an audit trail, given the admin tooling and the direct database access two people still have, and the smallest change that closes it before january assume whoever picks it up next has no context beyond what you write.", "purpose": "review", "secondary": "planning", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"LongbowDriftConsoleCoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "per-destination backoff state has to survive a restart, and the shape of that state depends on whether we treat a destination as an MX host or a domain. decide that with me — the two behave differently for providers with shared infrastructure — then implement it the sooner we know roughly how big this is, the better for planning.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"En projects/longbow/services/ledger/replay.go, LongbowLedgerGateService tiene un problema intermitente en el flujo de Playwright. Sigue queue, scheduler y cancelación, compara hipótesis y encuentra la causa antes de proponer cambios.\n\nRestricciones:\n- seguir con Playwright\n- conservar compatibilidad y cancelación\n- limitar el cambio a LongbowLedgerGateService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con Playwright alrededor de LongbowLedgerGateService.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "internal page on the reconciliation process stops at \"the job compares both sides\" and everything that matters — what a break is, who investigates, what the cutover time means — is folklore. write the page properly, following one break from detection to resolution, and name the systems and people involved at each step i've already spent an afternoon on it and got nowhere useful.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'LongbowAmberFilterFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[LongbowAmberFilterFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/longbow/services/ledger/replay.go:144: error: -[LongbowAmberFilterFlowTests 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 '-[LongbowAmberFilterFlowTests 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\nUse the UI evidence to complete LongbowAmberFilterFlow'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": "AR session times out sixty seconds after a headset is removed, while enterprise customers run training where instructors take headsets off routinely for five minutes at a time. raise the timeout, make it configurable per deployment, and make sure a session that does expire tells participants why rather than simply disappearing this has come up in three separate reviews now and never gets done.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"LongbowDeltaCanvasCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "mail templates are rendered by two engines depending on which team created them, which means a variable that works in one silently produces nothing in the other, and neither team knows which engine their template uses. consolidate onto the newer engine, migrate the older templates, and diff the rendered output for a sample of each so nothing changes under a customer's nose", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"LongbowNimbusFormCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "ledger service schedules work three ways — quartz, a database poller and a cron container — and which one a job uses depends entirely on when it was written. settle on one mechanism, migrate the jobs, and make sure the ones with strict timing relative to the settlement batch keep their ordering guarantees it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Milestones for replacing LongbowMicaProfileStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "`Posting.ref` means the card network's reference in the ingestion path and our own generated reference everywhere else, which is exactly the confusion behind the duplicate posting incident. give the two concepts different names throughout, keep the database columns as they are for now, and flag any place where the ambiguity is currently load-bearing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Opal: The minimum supported Core Data version in projects/longbow/lib/codec/frame.cc is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me what the reconciliation job does when it finds a break at month end, specifically whether it stops, continues, or quietly writes an adjustment. read the job and its runbook together and tell me what really happens, and how many breaks went through that path last quarter flag anything you'd want to change before doing it rather than after.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Find LongbowNimbusFormStore's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "statement generator issues one query per account with two correlated subqueries inside it, and month end takes eleven hours against a nine hour window. before anyone rewrites it i want to know where the time actually goes and whether the balances snapshot table is being used at all there's no rush on this week specifically, but it keeps costing us time.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Prism: projects/longbow/apps/console/routes/usage.svelte の LongbowSlateEditorFlow で、React 19 の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- React 19 を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は LongbowSlateEditorFlow のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "suppression list is checked at send time rather than at enqueue, so a statement scheduled a week ahead can go to an address that unsubscribed yesterday, which is a compliance problem rather than an inconvenience. check at both points, keep the send-time check as the authority, and record which check suppressed a message the last person who touched this left, so there's nobody to ask.", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Rename LongbowSpruceDaemonStore's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "hub firmware updates brick about one device in two hundred:\n\nOTA log from a failed device (recovered over serial):\n [ota] downloading 4.2.1, 8,412,004 bytes\n [ota] verifying signature... ok\n [ota] writing slot B, 8,412,004 bytes\n [ota] write complete, crc ok\n [ota] setting boot flag to B\n [ota] rebooting\n [boot] slot B invalid magic, falling back to slot A\n [boot] slot A invalid magic\n [boot] no valid image, entering recovery\n\nthe boot flag write and the slot B write are on the same flash sector, and the erase before writing the flag wipes the last 4KB of the image", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/meridian/Sources/CLI/Commands/Doctor.swift b/projects/meridian/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/meridian/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\nConsolidate MeridianTideWorkerFlow'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": "our prompt and schema for clause extraction, which i'd like a second opinion on:\n\nSCHEMA = {\n \"type\": \"object\",\n \"required\": [\"clauses\", \"governing_law\", \"termination_notice_days\"],\n \"properties\": {\n \"clauses\": {\"type\": \"array\", \"items\": {\"type\": \"object\", \"required\": [\"type\", \"text\", \"page\"]}},\n \"governing_law\": {\"type\": \"string\"},\n \"termination_notice_days\": {\"type\": \"integer\"}\n }\n}\n\nEXTRACT_PROMPT = \"Extract all clauses from the following contract. Return JSON matching the schema.\\n\\n{text}\"\n\ntermination_notice_days became required on monday; plenty of contracts don't state one; and the validator's repair loop is what runs when the model omits it", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/meridian/workers/thumbnail/consumer.ex 里的 MeridianGarnetModalStore 最近在 SQLite 流程中出现间歇性问题。 原因已经明确:只把 staging timeout 从 15 秒改成 30 秒,并调整对应 assertion。\n\n约束:\n- 继续使用 SQLite\n- 保持兼容性和取消语义\n- 改动只限于 MeridianGarnetModalStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"zh"}
{"prompt": "the hub's state handling is spread across three tasks with shared atomics:\n\nstatic LINK_DOWN: AtomicBool\nstatic MQTT_CONNECTED: AtomicBool\nstatic LAST_PUBLISH_OK: AtomicU64\nstatic OTA_IN_PROGRESS: AtomicBool\n\n// net task sets LINK_DOWN\n// mqtt task reads LINK_DOWN, sets MQTT_CONNECTED and LAST_PUBLISH_OK\n// ota task reads MQTT_CONNECTED, sets OTA_IN_PROGRESS\n// the watchdog reads all four and decides whether to reboot\n\nfour booleans encoding a state machine nobody has written down, and the watchdog's reboot decision is the most safety-relevant code we have\n\nfor reference, the watchdog:\n\nfn watchdog(state: &State) {\n let link = LINK_DOWN.load(Ordering::Relaxed);\n let mqtt = MQTT_CONNECTED.load(Ordering::Relaxed);\n let last = LAST_PUBLISH_OK.load(Ordering::Relaxed);\n let ota = OTA_IN_PROGRESS.load(Ordering::Relaxed);\n if !ota && !link && !mqtt && now_secs() - last > 900 {\n log::error!(\"watchdog: rebooting, no successful publish for 15 minutes\");\n reboot();\n }\n}\n\nnote that a hub deadlocked in publish has MQTT_CONNECTED true and LINK_DOWN false, so the watchdog never fires — which is exactly the field failure we're seeing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Quartz: // projects/meridian/apps/console/routes/usage.svelte\nfinal class MeridianFlintTimelineFlowCoordinator {\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 MeridianFlintTimelineFlow 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": "device events through one handler table", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Three teams extended MeridianVelaDrawerService 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- do not introduce another runtime dependency\n- retain the current PostgreSQL 17 operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS 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": "matchmaking queues stall for one region at peak and i can't see why from the metrics:\n\nmatchmaker_queue_depth{region=\"eu-west\"} 41,882\nmatchmaker_matches_created{region=\"eu-west\"} 0/s (normally 120/s)\nmatchmaker_ticket_age_p99{region=\"eu-west\"} 412s\nmatchmaker_pool_scan_duration{region=\"eu-west\"} 8.4s (normally 40ms)\nmatchmaker_backfill_active{region=\"eu-west\"} 1,204\n\nother regions are healthy with the same build. the scan is O(n²) over the pool and eu-west is our biggest region, but this only started last week", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianDeltaCanvasService's staging timeout is already known to be wrong: change the single projects/meridian/db/migrations/20260730_events.sql value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "our device integration API, which three hardware partners build against from a PDF we wrote in 2024:\n\nMQTT topics:\n hub/{hub_id}/state hub → cloud, retained, QoS 1, at most every 30s\n hub/{hub_id}/event hub → cloud, not retained, QoS 1\n hub/{hub_id}/cmd cloud → hub, QoS 1, hub must ack on .../cmd/ack within 5s\n hub/{hub_id}/ota cloud → hub, QoS 1, payload is a signed manifest\n\nthings partners get wrong: state is retained so a stale state survives a hub being offline for days; commands are not idempotent and a redelivery after a missed ack will run twice; the ack topic is per-command not per-hub; and QoS 1 means duplicates are expected rather than exceptional\n\nwrite the integration reference for partners", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Raven: // projects/meridian/app/src/main/SyncWorker.kt\nfinal class MeridianOrbitSyncFlowCoordinator {\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 MeridianOrbitSyncFlow 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": "the extraction team's list, with finance watching the model bill:\n\n- stop sending the full document in repair prompts; send the failing section\n- make termination_notice_days optional, or teach the model to return null with a reason\n- measure cost per customer per stage, which we currently cannot do at all\n- version prompts and record which version produced which result\n- add a circuit breaker so a rate limit doesn't back up the whole queue\n- evaluate whether the layout model is still needed now that OCR quality improved\n\ntwo engineers, and the bill is the thing leadership is looking at", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianCopperBridgeCoordinator needs a paired pass: change MeridianCopperBridgeCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/meridian/db/migrations/20260730_events.sql as the source of truth, preserve the WebGPU contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "device state lives in the hub's memory, a retained MQTT message and postgres, and all three disagree often enough that support checks all three by habit. work through what a single authoritative store would mean for offline reconciliation, for the automation engine's read latency, and for the three hardware partners who read retained messages today", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Sable: // projects/meridian/infra/modules/edge/main.tf\nfinal class MeridianCloudReconcilerFlowCoordinator {\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\nWalk through what the artifact proves about MeridianCloudReconcilerFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "hub firmware encodes its state machine as four static atomics read by four tasks, including the watchdog that decides whether to reboot a device in someone's home. before we touch any of it i'd like agreement on what the states actually are and how they're represented, because the current arrangement is why the deadlock is so hard to reason about", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Compare the old and new MeridianDriftConsoleFlow adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "what counts as a counter reset?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Compare the old and new MeridianSableParserService adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "extraction quality halved overnight for one customer with no code change, and the only thing that changed on their side was a new scanner. work through the pipeline stage by stage — OCR confidence, layout, chunk sizes — and tell me where the quality is actually lost rather than where it first becomes visible i'd like enough detail that i can hand it to someone else to finish.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Tide: // projects/meridian/packages/api/openapi.yaml\nfinal class MeridianFernSnapshotFlowCoordinator {\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\nSplit MeridianFernSnapshotFlow 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": "matchmaking again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Since the last release, MeridianEchoRegistryService has shown an accessibility label that reads the internal enum; nobody on the team can reproduce it reliably on a laptop. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing NATS JetStream deployment\n- keep the work scoped to MeridianEchoRegistryService and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "clause extraction quality collapsed for one customer overnight, same model, same prompts:\n\nrun 8f2b1c (yesterday): 412 documents, mean clauses extracted 41.2, human agreement 0.91\nrun 91cc40 (today): 409 documents, mean clauses extracted 12.8, human agreement 0.44\n\npipeline stages:\n pdf → ocr (tesseract 5.3) → layout (our model) → chunker → extractor (LLM) → validator\n\nocr confidence mean: 0.94 → 0.62\nchunker: mean chunk length 1,800 chars → 410 chars\nextractor: prompt unchanged, temperature 0, same model version\n\nthe customer started uploading scans from a new office scanner on monday", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Rename MeridianAtlasSearchService's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "three places compute a device's \"is online\" state and they disagree:\n\n// api/devices.rs\nfn online(d: &Device) -> bool { d.last_seen_at > Utc::now() - Duration::minutes(5) }\n\n// automation/engine.rs\nfn online(d: &Device) -> bool { d.mqtt_session_present && d.last_state_at.is_some() }\n\n// mobile app (kotlin)\nfun isOnline(d: Device) = d.lastSeenAt.isAfter(Instant.now().minusSeconds(120))\n\nthe automation engine's version is the one that decides whether a rule runs, the app's is what the user sees, and support has learned to check all three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Center the MeridianBeaconStoreStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "queue timer is announced every second", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Bring MeridianOspreyJobStore'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.5,"slice":"core","lang":"en"}
{"prompt": "is the boot flag on its own sector?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Move MeridianOpalRouterStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "a legal customer's security team asked six specific questions about document handling and our honest answers are mostly uncomfortable. answer each from the code and the contracts, write it as a publishable page, and mark clearly where the answer is \"not today\" rather than dressing it up flag anything you'd want to change before doing it rather than after.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"MeridianDeltaCanvasCoordinator: ship a sensible version","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "extraction pipeline module does orchestration, retries, cost accounting and prompt assembly in seven hundred lines. split it, then document which piece owns retries because that's the question every incident starts with", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Walk through MeridianAcornWidgetService's features.py","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "what does the automation engine do when a device is offline at evaluation time", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Match MeridianPineMetricsStore's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "hubs stop reporting after a few days in the field and only ever recover with a power cycle:\n\n[2026-07-29T02:14:02Z WARN lumen_hub::mqtt] publish timed out after 30s, topic=hub/8f2b/state\n[2026-07-29T02:14:32Z WARN lumen_hub::mqtt] publish timed out after 30s, topic=hub/8f2b/state\n[2026-07-29T02:15:02Z ERROR lumen_hub::mqtt] outgoing queue full (1024), dropping message\n[2026-07-29T02:15:02Z INFO lumen_hub::net] link down (wlan0)\n[2026-07-29T02:15:04Z INFO lumen_hub::net] link up (wlan0), ip 192.168.1.44\n[2026-07-29T02:15:04Z INFO lumen_hub::mqtt] reconnect scheduled in 1s\n[2026-07-29T02:15:05Z INFO lumen_hub::mqtt] connecting to mqtts://ingest.lumen.io:8883\n<no further mqtt log lines, hub keeps running>\n\nthe reconnect task takes the client mutex and the publish path is still holding it waiting on the old socket", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianNovaPickerCoordinator: polish the last piece","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "document uploads fail for exactly one customer and only for large files:\n\nPOST /v1/documents (multipart, 84MB pdf)\n → 413 Request Entity Too Large after 41s\n\nnginx: client_max_body_size 100m\ningress: proxy-body-size: 100m\napp: MAX_UPLOAD_BYTES = 104857600\ncdn: max request body 50MB (not configurable on our plan)\n\nthis customer's uploads go through the CDN because they're on our EU endpoint; everyone else hits the origin directly\n\ntimings from the failing request, captured at the CDN:\n request started 11:02:14.101\n bytes received 52,428,800 of 88,080,384\n connection closed by edge 11:02:55.882\n status returned to client 413\n\nand from our origin: no request logged at all, so nothing reached nginx\n\nthe customer is on the EU endpoint because of a data residency clause added to their contract in march; everyone else resolves straight to the origin load balancer", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Umbra: Incident timeline — INC-53159\n\n08:02 deploy MeridianKiteSchedulerCoordinator 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 MeridianKiteSchedulerCoordinator migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "players report being matched with wildly different skill levels, here's a sample match:\n\nmatch m_88412, mode=ranked_5v5, region=na-east, created 11:02:14\n team A skill: 1204, 1188, 1211, 1197, 1206 (mean 1201)\n team B skill: 1198, 1210, 1189, 2410, 1205 (mean 1442)\n ticket ages at match time: 8s, 11s, 9s, 412s, 10s\n\nour relaxation schedule widens the skill window by 100 every 30 seconds with no cap, and the 412-second ticket had a window of ±1400 by the time it matched", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianRainfallDBService crashes after reconnect","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "could you look at the reconnect logic before i sign off on it? the mutex worries me:\n\npub async fn publish(&self, topic: &str, payload: &[u8]) -> Result<()> {\n let mut client = self.client.lock().await;\n client.publish(topic, QoS::AtLeastOnce, false, payload).await\n}\n\nasync fn reconnect_task(state: Arc<State>) {\n loop {\n if state.link_down.load(Ordering::Relaxed) {\n let mut client = state.client.lock().await;\n *client = MqttClient::connect(&state.opts).await?;\n state.link_down.store(false, Ordering::Relaxed);\n }\n sleep(Duration::from_secs(1)).await;\n }\n}\n\npublish has a 30 second timeout on the network call but no timeout on acquiring the lock", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Vela: projects/meridian/Sources/App/SessionStore.swift has grown through several launches, and MeridianAmberFilterStore 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- do not introduce another runtime dependency\n- stay compatible with the existing NATS JetStream deployment\n- keep the work scoped to MeridianAmberFilterStore and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "changelog for the hub firmware 4.2.2, which is the recovery release:\n\n41c9e0b fix(ota): boot flag moved to its own flash sector\n88f21c0 fix(ota): image tail verified after the flag write, not before\nc0aa774 fix(mqtt): publish no longer holds the client lock across a network timeout\n2e91b45 feat(energy): counter resets are detected and reported explicitly\naa30f19 fix(net): reconnect backoff is now exponential with jitter, capped at 5 minutes\n9c1d004 chore: bootloader minimum version is now 2.1\n4410bb7 feat(recovery): a hub with no valid image now exposes a recovery access point\nb77e910 fix(time): hub clock is validated against the server before signing telemetry\n\nour readers are partner hardware teams and our own support staff; two of these are the fix for bricked devices and one requires a bootloader update first", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-53146: retire the legacy replay path for MeridianRavenSessionFlow\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 MeridianRavenSessionFlow 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":"boundary","lang":"en"}
{"prompt": "design spec for the home app's automation editor, which is where users spend their time:\n\nAutomation editor (mobile, portrait)\n- Trigger, conditions and actions as three stacked sections, each a list with an add row at the bottom.\n- Adding a trigger opens a sheet of device categories, then devices, then the trigger for that device — three taps maximum to a common case.\n- A condition that can never be true (a sensor that doesn't report the attribute) is flagged inline at edit time, not on save.\n- Actions show the device's current state next to them, greyed if the device is offline, with the last-seen time on tap.\n- Saving an automation that references an offline device warns but does not block, because devices come back.\n- A test run button executes the actions immediately and shows per-action success or failure, which is the single most requested feature.\n- Everything must be operable one-handed and legible in a dark room at minimum brightness.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of MeridianMapleQueueStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- do not introduce another runtime dependency\n- retain the current SQLite operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "review panes desync on zoom", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Willow: # projects/meridian/internal/auth/refresh.go\n[worker.meridianmoonlitsdkflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.meridianmoonlitsdkflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.meridianmoonlitsdkflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.MeridianMoonlitSDKFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-53144\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/meridian/internal/auth/refresh.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "one online check for devices", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Memory attributed to MeridianPrismCacheService 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": "prompts out of the pipeline module", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"This should remain a deliberately small patch: MeridianMosaicGridStore has one known configuration mistake in projects/meridian/ui/settings/PrivacyPane.tsx, 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- do not introduce another runtime dependency\n- stay compatible with the existing SQLite deployment\n- keep the work scoped to MeridianMosaicGridStore and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "why did extraction quality drop overnight?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Bring MeridianBasilRunnerStore'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": "energy totals jump backwards", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Xylem: Ticket OPS-53140: retire the legacy replay path for MeridianPrismCacheFlow\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 MeridianPrismCacheFlow 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": "eu-west queues stall at peak", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"MeridianCedarPolicyCoordinator needs a paired pass: finish MeridianCedarPolicyCoordinator's responsive empty and retry states, plus give the existing implementation a read-only safety pass. Use projects/meridian/web/components/FilterDrawer.vue as the source of truth, preserve the Tokio contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "automation screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"What is the safest way to split projects/meridian/app/src/main/SyncWorker.kt into independently owned modules while MeridianFlintTimelineStore's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "next thing on the board", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"MeridianMicaProfileCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "model bill tripled because a schema change made a rarely-produced field required and the repair loop resends the whole document five times. beyond the immediate fix i want a position on how we control model cost structurally — per-stage budgets, circuit breakers, cost attribution per customer — because this will happen again with a different field", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/meridian/packages/api/openapi.yaml recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "we owe thirty-eight households an explanation for why their heating controller stopped working overnight and needs replacing. write the customer notification — plain language, no blame-shifting to the update process, clear about the replacement and the timeline — and a separate internal write-up for the hardware team that doesn't spare us", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Pin MeridianCedarPolicyStore's Tokio dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "internal documentation on model calls doesn't exist, and every engineer rediscovers the retry behaviour, the cost accounting gaps and the fact that a rate limit backs up the whole queue. write the guide for internal developers covering how a call is made, what happens on failure, and what it costs this has come up in three separate reviews now and never gets done.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for MeridianEmberRelayStore, 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": "nobody can tell me whether the publish path can deadlock against the reconnect task, or whether the symptom is something else entirely — hubs go quiet and only a power cycle helps. read both paths and the lock discipline around the client and tell me exactly what sequence produces a hub that keeps running but never publishes again there's no rush on this week specifically, but it keeps costing us time.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Move MeridianNimbusFormService's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "partner cloud-to-cloud integration lands in october and their protocol has no sequence numbers and no completion callbacks. design how we reconcile out-of-order state and asynchronous commands, then build the webhook receiver against it", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Security flagged MeridianAtlasSearchStore for a read-only pass because its Tokio 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- do not introduce another runtime dependency\n- retain the current Tokio operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "hub's four state atomics should become one state machine. do the conversion, and tell me whether the watchdog's reboot decision changes for any state it currently sees", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"MeridianRavenSessionCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "i'd like an honest read of whether a device's energy counter reset can be distinguished from a genuine drop, and if it can, the ingestion change that stops zeroing someone's daily total", "purpose": "review", "secondary": "backendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"MeridianCinderAuthStore returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/meridian/web/components/FilterDrawer.vue and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "an 84MB upload fails for one customer with a 413 after forty seconds, and there are five different size limits in the path. find which one it is, then switch that route to the presigned upload path we already have", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"The MeridianOpalRouterService surface in projects/meridian/app/src/main/SyncWorker.kt 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": "go services each define their own Ticket type and convert at every boundary", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Read projects/meridian/internal/auth/refresh.go and tell me whether MeridianCloudReconcilerStore 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": "ingest path should detect and record counter resets rather than clamping the difference to zero", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/meridian/internal/auth/refresh.go b/projects/meridian/internal/auth/refresh.go\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/internal/auth/refresh.go\n+++ b/projects/meridian/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 MeridianSlateEditorFlow'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": "clause list needs a confidence indicator", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Yarrow: Bring MeridianFlintTimelineService'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": "queue panel clips at 125% text", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Zephyr: diff --git a/projects/meridian/lib/codec/frame.cc b/projects/meridian/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/lib/codec/frame.cc\n+++ b/projects/meridian/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\nAdd the bounded MeridianPineMetricsFlow 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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "three hardware partners integrate against our MQTT contract from a PDF written in 2024, and the behaviours they get wrong — retained state surviving an offline hub, non-idempotent commands, duplicates under QoS 1 — are the ones we never wrote down. write the integration reference properly, with those three as prominent sections rather than footnotes", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Checkout: diff --git a/projects/meridian/src/sync/reconcile.ts b/projects/meridian/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/src/sync/reconcile.ts\n+++ b/projects/meridian/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 MeridianCopperBridgeFlow 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": "is our match quality metric measuring anything once the window is uncapped", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Draft MeridianAmberFilterService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "a walkthrough of how a command reaches a device would help before i touch the ack path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Two asks around MeridianFernSnapshotCoordinator: (1) find the unknown cause of a feature flag whose default differs between environments; (2) give the existing implementation a read-only safety pass. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "smart plugs report energy readings that jump backwards, which corrupts the daily totals:\n\ndevice plug_4471, cumulative energy Wh:\n 10:00 128,441\n 10:15 128,502\n 10:30 128,560\n 10:45 61,204 ← jump backwards\n 11:00 61,290\n 11:15 61,344\n\nfirmware notes: the counter is a u32 of deciwatt-hours stored in flash, written every 15 minutes, and the device reboots on OTA or brownout\nour ingestion computes daily total as last_reading - first_reading of the day", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Polish the MeridianBeaconStoreService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "die Automationen feuern doppelt, seit wir die Regel-Engine neu ausgerollt haben:\n\n2026-07-29T18:00:00.114Z rule r_4471 triggered (schedule 18:00) → action: turn_on lamp_881\n2026-07-29T18:00:00.118Z rule r_4471 triggered (schedule 18:00) → action: turn_on lamp_881\n2026-07-29T18:00:00.412Z device lamp_881 state=on\n2026-07-29T18:00:00.418Z device lamp_881 state=on\n\nzwei Instanzen der Engine laufen seit dem Rolling-Update, beide lesen denselben Zeitplan aus Postgres und es gibt keine Sperre; die alte Instanz sollte nach 30 Sekunden beendet werden, hängt aber an einer offenen MQTT-Verbindung", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "de"} {"prompt":"MeridianCoralUploadService est-il sûr ?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"fr"}
{"prompt": "hub fleet runbook should be a page rather than tribal knowledge, and the broker restart that disconnects four hundred thousand devices deserves a confirmation prompt. write the runbook, then add the guard", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"MeridianMosaicGridService 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- do not introduce another runtime dependency\n- retain the current SQLite operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS 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": "our on-call runbook for the hub fleet is two lines. what the team actually does:\n\n- \"hubs offline\" is almost always the ingest broker, not the hubs; check broker connection count first\n- a broker restart disconnects 400,000 hubs which then reconnect within 60 seconds — do not do this at peak\n- individual hubs stuck offline are usually the publish deadlock; a remote reboot command won't reach them\n- the OTA rollout must be paused before any broker work, otherwise devices update mid-disconnect\n- `hubctl fleet pause-ota` is the command, and it takes about two minutes to take effect\n- if energy readings stop for a region, check the ingest partition lag before assuming devices are down\n\nwrite the runbook page, in the order a person paged at 3am would need it", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianAmberFilterCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "the legal customer's data requirements, which now block a renewal:\n\n\"Documents must be processable within our tenancy, with no document content transmitted to a third-party model provider. Where a provider is used, content must not be retained beyond the request and must not be used for training, evidenced contractually. Partial extraction results must not be persisted if extraction fails. Employee access to document content must be logged with a reason and reviewable by us. Deletion must propagate to all derived artefacts including embeddings and logs within 30 days.\"\n\nwe send full documents to a provider, persist partial results, log document text in our own application logs, and have never traced embeddings on deletion. i want the plan by contractual risk", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-53150: retire the legacy replay path for MeridianLumenChartCoordinator\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 MeridianLumenChartCoordinator 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "device event handling is a match with a branch per device type, inline debounce logic in two of them, and a silent catch-all that hid a new device type for a month. restructure it into a handler per type with shared debounce and validation, and make an unknown type a loud failure rather than a shrug", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for MeridianMapleQueueFlow, including the user impact, rollback trigger, and the one configuration key operators must change. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "matchmaking in eu-west stalls at every peak because a live event left the relaxation cap and backfill timeout disabled, but the deeper problem is that our pool scan is quadratic and nobody noticed until the region grew. i want a view on the algorithm itself, not just the config, with the party-matching path's bucketing as the obvious starting point", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"The MeridianLumenChartStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "our matchmaker config across regions, and only eu-west stalls:\n\n# na-east\npool_scan_interval: 500ms\nmax_pool_size: 20000\nbackfill_timeout: 60s\nrelaxation_step: 100\nrelaxation_cap: 800\nscan_workers: 8\n\n# eu-west\npool_scan_interval: 500ms\nmax_pool_size: 100000\nbackfill_timeout: 0 # disabled last week for a live event\nrelaxation_step: 100\nrelaxation_cap: 0 # uncapped, also from the live event\nscan_workers: 8\n\nand the two regions' shapes at peak:\n\n na-east pool 18,400 scan 42ms matches 118/s backfills active 41\n eu-west pool 96,200 scan 8,400ms matches 0/s backfills active 1,204\n ap-south pool 11,900 scan 31ms matches 74/s backfills active 22\n\nthe eu-west values were set for a live event three weeks ago and the ticket to revert them is still open", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"We expect MeridianLumenChartService to outgrow its current PostgreSQL 17 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- do not introduce another runtime dependency\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to MeridianLumenChartService and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "the partner hardware spec we have to implement on the cloud side:\n\nthe partner's devices speak their own protocol to their own cloud, and we integrate cloud-to-cloud:\n POST /partner/v1/webhook they call us on every state change, HMAC-SHA256 signed, at most 50/s per account\n GET /partner/v1/devices we poll for the device list every 6 hours; it is not paginated and returns up to 40k devices\n POST /partner/v1/command we send commands; they respond 202 and deliver asynchronously with no completion callback\n their state changes can arrive out of order and they do not include a sequence number, only a timestamp with second precision\n a device removed on their side simply stops appearing in the device list\n they rate limit us to 10 requests per second and will not raise it", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianIrisBatchCoordinator is blocking the next release because timestamps rendered one day ahead near UTC midnight. I need two concrete outcomes from a single pass: change MeridianIrisBatchCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing PostgreSQL 17 conventions in projects/meridian/packages/api/openapi.yaml; do not introduce another runtime dependency. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "device state ownership needs deciding and the reconciliation path needs building either way. work through the model with me, then implement the reconnect reconciliation so hubs returning after days stop overwriting newer cloud state", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"MeridianRavenSessionStore's staging timeout is already known to be wrong: change the single projects/meridian/Sources/CLI/Commands/Doctor.swift value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "hub fleet spans four firmware versions and we've never deprecated one", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"MeridianSableParserCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "what guarantees does the matchmaker make that a ticket eventually matches at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"# CI job 53133: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: SQLite\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] MeridianAsterWebhookFlowIntegration.replays_after_timeout ... ok\n[test] MeridianAsterWebhookFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nReconstruct the MeridianAsterWebhookFlow 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": "extraction service has three HTTP clients with three timeout and retry policies, and the one used for model calls is the one with no timeout at all. consolidate them, and tell me which current behaviour each caller was relying on before i sign off on a single policy this is the third time it's bitten us and i'd like it to be the last.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating duplicate retries after a network handoff in MeridianEmberRelayFlow, 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": "matchmaking operator guide is one command, while the real knowledge — that queue depth is the wrong signal, that killing a backfill is safe, that restarting drops every ticket — lives in two people's heads. write the guide ordered by what someone paged during a peak needs first it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Assess the MeridianOrbitSyncService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "so our extraction pipeline's cost tripled with no change in volume:\n\nweek 29: 412k documents, 8.1M model calls, $12,400\nweek 30: 409k documents, 24.8M model calls, $38,100\n\ncall breakdown by stage:\n classifier 409k → 409k\n extractor 2.4M → 2.4M\n validator 5.3M → 22.0M\n\nthe validator retries on a schema mismatch, up to 5 times, and we changed the schema on monday to add a required field the model rarely produces", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"$ pnpm test --filter MeridianAcornWidgetFlow\n RUN v3.2.4 /workspace/apps/console\n × MeridianAcornWidgetFlow > 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=53121 phase=resume storedCursor=seg-0183\n session=53121 phase=fetch requestCursor=seg-0183 pageSize=200\n session=53121 phase=commit receivedCursor=seg-0184 itemCount=0\n session=53121 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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Reconstruct the MeridianAcornWidgetFlow 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": "session tokens for the mobile app expire early for some users and they get logged out mid-automation:\n\ntoken issued: 2026-07-29T09:00:00Z, exp 2026-08-28T09:00:00Z (30d)\nrejected at: 2026-07-29T14:12:44Z with \"token expired\"\n\nauth service log:\n jwt validation failed: token used before issued (iat 1753837200, now 1753818764)\n node: auth-7d9c4f8b6-x2plq\n\nntp status on that node: offset -18436 seconds, last sync 41 days ago\n\nthree of our twelve auth nodes have drifted, and the app retries against a random node until one accepts", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianBeaconStoreCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "ok so our validator's retry loop, which apparently tripled the bill:\n\ndef validate(doc, extracted, schema, attempts=5):\n for i in range(attempts):\n try:\n return Schema(schema).validate(extracted)\n except ValidationError as e:\n extracted = call_model(\n REPAIR_PROMPT.format(errors=e.messages, text=doc.text, previous=extracted)\n )\n log.warning(\"validation failed after %d attempts\", attempts)\n return extracted\n\nthe repair prompt includes the full document text, the schema now has a required field the model rarely produces, and there's no check for whether the repair actually changed anything", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Center the MeridianLedgerGateStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "here's the matchmaking relaxation schedule, which i inherited and don't trust:\n\nfunc (t *Ticket) SkillWindow(now time.Time) int {\n age := now.Sub(t.CreatedAt)\n steps := int(age.Seconds()) / 30\n return baseWindow + steps*100\n}\n\nfunc (m *Matchmaker) scan(pool []*Ticket) []Match {\n for i := range pool {\n for j := i + 1; j < len(pool); j++ {\n if compatible(pool[i], pool[j], time.Now()) { ... }\n }\n }\n}\n\nno cap on the window, the scan is quadratic in pool size, and compatible() calls SkillWindow for both tickets on every comparison", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Exporter: The API work is done; what remains for MeridianKiteSchedulerStore is the visible interaction layer across loading, offline, empty, and success cases. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside MeridianKiteSchedulerStore\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "por favor, revisa el manejo del contador de energía antes de que lo desplieguemos:\n\nfn daily_total(readings: &[Reading]) -> u64 {\n let first = readings.first().map(|r| r.wh).unwrap_or(0);\n let last = readings.last().map(|r| r.wh).unwrap_or(0);\n last.saturating_sub(first)\n}\n\nel contador es un u32 en el firmware, se reinicia a cero tras un OTA o un corte de corriente, y el dispositivo puede enviar lecturas fuera de orden tras una reconexión; saturating_sub devuelve cero cuando hay un reinicio, así que el consumo de ese día simplemente desaparece", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "es"} {"prompt":"Fresh release brief for MeridianAtlasSearchCoordinator:\n- primary outcome: change MeridianAtlasSearchCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/meridian/internal/auth/refresh.go\n- platform constraint: Tokio\n- known complication: lost focus when the drawer animation finishes\n\nBoth results are required, but they should remain independently reviewable. Do not introduce another runtime dependency; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "honestly the OTA design doc, written before we had the field failures. does it still hold?\n\n## Update flow\nThe hub downloads the image to slot B, verifies the signature, writes the boot flag and reboots. If slot B fails to boot, the bootloader falls back to slot A.\n\n## Assumptions\n- Slot A always holds a known-good image.\n- The boot flag can be written independently of the slots.\n- A failed update costs a reboot, not a device.\n\n## Not covered\nPower loss during the flag write. Devices whose slot A has itself been updated in place. Recovery without physical access.\n\nwe now know the flag shares a flash sector with the tail of slot B, and about one device in two hundred does not come back", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Scheduler: Ticket OPS-53114: retire the legacy replay path for MeridianAtlasSearchFlow\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 MeridianAtlasSearchFlow 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": "right, the query behind our device history screen, which is slow for anyone with more than fifty devices:\n\nSELECT d.id, d.name, d.kind, d.last_seen_at,\n (SELECT state FROM device_states s WHERE s.device_id = d.id ORDER BY s.at DESC LIMIT 1) AS current_state,\n (SELECT count(*) FROM device_events e WHERE e.device_id = d.id AND e.at > now() - interval '24 hours') AS events_24h,\n (SELECT sum(wh) FROM energy_readings r WHERE r.device_id = d.id AND r.at::date = current_date) AS energy_today\nFROM devices d\nWHERE d.home_id = $1\nORDER BY d.name;\n\ndevice_states is 4.1 billion rows, device_events 8.8 billion, energy_readings 12 billion, all partitioned by day", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianNimbusFormCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "quick one — the backfill logic in matchmaking, which i think is why the pool never drains:\n\nfunc (m *Matchmaker) backfill(match *Match) {\n for len(match.Players) < match.Mode.Size {\n ticket := m.pool.FindBest(match) // scans the whole pool\n if ticket == nil {\n time.Sleep(500 * time.Millisecond)\n continue // no timeout, no give-up\n }\n match.Add(ticket)\n m.pool.Remove(ticket)\n }\n}\n\nbackfills hold a slot in the match and are counted as active; there are 1,204 of them in eu-west right now and each one scans the pool twice a second", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around MeridianPineMetricsCoordinator: (1) lay out a staged migration for MeridianPineMetricsCoordinator; (2) also add the visible loading and offline states. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "support's notes on the energy dashboard complaints, which need to become a help article:\n\n- daily totals occasionally show zero or a wildly wrong number\n- this happens when a plug reboots, because the cumulative counter restarts at zero\n- our daily total is last minus first, so a reboot mid-day either zeroes it or produces a negative we clamp to zero\n- the plug's own counter also wraps at about 4.2 million Wh, which affects a handful of long-running devices\n- customers see this as \"the app forgot my electricity usage\" and some have asked for refunds\n- the underlying readings are all still there; only the daily aggregation is wrong\n\nwrite the help article, and separately tell me which of these is a data problem and which is a presentation problem", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianWrenExportCoordinator: restructure, then document","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "incident notes from the bricked hubs, and we owe affected customers an explanation:\n\n09:02 first reports of hubs not coming back after the 4.2.1 update\n10:15 confirmed: 41 devices out of 8,400 updated overnight are unresponsive\n11:40 cause identified: the boot flag shares a flash sector with the tail of slot B\n12:00 OTA rollout paused for all remaining devices\n14:30 recovery requires physical access and a serial cable, which customers do not have\n16:00 decision: replace affected units, 41 devices across 38 customers\n\nthe customers are consumers, the hub controls their heating, and several were without it overnight\n\nwrite the customer notification and a separate internal write-up for the hardware team", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Clarify MeridianPineMetricsService's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "as notas da revisão da pipeline de extração, para transformar em documento de decisão:\n\n- o validador repete até cinco vezes quando o esquema não valida, e cada repetição envia o documento inteiro\n- a alteração de segunda-feira tornou obrigatório um campo que a maioria dos contratos não tem\n- o custo semanal triplicou sem aumento de volume\n- opções: tornar o campo opcional, deixar o validador desistir mais cedo, ou enviar apenas o excerto relevante na repetição\n- a equipa jurídica quer o campo obrigatório porque alimenta um relatório\n- ninguém mede a taxa de sucesso das repetições, portanto não sabemos se ajudam\n\nescreve a nota de decisão com as opções, os custos estimados e uma recomendação", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "pt"} {"prompt":"MeridianMoonlitSDKCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "fyi the questions our legal customer's security team sent, which need answering as a document:\n\n\"Which parts of a document are sent to the model provider, and is any of it retained by them? Can we run in a mode where documents never leave our tenancy? What happens to a document if extraction fails partway — is a partial result stored? Who at your company can read the contents of an uploaded document, and is that access logged? If we delete a document, is it removed from your model provider's logs as well? Do you use customer documents to improve any model?\"\n\nanswer each from the code and our contracts, and write it as a page we can publish rather than a mail thread", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/meridian/ui/settings/PrivacyPane.tsx の MeridianGarnetModalService で、SQLite の flow に断続的な問題が起きています。 consumer 向けに contract、error、retry、コピー可能な例を含む文書を書き、handler は変更しないでください。\n\n制約:\n- SQLite を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は MeridianGarnetModalService のみ","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"ja"}
{"prompt": "heads up: the matchmaking service's operator guide is a single command. reality:\n\n- queue depth over 10,000 in one region means the scan is falling behind, not that players are queueing\n- `mmctl pool stats <region>` shows the pool size and scan duration, which is the actual signal\n- backfills are counted as active matches and can starve the pool; `mmctl backfill list` shows them\n- killing a backfill returns its players to the pool, which is safe and is usually the fix\n- restarting the matchmaker drops every ticket, which players experience as being kicked from the queue\n- the relaxation schedule has no cap, so a stuck ticket eventually matches with anyone, which is worse than not matching\n\nwrite the operator guide, ordered by what someone paged during a peak would need", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Dashboard: The minimum supported SQLite version in projects/meridian/lib/codec/frame.cc is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "社内向けに、モデル呼び出しの運用ドキュメントがありません。現状はこうです:\n\n- 抽出は 1 文書につき最大 3 回モデルを呼ぶ(分類・抽出・検証)\n- 検証が失敗すると最大 5 回まで修復プロンプトを送る。修復プロンプトには文書全文が含まれる\n- タイムアウトは 120 秒、リトライは 3 回、指数バックオフなし\n- レート制限に当たった場合は 429 をそのまま上位に返しており、キュー全体が詰まる\n- コストの計測はバッチ単位でしかできず、顧客別・ステージ別の内訳が出せない\n- プロンプトはコードに直接埋め込まれていて、変更履歴はコミットログにしかない\n\n例:\n\nresp = client.messages.create(model=MODEL, max_tokens=4096,\n messages=[{\"role\": \"user\", \"content\": prompt}])\n\nこれを社内の開発者向けドキュメントとしてまとめてください。特にリトライとコストの扱いを明確に\n\n実際のコストの内訳(先週):\n classifier 409,000 calls $1,100\n extractor 2,400,000 calls $9,800\n validator 22,000,000 calls $27,200\n\n retry_on_429_total = 41,882\n timeout_total = 1,204\n repair_attempts_p99 = 5 (上限)\n\nこの内訳は手作業で集計したもので、ダッシュボードには存在しません", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "ja"} {"prompt":"Translate the MeridianSlateEditorStore setup notes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "clippy on the hub firmware, and one of these is the deadlock:\n\nwarning: this `MutexGuard` is held across an `await` point\n --> src/mqtt.rs:88:9\n |\n88 | let mut client = self.client.lock().await;\n = help: consider using an async-aware lock or restructuring\nwarning: large enum variant\n --> src/proto.rs:41:1\nwarning: casting `u32` to `u16` may truncate\n --> src/energy.rs:141:22\nwarning: this loop never actually loops\n --> src/ota.rs:22:5\nwarning: `saturating_sub` on values that may legitimately decrease\n --> src/energy.rs:66:20\n\n5 warnings, and mqtt.rs:88 is exactly where hubs wedge", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Worker: The data is already available in projects/meridian/infra/modules/edge/main.tf; 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.6,"slice":"core","lang":"en"}
{"prompt": "ruff and mypy on the extraction service, gate goes on next sprint:\n\nservices/extract/validator.py:41: error: Argument \"schema\" has incompatible type \"dict[str, Any]\"; expected \"Schema\" [arg-type]\nservices/extract/validator.py:88: warning: B008 Do not perform function call in argument defaults\nservices/extract/pipeline.py:141: error: Missing return statement [return]\nservices/extract/prompts.py:22: warning: E501 line too long (412 > 100)\nservices/extract/client.py:66: error: Call to untyped function \"call_model\" in typed context [no-untyped-call]\n\n3 errors, 2 warnings, and the missing return is in the path that handles a rate limit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"# projects/meridian/services/ledger/replay.go\n[worker.meridiancedarpolicyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.meridiancedarpolicyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.meridiancedarpolicyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.MeridianCedarPolicyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-53129\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. The intended correction is already known: change only the stale 15-second setting to 30 seconds in projects/meridian/services/ledger/replay.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"pasted-context","lang":"en"}
{"prompt": "small thing but the CDN and origin limits for uploads, one of these is why an 84MB file fails:\n\ncdn (eu endpoint): max request body 50MB\nnginx: client_max_body_size 100m\ningress annotation: nginx.ingress.kubernetes.io/proxy-body-size: 100m\napp: MAX_UPLOAD_BYTES = 104857600\ns3 presign (unused): part size 8MB, unlimited total\n\nthe presigned upload path exists in the code, is tested, and is not used by the web client\n\nand the sizes we actually see:\n p50 upload 1.2 MB\n p95 upload 18 MB\n p99 upload 62 MB\n largest last month 340 MB (rejected)\n\nabout 4% of uploads from that one customer are over the CDN's 50MB limit, and they are the contracts with scanned exhibits attached, which are the ones the customer cares most about", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Animate the MeridianFrostPanelService drawer","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "not urgent, but the hub's kubernetes ingest deployment, which we restarted during peak by accident:\n\nreplicas: 6\nstrategy:\n type: RollingUpdate\n rollingUpdate: { maxSurge: 1, maxUnavailable: 1 }\nterminationGracePeriodSeconds: 30\nreadinessProbe: { httpGet: { path: /healthz, port: 8080 }, periodSeconds: 5 }\nlifecycle:\n preStop: { exec: { command: [\"sleep\", \"5\"] } }\n\neach pod holds about 70,000 MQTT connections, hubs reconnect immediately with a one second backoff, and a rolling update currently drops a sixth of the fleet at a time", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"# CI job 53112: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: WebGPU\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] MeridianSummitProxyFlowIntegration.replays_after_timeout ... ok\n[test] MeridianSummitProxyFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nReconstruct the MeridianSummitProxyFlow 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": "les seuils d'alerte du parc de hubs, on nous réveille pour rien :\n\n- alert: HubsOffline\n expr: sum(hub_connected == 0) > 1000\n for: 1m\n labels: { severity: page }\n\n- alert: IngestLag\n expr: kafka_consumergroup_lag{group=\"telemetry\"} > 100000\n for: 5m\n labels: { severity: page }\n\n- alert: OtaFailures\n expr: increase(ota_failed_total[1h]) > 10\n for: 0m\n labels: { severity: ticket }\n\nen réalité : mille hubs hors ligne c'est du bruit sur quatre cent mille appareils ; le lag dépasse 100 000 à chaque redémarrage du broker ; et les 41 appareils briqués n'ont produit qu'un ticket, vu le lendemain matin", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "fr"} {"prompt":"Before touching projects/meridian/src/sync/reconcile.ts, 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.9,"slice":"core","lang":"en"}
{"prompt": "dependabot on the extraction service, and one is a CVE:\n\npydantic 2.7.1 → 2.9.2 (minor; validation error message format changed, our repair prompt parses it)\nanthropic 0.34.0 → 0.40.0 (minor; streaming API changes, we don't stream)\npillow 10.3.0 → 10.4.0 (CVE-2026-10118, buffer overflow in TIFF decoding)\npytesseract 0.3.10 → 0.3.13 (minor)\n\nwe pass scanned TIFFs through pillow before OCR, and our repair prompt includes the raw pydantic error text", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Could MeridianMicaProfileStore show the active SQLite 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": "this pipeline module does orchestration, retries, cost accounting and prompt assembly in one file:\n\nclass ExtractionPipeline:\n def run(self, doc):\n # ocr, with its own retry loop\n # layout model call, with a different retry loop\n # chunking, with the chunk size hardcoded per document type\n # extraction call, with prompt assembled inline from three f-strings\n # validation with the repair loop\n # cost accounting by summing token counts into a module-level dict\n # audit row written at the end, or not at all if anything raised\n\n700 lines, one test that mocks the model client and asserts on the final output", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"I inherited MeridianSummitProxyService and need a careful read of projects/meridian/src/sync/reconcile.ts before I can sign off on the next release. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- do not introduce another runtime dependency\n- stay compatible with the existing WebGPU deployment\n- keep the work scoped to MeridianSummitProxyService and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "unsere Prompt-Bausteine liegen an vier Stellen im Code:\n\n# prompts.py\nEXTRACT_PROMPT = \"Extract all clauses...\"\n\n# pipeline.py\nprompt = f\"{EXTRACT_PROMPT}\\n\\nDocument type: {doc.kind}\\n{text}\" # zusätzlicher Kontext inline\n\n# validator.py\nREPAIR_PROMPT = \"The following JSON failed validation...\" # eigene Formatierung\n\n# experiments/ab_test.py\nPROMPT_V2 = \"...\" # läuft für 10% der Kunden\n\nvier Varianten, keine Versionierung, und niemand kann sagen, welcher Prompt ein bestimmtes Ergebnis erzeugt hat", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "de"} {"prompt":"MeridianCinderAuthCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "quarter planning input, needs sequencing:\n\n- 41 bricked hubs are a product recall problem and the fix needs a bootloader update first\n- the publish deadlock takes hubs offline until a power cycle and affects maybe 2% of the fleet monthly\n- extraction costs tripled and finance has noticed\n- eu-west matchmaking stalls at every peak since the live event config was left in place\n- the legal customer's security questionnaire is blocking a renewal worth a fifth of that product's revenue\n- one firmware engineer, one platform engineer, and the game backend team is two people\n- there's a hardware partner integration due in october that assumes our MQTT contract doesn't change", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Where did MeridianFernSnapshotService's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "architecture ticket, and i want the thinking before anyone starts:\n\nIOT-540 — Device state ownership\nDevice state currently lives in three places: the hub's memory, a retained MQTT message, and our postgres. They disagree routinely and support has learned to check all three. The proposal is a single authoritative state store with the retained message as a cache. Concerns: hubs go offline for days and must reconcile on reconnect; the automation engine reads state on every rule evaluation and cannot tolerate a database round trip; retained messages are what partner integrations read; and any change to the MQTT contract affects three hardware partners with their own release cycles.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianTideWorkerCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "spec for the document review screen, which lawyers use for hours at a time:\n\nReview screen\n- Document pane on the left with the original scan, extracted clauses highlighted in place, and page thumbnails.\n- Clause list on the right, grouped by type, each showing a confidence indicator and the page it came from.\n- Clicking a clause scrolls both panes; the highlight must survive zoom and rotation.\n- Low-confidence extractions are marked with a shape as well as a colour and sort to the top of their group.\n- Editing a clause's text or type is inline, saves optimistically, and records who changed what.\n- A \"nothing extracted for this section\" state exists and must be visible rather than an absence.\n- Keyboard: j/k moves between clauses, e edits, a accepts, r rejects — lawyers ask for this specifically.\n- Must remain usable at 200% zoom for accessibility, which the current fixed two-pane layout does not.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Simulator: # projects/meridian/Sources/CLI/Commands/Doctor.swift\n[worker.meridianechoregistrycoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.meridianechoregistrycoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.meridianechoregistrycoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.MeridianEchoRegistryCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-53156\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/meridian/Sources/CLI/Commands/Doctor.swift and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "accessibility findings for the game's in-client store and queue UI, from a platform certification review:\n\n1. The queue timer is announced continuously by the screen reader, making the client unusable while queueing.\n2. Match-found accept is a 10 second timed action with no way to extend it, which fails the platform's timing requirement.\n3. Store prices are conveyed with strikethrough only for discounts, with no text alternative.\n4. Controller focus is lost when a modal closes, landing on the first element of the page rather than the invoking control.\n5. The rank badge conveys tier by colour alone.\n6. Text scaling above 125% clips the queue panel.\n7. No captions for the voice announcements in the match-found flow.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Runbook: # projects/meridian/cmd/exporter/main.py\n[worker.meridianharborindexflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.meridianharborindexflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.meridianharborindexflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.MeridianHarborIndexFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-53131\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/meridian/cmd/exporter/main.py. 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": "design tokens versus what the home app's device screens actually use:\n\ntokens:\n color.surface #FFFFFF / #0D1117\n color.text #0D1117 / #E6EDF3\n color.muted #6E7781\n color.on #1A7F37\n color.off #6E7781\n color.warn #9A6700\n space 4/8/12/16/24, radius 8/12/20, touch target 44dp minimum\n type: title 20/26, body 15/22, caption 13/18\n\nthe device screens: six hardcoded colours including two greens, touch targets of 32dp on the toggle rows, an offline state shown only by reduced opacity, and three type sizes not in the scale\n\nbring it onto the tokens, fix the touch targets, and give offline a proper indicator", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"MeridianCoralUploadCoordinator: correct, then assess","purpose":"backendImpl","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "relaxation cap back to 800 in eu-west", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Trace: projects/meridian/ml/pipeline/features.py の MeridianBirchMigratorFlow で、NATS JetStream の flow に断続的な問題が起きています。 段階、互換性、metrics、rollback、ownership を提案し、コード変更の前で止めてください。\n\n制約:\n- NATS JetStream を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は MeridianBirchMigratorFlow のみ","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"ja"}
{"prompt": "pillow CVE bump before friday", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "en"} {"prompt":"Read projects/meridian/crates/index/src/segment.rs and tell me whether MeridianPrismCacheStore 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": "onboarding email says \"you're hub\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"MeridianCraneWorkspaceCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "backfill timeout back to 60 seconds", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Ticket: projects/meridian/config/staging.toml 里的 MeridianCraneWorkspaceService 最近在 PostgreSQL 17 流程中出现间歇性问题。 请拆分职责并去掉重复,同时保持 API、wire value、顺序和可观察行为不变。\n\n约束:\n- 继续使用 PostgreSQL 17\n- 保持兼容性和取消语义\n- 改动只限于 MeridianCraneWorkspaceService","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "pause the OTA rollout now", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Check MeridianWrenExportStore's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "la app muestra vatios en vez de kilovatios", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "core", "lang": "es"} {"prompt":"diff --git a/projects/meridian/lib/codec/frame.cc b/projects/meridian/lib/codec/frame.cc\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/lib/codec/frame.cc\n+++ b/projects/meridian/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 MeridianMicaProfileFlow'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": "maxUnavailable 1 drops 70k connections", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-53127\n\n08:02 deploy MeridianJuniperCLIFlow 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\nTurn the artifact into a reversible MeridianJuniperCLIFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "make termination_notice_days optional", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/meridian/Sources/CLI/Commands/Doctor.swift b/projects/meridian/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/meridian/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 MeridianAmberFilterFlow 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": "ntp is 41 days stale on three auth nodes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Compare the old and new MeridianNimbusFormStore adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "OtaFailures should page immediately", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Profiler: // projects/meridian/services/ledger/replay.go\nfinal class MeridianCinderAuthFlowCoordinator {\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\nWalk through what the artifact proves about MeridianCinderAuthFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "Upload über presigned URLs statt Proxy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "de"} {"prompt":"Incident timeline — INC-53141\n\n08:02 deploy MeridianSableParserFlow 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\nTurn the material above into a concise MeridianSableParserFlow 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": "hub telemetry is signed using the device's own clock, which on a hub that boots without network is whatever it was when it last had one, so the signature is valid and the timestamp is nonsense. work out how far back this goes in the stored data, then move to server-assigned time with the device clock kept only as a hint", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Em projects/meridian/packages/api/openapi.yaml, o MeridianCraneWorkspaceStore tem um problema intermitente no fluxo de PostgreSQL 17. A causa já é conhecida: mude apenas o timeout de staging de 15 para 30 segundos e ajuste a assertion.\n\nRestrições:\n- continuar com PostgreSQL 17\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao MeridianCraneWorkspaceStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"pt"}
{"prompt": "our matchmaking pool is scanned three different ways depending on the code path:\n\n// scan.go — the main loop, quadratic over the whole pool\nfor i := range pool { for j := i+1; j < len(pool); j++ { ... } }\n\n// backfill.go — FindBest, linear scan per call, called twice a second per backfill\nfunc (p *Pool) FindBest(m *Match) *Ticket { for _, t := range p.tickets { ... } }\n\n// party.go — party matching, builds a map by skill bucket then scans buckets\nbuckets := map[int][]*Ticket{}\n\nonly the party path uses buckets; the other two ignore them entirely and rebuild nothing", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"SDK consumers are ready for durable continuation tokens, so the remaining work lives in MeridianSummitProxyStore's API, storage, and worker layers. Add signed cursor parsing, bounded pagination, key rotation, tenant checks, and a resumable background path with metrics for lag, retries, and terminal failures.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside MeridianSummitProxyStore\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.\n\nThe contract notes are context; the requested outcome is the working server path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "the schema we agreed for prompt versioning, now it needs building:\n\nCREATE TABLE prompt_versions (\n id uuid PRIMARY KEY,\n name text NOT NULL,\n version int NOT NULL,\n template text NOT NULL,\n schema jsonb,\n model text NOT NULL,\n params jsonb NOT NULL,\n created_by text NOT NULL,\n created_at timestamptz NOT NULL DEFAULT now(),\n UNIQUE (name, version)\n);\n\nevery model call records the prompt_version id it used; versions are immutable once referenced; an A/B experiment references two versions and the assignment must be recorded per document; and we need to answer \"which prompt produced this extraction\" for any result in the last two years", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"En projects/meridian/ui/settings/PrivacyPane.tsx, MeridianBasilRunnerService tiene un problema intermitente en el flujo de SQLite. La causa ya está clara: cambia solo el timeout de staging de 15 a 30 segundos y ajusta su assertion.\n\nRestricciones:\n- seguir con SQLite\n- conservar compatibilidad y cancelación\n- limitar el cambio a MeridianBasilRunnerService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"es"}
{"prompt": "device screens ignore the tokens and use 32dp touch targets on the toggles. bring them onto the tokens and fix the targets, and tell me whether the row height change breaks the compact layout on small phones", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Wire a MeridianKiteSchedulerFlow background task in projects/meridian/services/ledger/replay.go that expires abandoned sessions, records an OpenTelemetry span, and yields cleanly when shutdown begins.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "missing return in the rate limit path", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"MeridianSpruceDaemonFlow occasionally exhibits an accessibility label that reads the internal enum, but only after a reconnect. Follow the data and cancellation paths in projects/meridian/db/migrations/20260730_events.sql and identify the cause before changing anything.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "test run button on the automation editor", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-53154: retire the legacy replay path for MeridianEmberRelayCoordinator\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 MeridianEmberRelayCoordinator 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": "toggle rows are 32dp, should be 44", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up MeridianMosaicGridCoordinator. First, assess ownership and failure handling in projects/meridian/ui/settings/PrivacyPane.tsx. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/meridian/ui/settings/PrivacyPane.tsx, which follows SQLite conventions and currently suffers from a flaky snapshot caused by locale-dependent sorting. Do not introduce another runtime dependency.\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": "rank badge is colour-only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"Pin MeridianIrisBatchService's PostgreSQL dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "j and k through the clause list", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Lay out a two-milestone strategy for eliminating duplicate retries after a network handoff in MeridianEchoRegistryStore, 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": "オフラインの機器が薄い色でしか分かりません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "ja"} {"prompt":"Any races in MeridianLedgerGateService?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "controller focus lost after a modal", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Console: // projects/meridian/packages/api/openapi.yaml\nfinal class MeridianNimbusFormFlowCoordinator {\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,并明确说明证据和取舍。 Consolidate MeridianNimbusFormFlow'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": "skill buckets for every scan path", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"The behavior of MeridianBirchMigratorService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/meridian/ml/pipeline/features.py. 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- do not introduce another runtime dependency\n- retain the current NATS JetStream operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "une seule machine à états pour le hub", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "fr"} {"prompt":"The MeridianCinderAuthService surface in projects/meridian/services/ledger/replay.go 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.3,"slice":"core","lang":"en"}
{"prompt": "`last_seen_at` naming everywhere", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"For MeridianSlateEditorCoordinator, lay out a staged migration for MeridianSlateEditorCoordinator; once that is complete, consolidate the duplicated normalization paths without changing behavior. Work from projects/meridian/infra/modules/edge/main.tf, stay with Tokio, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "extract the repair loop from validate", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Workspace: Incident timeline — INC-53137\n\n08:02 deploy MeridianOpalRouterFlow 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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Capture the MeridianOpalRouterFlow 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": "inline `compatible`, one caller left", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"A flaky failure around MeridianSpruceDaemonService survived three attempted fixes, so I want the evidence and invariants traced before another patch lands. Trace task lifetime, cursor advancement, and durable acknowledgment across reconnects; produce a defensible root cause and the smallest experiment that would falsify it.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside MeridianSpruceDaemonService\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "one retry policy for model calls", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"For MeridianJuniperCLICoordinator, produce a consumer guide for MeridianJuniperCLICoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/meridian/app/src/main/SyncWorker.kt, stay with WebGPU, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "doc comments on the MQTT topic contract", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Por que MeridianJuniperCLIService trava?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"pt"}
{"prompt": "changelog for firmware 4.2.2", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Repository: # projects/meridian/config/staging.toml\n[worker.meridianirisbatchflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.meridianirisbatchflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.meridianirisbatchflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.MeridianIrisBatchFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-53115\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 MeridianIrisBatchFlow'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": "nota aos clientes sobre os hubs afetados", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "pt"} {"prompt":"PM is preparing the MeridianMapleQueueService 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 MeridianMapleQueueService\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "document the retained-state gotcha", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Pipeline: Ticket OPS-53120: retire the legacy replay path for MeridianWrenExportFlow\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 MeridianWrenExportFlow 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": "summarise the state-ownership proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Three teams extended MeridianDriftConsoleService 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- do not introduce another runtime dependency\n- retain the current WebGPU operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS 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": "PR body for the deadlock fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Gateway: diff --git a/projects/meridian/db/migrations/20260730_events.sql b/projects/meridian/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/db/migrations/20260730_events.sql\n+++ b/projects/meridian/db/migrations/20260730_events.sql\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 MeridianQuartzPlayerFlow 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": "can a backfill starve the pool?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Renderer: The name pendingAck means two different things across MeridianDeltaCanvasStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "¿el validador reintenta con el documento entero?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "es"} {"prompt":"MeridianLedgerGateCoordinator needs a paired pass: separate MeridianLedgerGateCoordinator's policy from transport without behavior changes, plus capture the contract and rollback note for consumers. Use projects/meridian/Sources/CLI/Commands/Doctor.swift as the source of truth, preserve the NATS JetStream contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "walk me through the OTA flow", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Indexer: Incident timeline — INC-53123\n\n08:02 deploy MeridianFrostPanelFlow 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\nTurn the material above into a concise MeridianFrostPanelFlow 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": "hubs wedge until power cycled", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-53139: finish the compact MeridianOspreyJobFlow filter experience\n\nRoute: /catalog/search\nSource: projects/meridian/web/components/FilterDrawer.vue\nFramework: Tokio\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 MeridianOspreyJobFlow'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": "warum feuern die Automationen doppelt?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "de"} {"prompt":"Apparently: diff --git a/projects/meridian/crates/index/src/segment.rs b/projects/meridian/crates/index/src/segment.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/crates/index/src/segment.rs\n+++ b/projects/meridian/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\nSplit MeridianVelaDrawerFlow 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": "endpoint for a document's extraction lineage", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Lately: The public surface of MeridianIrisBatchStore is frozen, but its internal ownership in projects/meridian/packages/api/openapi.yaml is difficult to test and even harder to change safely. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside MeridianIrisBatchStore\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "carry on with that", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Oddly: For MeridianAsterWebhookCoordinator, lay out a staged migration for MeridianAsterWebhookCoordinator; once that is complete, consolidate the duplicated normalization paths without changing behavior. Work from projects/meridian/ui/settings/PrivacyPane.tsx, stay with SQLite, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "cheaper, ideally", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Add a bounded MeridianRavenSessionService 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": "you choose what matters", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Does MeridianLumenChartFlow 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": "lo de la extracción, continúa", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "es"} {"prompt":"MeridianCloudReconcilerService 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": "tidy where you can", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Responsive layout for MeridianFernSnapshotStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "like the last one", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Currently: Incident timeline — INC-53153\n\n08:02 deploy MeridianBasilRunnerCoordinator 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上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Turn the material above into a concise MeridianBasilRunnerCoordinator 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": "security answers", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Two asks around MeridianHarborIndexCoordinator: (1) finish MeridianHarborIndexCoordinator's responsive empty and retry states; (2) correct the known stale timeout beside it. Do not introduce another runtime dependency, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "low risk only today", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"Today: The MeridianBasilRunnerFlow surface in projects/meridian/ui/settings/PrivacyPane.tsx is stable now; turn its edge cases into API documentation with one successful example and one cancellation example. The deliverable is prose for consumers; do not alter the handler.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "take a look please", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"projects/meridian/services/ledger/replay.go has grown through several launches, and MeridianKiteSchedulerService 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- do not introduce another runtime dependency\n- stay compatible with the existing Tokio deployment\n- keep the work scoped to MeridianKiteSchedulerService and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "やり方はお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"MeridianEmberRelayService 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- do not introduce another runtime dependency\n- retain the current Tokio operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS 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": "forty-one hubs are bricked in customers' homes and the fix needs a bootloader update that itself has to go over the air, which is exactly the mechanism that failed. i want the recovery plan worked through properly — how we ship a bootloader safely, what we do for the devices already dead, and what we change so a partial flash write can never take a device out again", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"A previously stable test around MeridianTideWorkerStore now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "legal customer's renewal is blocked on data handling we don't currently do: no third-party model provider, no persisted partial results, no document text in logs, and deletion propagating to embeddings. i'd like the options with honest costs, including the one where we run a model in our own tenancy and what that does to quality and latency", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Context: Incident timeline — INC-53113\n\n08:02 deploy MeridianMosaicGridFlow 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Map a safe route from the current MeridianMosaicGridFlow 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": "OTA design doc assumes the boot flag can be written independently of the slots and that a failed update costs a reboot rather than a device, both of which we now know are false. read it against the flash layout and the bootloader and tell me which of its other assumptions are similarly wrong the last person who touched this left, so there's nobody to ask.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Background: The behavior of MeridianOrbitSyncStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/meridian/apps/console/routes/usage.svelte. 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- do not introduce another runtime dependency\n- retain the current WebGPU operational envelope\n\nSeveral teams work in this geospatial, Deno, iPadOS monorepo, so keep ownership and handoff points understandable in a small review.\n\nThe server contract is the subject, but the requested output is documentation rather than handler code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "matchmaking pool is scanned three ways — quadratic in the main loop, linear per backfill, bucketed only in the party path — and the bucketing is the one that works. bring all three onto the bucketed structure, keep match quality measurably the same on a replayed peak, and make the scan cost sublinear in pool size", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-53152: retire the legacy replay path for MeridianSpruceDaemonCoordinator\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 MeridianSpruceDaemonCoordinator 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": "prompts live in four places including an experiment file that runs for a tenth of our customers, and nobody can say which prompt produced a given result. consolidate them into one versioned location, record the version on every call, and keep the experiment running throughout the migration we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"MeridianPrismCacheCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "automation editor is where users spend their time and it currently lets you build automations that can never fire, then tells you nothing. build it to the spec — inline impossible-condition warnings, device state next to actions, and the test run button people keep asking for if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=meridiandriftconsolecoordinator pod=meridiandriftconsolecoordinator-7cf8 request_id=53157 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=meridiandriftconsolecoordinator request_id=53157 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=meridiandriftconsolecoordinator request_id=53157 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=meridiandriftconsolecoordinator request_id=53157 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=meridiandriftconsolecoordinator request_id=53157 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=meridiandriftconsolecoordinator request_id=53157 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=meridiandriftconsolecoordinator request_id=53157 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=meridiandriftconsolecoordinator request_id=53157 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nReconstruct the MeridianDriftConsoleCoordinator 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": "review screen is a fixed two-pane layout that breaks at 200% zoom, which fails the accessibility requirement in a public sector tender. rebuild it to the spec with the keyboard navigation lawyers asked for, and make sure the clause highlighting survives zoom and rotation keep it concrete — file names and line numbers are more use than principles here.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"MeridianSummitProxyCoordinator is blocking the next release because an empty state that flashes before cached data arrives. I need two concrete outcomes from a single pass: change MeridianSummitProxyCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing WebGPU conventions in projects/meridian/db/migrations/20260730_events.sql; do not introduce another runtime dependency. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "before we change the OTA flow i want the failure modes written down — power loss at each step, a corrupted slot, a bootloader that itself needs updating — and then the flag relocation implemented against that analysis this has come up in three separate reviews now and never gets done.", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"MeridianGarnetModalCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "model cost control needs a design — budgets per stage, a circuit breaker, attribution per customer — and the repair loop needs fixing this week regardless. give me the design, then change the repair prompt to send only the failing section", "purpose": "planning", "secondary": "quickFix", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Move MeridianDriftConsoleStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "unser Matchmaking skaliert nicht mehr und die Konfiguration aus dem Live-Event steht immer noch. Ich hätte gern zuerst ein Konzept für die Poolstruktur und danach die Umstellung des Haupt-Scans auf Buckets", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "de"} {"prompt":"Read projects/meridian/lib/codec/frame.cc and tell me whether MeridianMicaProfileService can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "MQTT integration reference has to exist before the october partner starts, and while writing it please confirm whether a redelivered command really does execute twice, because two partners have asked and we've given different answers", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Question: Ticket OPS-53126: retire the legacy replay path for MeridianLedgerGateFlow\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 MeridianLedgerGateFlow 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": "model-call guide needs writing and i expect it will surface things we should fix rather than document — the 429 propagation especially. write the guide, and give me that list separately", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"MeridianOpalRouterCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "our device event handling has grown a branch per device type:\n\nmatch event.kind {\n \"plug.energy\" => { /* 40 lines, includes counter reset detection */ }\n \"plug.state\" => { /* 20 lines */ }\n \"thermostat.temp\" => { /* 30 lines, has its own smoothing */ }\n \"thermostat.setpoint\" => { /* 25 lines */ }\n \"sensor.motion\" => { /* 15 lines, debounce logic inline */ }\n \"sensor.contact\" => { /* 15 lines, different debounce */ }\n \"lock.state\" => { /* 35 lines, includes an audit write nothing else does */ }\n _ => { /* silently ignored, which is how we missed a new device type for a month */ }\n}", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Match MeridianQuartzPlayerService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "the hub thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Queue MeridianHarborIndexService's expired sessions","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "escribe la guía del operador para el matchmaking y comprueba en el código si matar un backfill devuelve realmente a los jugadores a la cola, porque el runbook lo afirma y nadie lo ha verificado", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"MeridianAcornWidgetCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "three online checks for devices should become one, and i'd like to know which of the three the automation engine should actually be using before we standardise on it. check that, then unify", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Observation: Ticket OPS-53138: retire the legacy replay path for MeridianNovaPickerFlow\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 MeridianNovaPickerFlow 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": "tokens are being rejected as \"used before issued\" on three auth nodes whose clocks have drifted by five hours. confirm that's the whole story, then fix the nodes and make the validator tolerate a small skew rather than failing outright a rough ordering matters more to me than a complete answer right now.", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Fresh release brief for MeridianMarbleTokenCoordinator:\n- primary outcome: assess ownership and failure handling in projects/meridian/ml/pipeline/features.py\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/meridian/ml/pipeline/features.py\n- platform constraint: NATS JetStream\n- known complication: out-of-order events after consumer rebalancing\n\nBoth results are required, but they should remain independently reviewable. Do not introduce another runtime dependency; 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":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "players are being matched against wildly stronger opponents and the relaxation window is my suspect, but i want it confirmed against real tickets. diagnose it, then cap the window at whatever the analysis supports", "purpose": "debugging", "secondary": "quickFix", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Document MeridianAcornWidgetStore's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "store and queue UI fails platform certification on seven counts including a timed accept with no extension. fix what we can before submission, and write the certification response for the rest", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Before touching projects/meridian/Sources/App/SessionStore.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": "prompt versioning needs the immutability rules agreed before it's built — what happens when someone edits a referenced version, and how experiments map to versions. settle that, then implement the table and the recording", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"MeridianBirchMigratorStore'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": "rename `Ticket.Skill`, it's a rating in one place and a percentile in another", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"MeridianCloudReconcilerCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "could you explain what happens to a retained state message when a hub is factory reset", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Enforce MeridianSlateEditorService's idempotency key","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "i'd like to understand how a document that fails extraction halfway is stored, if at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"MeridianOrbitSyncCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "why does the layout model still run now that OCR quality has improved", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"One contained cleanup in projects/meridian/config/staging.toml: remove the obsolete MeridianWillowCodecStore import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "someone should check whether document text ends up in our application logs", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Draft MeridianRainfallDBStore's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "is it expected that a hub keeps executing automations while disconnected from the cloud", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"MeridianFrostPanelCoordinator: restructure, then document","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment le compteur d'énergie gère un redémarrage du boîtier ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "fr"} {"prompt":"diff --git a/projects/meridian/engine/render/atlas.cpp b/projects/meridian/engine/render/atlas.cpp\nindex 62d71aa..90f3c1e 100644\n--- a/projects/meridian/engine/render/atlas.cpp\n+++ b/projects/meridian/engine/render/atlas.cpp\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 MeridianMapleQueueCoordinator 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": "docs/ota.md describes a rollback that the bootloader doesn't actually implement", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"What is the safest way to split projects/meridian/cmd/exporter/main.py into independently owned modules while MeridianSableParserStore's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "a short note on why prompts are moving into the database, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Two deliverables are holding up MeridianVelaDrawerCoordinator. First, lay out a staged migration for MeridianVelaDrawerCoordinator. In the same workstream, also add the visible loading and offline states. The relevant starting point is projects/meridian/pkg/cache/lease.rs, which follows PostgreSQL 17 conventions and currently suffers from a deadlock that appears only during shutdown. Do not introduce another runtime dependency.\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": "partner changelog needs an entry for the command ack topic changing shape", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Store MeridianCopperBridgeStore's delivery receipts","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "rustdoc on publish() promises a 30 second bound that the lock acquisition ignores", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Assess the MeridianAsterWebhookService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "write the customer note about energy totals being recalculated for the affected days", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-53142: retire the legacy replay path for MeridianDeltaCanvasFlow\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 MeridianDeltaCanvasFlow, 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": "health endpoint reports the matchmaker healthy while it has created no matches for ten minutes", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Could MeridianMoonlitSDKService show the active Tokio 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": "staging has one hub and prod has four hundred thousand, with the same broker connection limits", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"MeridianQuartzPlayerCoordinator: restructure, then assess","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "how should we handle a hardware partner whose devices we can't update ourselves", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Give MeridianCedarPolicyService a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "what's the right way to evaluate an extraction change when the ground truth is a lawyer's judgement", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-53111\n\n08:02 deploy MeridianMarbleTokenFlow 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\nTurn the material above into a concise MeridianMarbleTokenFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "i want a position on whether automations should run on the hub or in the cloud", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Is MeridianWrenExportService safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "two customers want an on-premise deployment of the document pipeline, what would that require", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-53151\n\n08:02 deploy MeridianBirchMigratorCoordinator 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 MeridianBirchMigratorCoordinator, 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": "we need a plan for supporting a second matchmaking mode with completely different team sizes", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/meridian/crates/index/src/segment.rs: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: meridianrainfalldbflow::scheduler::LeaseTask::flush\n at ./projects/meridian/crates/index/src/segment.rs:217:18\n 4: meridianrainfalldbflow::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 MeridianRainfallDBFlow 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": "what should happen to a queued player when their region's matchmaker restarts", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Where did MeridianFrostPanelStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "an endpoint that returns a hub's last twenty state transitions, for support", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'MeridianBeaconStoreFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[MeridianBeaconStoreFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/meridian/engine/render/atlas.cpp:144: error: -[MeridianBeaconStoreFlowTests 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 '-[MeridianBeaconStoreFlowTests 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\nUse the UI evidence to complete MeridianBeaconStoreFlow'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": "per-customer cost attribution for model calls, since finance can only see the total", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"En projects/meridian/ml/pipeline/features.py, MeridianMarbleTokenStore tiene un problema intermitente en el flujo de NATS JetStream. La causa ya está clara: cambia solo el timeout de staging de 15 a 30 segundos y ajusta su assertion.\n\nRestricciones:\n- seguir con NATS JetStream\n- conservar compatibilidad y cancelación\n- limitar el cambio a MeridianMarbleTokenStore","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"es"}
{"prompt": "commands need an idempotency key so a redelivery after a missed ack doesn't run twice", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Before we approve MeridianNovaPickerService, assess whether an accessibility label that reads the internal enum is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "device list needs a filter for offline devices, which is what people open the app to check", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"For MeridianRainfallDBCoordinator, lay out a staged migration for MeridianRainfallDBCoordinator; once that is complete, consolidate the duplicated normalization paths without changing behavior. Work from projects/meridian/pkg/cache/lease.rs, stay with PostgreSQL 17, and do not introduce another runtime dependency. Keep the two outcomes separately reviewable.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "clause list should let a reviewer accept a whole group at once, with undo", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"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_53135'\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_53135'::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\nDeliver the MeridianCraneWorkspaceFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "queue screen should show estimated wait time rather than a spinner that lies", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Documente le contrat MeridianJuniperCLIStore","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"fr"}
{"prompt": "energy chart should mark counter resets rather than drawing a cliff", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"MeridianFlintTimelineCoordinator: sort out the rough edge","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "whatever unblocks the renewal", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"// projects/meridian/ui/settings/PrivacyPane.tsx\nfinal class MeridianGarnetModalFlowCoordinator {\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\nWalk through what the artifact proves about MeridianGarnetModalFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "next bit of the firmware work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Map MeridianQuartzPlayerStore's ownership split","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "mobile app and the hub disagree about what \"away mode\" means — one treats it as a mode, the other as a flag that other automations can clear — and users notice when heating comes back on. settle the semantics, then make both sides agree, and tell me which behaviour existing automations depend on whatever you find, write it somewhere the next person will actually look.", "purpose": "refactor", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Warum hängt MeridianCoralUploadStore?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "python services load secrets three different ways and one of them logs the loaded values at debug level, which is on in staging. fix that today, then unify the loading so it can't happen again", "purpose": "quickFix", "secondary": "refactor", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about MeridianVelaDrawerStore, but the current prose in projects/meridian/pkg/cache/lease.rs 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- do not introduce another runtime dependency\n- stay compatible with the existing PostgreSQL 17 deployment\n- keep the work scoped to MeridianVelaDrawerStore and its direct tests\n\nThis repository spans geospatial, Deno, iPadOS; use its existing conventions rather than importing a new abstraction.\n\nThe server contract is the subject, but the requested output is documentation rather than handler code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "extraction queue has no dead letter, so a document that fails five times is retried forever and one bad scan has been cycling since tuesday. add the dead letter, and decide with me first what a human is supposed to do with the documents that land in it i'm not attached to the current approach if there's an obviously better one.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Compare MeridianAsterWebhookStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "internal page on the hub's state machine doesn't exist, which is why every firmware bug report starts with three people describing the states differently. write it from the code — the four atomics, who sets what, and what the watchdog does with each combination — as the reference for the rework context if it helps: this has been open since before i joined the team.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Remove MeridianHarborIndexStore's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "hub reports its firmware version only on connect, so a device that failed an update and rolled back looks like it's still on the old version forever, which is how we undercounted the bricked devices. report the running version on every state message, and backfill what we can from the OTA logs i'd rather have the reasoning written down than a quick answer.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"MeridianOspreyJobCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "go services each define their own Ticket type and convert at every boundary, which is why the matchmaker and the party service disagree about whether skill is a rating or a percentile. define it once in a shared package, convert only at the edges where we talk to clients, and prove that a replayed peak produces identical matches", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"SDK consumers are ready for durable continuation tokens, so the remaining work lives in MeridianWillowCodecService's API, storage, and worker layers. Add signed cursor parsing, bounded pagination, key rotation, tenant checks, and a resumable background path with metrics for lag, retries, and terminal failures.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside MeridianWillowCodecService\n- do not introduce another runtime dependency\n\nThe relevant code crosses geospatial, Deno, iPadOS. Prefer evidence from the repository and make any assumption explicit.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "validator's repair loop, the OCR retry and the model client's own retry are three nested layers of retrying that nobody designed together, and a single bad document can therefore produce seventy-five model calls. flatten them into one retry policy with an overall budget per document, keeping the successful-path behaviour exactly as it is", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"In projects/meridian/cmd/exporter/main.py hat MeridianMarbleTokenService ein sporadisches Problem im NATS JetStream-Ablauf. Trenne Verantwortlichkeiten und entferne Duplikate, ohne API, Wire-Werte, Reihenfolge oder sichtbares Verhalten zu ändern.\n\nRandbedingungen:\n- NATS JetStream weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf MeridianMarbleTokenService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um MeridianMarbleTokenService mit NATS JetStream kompatibel.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"de"}
{"prompt": "chunk sizes are hardcoded per document type in the pipeline, the layout model has its own idea of section boundaries, and the extractor gets whichever wins. pull chunking into one place with the document type as a parameter, and keep the extraction output identical for a sample of a thousand documents across all types tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"MeridianOspreyJobService'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": "hub's flash layout, the bootloader's expectations and the OTA writer's assumptions live in three files that have to agree and don't. bring the layout into one definition both the bootloader and the application build from, and make a mismatch a compile error rather than a bricked device nobody has trusted this code for about a year, which is part of the problem.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"MeridianCopperBridgeService leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me what our match quality metric actually measures once the relaxation window is uncapped, because it compares against the window rather than against the players' skills. read the metric and the matcher together and tell me whether the number we report weekly means anything at all assume whoever picks it up next has no context beyond what you write.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"// projects/meridian/config/staging.toml\nfinal class MeridianWillowCodecCoordinatorCoordinator {\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\nWalk through what the artifact proves about MeridianWillowCodecCoordinator; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
{"prompt": "eu-west matchmaker still runs the live-event configuration from three weeks ago — no relaxation cap, no backfill timeout, a pool five times the size of any other region. put the standard values back, and tell me which of the three actually mattered so we know what the event genuinely needed the sooner we know roughly how big this is, the better for planning.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"On compact widths, MeridianTideWorkerService'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.4,"slice":"core","lang":"en"}
{"prompt": "ingest deployment does a rolling update with maxUnavailable of one, which drops seventy thousand MQTT connections at a time and produces a reconnect storm that looks exactly like an outage. change the rollout to something the fleet can absorb, and tell me what the safe reconnect rate actually is i've already spent an afternoon on it and got nowhere useful.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Constraint: // projects/meridian/web/components/FilterDrawer.vue\nfinal class MeridianCoralUploadFlowCoordinator {\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\nWalk through what the artifact proves about MeridianCoralUploadFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"pasted-context","lang":"en"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "our checkpoint restart produces wrong results but only for jobs restarted after more than 48 hours:\n\ncheckpoint written at step 412000, size 8.1 TB\nrestart at step 412000, continues to step 500000\nvalidation against a continuous run: max relative difference 4.1e-3 (tolerance 1e-9)\n\nthe checkpoint stores the state arrays and the RNG seed but not the RNG stream position, and the thermostat's random forces resume from the seed rather than from where they were\n\nthe relevant part of the checkpoint code:\n\n ! checkpoint.f90\n write(unit) step, n_atoms\n write(unit) positions, velocities\n write(unit) rng_seed\n ! rng_pos declared, never written <- compiler warns about it, we've ignored that for years\n\n ! thermostat.f90, on restart\n call random_seed(put=rng_seed) ! stream restarts from the beginning\n\nvalidation runs so far:\n restart after 6h max rel diff 2.1e-11 (looks fine)\n restart after 24h max rel diff 8.8e-6\n restart after 48h max rel diff 4.1e-3\n\nthe two papers under discussion both used runs restarted at least twice", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Compare the old and new NorthstarCopperBridgeFlow adapters for ordering, error mapping, and shutdown guarantees; report semantic differences without proposing edits. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "the checkpoint writer and reader have drifted apart across three format versions:\n\n! checkpoint.f90 — writer\nwrite(unit) step, n_atoms, positions, velocities, seed\n\n! checkpoint.f90 — reader, with version sniffing\nread(unit) step, n_atoms\nif (n_atoms > 0 .and. n_atoms < HUGE_N) then\n read(unit) positions, velocities, seed ! v2\nelse\n rewind(unit); read(unit) step, positions, velocities ! v1, no seed\nend if\n\nversion detection by whether a field looks plausible, no magic number, no version field, and v3 adds the RNG position we need for correct restarts", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Please resist widening this one: NorthstarHarborIndexService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarHarborIndexService\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "HRIS special cases into configuration", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Spell NorthstarBirchMigratorStore's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "a real checkpoint format with a version field", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Request: Incident timeline — INC-54138\n\n08:02 deploy NorthstarIrisBatchFlow 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\nTurn the artifact into a reversible NorthstarIrisBatchFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "job adverts stopped syncing to one job board and their support says they see nothing:\n\nPOST https://partner.jobboard.example/v2/postings\n → 200 OK {\"accepted\": true, \"id\": \"jb_88412\"}\n\nour sync log:\n posted 412 adverts, 412 accepted, 0 errors\n\ntheir side:\n \"we have received 0 postings from your account since 21 July\"\n\nwe changed the partner API key on 21 July; the old key still returns 200 with an accepted body but their system discards the postings, which their docs describe in a footnote as \"deprecated key behaviour\"", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Match NorthstarMicaProfileService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "our receipt rendering path, which is why the cheap tills fall over:\n\nfun renderToBitmap(receipt: Receipt): Bitmap {\n val height = receipt.lines.size * LINE_HEIGHT_PX // 203dpi, ~34px per line\n val bmp = Bitmap.createBitmap(WIDTH_PX, height, Bitmap.Config.ARGB_8888)\n val canvas = Canvas(bmp)\n receipt.lines.forEachIndexed { i, line -> canvas.drawText(line, 0f, (i * LINE_HEIGHT_PX).toFloat(), paint) }\n return bmp\n}\n\nARGB_8888 at 576 pixels wide, a 60-line receipt is about 4.7MB, a 500-line stocktake report is 40MB, and the printer takes a monochrome bitmap anyway", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-54110: finish the compact NorthstarOpalRouterFlow filter experience\n\nRoute: /catalog/search\nSource: projects/northstar/internal/auth/refresh.go\nFramework: Spring Boot\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 NorthstarOpalRouterFlow 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": "the HRIS field mapping lives in YAML with per-customer special cases in code:\n\n# mappings/acme.yaml\nfirst_name: givenName\nstart_date: startDate # format: YYYY-MM-DD\n\n# mappings/globex.yaml\nfirst_name: fname\nstart_date: start # format: DD/MM/YYYY <- handled by an if in the pusher\n\n// pusher.ts\nif (customer === 'globex') payload.start = formatUk(offer.startDate)\nif (customer === 'initech') payload.employee_id = padLeft(offer.id, 8)\nif (customer === 'umbrella') delete payload.middle_name\n\nnine customers, four with code special cases, and adding a tenth means a deploy", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Goal: # projects/northstar/workers/thumbnail/consumer.ex\n[worker.northstaramberfilterflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstaramberfilterflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstaramberfilterflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarAmberFilterFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54139\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/northstar/workers/thumbnail/consumer.ex. 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": "a migration archived forty thousand applications at one customer because their talent pool records had never been touched since creation, and unarchiving them is a click each in the product. i want the recovery planned properly — how we identify exactly which records we archived, how we put them back without a script that could touch anyone else's data, and what we change so a migration can't do this again", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/northstar/src/sync/reconcile.ts b/projects/northstar/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/src/sync/reconcile.ts\n+++ b/projects/northstar/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\nRead the artifact above as a skeptical reviewer. Is NorthstarCraneWorkspaceCoordinator'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": "HRIS integration guide was written for one customer and is now used for nine, four of whom have special cases living in if-statements. write the guide that reflects reality, and separately list every special case that should be configuration so we can stop deploying to onboard a customer keep it concrete — file names and line numbers are more use than principles here.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-54148: finish the compact NorthstarFernSnapshotFlow filter experience\n\nRoute: /catalog/search\nSource: projects/northstar/db/migrations/20260730_events.sql\nFramework: Kotlin coroutines\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 NorthstarFernSnapshotFlow'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": "offline banner with today's total", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"PM is preparing the NorthstarMoonlitSDKStore rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarMoonlitSDKStore\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "what makes an application \"active\"?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Give NorthstarKiteSchedulerService a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "simulation is one four-thousand-line module and only one person can work on it, which is now the binding constraint on everything else in the group's list. before splitting it i'd like agreement on the seams — I/O, decomposition, physics, output — and on how we prove the split changed nothing, given our only test is a stored trajectory", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"The NorthstarFrostPanelStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "job adverts stopped reaching a job board three weeks ago while their API kept returning 200 with an accepted body, which our sync treats as success. work out what we should have been checking, and whether any other partner integration has the same shape of silent failure nobody has trusted this code for about a year, which is part of the problem.", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"A previously stable test around NorthstarMosaicGridService now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "interview scheduling emails go out with the wrong timezone for about one candidate in twenty:\n\ninterview i_4471\n scheduled_at (db, timestamptz): 2026-08-03 14:00:00+00\n interviewer timezone: Europe/Berlin\n candidate timezone: America/New_York (from their profile)\n email to candidate said: 3 August, 14:00 (your local time)\n actual time in New York: 10:00\n\nthe template formats with the interviewer's timezone but labels it as the candidate's, and only candidates whose profile timezone differs from the interviewer's notice", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Symptom: Incident timeline — INC-54126\n\n08:02 deploy NorthstarBasilRunnerFlow 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\nTurn the artifact into a reversible NorthstarBasilRunnerFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "an MPI job hangs at the same point every time on more than 512 ranks:\n\n[rank 0] entering collective: MPI_Allreduce (comm=MPI_COMM_WORLD, count=4194304, MPI_DOUBLE)\n[rank 1] entering collective: MPI_Allreduce\n...\n[rank 511] entering collective: MPI_Allreduce\n[rank 512] entering collective: MPI_Bcast (comm=MPI_COMM_WORLD, count=1, MPI_INT)\n[rank 513] entering collective: MPI_Bcast\n...\n<no further output, job killed by the scheduler at the 24h wall clock>\n\nranks 512 and above take a different branch that broadcasts a convergence flag before the reduction, and the branch depends on a value computed from the local domain size", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Milestones for replacing NorthstarMapleQueueStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "stock counts drift in stores that use the handheld scanners, about 0.3% of lines a week:\n\nscan event sku=SKU-4471 qty=1 device=hh_881 at=11:02:14.114 synced_at=11:02:19\nscan event sku=SKU-4471 qty=1 device=hh_881 at=11:02:14.118 synced_at=11:02:19\nstock movement sku=SKU-4471 delta=-1 source=scan at=11:02:19\nstock movement sku=SKU-4471 delta=-1 source=scan at=11:02:19\n\nthe scanner debounces a double trigger in firmware at 200ms, these are 4ms apart, and each scan gets a device-local id that the backend uses for idempotency — but the id is a counter that resets when the handheld is docked", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarMarbleTokenService needs an idempotent replay endpoint backed by Cloudflare Workers; accept a cursor, cap each page at 500 items, and return a stable continuation token.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "three places decide whether an application is \"active\" and they disagree:\n\n// api/pipeline.ts\nconst active = (a: Application) => !['rejected', 'withdrawn', 'archived'].includes(a.stage)\n\n// jobs/nurture.ts\nconst active = (a: Application) => a.stage === 'pool' || a.stage === 'applied'\n\n-- reports/active_candidates.sql\nWHERE a.stage NOT IN ('rejected', 'withdrawn') AND a.archived_at IS NULL\n\nthe report includes archived-by-migration records that have archived_at set but stage still 'pool' for some rows, because the migration set both and an earlier one set only stage", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarCoralUploadStore 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.6,"slice":"core","lang":"en"}
{"prompt": "careers page says \"Sorry, no jobs founds\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"NorthstarMoonlitSDKCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "payment buttons need to be 72dp", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"NorthstarQuartzPlayerCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "pipeline filters should live in the URL", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"# CI job 54132: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: Kafka\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] NorthstarKiteSchedulerFlowIntegration.replays_after_timeout ... ok\n[test] NorthstarKiteSchedulerFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nReconstruct the NorthstarKiteSchedulerFlow 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": "is the scan idempotency key unique enough?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Headsup: // projects/northstar/Sources/CLI/Commands/Doctor.swift\nfinal class NorthstarCinderAuthFlowCoordinator {\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 NorthstarCinderAuthFlow 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": "checkpoint restarts are silently wrong for long jobs because the RNG stream position isn't saved, and two published papers used runs that were restarted. i need the plan: how we determine which results are affected, what we tell the group and the journals if any are, and how the format changes so this class of error is impossible rather than merely fixed", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.95, "slice": "core", "lang": "en"} {"prompt":"Bring NorthstarAtlasSearchStore'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": "offline card payments are now contractual with limits, automatic retransmission and same-day manager reporting, none of which we have. work through what that means for the till, the backend and the store manager's tooling, and be explicit about which parts need the payment vendor's cooperation rather than just ours we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"In projects/northstar/packages/api/openapi.yaml hat NorthstarNovaPickerService ein sporadisches Problem im GraphQL-Ablauf. Verfasse eine Consumer-Doku mit Vertrag, Fehlern, Retry und einem kopierbaren Beispiel; ändere keinen Handler.\n\nRandbedingungen:\n- GraphQL weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf NorthstarNovaPickerService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um NorthstarNovaPickerService mit GraphQL kompatibel.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "simulation module split needs the seams agreed before anyone moves a line, and then the I/O layer extracted first because it's the least entangled. do both, and keep the stored-trajectory test passing at every step", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarTideWorkerFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/northstar/ui/settings/PrivacyPane.tsx and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "what does the till do with an offline voucher that is declined the next morning", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Match NorthstarEchoRegistryService's dark theme","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "por favor, revisa la consulta que alimenta el panel de reclutamiento antes de que la subamos:\n\nSELECT j.id, j.title,\n count(a.*) FILTER (WHERE a.stage = 'applied') AS applied,\n count(a.*) FILTER (WHERE a.stage = 'interview') AS interviewing,\n (SELECT count(*) FROM interviews i WHERE i.job_id = j.id AND i.starts_at > now()) AS upcoming,\n (SELECT avg(EXTRACT(epoch FROM (a2.hired_at - a2.created_at))/86400)\n FROM applications a2 WHERE a2.job_id = j.id AND a2.hired_at IS NOT NULL) AS avg_days_to_hire\nFROM jobs j\nLEFT JOIN applications a ON a.job_id = j.id\nWHERE j.tenant_id = $1 AND j.status = 'open'\nGROUP BY j.id, j.title;\n\nel inquilino más grande tiene 4.100 vacantes abiertas y 8,2 millones de candidaturas", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "es"} {"prompt":"Two deliverables are holding up NorthstarOspreyJobCoordinator. First, assess ownership and failure handling in projects/northstar/Sources/CLI/Commands/Doctor.swift. In the same workstream, capture the contract and rollback note for consumers. The relevant starting point is projects/northstar/Sources/CLI/Commands/Doctor.swift, which follows Kafka conventions and currently suffers from lost focus when the drawer animation finishes. Make rollback possible without deleting user data.\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": "changelog for the POS release, which stores will read on their tills:\n\n41c9e0b fix(print): receipts render in bands rather than one bitmap, fixing crashes on 1GB tills\n88f21c0 fix(payments): terminal client retries once on a read timeout before falling back to offline\nc0aa774 feat(offline): offline vouchers now carry a reference the till can reconcile automatically\n2e91b45 fix(scan): scan idempotency now uses a device-persistent id rather than a resetting counter\naa30f19 feat(stock): stocktake reports print in landscape on the wide printers\n9c1d004 chore: minimum android is now 11\n4410bb7 fix(ui): the numeric keypad no longer accepts a leading zero on quantities\nb77e910 feat(returns): returns without a receipt require a manager PIN\n\nour readers are store managers, not engineers; two of these change what staff do at the till", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"FYI: # projects/northstar/src/sync/reconcile.ts\n[worker.northstarnimbusformflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstarnimbusformflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstarnimbusformflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarNimbusFormFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54118\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/northstar/src/sync/reconcile.ts. 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": "unsere Mandantenprüfung ist an vierzehn Stellen unterschiedlich implementiert:\n\n// api/jobs.ts\nwhere: { tenantId: session.tenantId }\n\n// api/applications.ts\nwhere: { job: { tenantId: session.tenantId } }\n\n// api/reports.ts\nconst rows = await prisma.$queryRaw`SELECT ... WHERE tenant_id = ${session.tenantId}`\n\n// jobs/nurture.ts\n// keine Prüfung – der Job läuft für alle Mandanten und filtert nach Stage\n\nvierzehn Stellen, drei Muster, und eine Stelle ohne Prüfung; ich hätte gern eine Durchsetzung, die man nicht vergessen kann", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "de"} {"prompt":"NorthstarLumenChartCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "design spec for the recruiter pipeline board, which recruiters have open all day:\n\nPipeline board\n- Columns per stage, cards per candidate, virtualised — the largest tenant has 4,000 candidates in one job.\n- Card shows name, current stage age, source, and a flag if an interview is scheduled within 24 hours.\n- Drag between columns moves the stage optimistically, with a toast that can undo for ten seconds.\n- Bulk select with shift-click, then a bulk action bar; every bulk action states how many candidates it affects.\n- Filters: source, stage age, interviewer, tag. Filters live in the URL so recruiters can share a view.\n- Keyboard: arrow keys move between cards, enter opens, m moves stage via a menu — recruiters asked for this.\n- An archived candidate must be visibly distinct rather than absent, because \"where did they go\" is our top support question.\n- Everything must stay responsive with 4,000 cards and a websocket delivering updates from other recruiters.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"The NorthstarCedarPolicyFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "terminal read timeout to 10s with one retry", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarFlintTimelineCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "stage needs an indicator besides colour", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Before we approve NorthstarOrbitSyncStore, assess whether a misleading timeout name used in five packages is an actual correctness risk or merely confusing structure. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "apply modal traps focus with no escape", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"We expect NorthstarDeltaCanvasStore to outgrow its current Spring Boot arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- make rollback possible without deleting user data\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to NorthstarDeltaCanvasStore and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "one active-application predicate", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Does NorthstarEchoRegistryStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "doc comments on the public jobs API", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-54116\n\n08:02 deploy NorthstarGarnetModalFlow 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 NorthstarGarnetModalFlow 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": "why does the 512-rank job hang?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"I inherited NorthstarCopperBridgeService and need a careful read of projects/northstar/web/components/FilterDrawer.vue before I can sign off on the next release. 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- make rollback possible without deleting user data\n- stay compatible with the existing Spring Boot deployment\n- keep the work scoped to NorthstarCopperBridgeService and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL 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": "applications lost at the morning spike", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/northstar/pkg/cache/lease.rs b/projects/northstar/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/pkg/cache/lease.rs\n+++ b/projects/northstar/pkg/cache/lease.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\nRead the artifact above as a skeptical reviewer. Is NorthstarFrostPanelFlow'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": "till screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Give NorthstarBirchMigratorService a README example","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "tenant scoping is done by hand in fourteen places with three patterns and one omission, and we have no test that would catch a fifteenth. i want a position on enforcement — row-level security, a repository layer, or something else — that survives our transaction-scoped pooler and the reports that use raw SQL", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"Pin NorthstarWillowCodecStore's Kotlin dependency","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "nobody can tell me whether a restarted run can differ from a continuous one in a way that matters, and two papers depend on the answer. read the checkpoint writer, the reader and the thermostat's use of the RNG, and tell me exactly what diverges and by how much on a realistic run whatever you find, write it somewhere the next person will actually look.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Meanwhile: diff --git a/projects/northstar/config/staging.toml b/projects/northstar/config/staging.toml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/config/staging.toml\n+++ b/projects/northstar/config/staging.toml\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 NorthstarBeaconStoreFlow'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": "scan idempotency key is device id plus a device-local counter that resets when the handheld is docked, held in a one-hour cache, across four hundred devices. work out how often two different scans can collide on that key, and whether the stock drift we see is consistent with that rate i'm not attached to the current approach if there's an obviously better one.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Ownership of NorthstarPrismCacheStore is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current Kotlin coroutines operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "before we touch the checkpoint format i want the failure modes written down — restart on a different rank count, a changed thermostat, a truncated file — and then the versioned header implemented against that analysis", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarOrbitSyncService occasionally exhibits two validators with subtly different error strings, but only after a reconnect. Follow the data and cancellation paths in projects/northstar/infra/modules/edge/main.tf and identify the cause before changing anything.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "i'd like an honest read of whether our OpenMP reduction can produce different totals for the same input on the same machine, and if it can, the change that makes it deterministic without costing more than a few percent", "purpose": "review", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"En projects/northstar/config/staging.toml, NorthstarNovaPickerStore tiene un problema intermitente en el flujo de GraphQL. Propón fases, compatibilidad, métricas, rollback y ownership; detente antes de tocar código.\n\nRestricciones:\n- seguir con GraphQL\n- conservar compatibilidad y cancelación\n- limitar el cambio a NorthstarNovaPickerStore Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con GraphQL alrededor de NorthstarNovaPickerStore.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"es"}
{"prompt": "recruiter app ignores the tokens and uses stage colour as the only stage indicator. bring it onto the tokens with a non-colour indicator, and tell me whether the card height changes enough to affect how many fit on a laptop screen", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Locally: The NorthstarQuartzPlayerStore surface in projects/northstar/services/ledger/replay.go 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": "ATS background jobs each construct their own prisma client, which is a meaningful share of the connections at 09:00. share one, and tell me which jobs were relying on their own transaction isolation before i approve it", "purpose": "quickFix", "secondary": "review", "mixed": true, "difficulty": 0.5, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarAtlasSearchService'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": "payment vendors behind one interface", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Production: The API work is done; what remains for NorthstarPineMetricsService is the visible interaction layer across loading, offline, empty, and success cases. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarPineMetricsService\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "stock drifts on handheld scans", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Staging: The NorthstarSlateEditorService empty state in projects/northstar/ml/pipeline/features.py needs a quiet illustration, a retry button, and copy that distinguishes no results from an offline response.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "an HPC customer's security team asked six questions about credentials, shared filesystems, telemetry and job isolation, and our honest answers include a couple of \"not currently\". write the document from the code, mark those clearly, and give each one a remediation note rather than leaving it hanging this is the third time it's bitten us and i'd like it to be the last.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-54114\n\n08:02 deploy NorthstarSableParserFlow 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\nTurn the artifact into a reversible NorthstarSableParserFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "checkpoint design note assumes restarts happen on the same rank count and that the RNG is reseeded from the step, neither of which is true today. read it against the code and tell me which of its other assumptions have quietly stopped holding as our jobs got longer context if it helps: this has been open since before i joined the team.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"Is NorthstarVelaDrawerStore safe under cancellation?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "three payment vendors have three client shapes, three error taxonomies and three copies of the offline voucher logic with slightly different conditions. put them behind one interface with one offline policy, keeping each vendor's on-the-wire behaviour exactly as it is, and make the differences visible in configuration rather than in branches", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"CI: The NorthstarAmberFilterStore surface in projects/northstar/ui/settings/PrivacyPane.tsx 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": "pipeline board is what recruiters have open all day and it currently renders four thousand cards eagerly and loses their filters on refresh. rebuild it to the spec — virtualised, filters in the URL, keyboard navigation, archived candidates visible rather than absent — without changing the drag interaction people are used to assume whoever picks it up next has no context beyond what you write.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Investigate the NorthstarBasilRunnerService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our careers-site API, which twelve customers embed in their own sites from a README:\n\nGET /v1/public/jobs?tenant=&location=&department=&remote=\n returns open jobs only; a job closed while a candidate is on the page 404s on apply\n ordering is by posted_at desc with no tie-break, so equal timestamps reorder between requests\n the description field is HTML we sanitise on write, not on read, and old records predate the sanitiser\nPOST /v1/public/applications\n multipart with a CV up to 10MB; larger uploads fail with a generic 400\n duplicate applications to the same job are accepted silently and appear twice to the recruiter\n the response is 201 with an application id that is not shown to the candidate anywhere\n\nwrite the reference for customers embedding this, and be explicit about the duplicate behaviour", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Atlas: Incident timeline — INC-54130\n\n08:02 deploy NorthstarDriftConsoleFlow 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 NorthstarDriftConsoleFlow behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "the simulation group's list, with a paper deadline in eight weeks:\n\n- fix the checkpoint RNG position, which may invalidate results in the last two papers\n- decide on -ffast-math, which costs 18% if we remove it\n- fixed-order reduction, which costs 4% and a kernel rewrite\n- the 512-rank hang, which blocks the largest runs entirely\n- split the 4,000-line module so more than one person can work on it\n- job scripts that don't waste 88% of each node\n\none Fortran engineer, and the deadline is real but the correctness questions are older", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current NorthstarOpalRouterService design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarOpalRouterService\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "HRIS field mapping is YAML plus four customer names hardcoded in the pusher, so onboarding a tenth customer means a deploy. move the special cases into the mapping format itself, keep every current customer's payload byte-identical, and add the test that proves it for each tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"What does NorthstarFlintTimelineStore own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "a 512-rank job hangs at the same collective every time and the branch that broadcasts a convergence flag looks like the culprit. confirm it, then restructure the collectives so all ranks agree on what they're calling", "purpose": "debugging", "secondary": "refactor", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Ticket OPS-54121: retire the legacy replay path for NorthstarMicaProfileFlow\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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Capture the NorthstarMicaProfileFlow 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": "job list widget should degrade to plain server-rendered HTML when scripts are blocked", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarNimbusFormCoordinator: correct, then assess","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "our runbook for the 09:00 application spike is \"watch the dashboard\". what the team actually does:\n\n- job adverts go out by email at 09:00 and the apply endpoint takes ten times its normal load for about twenty minutes\n- the first symptom is connection pool exhaustion, which shows as 500s on apply and nothing else\n- scaling the app up makes it worse, because each instance takes ten more connections\n- the actual mitigation is scaling down to 20 instances, which nobody believes until they try it\n- pgbouncer exists in staging and has never been enabled in production\n- if applications are lost rather than delayed, they are recoverable from the email bounce log, painfully\n\nwrite the runbook, and mark clearly that scaling up is the wrong instinct", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Beacon: The minimum supported Cloudflare Workers version in projects/northstar/engine/render/atlas.cpp is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "the retailer's requirements for offline payments, which are now contractual:\n\n\"The point of sale shall continue to accept card payments when the payment terminal is temporarily unreachable, subject to a configurable per-store limit on the total value of offline transactions. Offline transactions shall be transmitted for authorisation within 15 minutes of connectivity being restored, without staff intervention. Declined offline transactions shall be reported to the store manager the same day. The system shall not permit offline acceptance for transactions above a configurable value.\"\n\nwe have no limits, no automatic retransmission except on restart, and no manager-facing report. i want the plan by contractual exposure", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarAmberFilterCoordinator: make this less weird","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "a walkthrough of how a scan becomes a stock movement would help before i touch idempotency", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/northstar/packages/api/openapi.yaml b/projects/northstar/packages/api/openapi.yaml\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/packages/api/openapi.yaml\n+++ b/projects/northstar/packages/api/openapi.yaml\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 NorthstarMapleQueueFlow 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": "HRIS integration guide needs writing and i expect it will surface behaviours we should change rather than document — the silent failure after three retries especially. write the guide, and give me that list", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarSlateEditorCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "careers widget documentation has to exist for the customers embedding it, and while writing it please confirm whether duplicate applications really are accepted silently, because support believes they're rejected", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Test Suite 'NorthstarPineMetricsCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[NorthstarPineMetricsCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/northstar/packages/api/openapi.yaml:144: error: -[NorthstarPineMetricsCoordinatorTests 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 '-[NorthstarPineMetricsCoordinatorTests 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\nBring NorthstarPineMetricsCoordinator's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "offline payments runbook for store managers should exist, and the till should stop printing vouchers past a sensible daily limit. write the runbook, then add the limit with a configurable default", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"What sequence would let NorthstarAmberFilterService adopt Cloudflare Workers 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": "interview emails show the wrong local time for candidates in other timezones, which looks like the formatter using the interviewer's zone. confirm that, then fix it and work out how many past emails were wrong so we can decide whether to apologise i've already spent an afternoon on it and got nowhere useful.", "purpose": "debugging", "secondary": "writing", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Set NorthstarLumenChartStore's port to 8081","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "is our job efficiency really 12%, or is the accounting measuring something else", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"For NorthstarWillowCodecCoordinator, separate NorthstarWillowCodecCoordinator's policy from transport without behavior changes; once that is complete, capture the contract and rollback note for consumers. Work from projects/northstar/src/sync/reconcile.ts, stay with Kotlin coroutines, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "what guarantees does the apply endpoint make once it has returned a 201 to the candidate", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Cinder: Incident timeline — INC-54152\n\n08:02 deploy NorthstarCedarPolicyCoordinator 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\nTurn the material above into a concise NorthstarCedarPolicyCoordinator 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "simulation writes trajectory output through three routines depending on format, and two of them buffer differently so a killed job loses a different amount of data. unify them behind one writer, and tell me which format's flush behaviour we should adopt given jobs are killed by the scheduler routinely this has come up in three separate reviews now and never gets done.", "purpose": "refactor", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Delta: diff --git a/projects/northstar/infra/modules/edge/main.tf b/projects/northstar/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/infra/modules/edge/main.tf\n+++ b/projects/northstar/infra/modules/edge/main.tf\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 NorthstarOrbitSyncFlow'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": "job adverts should be verified by reading the posting back rather than trusting a 200, and we should decide first what we do when the read-back disagrees — retry, alert, or mark the advert failed. settle that, then implement flag anything you'd want to change before doing it rather than after.", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Documente o contrato de NorthstarEmberRelayService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"pt"}
{"prompt": "candidate applications vanish between the form and the database, maybe five a day:\n\nPrismaClientUnknownRequestError: \nInvalid `prisma.application.create()` invocation:\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(PostgresError { code: \"53300\", message: \"remaining connection slots are reserved for non-replication superuser connections\" }) })\n at Ai.handleRequestError (/app/node_modules/@prisma/client/runtime/library.js:121:6412)\n at async POST (/app/app/api/apply/route.ts:88:22)\n\nconnection pool: 10 per instance, 40 instances behind the autoscaler, postgres max_connections 100\nthe apply endpoint is the only one that spikes, because job ads go out by email at 09:00", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarMapleQueueService leaks tasks on shutdown","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "so our simulation gives different answers on the new cluster and i can't tell which is right:\n\n old cluster (gcc 11, -O2, AVX2): total energy = -1042.884112 Ha\n new cluster (gcc 14, -O3, AVX512): total energy = -1042.884109 Ha\n reference (published): total energy = -1042.884110 Ha\n\ncompiler flags on the new cluster: -O3 -march=native -ffast-math -funroll-loops\ncompiler flags on the old cluster: -O2 -march=haswell\n\nthe kernel sums a 4-million-element array of pair interactions in a plain loop, and the reduction order differs between the two builds", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"The name pendingAck means two different things across NorthstarHarborIndexStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "tills stop taking card payments in one store every afternoon, always around the same time:\n\n14:02:11.114 [pos-04] payment start amount=1240 currency=GBP\n14:02:11.882 [pos-04] terminal connect 192.168.10.44:9100\n14:02:41.902 [pos-04] terminal read timeout after 30s\n14:02:41.905 [pos-04] payment failed, offline voucher printed\n14:02:44.001 [pos-04] terminal connect 192.168.10.44:9100\n14:03:14.020 [pos-04] terminal read timeout after 30s\n\nstore wifi shows a channel change at 14:00 daily, which is when the bakery ovens come on, and the terminals are on wifi while the tills are wired", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Design handed over a final pass for NorthstarTideWorkerStore, and the basic data flow in projects/northstar/workers/thumbnail/consumer.ex already works. 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- make rollback possible without deleting user data\n- stay compatible with the existing Cloudflare Workers deployment\n- keep the work scoped to NorthstarTideWorkerStore and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "seit dem letzten Deploy verschwinden Bewerbungen aus dem Talent-Pool, aber nur bei einem Kunden:\n\nSELECT count(*) FROM applications WHERE tenant_id = 'acme' AND stage = 'pool';\n vor dem Deploy: 41.882\n nach dem Deploy: 1.204\n\nMigration aus dem Deploy:\n UPDATE applications SET stage = 'archived'\n WHERE stage = 'pool' AND updated_at < now() - interval '180 days';\n\nbei diesem Kunden werden Bewerbungen im Pool nicht angefasst, solange niemand sie öffnet, also ist updated_at das Erstellungsdatum; bei allen anderen Kunden läuft ein Nurturing-Job, der die Datensätze regelmäßig berührt", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"Move NorthstarVelaDrawerService behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "ok so the POS app crashes on a specific till model when printing a receipt with more than about forty lines:\n\nFATAL EXCEPTION: main\nProcess: io.lumenpos.till, PID: 4412\njava.lang.OutOfMemoryError: Failed to allocate a 41943040 byte allocation with 12582912 free bytes\n\tat android.graphics.Bitmap.nativeCreate(Native Method)\n\tat io.lumenpos.print.ReceiptRenderer.renderToBitmap(ReceiptRenderer.kt:141)\n\tat io.lumenpos.print.PrintJob.execute(PrintJob.kt:88)\n\nwe render the whole receipt into one bitmap at 203dpi before sending it to the printer, and these tills have 1GB of RAM", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarCinderAuthCoordinator: diagnose, then correct","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "could you look at the pooling before i sign this off? the 09:00 spike is what worries me:\n\nexport const prisma = new PrismaClient({\n datasources: { db: { url: process.env.DATABASE_URL } },\n})\n\n// route.ts\nexport async function POST(req: Request) {\n const body = await req.json()\n const application = await prisma.application.create({ data: { ...body } })\n await sendConfirmationEmail(application) // awaited, 400-800ms\n await notifyRecruiters(application) // awaited, fans out to up to 12 recipients\n return Response.json({ id: application.id })\n}\n\nforty instances, ten connections each, postgres allows a hundred, and the two awaits hold the request open for over a second", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarSlateEditorStore'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": "honestly the reduction kernel, which is where our numbers differ between clusters:\n\nsubroutine pair_energy(n, r, q, energy)\n integer, intent(in) :: n\n real(8), intent(in) :: r(3,n), q(n)\n real(8), intent(out) :: energy\n integer :: i, j\n energy = 0.0d0\n !$omp parallel do reduction(+:energy) private(j)\n do i = 1, n\n do j = i+1, n\n energy = energy + q(i)*q(j)/norm2(r(:,i) - r(:,j))\n end do\n end do\nend subroutine\n\nbuilt with -ffast-math on the new cluster, thread count differs between runs, and the result is quoted to ten significant figures in our papers", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Ember: What is the safest way to split projects/northstar/apps/console/routes/usage.svelte into independently owned modules while NorthstarRainfallDBStore's public behavior remains frozen for the next release?","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"en"}
{"prompt": "right, the idempotency handling for handheld scans, which i think is behind the stock drift:\n\n@PostMapping(\"/v1/scans\")\npublic ResponseEntity<Void> scan(@RequestBody ScanBatch batch) {\n for (Scan s : batch.scans()) {\n String key = s.deviceId() + \":\" + s.localId();\n if (seen.putIfAbsent(key, Boolean.TRUE) == null) {\n stock.apply(s.sku(), -s.qty(), \"scan\");\n }\n }\n return ResponseEntity.accepted().build();\n}\n\n`seen` is a Caffeine cache with a one hour expiry, localId is a device counter that resets on docking, and there are 400 handhelds across the estate", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarSableParserCoordinator is blocking the next release because an accessibility label that reads the internal enum. I need two concrete outcomes from a single pass: change NorthstarSableParserCoordinator's known staging timeout from 15 to 30 seconds, and capture the contract and rollback note for consumers. Use the existing Cloudflare Workers conventions in projects/northstar/engine/render/atlas.cpp; make rollback possible without deleting user data. 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "quick one — the checkpoint format's design note, written when jobs ran for eight hours rather than three weeks:\n\n## Checkpoint contents\nState arrays, the current step, the input parameters and the RNG seed. Written every 10,000 steps to the parallel filesystem.\n\n## Assumptions\n- A restart continues a run that would otherwise have been identical.\n- The RNG is reseeded deterministically from the seed and the step.\n- Checkpoints are read back on the same number of ranks.\n\n## Not covered\nRestarting on a different rank count. Changing the thermostat between restarts. Reproducibility across compilers.\n\nwe now restart on different rank counts routinely, and the RNG is not reseeded from the step at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Security flagged NorthstarGarnetModalStore for a read-only pass because its GraphQL boundary mixes tenant data, retries, and cancellation in subtle ways. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current GraphQL operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "fyi the migration that archived a customer's talent pool, which i'd like reviewed before we write the recovery:\n\n-- 20260722_archive_stale_pool.sql\nUPDATE applications\n SET stage = 'archived', archived_at = now()\n WHERE stage = 'pool'\n AND updated_at < now() - interval '180 days';\n\n-- rollback (as written in the migration file)\n-- none\n\napplications has no history table; archived_at is the only trace; and updated_at means \"last touched by anything\", which for one tenant is the creation date because they don't run the nurturing job", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-54129: retire the legacy replay path for NorthstarEchoRegistryFlow\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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Assess NorthstarEchoRegistryFlow for durability, tenant isolation, races, and misleading observability. Separate blockers from questions and do not produce a patch.","purpose":"planning","secondary":"review","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "heads up: the job scheduler script we hand to researchers, which i suspect is why jobs sit in the queue:\n\n#!/bin/bash\n#SBATCH --nodes=64\n#SBATCH --ntasks-per-node=8\n#SBATCH --cpus-per-task=16\n#SBATCH --time=24:00:00\n#SBATCH --exclusive\n#SBATCH --mem=0\n\nexport OMP_NUM_THREADS=16\nexport OMP_PLACES=cores\nsrun ./simulate input.dat\n\nthe cluster has 128 cores per node, our job asks for 8 tasks × 16 threads = 128, exclusive plus mem=0 takes the whole node, and the queue's backfill window is four hours", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Corrige le timeout de NorthstarEmberRelayStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"fr"}
{"prompt": "support's notes on the archived applications, which we need to turn into a customer explanation:\n\n- a migration archived applications in the talent pool that hadn't been updated in 180 days\n- for most customers a nurturing job touches these records, so almost nothing was archived\n- for one customer the nurturing job is disabled, so updated_at was the creation date and 40,000 records were archived\n- the records are not deleted; they're in the archived stage and can be moved back\n- moving them back individually is a click each; there is no bulk unarchive in the product\n- we can do it with a script, but archived_at is the only evidence of which records we touched\n\nwrite the customer explanation and the internal note about what we're doing to restore them", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/northstar/services/ledger/replay.go\nfinal class NorthstarDeltaCanvasFlowCoordinator {\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\nWalk through what the artifact proves about NorthstarDeltaCanvasFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "incident notes from the till outage, and the retailer wants a written explanation:\n\n14:02 store 44 reports card payments failing on all six tills\n14:20 other stores unaffected; store 44's terminals are on wifi, tills are wired\n14:35 store wifi logs show a channel change at 14:00, coinciding with the bakery ovens starting\n15:10 terminals moved to the wired network as a workaround, payments resume\n16:00 root cause: the terminals lose association during the channel change and our client has a 30 second read timeout with no retry\n17:30 during the outage, staff used offline vouchers for 412 transactions, of which 8 were later declined\n\nthe retailer's question is why a wifi hiccup takes down payments at all when the tills are wired", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"NorthstarEmberRelayCoordinator needs a paired pass: assess ownership and failure handling in projects/northstar/cmd/exporter/main.py, plus capture the contract and rollback note for consumers. Use projects/northstar/cmd/exporter/main.py as the source of truth, preserve the Kafka contract, and avoid unrelated cleanup.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "as notas da reunião sobre reprodutibilidade, para transformar em documento de decisão:\n\n- os resultados diferem entre o cluster antigo e o novo na décima casa decimal\n- a causa provável é -ffast-math combinada com uma redução OpenMP cuja ordem varia com o número de threads\n- publicámos valores com dez algarismos significativos em dois artigos\n- opções: fixar a ordem da redução, remover -ffast-math, ou passar a publicar com incerteza declarada\n- remover -ffast-math custa cerca de 18% de desempenho segundo o teste que fizemos\n- a ordem fixa custa cerca de 4% e obriga a reescrever o kernel\n\nescreve a nota de decisão com as opções, o custo de cada uma e uma recomendação para o grupo", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "pt"} {"prompt":"We expect NorthstarCraneWorkspaceService to outgrow its current Kotlin coroutines arrangement next quarter, but changing everything at once would be risky. Lay out milestones for dual operation, validation, client adoption, cutover, and removal, with a named owner and measurable exit condition for every phase.\n\nConstraints:\n- make rollback possible without deleting user data\n- stay compatible with the existing Kotlin coroutines deployment\n- keep the work scoped to NorthstarCraneWorkspaceService and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "small thing but the questions our new HPC customer's IT security team sent, which need answering as a document:\n\n\"What data does the job submission tool send to your servers, and can it operate fully offline? Where are user credentials stored on shared login nodes? Does your software write anything to a world-readable location? Can a user's job read another user's checkpoint data on the shared filesystem? How do you handle a job that exceeds its allocation — is it killed, and by whom? What telemetry do you collect from academic sites and can it be disabled?\"\n\nour honest answers are mixed at best; write the document from the code, and mark clearly which answers are \"not currently\" rather than presenting them as design decisions", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"projects/northstar/services/ledger/replay.go 里的 NorthstarSummitProxyService 最近在 Spring Boot 流程中出现间歇性问题。 请实现幂等 endpoint,包含持久 cursor、tenant 鉴权、spans 和 retry 测试。\n\n约束:\n- 继续使用 Spring Boot\n- 保持兼容性和取消语义\n- 改动只限于 NorthstarSummitProxyService","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "社内向けに、レジ端末のオフライン運用手順が文書化されていません。現状は次の通りです:\n\n- カード端末が 30 秒応答しない場合、レジはオフラインバウチャーを印刷する(リトライはしない)\n- オフラインバウチャーは後で一括送信されるが、与信が通らない場合は店舗の損失になる\n- 一日あたりのオフライン上限は設定されておらず、先週は 412 件が積み上がった\n- レジ側のログはローカルにしか残らず、7 日で上書きされる\n- 店舗マネージャーはオフライン件数を確認する画面を持っていない\n- 復旧後の再送はレジの再起動時にのみ行われる\n\n設定例:\n\nterminal:\n read_timeout_ms: 30000\n retries: 0\n offline_voucher_limit: null\n\n店舗マネージャー向けの手順書として、また社内の開発者向けの注意点として、それぞれまとめてください\n\n先週のオフライン件数(店舗別、上位):\n store 44 412 件 合計 £18,204 後日否認 8 件\n store 12 88 件 合計 £3,110 後日否認 1 件\n store 07 41 件 合計 £1,204 後日否認 0 件\n\n関連する設定とログ:\n\n terminal:\n read_timeout_ms: 30000\n retries: 0\n offline_voucher_limit: null\n resubmit_on: [\"app_start\"]\n\n 14:02:41 [pos-04] terminal read timeout after 30s\n 14:02:41 [pos-04] payment failed, offline voucher printed\n\n店舗マネージャーはこの数字をどこからも見られません", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "ja"} {"prompt":"NorthstarVelaDrawerCoordinator needs a paired pass: separate NorthstarVelaDrawerCoordinator's policy from transport without behavior changes, plus give the existing implementation a read-only safety pass. Use projects/northstar/app/src/main/SyncWorker.kt as the source of truth, preserve the Kotlin coroutines contract, and avoid unrelated cleanup.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "not urgent, but the ATS's integration guide for HR systems, written for one customer and now used by nine:\n\nwe push hires to the customer's HRIS on offer acceptance:\n POST {customer_endpoint}/employees with our own field names, mapped per customer in a YAML file\n retries: 3, then a support ticket is created and someone re-runs it by hand\n the mapping file lives in our repo, so a new field for one customer is a deploy\n four customers require a custom date format and two require a custom ID scheme\n nobody has documented which customer needs what; the YAML comments are the only record\n a failed push leaves the offer accepted in our system with no indication that the HRIS is out of sync\n\nwrite the integration guide, and separately list what should be configuration rather than code", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Document NorthstarSableParserService's cancellation rules","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "eslint and tsc on the ATS, gate goes on next sprint:\n\napp/api/apply/route.ts:88:22 - error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'ApplicationCreateInput'\napp/lib/mail.ts:41:9 - warning: Promise returned in function argument where a void return was expected @typescript-eslint/no-misused-promises\napp/lib/tenant.ts:141:3 - error TS2532: Object is possibly 'undefined'\napp/components/PipelineBoard.tsx:212:5 - warning: React Hook useEffect has a missing dependency: 'tenantId'\napp/lib/dates.ts:22:11 - error TS2769: No overload matches this call (formatInTimeZone)\n\n3 errors, 2 warnings, and dates.ts is the file behind the timezone emails", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Frost: Ticket OPS-54111: retire the legacy replay path for NorthstarNovaPickerFlow\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 NorthstarNovaPickerFlow 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": "compiler warnings from the simulation build, which we've been ignoring for years:\n\nsrc/pair.f90:141:22: warning: 'energy' may be used uninitialized [-Wmaybe-uninitialized]\nsrc/io.f90:88:5: warning: array 'buf' is used uninitialized [-Wuninitialized]\nsrc/thermostat.f90:41:9: warning: comparison of real values with == [-Wfloat-equal]\nsrc/checkpoint.f90:212:13: warning: unused variable 'rng_pos' [-Wunused-variable]\nsrc/main.f90:22:1: warning: obsolescent feature: COMMON block\n\n41 warnings total; checkpoint.f90's unused rng_pos is exactly the variable our restart bug is about", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Garnet: projects/northstar/app/src/main/SyncWorker.kt の NorthstarWrenExportService で、Kotlin coroutines の flow に断続的な問題が起きています。 責務を分離して重複をなくし、API、wire value、順序、観測可能な動作は変えないでください。\n\n制約:\n- Kotlin coroutines を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は NorthstarWrenExportService のみ","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"ja"}
{"prompt": "genuinely puzzled by this: the till app's config across store types, and only the small stores crash:\n\n# flagship stores\nprint:\n render_mode: banded\n band_height_px: 512\n bitmap_config: ALPHA_8\ndevice: { ram_mb: 4096, android: 13 }\n\n# small stores\nprint:\n render_mode: single\n band_height_px: null\n bitmap_config: ARGB_8888\ndevice: { ram_mb: 1024, android: 11 }\n\nbanded rendering was added for the flagship rollout and never enabled anywhere else\n\nand the crash rate per store type over the last month:\n\n flagship (4GB, android 13, banded) 0 crashes / 41,882 receipts\n standard (2GB, android 12, single) 14 crashes / 88,214 receipts\n small (1GB, android 11, single) 412 crashes / 21,004 receipts\n\nevery crash is the same OutOfMemoryError in renderToBitmap, and the receipts that trigger it are stocktake reports and long promotional receipts", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "pasted-context", "lang": "en"} {"prompt":"Persist NorthstarQuartzPlayerService delivery attempts in projects/northstar/web/components/FilterDrawer.vue, claim them safely across workers, and make duplicate webhook receipts return the original accepted result.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "slurm accounting for our group this month, and we're being asked why utilisation is low:\n\nJobID Nodes Elapsed CPUTime TotalCPU Efficiency\n881204 64 23:58:12 1536:00 184:12 11.9%\n881207 64 23:59:02 1536:00 201:44 13.1%\n881209 32 04:12:44 134:48 128:02 94.9%\n881211 64 23:58:44 1536:00 190:22 12.4%\n\nthe 64-node jobs request 8 tasks per node with 16 threads each on 128-core nodes, and the three long ones all hit the wall clock rather than converging", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"diff --git a/projects/northstar/app/src/main/SyncWorker.kt b/projects/northstar/app/src/main/SyncWorker.kt\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/app/src/main/SyncWorker.kt\n+++ b/projects/northstar/app/src/main/SyncWorker.kt\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 NorthstarWrenExportFlow 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": "dependabot on the ATS, four open and one blocks the store submission:\n\nnext 15.1.0 → 15.4.2 (patch series; middleware behaviour changed for rewrites)\n@prisma/client 5.19 → 6.2 (major; connection pool defaults changed, `connection_limit` now per-process)\ndate-fns-tz 2.0.0 → 3.2.0 (major; formatInTimeZone signature changed)\nnodemailer 6.9.13 → 6.10.1 (patch)\n\nthe date-fns-tz major is the library our timezone bug is in, and the prisma major changes exactly the pooling behaviour we're fighting", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Flip NorthstarMicaProfileStore's staging toggle","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "les seuils d'alerte de la plateforme de recrutement, on nous réveille pour rien :\n\n- alert: ApplyErrorRate\n expr: rate(http_requests_total{route=\"/api/apply\",code=~\"5..\"}[5m]) > 0\n for: 1m\n labels: { severity: page }\n\n- alert: DbConnections\n expr: pg_stat_activity_count > 90\n for: 5m\n labels: { severity: ticket }\n\n- alert: SyncFailures\n expr: increase(partner_sync_failed_total[1h]) > 0\n for: 0m\n labels: { severity: ticket }\n\nen pratique : le taux d'erreur dépasse zéro tous les matins à 9h ; la saturation des connexions n'est qu'un ticket alors que c'est la cause ; et la synchronisation vers un job board renvoyait 200 tout en jetant nos annonces, donc aucune alerte n'a été déclenchée pendant trois semaines", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "fr"} {"prompt":"Fresh release brief for NorthstarPrismCacheCoordinator:\n- primary outcome: produce a consumer guide for NorthstarPrismCacheCoordinator\n- companion outcome: give the existing implementation a read-only safety pass\n- repository entry point: projects/northstar/app/src/main/SyncWorker.kt\n- platform constraint: Kotlin coroutines\n- known complication: timestamps rendered one day ahead near UTC midnight\n\nBoth results are required, but they should remain independently reviewable. Make rollback possible without deleting user data; 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": "this module does I/O, domain decomposition and the physics in one file, and every change touches all three:\n\nmodule simulate\n ! reads input.dat, including three formats we've supported over the years\n ! decides the domain decomposition from the rank count\n ! allocates the state arrays\n ! runs the integrator, calling the pair kernel and the thermostat\n ! writes checkpoints and trajectory output\n ! handles MPI setup and teardown\nend module\n\n4,000 lines of Fortran, one test that runs a tiny system and compares against a stored trajectory", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Move NorthstarMoonlitSDKService behind one protocol","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "quarter planning input, needs sequencing:\n\n- 40,000 applications were archived by a migration at one customer and unarchiving them is manual\n- the 09:00 spike takes the apply endpoint down most mornings and scaling up makes it worse\n- our simulation results differ between clusters in the tenth significant figure, and we publish ten\n- the POS crash on small tills affects 300 stores and the workaround is telling staff to print shorter receipts\n- checkpoint restarts are silently wrong for long jobs, which may affect published work\n- one Fortran engineer, two platform engineers, and the POS team is three people\n- there's an HPC customer procurement in october with a security questionnaire we can't currently pass", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Harbor: Ticket OPS-54159: retire the legacy replay path for NorthstarTideWorkerCoordinator\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 NorthstarTideWorkerCoordinator, 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": "architecture ticket, i want the thinking before code:\n\nATS-410 — Tenant isolation enforcement\nTenant scoping is applied by hand in fourteen places with three different patterns and at least one omission. The proposal is row-level security in postgres with the tenant set per connection, so a missing filter fails closed. Concerns: our connection pooler is transaction-scoped and the tenant would have to be set per transaction; some background jobs legitimately run across tenants; raw queries in reports bypass the ORM entirely; and we have no test that would catch a missing filter today, so we cannot prove the change is safe or that it was needed.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"The name pendingAck means two different things across NorthstarMarbleTokenStore's packages; rename the state and its helpers consistently while keeping wire keys untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "spec for the till's payment screen, which cashiers use hundreds of times a day:\n\nPayment screen\n- Amount due in the largest type on the screen, unmissable from a metre away.\n- Payment method buttons at least 72dp tall, arranged so the most common method is under the thumb.\n- While waiting on the terminal: a progress state that names what is happening (\"waiting for card\", \"authorising\") rather than a generic spinner, with the elapsed seconds visible.\n- On timeout: an explicit choice — retry, or take the payment offline — never an automatic silent fallback.\n- Offline mode shows a persistent banner with the count and total value of offline transactions taken today.\n- Errors from the terminal are shown in the words the cashier needs (\"ask for another card\"), with the vendor code available on a long press for support.\n- The screen must be operable with gloves and must never require a precise tap.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Iris: projects/northstar/lib/codec/frame.cc now contains NorthstarAcornWidgetStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "accessibility findings for the careers site widget, which our customers embed and are legally responsible for:\n\n1. The job list is a div soup with no list semantics and no headings, so screen reader users cannot navigate it.\n2. The filter controls are custom dropdowns with no keyboard support and no announced state.\n3. The apply form's file input is hidden behind a styled button with no label association.\n4. Required field errors appear only as red borders.\n5. The widget sets its own font size in px, overriding the host page's user scaling.\n6. Focus is trapped in the apply modal with no escape key handling.\n7. Colour contrast on the \"apply now\" button fails at 3.2:1 against our default background, which most customers keep.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"This should remain a deliberately small patch: NorthstarCedarPolicyService has one known configuration mistake in projects/northstar/Sources/CLI/Commands/Doctor.swift, not an open-ended failure investigation. 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- make rollback possible without deleting user data\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to NorthstarCedarPolicyService and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "design tokens versus what the recruiter app actually uses:\n\ntokens:\n color.surface #FFFFFF / #0F1216\n color.text #0F1216 / #E8EDF3\n color.muted #626C76\n color.stage.new #0B62D6\n color.stage.offer #1A7F37\n color.stage.reject #B42318\n space 4/8/12/16/24/32, radius 6/10, focus 2px offset 2\n type: title 18/24, body 14/20, caption 12/16\n\nthe recruiter app: eight hardcoded colours including three blues, stage colour used as the only stage indicator on cards, focus removed on the card press target, paddings of 5/9/13/17, and a card title at 15px which is in no scale\n\nbring it onto the tokens and give stage a non-colour indicator on the card", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "pasted-context", "lang": "en"} {"prompt":"Juniper: diff --git a/projects/northstar/db/migrations/20260730_events.sql b/projects/northstar/db/migrations/20260730_events.sql\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/db/migrations/20260730_events.sql\n+++ b/projects/northstar/db/migrations/20260730_events.sql\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 NorthstarWillowCodecFlow'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": "banded rendering on the small tills", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "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_54145'\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_54145'::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\n请根据以上上下文完成对应工作,保持 API、兼容性和 rollback,并明确说明证据和取舍。 Find the source of this NorthstarQuartzPlayerFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "date-fns-tz major, before the timezone fix", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Kestrel: The public surface of NorthstarCloudReconcilerService is frozen, but its internal ownership in projects/northstar/ml/pipeline/features.py is difficult to test and even harder to change safely. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarCloudReconcilerService\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "enable pgbouncer in production", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Animate the NorthstarCinderAuthService drawer","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "rotate the job board API key", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "en"} {"prompt":"NorthstarMarbleTokenCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "el correo de entrevista sale sin zona horaria", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "es"} {"prompt":"NorthstarTideWorkerService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current Cloudflare Workers operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "our database connection settings versus what postgres allows:\n\napp instances (autoscaler): min 10, max 60\nprisma connection_limit: 10 (default, not set explicitly)\npostgres max_connections: 100\npostgres superuser_reserved_connections: 3\npgbouncer: deployed in staging only, transaction pooling\n\nat 09:00 the autoscaler goes to 40+ instances within two minutes because the apply endpoint's latency rises, which is itself caused by connection contention\n\nand what 09:00 looks like from the database side:\n\n 08:58 connections 41 apply p95 180ms instances 12\n 09:00 connections 96 apply p95 2.4s instances 18\n 09:02 connections 100 apply p95 timeout instances 41\n 09:06 connections 100 apply 500s 38% instances 60 (autoscaler ceiling)\n 09:22 connections 44 apply p95 210ms instances 14\n\npg_stat_activity during the spike is almost entirely idle-in-transaction, which is the two awaited emails inside the request", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Lumen: Ticket OPS-54157: retire the legacy replay path for NorthstarCloudReconcilerCoordinator\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 NorthstarCloudReconcilerCoordinator 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": "the HRIS integration spec from our largest customer, which we implement:\n\nPOST /api/v2/employees\n auth: OAuth2 client credentials, token valid 15 minutes, their token endpoint rate limits to 1/minute\n body: their field names, dates as YYYY-MM-DD, employee id assigned by them and returned in the response\n a duplicate push for the same offer must be idempotent on our `external_ref`, which they store but do not index\n they respond 202 and process asynchronously; failures arrive by email to a shared mailbox, not by callback\n a rejected employee record leaves the offer accepted on our side with no automatic reconciliation\n they have a nightly maintenance window during which everything returns 503\n we push about 400 hires a month, in bursts on the first of the month", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Maple: What sequence would let NorthstarCloudReconcilerStore adopt Kafka 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": "HRIS pusher should reconcile nightly rather than leaving an offer accepted and unsynced", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Nimbus: # projects/northstar/apps/console/routes/usage.svelte\n[worker.northstarveladrawerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstarveladrawerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstarveladrawerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarVelaDrawerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54133\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/northstar/apps/console/routes/usage.svelte. 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": "a short note on why the apply endpoint is moving to a queue, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-54154: finish the compact NorthstarHarborIndexCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/northstar/lib/codec/frame.cc\nFramework: Cloudflare Workers\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 NorthstarHarborIndexCoordinator'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": "drop -ffast-math from the release build", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarIrisBatchStore's staging timeout is already known to be wrong: change the single projects/northstar/db/migrations/20260730_events.sql value from 15 to 30 seconds and leave production alone.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "DbConnections should page, not ticket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-54134\n\n08:02 deploy NorthstarMarbleTokenFlow 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 NorthstarMarbleTokenFlow 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": "cap prisma connections per instance", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-54119: retire the legacy replay path for NorthstarRavenSessionFlow\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 NorthstarRavenSessionFlow 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": "OMP_NUM_THREADS passt nicht zur Knotengröße", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "de"} {"prompt":"NorthstarIrisBatchCoordinator: smooth out this interaction","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "uninitialised `energy` in pair.f90", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarSummitProxyCoordinator: ship a sensible version","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "archived candidates should be visible, not absent", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Opal: projects/northstar/Sources/CLI/Commands/Doctor.swift has grown through several launches, and NorthstarOspreyJobStore now mixes policy, transport, persistence, and metrics in one place. Introduce one ownership boundary for storage and scheduling, collapse pass-through wrappers, and characterize ordering and cancellation before moving code.\n\nConstraints:\n- make rollback possible without deleting user data\n- stay compatible with the existing Kafka deployment\n- keep the work scoped to NorthstarOspreyJobStore and its direct tests\n\nSeveral teams work in this developer tools, Java, WebGL 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": "求人ウィジェットの文字サイズが固定です", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "ja"} {"prompt":"Prism: projects/northstar/apps/console/routes/usage.svelte 里的 NorthstarWrenExportStore 最近在 Kotlin coroutines 流程中出现间歇性问题。 请完成 responsive layout、空状态、retry、键盘焦点、dark mode 和 reduced motion。\n\n约束:\n- 继续使用 Kotlin coroutines\n- 保持兼容性和取消语义\n- 改动只限于 NorthstarWrenExportStore","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"zh"}
{"prompt": "required errors are red borders only", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Clarify NorthstarSpruceDaemonStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "terminal errors show vendor codes to cashiers", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Quartz: The NorthstarBeaconStoreService surface in projects/northstar/config/staging.toml 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.3,"slice":"core","lang":"en"}
{"prompt": "board drops frames past 2000 cards", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/northstar/cmd/exporter/main.py b/projects/northstar/cmd/exporter/main.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/cmd/exporter/main.py\n+++ b/projects/northstar/cmd/exporter/main.py\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Deliver the NorthstarAtlasSearchFlow server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.9,"slice":"pasted-context","lang":"en"}
{"prompt": "split the 4000-line simulate module", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Raven: projects/northstar/config/staging.toml の NorthstarPineMetricsFlow で、GraphQL の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- GraphQL を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は NorthstarPineMetricsFlow のみ","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"ja"}
{"prompt": "un seul contrôle de locataire, partout", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "fr"} {"prompt":"Sable: The first NorthstarPineMetricsStore 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": "`stage` naming across the API", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"For NorthstarSpruceDaemonCoordinator, assess ownership and failure handling in projects/northstar/services/ledger/replay.go; once that is complete, capture the contract and rollback note for consumers. Work from projects/northstar/services/ledger/replay.go, stay with Spring Boot, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "extract the offline voucher logic", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Draft NorthstarDeltaCanvasService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "inline `padLeft`, one caller", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Two asks around NorthstarEchoRegistryCoordinator: (1) finish NorthstarEchoRegistryCoordinator's responsive empty and retry states; (2) capture the contract and rollback note for consumers. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "changelog for the POS release", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'NorthstarLedgerGateFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[NorthstarLedgerGateFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/northstar/ui/settings/PrivacyPane.tsx:144: error: -[NorthstarLedgerGateFlowTests 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 '-[NorthstarLedgerGateFlowTests 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\nFinish the visible NorthstarLedgerGateFlow 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": "nota aos clientes sobre as candidaturas arquivadas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "pt"} {"prompt":"The minimum supported Kotlin coroutines version in projects/northstar/src/sync/reconcile.ts is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "document the duplicate application behaviour", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Is there a cleaner way to separate NorthstarCloudReconcilerFlow's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "summarise the tenant isolation proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarAtlasSearchCoordinator: make the api less awkward","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "PR body for the checkpoint fix", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Introduce a durable deduplication key for NorthstarCraneWorkspaceFlow events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "can a restart change published results?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Tide: The API work is done; what remains for NorthstarCraneWorkspaceStore is the visible interaction layer across loading, offline, empty, and success cases. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarCraneWorkspaceStore\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "¿por qué el 09:00 tumba el endpoint de solicitudes?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "es"} {"prompt":"Split NorthstarFlintTimelineService without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "walk me through the offer-to-HRIS push", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Before we approve NorthstarFernSnapshotService, assess whether an empty state that flashes before cached data arrives is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "card payments fail every afternoon in one store", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Fresh release brief for NorthstarOpalRouterCoordinator:\n- primary outcome: lay out a staged migration for NorthstarOpalRouterCoordinator\n- companion outcome: then implement the bounded durable-cursor handler\n- repository entry point: projects/northstar/infra/modules/edge/main.tf\n- platform constraint: Spring Boot\n- known complication: an empty state that flashes before cached data arrives\n\nBoth results are required, but they should remain independently reviewable. Make rollback possible without deleting user data; 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": "warum unterscheiden sich die Ergebnisse je Cluster?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "de"} {"prompt":"NorthstarRainfallDBFlow returns one extra item only when the page boundary lands on a deleted record. Reconstruct the cursor transitions in projects/northstar/app/src/main/SyncWorker.kt and find where the invariant breaks.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "endpoint for a store's offline transactions", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"projects/northstar/infra/modules/edge/main.tf now contains NorthstarJuniperCLIFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "carry it on", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"NorthstarRavenSessionService est-il sûr ?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"fr"}
{"prompt": "less flaky", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Ticket OPS-54153: retire the legacy replay path for NorthstarRainfallDBCoordinator\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\n上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Assess NorthstarRainfallDBCoordinator 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": "pick the order yourself", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Responsive layout for NorthstarKiteSchedulerStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "lo del cluster, continúa", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "es"} {"prompt":"Find NorthstarDriftConsoleService's duplicate retry source","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "scanners again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Umbra: Ticket OPS-54127: retire the legacy replay path for NorthstarEmberRelayFlow\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 NorthstarEmberRelayFlow 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": "clean it as you go", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"NorthstarFrostPanelCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "same shape as last time", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"PM is preparing the NorthstarPrismCacheService rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarPrismCacheService\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "security answers for procurement", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Split projects/northstar/workers/thumbnail/consumer.ex by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "nothing that needs a deploy", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"projects/northstar/pkg/cache/lease.rs now contains NorthstarFrostPanelService's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "give it a read", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Incident timeline — INC-54136\n\n08:02 deploy NorthstarMosaicGridFlow 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 NorthstarMosaicGridFlow 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": "どれから着手するかはお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"Introduce a durable deduplication key for NorthstarCoralUploadService events and enforce it in both the database migration and the ingestion path.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "next on the list", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Sequence NorthstarNimbusFormStore's rollout","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "09:00 application spike takes down the apply endpoint most mornings and every instinct the team has — scaling up, raising the pool size — makes it worse. i'd like the actual capacity model worked out, including whether pgbouncer solves it or just moves the queue, and what the endpoint should do when it genuinely can't accept an application", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Move NorthstarBeaconStoreStore's clock and ID generation behind the existing environment type so tests no longer reach global state; outputs and scheduling order must stay identical.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "twelve customers embed our careers widget in their own sites and are legally responsible for its accessibility, which is currently poor enough to be a problem for them. write the integration documentation, including the accessibility characteristics they're inheriting and what they can configure, without pretending the widget is in better shape than it is if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Vela: Ticket OPS-54123: retire the legacy replay path for NorthstarLumenChartFlow\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 NorthstarLumenChartFlow, plus a short operational recovery note. Keep uncertainty explicit and leave the implementation untouched.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "retailer wants a written explanation of why a wifi channel change in one store stopped card payments on wired tills, which is a fair question. write the incident report for their operations team — the terminal association, our timeout, the offline vouchers and the eight that were later declined — without hiding behind the word \"connectivity\"", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Test Suite 'NorthstarPrismCacheFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[NorthstarPrismCacheFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/northstar/apps/console/routes/usage.svelte:144: error: -[NorthstarPrismCacheFlowTests 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 '-[NorthstarPrismCacheFlowTests 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. Finish the visible NorthstarPrismCacheFlow state described above: responsive layout, correct selection restoration, keyboard focus, accessible labels, dark mode, and reduced-motion behavior.","purpose":"debugging","secondary":"frontendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "runbook for the morning spike should say plainly that scaling up is the wrong instinct, because three separate people have made it worse that way. write it in the order someone would need at 09:05, with the connection maths spelled out so the advice is believable rather than folklore a rough ordering matters more to me than a complete answer right now.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Walk through NorthstarBasilRunnerStore's segment.rs","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "checkpoint format is detected by whether a field looks plausible, with no magic number and no version, and we now need to add the RNG position. give it a proper header with a version, keep reading both existing formats, and make an unrecognised file a clear error rather than a plausible misinterpretation i'd rather have the reasoning written down than a quick answer.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/northstar/web/components/FilterDrawer.vue b/projects/northstar/web/components/FilterDrawer.vue\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/web/components/FilterDrawer.vue\n+++ b/projects/northstar/web/components/FilterDrawer.vue\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 NorthstarSpruceDaemonFlow 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": "payment screen currently falls back to offline silently on a timeout, which is how a store took four hundred vouchers without noticing. rebuild it to the spec — named progress states, an explicit choice on timeout, a persistent offline banner — and keep every tap target usable with gloves the sooner we know roughly how big this is, the better for planning.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarAcornWidgetCoordinator: handle the lingering thing","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "tenant isolation needs an approach decided and one concrete step taken. work through the options with me, then implement the repository-level scoping for the reports module, which is where the raw queries live", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"For NorthstarMapleQueueCoordinator, produce a consumer guide for NorthstarMapleQueueCoordinator; once that is complete, give the existing implementation a read-only safety pass. Work from projects/northstar/config/staging.toml, stay with GraphQL, and make rollback possible without deleting user data. Keep the two outcomes separately reviewable.","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "morning spike needs a capacity model and it needs the apply endpoint to stop dropping applications tomorrow. give me the model, then make the endpoint enqueue rather than write synchronously so a full pool delays rather than loses", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarGarnetModalCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "our till's payment flow has three implementations depending on terminal vendor:\n\n// VendorA.kt — synchronous socket, 30s timeout, no retry\n// VendorB.kt — vendor SDK with callbacks, retries internally 3 times, reports only final failure\n// VendorC.kt — HTTP to a local bridge, 10s timeout, retries once, returns a different error taxonomy\n\nthe till's payment screen handles all three with a when(vendor) block in the view model, and offline voucher logic is duplicated in each branch with slightly different conditions", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Ownership of NorthstarJuniperCLIService is moving between teams while old clients remain active, so we need an executable migration sequence before touching files. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current Spring Boot operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "the schema we agreed for offline transactions, now it needs building on the till and the backend:\n\nCREATE TABLE offline_transactions (\n id uuid PRIMARY KEY,\n store_id uuid NOT NULL,\n till_id text NOT NULL,\n amount_cents bigint NOT NULL,\n currency char(3) NOT NULL,\n taken_at timestamptz NOT NULL,\n submitted_at timestamptz,\n outcome text CHECK (outcome IN ('approved','declined','expired')),\n card_ref text NOT NULL\n);\n\nthe till holds these locally until connectivity returns, submits within 15 minutes without staff action, enforces a per-store value limit and a per-transaction cap, and the store manager needs a same-day view of anything declined", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"On compact widths, NorthstarCedarPolicyStore'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": "unsere Offline-Zahlungen brauchen erst ein Konzept mit Limits und automatischer Nachübertragung und danach die Umsetzung der Limits auf der Kasse, weil das der vertraglich heikelste Teil ist", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "de"} {"prompt":"Two asks around NorthstarBasilRunnerCoordinator: (1) separate NorthstarBasilRunnerCoordinator's policy from transport without behavior changes; (2) correct the known stale timeout beside it. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "escribe la guía del operador para el pico de las 09:00 y comprueba en el código si escalar instancias realmente empeora la situación, porque quiero poder demostrarlo y no solo afirmarlo", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "es"} {"prompt":"NorthstarFernSnapshotCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "active-application predicate exists three times and the report includes records the product hides. unify them, then document what each stage means, because \"archived\" apparently means two different things depending on which migration set it", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Design the NorthstarGarnetModalService rollback","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "receipt rendering should be banded everywhere rather than only on the flagship tills. make the change, and confirm from the store inventory how many devices are actually on the old configuration before we call it fixed", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.55, "slice": "mixed", "lang": "en"} {"prompt":"Willow: Two deliverables are holding up NorthstarDeltaCanvasCoordinator. First, produce a consumer guide for NorthstarDeltaCanvasCoordinator. In the same workstream, correct the known stale timeout beside it. The relevant starting point is projects/northstar/web/components/FilterDrawer.vue, which follows Spring Boot conventions and currently suffers from lease renewal code copied across three workers. Make rollback possible without deleting user data.\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":"writing","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "fourteen tenant checks should become one mechanism, and i'd like to know first which of the fourteen is actually wrong rather than merely different. audit them, then unify", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarJuniperCLIStore 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": "applications are lost rather than delayed during the morning spike, which the team assumes is the connection pool. verify that assumption end to end, then make the failure mode a delay rather than a loss", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Give NorthstarWillowCodecService a loading skeleton","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "careers widget fails seven accessibility items and our customers carry the legal risk. fix them, and write the statement customers can put on their own accessibility pages", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarMosaicGridCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "offline transaction limits need the semantics agreed — per store, per till, per day, and what happens at the boundary mid-transaction. decide that with me, then implement on both sides", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarOrbitSyncCoordinator: sort out the rough edge","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "i'd like to understand how the autoscaler decides to add instances during the spike", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"NorthstarWrenExportCoordinator: give it a nicer flow","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "why does the nurturing job touch every pool record, and what does it actually change", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"The minimum supported GraphQL version in projects/northstar/pkg/cache/lease.rs is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "is it expected that a job advert can be accepted by the board and then silently discarded", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"Read projects/northstar/pkg/cache/lease.rs and tell me whether NorthstarAsterWebhookFlow can acknowledge work before its durable write completes; this is a read-only safety pass. Nothing is reported broken, so keep this to an explanation of current behavior.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment le point de restauration gère un redémarrage sur un nombre de rangs différent ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "fr"} {"prompt":"NorthstarBeaconStoreCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "docs/checkpoints.md claims restarts are bit-for-bit reproducible, which they are not", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Xylem: # projects/northstar/services/ledger/replay.go\n[worker.northstarsummitproxyflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstarsummitproxyflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstarsummitproxyflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarSummitProxyFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54135\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 NorthstarSummitProxyFlow'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": "partner changelog needs an entry for the job board key rotation and what it broke", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"Spell NorthstarNimbusFormService's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "doc comment on renderToBitmap claims it streams, which it very much does not", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarLedgerGateCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "write the note to affected candidates whose interview email showed the wrong time", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Yarrow: # projects/northstar/services/ledger/replay.go\n[worker.northstarcopperbridgecoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstarcopperbridgecoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstarcopperbridgecoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarCopperBridgeCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54155\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/northstar/services/ledger/replay.go and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "health endpoint reports the sync healthy while the job board has discarded everything for three weeks", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Zephyr: The behavior of NorthstarOpalRouterStore is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/northstar/infra/modules/edge/main.tf. 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- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current Spring Boot operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "apply endpoint awaits two emails before responding, which holds a connection for over a second", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"En projects/northstar/app/src/main/SyncWorker.kt, NorthstarRainfallDBService tiene un problema intermitente en el flujo de Kotlin coroutines. Separa responsabilidades y elimina duplicación, conservando API, wire values, orden y comportamiento observable.\n\nRestricciones:\n- seguir con Kotlin coroutines\n- conservar compatibilidad y cancelación\n- limitar el cambio a NorthstarRainfallDBService","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"es"}
{"prompt": "staging runs one app instance and prod runs forty, with the same per-instance connection limit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Checkout: // projects/northstar/engine/render/atlas.cpp\nfinal class NorthstarAcornWidgetFlowCoordinator {\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 NorthstarAcornWidgetFlow'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": "how should we handle a customer who wants their ATS data in their own region", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current NorthstarSableParserStore design actually guarantees what its callers assume. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside NorthstarSableParserStore\n- make rollback possible without deleting user data\n\nThis repository spans developer tools, Java, WebGL; use its existing conventions rather than importing a new abstraction.\n\nNothing is reported broken, so judge and explain current behavior without inventing a failure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "what's the right way to validate a simulation change when the reference is a published number", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Remove NorthstarDriftConsoleStore's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "i want a position on whether the till should hold stock state locally or always ask the backend", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"NorthstarMicaProfileCoordinator: ship, then assess","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "three customers want single sign-on into the recruiter app with different providers", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Add a bounded NorthstarHarborIndexFlow 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": "we need a plan for running the simulation on GPUs, which the next cluster procurement assumes", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"Two engineers disagree about whether NorthstarCopperBridgeStore's cache is authoritative. Walk the reads and writes in projects/northstar/services/ledger/replay.go and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "stores run four android versions and we've never dropped one", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Exporter: // projects/northstar/Sources/App/SessionStore.swift\nfinal class NorthstarOspreyJobFlowCoordinator {\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\nSplit NorthstarOspreyJobFlow 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": "what should happen to a candidate's data when a customer leaves us", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Scheduler: Two asks around NorthstarKiteSchedulerCoordinator: (1) assess ownership and failure handling in projects/northstar/Sources/CLI/Commands/Doctor.swift; (2) capture the contract and rollback note for consumers. Make rollback possible without deleting user data, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "an endpoint that returns an application's full stage history with who moved it and when", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Dashboard: # projects/northstar/cmd/exporter/main.py\n[worker.northstarmoonlitsdkflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.northstarmoonlitsdkflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.northstarmoonlitsdkflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.NorthstarMoonlitSDKFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-54117\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 NorthstarMoonlitSDKFlow'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": "pipeline board needs a bulk action bar that states how many candidates it will affect", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Where did NorthstarCinderAuthStore's cursor drift?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "simulation's progress output should be parseable rather than a wall of formatted text", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Release engineering needs a NorthstarAsterWebhookStore changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "whatever we can ship before the audit", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"diff --git a/projects/northstar/ml/pipeline/features.py b/projects/northstar/ml/pipeline/features.py\nindex 62d71aa..90f3c1e 100644\n--- a/projects/northstar/ml/pipeline/features.py\n+++ b/projects/northstar/ml/pipeline/features.py\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 NorthstarSlateEditorFlow'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": "rest of the till work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"NorthstarRavenSessionCoordinator: ship, then correct","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "email templates format dates with the server's locale and timezone rather than the recipient's, which is the same class of bug as the interview emails but affects every template we send. centralise the formatting with the recipient's zone as the input, and tell me which templates change appearance for which recipients before we ship it", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "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_54124'\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_54124'::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\nFind the source of this NorthstarBirchMigratorFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.9,"slice":"mixed","lang":"en"}
{"prompt": "till keeps two receipt models, one for the printer and one for the customer copy, synchronised by hand and already divergent on discount lines. merge them, and confirm from the last month's receipts whether any customer copy has actually shown a different total from the printed one it doesn't have to be elegant, it has to be defensible in a review.", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"NorthstarAsterWebhookService is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Implement the remaining visual states from the design tokens, including compact navigation, offline recovery, destructive confirmation, and animation fallbacks.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current GraphQL operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "internal page on the apply pipeline stops at \"the form posts to the API\", and everything after — the two awaited emails, the recruiter fan-out, the connection cost of each — is why nobody understands the morning spike. write the page properly, following one application from the form to the recruiter's inbox", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarCoralUploadCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "job scripts we hand researchers request eight tasks of sixteen threads on 128-core nodes and then take the whole node exclusively, which is most of our reported 12% efficiency. fix the templates, and add a comment explaining the arithmetic so the next person doesn't quietly restore the old numbers there's no rush on this week specifically, but it keeps costing us time.", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarDriftConsoleCoordinator needs a paired pass: produce a consumer guide for NorthstarDriftConsoleCoordinator, plus correct the known stale timeout beside it. Use projects/northstar/infra/modules/edge/main.tf as the source of truth, preserve the Spring Boot contract, and avoid unrelated cleanup.","purpose":"writing","secondary":"quickFix","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "nobody has been able to tell me what happens to an offer when the HRIS push fails all three attempts — whether the ticket that gets created is actually worked, whether the offer shows any sign of being unsynced, and how the customer finds out. trace it end to end and tell me how many offers are currently in that state", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"NorthstarNovaPickerCoordinator is blocking the next release because a flaky snapshot caused by locale-dependent sorting. I need two concrete outcomes from a single pass: separate NorthstarNovaPickerCoordinator's policy from transport without behavior changes, and correct the known stale timeout beside it. Use the existing GraphQL conventions in projects/northstar/config/staging.toml; make rollback possible without deleting user data. 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":"refactor","secondary":"quickFix","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "recruiter reports module builds its queries with raw SQL and a tenant id interpolated by hand, and one of them takes the tenant from a query parameter rather than the session. read the module and tell me whether a recruiter can reach another tenant's data today, with the specific request that would do it if so", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Support wants the behavior in projects/northstar/ui/settings/PrivacyPane.tsx recast as a troubleshooting page: symptoms first, then checks, recovery, and an escalation boundary.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "simulation reads input files three different ways and two of them treat comment characters differently, which means the same input file can produce two different runs depending on which path parses it. unify the reader, and check whether any of our stored regression inputs relies on the lenient behaviour the last person who touched this left, so there's nobody to ask.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Before touching projects/northstar/src/sync/reconcile.ts, 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": "`Application.stage` is a pipeline stage in the API, a lifecycle state in the database and something in between in the reports, which is why archived means two different things. give the concepts separate names and migrate the data, keeping the API's field names unchanged for the customers embedding our widget i'd like enough detail that i can hand it to someone else to finish.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Map NorthstarLumenChartService's ownership split","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "scan idempotency needs a device-persistent identifier rather than a counter that resets when a handheld is docked, which means the handhelds need a stable id we can trust across firmware updates and battery swaps. design that with the constraint that four hundred devices are already in stores, then implement the backend side we've been burned by guessing at this before, so evidence over instinct please.", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"The behavior of NorthstarOspreyJobService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/northstar/Sources/App/SessionStore.swift. 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- touch generated artifacts only through their checked-in generator\n- make rollback possible without deleting user data\n- retain the current Kafka operational envelope\n\nThe relevant code crosses developer tools, Java, WebGL. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "a manager screen showing today's offline transactions and their outcomes is now contractual, and it has to work on the till itself because that's the only device a store manager has. build it against the offline transaction table, including the declined ones from previous days that nobody has acknowledged if the answer is that it's fine as it is, that's a useful answer too.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Em projects/northstar/web/components/FilterDrawer.vue, o NorthstarSummitProxyStore tem um problema intermitente no fluxo de Spring Boot. Leia o fluxo atual e avalie ownership, cancelamento e ordem; preciso apenas da análise.\n\nRestrições:\n- continuar com Spring Boot\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao NorthstarSummitProxyStore","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "stock levels", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Incident timeline — INC-54142\n\n08:02 deploy NorthstarCoralUploadFlow 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 NorthstarCoralUploadFlow 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": "one receipt model, not two", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"$ pnpm test --filter NorthstarFlintTimelineFlow\n RUN v3.2.4 /workspace/apps/console\n × NorthstarFlintTimelineFlow > 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=54120 phase=resume storedCursor=seg-0183\n session=54120 phase=fetch requestCursor=seg-0183 pageSize=200\n session=54120 phase=commit receivedCursor=seg-0184 itemCount=0\n session=54120 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 NorthstarFlintTimelineFlow 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": "ATS has three ways of resolving the current tenant — a session field, a header the reports module trusts, and a query parameter one legacy endpoint still accepts — and new code copies whichever it finds first. reduce it to one resolution path with the others explicitly rejected, and keep every current client working while we migrate them", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Any races in NorthstarSpruceDaemonService?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "till's stock cache, the backend's stock table and the handheld's local queue are three views of the same number that reconcile only overnight, which is why staff trust none of them. bring them onto one model with explicit staleness, keeping the till usable while offline, and tell me what changes about the numbers staff see during the day", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=northstarasterwebhookcoordinator pod=northstarasterwebhookcoordinator-7cf8 request_id=54156 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=northstarasterwebhookcoordinator request_id=54156 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=northstarasterwebhookcoordinator request_id=54156 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=northstarasterwebhookcoordinator request_id=54156 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=northstarasterwebhookcoordinator request_id=54156 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=northstarasterwebhookcoordinator request_id=54156 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=northstarasterwebhookcoordinator request_id=54156 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=northstarasterwebhookcoordinator request_id=54156 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nReconstruct the NorthstarAsterWebhookCoordinator 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": "interview scheduling logic exists in the API and again in the calendar sync worker, and they disagree about what happens when an interviewer declines after the candidate has confirmed. consolidate them, with the API's behaviour as the reference, and list every scheduled interview whose state would differ under the unified logic", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"NorthstarBirchMigratorCoordinator needs a paired pass: finish NorthstarBirchMigratorCoordinator's responsive empty and retry states, plus correct the known stale timeout beside it. Use projects/northstar/lib/codec/frame.cc as the source of truth, preserve the Cloudflare Workers contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"quickFix","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "before i approve the offline limits work, i'd like to understand what the till currently does when a card is declined for an offline voucher taken three days ago — whether the customer is contacted, whether the store absorbs it, and whether anything in the product records that it happened at all", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Warum hängt NorthstarRavenSessionStore?","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"de"}
{"prompt": "HRIS pusher should reconcile nightly rather than leaving an offer accepted on our side and absent from the customer's system with nothing to indicate the divergence. build the reconciliation against their employee list endpoint, handle their nightly maintenance window, and make a persistent divergence visible to the recruiter rather than only to us", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Incident timeline — INC-54150\n\n08:02 deploy NorthstarJuniperCLICoordinator 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 NorthstarJuniperCLICoordinator, 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"}
+200 -200
View File
@@ -1,200 +1,200 @@
{"prompt": "the cache key logic is spread across the config parser, the request handler and a per-customer override table:\n\n// config/parse.rs — builds a CacheKeySpec from the customer's yaml\n// handler/key.rs — builds the actual key, ignoring two fields of the spec\n// overrides.rs — a per-customer hashmap applied after the key is built, in production only\n\nthe overrides table has 41 entries, four of which contradict the customer's own config, and nobody knows who added them or why", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Is there a cleaner way to separate OvertureWillowCodecStore's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "our cache key configuration, which one customer's Vary header just multiplied by every user agent on the internet:\n\ncache_key:\n include: [scheme, host, path, query]\n vary: from_origin # we honour whatever the origin sends\n ignore_query_params: [utm_source, utm_medium, fbclid]\n normalize_accept_encoding: true\n\nthere is no cap on the number of variants per key, no warning when a Vary header would explode the key space, and a customer can do this with a one-line change on their side at any time\n\nwhat the key space did over the incident:\n distinct cache keys for /assets/app.js, before: 3\n after: 41,882 and climbing\n cache fill rate: 1.2 GB/min\n evictions: 8,400/s (previously ~0)\n\nand the customer's diff, in full:\n - Vary: Accept-Encoding\n + Vary: Accept-Encoding, User-Agent", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureCopperBridgeCoordinator needs a paired pass: lay out a staged migration for OvertureCopperBridgeCoordinator, plus consolidate the duplicated normalization paths without changing behavior. Use projects/overture/Sources/App/SessionStore.swift as the source of truth, preserve the Room contract, and avoid unrelated cleanup.","purpose":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "field app deletes a queued photo when an upload returns any 4xx, which is how a customer lost the photographic evidence behind a variation claim. beyond the immediate fix, i want a position on what our offline guarantees actually are — what we promise never to lose, what the user is shown, and how we prove it after the fact — because the enterprise contract signing in november asks for exactly that", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Bring OvertureSableParserService'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.5,"slice":"core","lang":"en"}
{"prompt": "a customer whose payments API was unresolvable for two hours wants to know how an automated key roll can take a zone off the internet. write the incident report for their architecture team — the overlap arithmetic, why nothing caught it, and what changes — without retreating into DNSSEC jargon they'll have to look up whatever you find, write it somewhere the next person will actually look.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"En projects/overture/services/ledger/replay.go, OvertureIrisBatchStore tiene un problema intermitente en el flujo de OpenTelemetry. Termina el layout responsive, estados vacío y retry, foco por teclado, dark mode y reduced motion.\n\nRestricciones:\n- seguir con OpenTelemetry\n- conservar compatibilidad y cancelación\n- limitar el cambio a OvertureIrisBatchStore","purpose":"frontendImpl","secondary":"debugging","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"es"}
{"prompt": "the data team's list, with the recommender incident fresh:\n\n- output validation on the nightly job: row counts, distribution checks, comparison against yesterday\n- stop overwriting the table, write to a new partition and swap\n- the (user_id, context_id) grouping needs a different shape entirely, it doesn't fit in memory\n- the licensing filter should be somewhere legal can read it rather than inline in a 900-line object\n- adaptive query execution is off because someone turned it off in 2023\n- run time has crept from 70 minutes to three hours and nobody owns that\n\nthree engineers, and the nightly job feeds the 06:00 home screen", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Worker: Incident timeline — INC-55117\n\n08:02 deploy OvertureAcornWidgetFlow 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 OvertureAcornWidgetFlow 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": "one anycast POP answers queries with the wrong zone data for about ninety seconds after each deploy:\n\n2026-07-29T11:02:14Z pop=fra1 zone=example.com serial=2026072901 source=cache age=0\n2026-07-29T11:02:14Z pop=fra1 zone=example.com serial=2026072814 source=disk age=86400\n2026-07-29T11:02:15Z pop=fra1 answered A example.com -> 203.0.113.9 (old target)\n2026-07-29T11:03:44Z pop=fra1 zone=example.com serial=2026072901 source=xfr age=0\n2026-07-29T11:03:45Z pop=fra1 answered A example.com -> 198.51.100.4 (correct)\n\nthe process starts serving from the on-disk snapshot before the zone transfer completes, and the snapshot can be a day old", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"SDK consumers are ready for durable continuation tokens, so the remaining work lives in OvertureMosaicGridService's API, storage, and worker layers. Wire the schema, repository, handler, and worker so duplicate deliveries return the original result and shutdown never acknowledges uncommitted work.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureMosaicGridService\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "edge cache hit rate collapsed for one customer overnight with no config change on our side:\n\n before: hit 94.1%, origin rps 1,204\n after: hit 41.2%, origin rps 18,882\n\nsample request/response:\n GET /assets/app.js\n Cache-Control: public, max-age=31536000\n Vary: Accept-Encoding, User-Agent\n ETag: W/\"a11c3f2-8814\"\n\nthe customer added User-Agent to Vary in a deploy yesterday, which multiplies cache entries by every UA string we see", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureMoonlitSDKCoordinator: the screen feels unfinished","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "our edge configuration API, which customers automate against from a README and a support engineer's memory:\n\nPUT /v1/zones/{zone}/config\n body: cache rules, origin settings, header transforms, WAF toggles\n applies globally within about 90 seconds, but a POP that restarts during that window may serve the previous config for its startup period\n a config that fails validation on one POP is still applied on the others; there is no atomic rollout\n the response is 202 with a deployment id, and GET on it reports \"complete\" once the last POP acknowledges — which is not the same as the config being live\n rate limited to 10 changes per zone per hour, undocumented, and returns 429 with no retry-after\n\nwrite the reference documentation, including the honest description of what \"complete\" means", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"Please resist widening this one: OvertureOrbitSyncStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureOrbitSyncStore\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "field app's offline behaviour is described in the sales deck as \"works fully offline\" and the reality is three queues with three failure modes and no visibility. write the honest documentation for site staff and their IT departments, covering what is queued, what happens when an upload is rejected, and what conflicts do to their data", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"OvertureAcornWidgetCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "a customer's architecture review asked five questions about POP health, config rollback, transfer authentication, key rollover approval and self-service recovery. answer each from the code and the runbooks, and mark clearly the ones where the honest answer is that a human notices rather than a mechanism catching it context if it helps: this has been open since before i joined the team.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Security flagged OvertureCoralUploadStore for a read-only pass because its gRPC boundary mixes tenant data, retries, and cancellation in subtle ways. Trace ownership, ordering, error propagation, and cancellation; call out concrete risks with file references, but do not edit the implementation or turn the answer into a replacement design.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current gRPC operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "zone view should sort by staleness", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"Two asks around OvertureCloudReconcilerCoordinator: (1) assess ownership and failure handling in projects/overture/lib/codec/frame.cc; (2) capture the contract and rollback note for consumers. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "nightly job again", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"This should remain a deliberately small patch: OvertureMarbleTokenService has one known configuration mistake in projects/overture/config/staging.toml, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to OvertureMarbleTokenService and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "one definition of downloaded", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"OvertureMicaProfileCoordinator: polish the last piece","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "edge configuration API is automated against by customers who discovered its behaviour by experiment, including the undocumented rate limit and the fact that \"deployment complete\" doesn't mean the config is live everywhere. write the reference documentation, with those two stated plainly rather than left to be discovered again i'm not attached to the current approach if there's an obviously better one.", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"The data is already available in projects/overture/engine/render/atlas.cpp; 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": "before this goes to production, is the sync conflict handling defensible?\n\nFuture<void> sync() async {\n final local = await db.dirtyTasks();\n for (final t in local) {\n final remote = await api.getTask(t.id);\n if (remote == null) { await api.createTask(t); continue; }\n if (t.updatedAt.isAfter(remote.updatedAt)) {\n await api.updateTask(t); // whole record\n } else {\n await db.replaceTask(remote); // discards local edits silently\n }\n }\n}\n\nupdatedAt comes from the device clock, tablets on site are routinely minutes out, and a task record includes a free-text notes field several people edit", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Before we approve OvertureDeltaCanvasStore, assess whether a misleading timeout name used in five packages is an actual correctness risk or merely confusing structure.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"boundary","lang":"en"}
{"prompt": "three parts of the app decide what \"downloaded\" means and they disagree:\n\n// LibraryView.swift\nlet isDownloaded = FileManager.default.fileExists(atPath: track.localURL.path)\n\n// DownloadManager.swift\nfunc isDownloaded(_ t: Track) -> Bool { store.state(for: t.id) == .complete }\n\n// SyncService.swift\nlet downloaded = try db.query(\"SELECT 1 FROM downloads WHERE track_id = ? AND expires_at > ?\", t.id, now)\n\nthe file can exist while the download record says failed, the record can say complete after the file was evicted by the OS, and the expiry is only checked in one of the three", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about OvertureBeaconStoreStore, but the current prose in projects/overture/src/sync/reconcile.ts only describes the happy path. 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- preserve cancellation and back-pressure semantics\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to OvertureBeaconStoreStore and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"en"}
{"prompt": "cache key logic in one place", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"We expect OvertureMapleQueueService to outgrow its current FastAPI arrangement next quarter, but changing everything at once would be risky. Propose the module boundaries and migration choreography, compare two viable approaches, and make the risk, cost, and reversibility tradeoffs explicit.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing FastAPI deployment\n- keep the work scoped to OvertureMapleQueueService and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "what makes a zone \"current\"?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Simulator: The OvertureEmberRelayFlow feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "is our idempotency key store fail-open?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"OvertureNimbusFormCoordinator: untangle the messy bit","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "POP answers queries from a disk snapshot that can be a day old, and the health probe considers it healthy the moment it answers anything. work through what readiness should mean for us — zone currency, per-zone or per-POP, and what we do about zones that are never current by any strict definition — knowing the load balancer's probe is a TCP check we don't control", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-55152: retire the legacy replay path for OvertureEchoRegistryCoordinator\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 OvertureEchoRegistryCoordinator 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": "recommender is one nine-hundred-line object that legal has to read for the licensing filter and the data team has to change weekly for everything else. before splitting it i'd like agreement on the boundaries and on what evidence we need that the split changed no recommendations, given the output is inherently noisy this is the third time it's bitten us and i'd like it to be the last.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"projects/overture/ui/settings/PrivacyPane.tsx 里的 OvertureOspreyJobService 最近在 gRPC 流程中出现间歇性问题。 原因已经明确:只把 staging timeout 从 15 秒改成 30 秒,并调整对应 assertion。\n\n约束:\n- 继续使用 gRPC\n- 保持兼容性和取消语义\n- 改动只限于 OvertureOspreyJobService","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"zh"}
{"prompt": "nobody can tell me whether our idempotency store is fail-open, and the daily report duplication suggests it is. read the key store, the failover behaviour and the handler together, and tell me what happens to a request whose key lookup returns nil during a redis failover rather than an error i'd rather have the reasoning written down than a quick answer.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"For OvertureRainfallDBCoordinator, change OvertureRainfallDBCoordinator's known staging timeout from 15 to 30 seconds; once that is complete, give the existing implementation a read-only safety pass. Work from projects/overture/internal/auth/refresh.go, stay with OpenTelemetry, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"quickFix","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "i'd like an honest read on whether our shuffle can be fixed without changing what users think shuffle means, and then the implementation — a proper shuffled order per session with skips remembered", "purpose": "review", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.6, "slice": "mixed", "lang": "en"} {"prompt":"Runbook: Two asks around OverturePineMetricsCoordinator: (1) lay out a staged migration for OverturePineMetricsCoordinator; (2) then implement the bounded durable-cursor handler. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"planning","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "nightly recommender wrote half the usual rows and reported success, and the table it overwrites is the one the home screen reads at six in the morning. i want the validation story designed — what checks, where they run, what happens when one fails at four in the morning — rather than someone adding a row count assert and calling it done", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"// projects/overture/app/src/main/SyncWorker.kt\nfinal class OvertureBasilRunnerFlowCoordinator {\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 OvertureBasilRunnerFlow'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": "zone timeline needs serial changes, transfers and config applies on one axis", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-55132: retire the legacy replay path for OvertureTideWorkerFlow\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 OvertureTideWorkerFlow 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": "recommendations went stale for a third of users and the pipeline says it succeeded:\n\n25/07/29 02:14:02 INFO DAGScheduler: Job 41 finished: saveAsTable at Recommender.scala:212, took 4118.882 s\n25/07/29 02:14:02 WARN TaskSetManager: Lost task 88 in stage 12.0: FetchFailed(BlockManagerId(41, ip-10-4-2-71), shuffleId=3)\n25/07/29 02:14:02 INFO DAGScheduler: Resubmitting stage 12 (retry 1)\n25/07/29 03:22:11 INFO DAGScheduler: Job 42 finished: saveAsTable, took 4088.114 s\n25/07/29 03:22:12 INFO Recommender: wrote 41,882,004 rows to recs.user_daily\n\nyesterday's run wrote 62 million rows; the table is overwritten, not appended, and the job exits zero either way", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Could the reasoning behind OvertureLumenChartService's OpenTelemetry choices be captured as an ADR for engineers joining the project next quarter?","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "site photos taken offline disappear when the app comes back online, maybe one in fifty:\n\n[sync] 08:12:04 queued photo p_4471 (site 88, task 412) 4.1MB\n[sync] 08:12:04 queued photo p_4472 (site 88, task 412) 3.8MB\n[sync] 11:44:19 connectivity restored, draining queue (2 items)\n[sync] 11:44:20 uploading p_4471... 201 created\n[sync] 11:44:21 uploading p_4472... 413 payload too large\n[sync] 11:44:21 removing p_4472 from queue (non-retryable)\n[sync] 11:44:21 queue empty\n\nthe 413 comes from a gateway limit of 4MB that nobody documented, and non-retryable means we delete the local file", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureQuartzPlayerCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "DNSSEC validation started failing for one zone and only from some resolvers:\n\ndig +dnssec example.com @8.8.8.8 → SERVFAIL\ndig +dnssec example.com @1.1.1.1 → SERVFAIL\ndig +dnssec example.com @our-pop-fra1 → NOERROR, AD not set\n\nzone signing:\n ZSK rolled 2026-07-28T02:00Z (prepublish, 24h overlap configured)\n DS record at the parent: still the pre-roll KSK digest\n RRSIG expiry on the SOA: 2026-07-29T02:00Z\n\nthe overlap was configured as 24 hours and the roll happened 26 hours before the old signatures expired", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Split OvertureCedarPolicyStore without behavior changes","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "changelog for the mobile app release, which our users will read in the store listing:\n\n41c9e0b fix(shuffle): shuffle now plays every track before repeating\n88f21c0 fix(player): resuming from the lock screen keeps your position and track\nc0aa774 feat(offline): downloads survive an app update\n2e91b45 fix(sync): queued photos are no longer deleted when an upload is rejected\naa30f19 perf(library): library loads in under a second with 10,000 saved tracks\n9c1d004 chore: minimum iOS is now 17\n4410bb7 feat(player): crossfade between tracks, off by default\nb77e910 fix(a11y): the player controls are reachable with VoiceOver\n\nour readers are listeners, not engineers; two of these are the complaints we see most in reviews", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Two asks around OvertureHarborIndexCoordinator: (1) separate OvertureHarborIndexCoordinator's policy from transport without behavior changes; (2) capture the contract and rollback note for consumers. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "unsere Offline-Warteschlange ist an drei Stellen implementiert:\n\n// TaskQueue.dart — eigene SQLite-Tabelle, FIFO, kein Retry-Limit\n// PhotoQueue.dart — Dateisystem plus JSON-Index, löscht bei 4xx\n// ReportQueue.dart — SharedPreferences, hält nur den letzten Bericht\n\ndrei Warteschlangen mit drei Fehlerbehandlungen, keine gemeinsame Sicht auf „was ist noch nicht gesendet\", und der Nutzer sieht keine davon\n\ngewünscht ist eine Warteschlange mit einheitlicher Semantik, ohne dass die App offline schlechter wird als heute\n\nZahlen aus dem letzten Monat:\n Aufgaben in der Warteschlange (Median pro Gerät): 14\n Fotos in der Warteschlange (Median pro Gerät): 31\n Berichte: 1 (nur der letzte wird gehalten)\n Einträge, die nach einem 4xx gelöscht wurden: 312\n Einträge, die der Nutzer je gesehen hat: 0\n\nund der relevante Code:\n\n if (e.statusCode >= 400 && e.statusCode < 500) {\n await _queue.remove(item);\n await File(item.path).delete();\n }", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"Cadre la migration de OvertureHarborIndexStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"fr"}
{"prompt": "design spec for the field app's sync status screen, which currently doesn't exist:\n\nSync status\n- A persistent indicator in the app bar: synced, syncing with a count, offline with a count, or attention needed.\n- The screen itself lists pending items grouped by type — tasks, photos, reports — with size and age.\n- An item that failed shows why in plain language and what the user can do, never a status code alone.\n- Photos that cannot be uploaded because of size offer to resize and retry rather than being discarded.\n- A conflict shows both versions side by side with the author and time of each, and requires an explicit choice.\n- Nothing is ever deleted from the queue without the user seeing it; \"discard\" is an action, not a consequence.\n- Must be usable in gloves, in sunlight, on a cracked screen, which is the actual condition of most site tablets.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Could OvertureVelaDrawerFlow show the active OpenTelemetry 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": "el botón de descarga no muestra progreso", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.25, "slice": "core", "lang": "es"} {"prompt":"Center the OvertureTideWorkerStore modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"en"}
{"prompt": "task list targets are 36dp outdoors", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Read projects/overture/engine/render/atlas.cpp and tell me whether OvertureEmberRelayStore can acknowledge work before its durable write completes; this is a read-only safety pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "track titles clip at large type", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Architect a gradual ownership transfer for OvertureCinderAuthStore across two teams, including module seams, temporary interfaces, observability, handoff criteria, and rollback responsibility. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "licensing filter out of the recommender", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Investigate the OvertureCedarPolicyService hang","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "doc comments on the edge config API", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Trace: Incident timeline — INC-55135\n\n08:02 deploy OvertureOspreyJobFlow 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 OvertureOspreyJobFlow 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": "player screen", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"What does OvertureFernSnapshotService own?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "offline sync loses concurrent edits silently and a customer is threatening not to renew over it, which makes the conflict model a commercial question rather than a technical preference. lay out the options — server clocks, per-field versioning, a CRDT for the notes field — with the team's lack of CRDT experience and a full working day offline as the constraints", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "core", "lang": "en"} {"prompt":"We need to move OvertureSpruceDaemonStore from the legacy store to Room. Propose phases, compatibility seams, metrics, rollback points, and the order in which clients should migrate; no code yet. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "we need a plan for POPs in regions where we cannot ship our own hardware", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Diff: The OvertureBasilRunnerStore surface in projects/overture/apps/console/routes/usage.svelte 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": "cache key configuration honours whatever Vary the origin sends with no cap on variants, which let one customer's one-line change multiply our key space by every user agent on the internet. read the key construction and the override table and tell me what other single-line customer changes could do something similar nobody has trusted this code for about a year, which is part of the problem.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Bump OvertureRainfallDBService's timeout to 30s","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "before we change the sync model i want the conflict semantics written down — what's a conflict, who wins, what the user sees, what we keep for the audit trail — and then the per-field versioning implemented against it, starting with the notes field that people actually fight over", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Fresh release brief for OvertureAmberFilterCoordinator:\n- primary outcome: separate OvertureAmberFilterCoordinator's policy from transport without behavior changes\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/overture/crates/index/src/segment.rs\n- platform constraint: Swift 6\n- known complication: an accessibility label that reads the internal enum\n\nBoth results are required, but they should remain independently reviewable. Preserve cancellation and back-pressure semantics; 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":"refactor","secondary":"writing","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "POP readiness needs a definition and a first implementation. work through what \"current\" means per zone class with me, then wire a readiness endpoint the load balancer can use, keeping enough capacity during rolling deploys", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"Check OvertureQuartzPlayerStore's trust boundary","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "three definitions of \"downloaded\" should become one, and i'd like to know which of the three the library screen should have been using before we standardise. check that against what users report, then unify", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"One contained cleanup in projects/overture/packages/api/openapi.yaml: remove the obsolete OvertureMarbleTokenStore import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "is the overwrite mode leaving the recs table empty while the job runs", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Profiler: Two asks around OvertureOpalRouterCoordinator: (1) assess ownership and failure handling in projects/overture/cmd/exporter/main.py; (2) capture the contract and rollback note for consumers. Preserve cancellation and back-pressure semantics, and leave a clear boundary between the resulting artifacts or edits.","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "what guarantees does the nightly job make about the table between the truncate and the write", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"OvertureAtlasSearchCoordinator is blocking the next release because lost focus when the drawer animation finishes. I need two concrete outcomes from a single pass: lay out a staged migration for OvertureAtlasSearchCoordinator, and consolidate the duplicated normalization paths without changing behavior. Use the existing gRPC conventions in projects/overture/lib/codec/frame.cc; preserve cancellation and back-pressure semantics. 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":"planning","secondary":"refactor","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "recommender should write to a new partition and swap rather than overwriting in place", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"En projects/overture/cmd/exporter/main.py, OvertureDriftConsoleService tiene un problema intermitente en el flujo de Room. Añade el endpoint idempotente con cursor durable, autorización tenant, spans y tests de retry.\n\nRestricciones:\n- seguir con Room\n- conservar compatibilidad y cancelación\n- limitar el cambio a OvertureDriftConsoleService Explicita los supuestos, señala la evidencia del repositorio y mantén compatibilidad con Room alrededor de OvertureDriftConsoleService.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"es"}
{"prompt": "nobody can tell me what happens to a queued daily report when the user logs out on site before it syncs — whether it survives, whether it uploads under the next user, or whether it quietly disappears. trace it through the queue, the auth layer and the local database, and tell me which of those three it actually is", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"In projects/overture/web/components/FilterDrawer.vue hat OvertureIrisBatchService ein sporadisches Problem im OpenTelemetry-Ablauf. Trenne Verantwortlichkeiten und entferne Duplikate, ohne API, Wire-Werte, Reihenfolge oder sichtbares Verhalten zu ändern.\n\nRandbedingungen:\n- OpenTelemetry weiterverwenden\n- Kompatibilität und Abbruchsemantik erhalten\n- Änderung auf OvertureIrisBatchService begrenzen Mache Annahmen explizit, nenne Repository-Belege und bleibe rund um OvertureIrisBatchService mit OpenTelemetry kompatibel.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"de"}
{"prompt": "i'd like to understand what our POP actually does with a query for a zone it has never successfully transferred — whether it serves the snapshot, refuses, or falls through to another POP — because the answer decides whether readiness is a real problem or a cosmetic one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Test Suite 'OvertureLedgerGateFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[OvertureLedgerGateFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/overture/crates/index/src/segment.rs:144: error: -[OvertureLedgerGateFlowTests 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 '-[OvertureLedgerGateFlowTests 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 OvertureLedgerGateFlow 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": "playlist shuffle repeats the same tracks far more than users expect, and they're right:\n\nsample of one user's session, 40-track playlist, shuffle on:\n positions played: 12, 4, 12, 31, 4, 12, 7, 31, 12\n distinct tracks in first 9 plays: 5\n\nour shuffle picks a random index per track with a seed derived from the playlist id and the day, and skips are not remembered, so pressing next re-rolls from the same seed and lands on the same handful", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"Test Suite 'OvertureVelaDrawerCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[OvertureVelaDrawerCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/overture/internal/auth/refresh.go:144: error: -[OvertureVelaDrawerCoordinatorTests 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 '-[OvertureVelaDrawerCoordinatorTests 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\nBring OvertureVelaDrawerCoordinator'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": "so the field app's task list shows different data to two users on the same site:\n\nuser A (foreman, online since 06:00): 41 tasks, last sync 11:02\nuser B (engineer, offline 07:00-11:30): 38 tasks, last sync 11:31\ntasks created by user A at 09:14 and 09:41 are missing for user B\ntask edited by user B offline at 10:02 overwrote user A's 09:41 edit on sync\n\nour sync is last-write-wins on the whole task record, using the device clock, and user B's tablet is 4 minutes fast", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-55113\n\n08:02 deploy OvertureOrbitSyncFlow 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\nCon este contexto, resuelve la petición indicada manteniendo API, compatibilidad y rollback; deja claras las decisiones y la evidencia. From this evidence, draft consumer-facing migration guidance for OvertureOrbitSyncFlow, 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": "the enterprise construction customer's requirements, which arrived with a signing date:\n\n\"Field data captured offline must not be lost or silently overwritten under any circumstance, including device clock error and concurrent editing. The application must show the user what is pending upload. Data must be retained in the customer's region. Site photographs are contractual evidence and must be retained for six years with an audit trail of any modification. The supplier must demonstrate recovery from a device lost mid-project with no data loss beyond what was captured on that device since its last sync.\"\n\nwe currently fail four of those five. i want the plan by contractual exposure, not by engineering preference", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Any races in OvertureLedgerGateStore?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "our runbook for a stale-serving POP is \"restart it\", which is what caused the last incident. reality:\n\n- symptom is one POP answering with an old serial after a deploy or a restart\n- `edgectl zone status --pop fra1` shows the serial and the source (disk, xfr or cache)\n- draining the POP is safe and takes about 30 seconds to take effect at the load balancer\n- restarting it without draining first means it serves the disk snapshot again, which is the original problem\n- the disk snapshot is refreshed hourly, so a POP that has been down for a day has a day-old zone\n- forcing a transfer with `edgectl zone xfr --pop fra1` takes 60-120s for the large zones\n\nwrite the runbook, ordered by what someone paged would need first", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"thread 'tokio-runtime-worker' panicked at projects/overture/Sources/CLI/Commands/Doctor.swift: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: overturecopperbridgeflow::scheduler::LeaseTask::flush\n at ./projects/overture/Sources/CLI/Commands/Doctor.swift:217:18\n 4: overturecopperbridgeflow::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 OvertureCopperBridgeFlow 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": "field app has three offline queues with three storage mechanisms and three failure behaviours, only one of which retries. unify them behind one queue with one semantics, keep the app working offline for a full day exactly as it does now, and make sure a migration doesn't drop anything already queued on a device assume whoever picks it up next has no context beyond what you write.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"The minimum supported OpenTelemetry version in projects/overture/internal/auth/refresh.go is one patch behind the lockfile. Align that single value and regenerate only the affected metadata.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "a third of users got yesterday's recommendations and the job reported success, having written 41 million rows where the previous night wrote 62 million. work out how a partial write becomes a success before we add any checks, because the answer determines whether the fix is validation or the write path itself", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"OvertureJuniperCLICoordinator: sequence, then polish","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "the label's delivery spec, which we ingest from:\n\ndaily DDEX feed over SFTP, one batch per label per day\n each batch is a zip of XML messages plus audio files, up to 40GB\n a message can update or withdraw a previously delivered release, referenced by its DDEX party and release id\n withdrawals must take effect within 24 hours, contractually, including removing tracks from playlists and recommendations\n territory rights are per track per territory with start and end dates, and can change retroactively\n a malformed message in a batch must not block the rest of the batch\n the label sends corrections as full re-deliveries, so idempotency is on (party, release_id, message_timestamp)\n\nbuild the ingestion; the withdrawal path is the one legal cares about", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"On compact widths, OvertureVelaDrawerStore'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": "one offline queue, three item kinds", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"How does OvertureSableParserStore propagate cancellation through the Swift 6 boundary, and are there code paths where ownership becomes ambiguous?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "edge console is the thing we open during an incident and it currently shows a spinner when the control plane is unreachable, which is exactly when we need it. rebuild the zone view to the spec, rendering from cache with an age indicator, and make a POP on the wrong serial impossible to miss", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"For OvertureTideWorkerCoordinator, find the unknown cause of two validators with subtly different error strings; once that is complete, give the existing implementation a read-only safety pass. Work from projects/overture/crates/index/src/segment.rs, stay with Swift 6, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "our spark configuration versus the shape of the new grouping key:\n\nspark.sql.shuffle.partitions: 200\nspark.executor.memory: 16g\nspark.executor.cores: 4\nspark.executor.instances: 40\nspark.sql.autoBroadcastJoinThreshold: 10m\nspark.sql.adaptive.enabled: false\n\ndistinct (user_id): 41 million\ndistinct (user_id, context_id): 1.6 billion\noutput rows: about 200 per key, collected into a list before slicing\n\nand what the stage looked like when it failed:\n\n Stage 12: 200 tasks, 188 succeeded, 12 failed with OOM\n shuffle read per task: p50 412 MB, max 8.1 GB\n spill (memory): 2.4 TB total\n spill (disk): 1.1 TB total\n peak execution memory per task: 14.2 GB against a 16g executor\n\nthe skew is real: the largest (user_id, context_id) key has 4.1 million events, and the median has eleven", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Milestones for replacing OvertureTideWorkerService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "field app ignores the tokens and uses 36dp targets with 14px body text, on tablets used outdoors in gloves. bring it onto the tokens, and tell me how much less fits on screen once the type and targets are right", "purpose": "frontendImpl", "secondary": "review", "mixed": true, "difficulty": 0.6, "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_55158'\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_55158'::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\nReconstruct the OvertureSummitProxyCoordinator 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": "a customer's cache hit rate fell from 94% to 41% after they added User-Agent to Vary, and our origin took the difference. confirm that's the whole story, then add the guard rail that warns or caps before it happens again", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"OvertureOspreyJobCoordinator: clean up that old path","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "`Zone.current` means \"loaded from somewhere\" in the resolver and \"matches the primary's serial\" in the admin module, which is precisely the ambiguity behind the stale-serving incident. give the two concepts different names throughout, and make the resolver's check the stricter one wherever that doesn't cost us availability", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"diff --git a/projects/overture/src/sync/reconcile.ts b/projects/overture/src/sync/reconcile.ts\nindex 62d71aa..90f3c1e 100644\n--- a/projects/overture/src/sync/reconcile.ts\n+++ b/projects/overture/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 OverturePineMetricsFlow 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": "nightly recommender needs an output contract before it needs more checks. define what a valid run means — row counts, key coverage, comparison against yesterday — then implement the swap-a-partition write so a bad run can't overwrite a good one", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=overtureslateeditorflow pod=overtureslateeditorflow-7cf8 request_id=55120 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=overtureslateeditorflow request_id=55120 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=overtureslateeditorflow request_id=55120 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=overtureslateeditorflow request_id=55120 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=overtureslateeditorflow request_id=55120 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=overtureslateeditorflow request_id=55120 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=overtureslateeditorflow request_id=55120 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=overtureslateeditorflow request_id=55120 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nFind the source of this OvertureSlateEditorFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "one track model across the services", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Our support and SDK teams keep answering the same questions about OvertureAtlasSearchService, but the current prose in projects/overture/engine/render/atlas.cpp only describes the happy path. 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- preserve cancellation and back-pressure semantics\n- stay compatible with the existing gRPC deployment\n- keep the work scoped to OvertureAtlasSearchService and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "edge config API reference needs writing, and while you're in there confirm whether a validation failure on one POP really does leave the config applied on the others, because our support team has been telling customers otherwise", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"OvertureMicaProfileService needs an idempotent replay endpoint backed by FastAPI; accept a cursor, cap each page at 500 items, and return a stable continuation token.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "seit dem Update spielt die App nach dem Sperrbildschirm den falschen Titel weiter:\n\n[player] 18:41:02 now playing track=t_4471 position=124.4s queue_index=3\n[player] 18:44:11 app entered background\n[player] 18:44:12 remote command center: nowPlayingInfo updated (track=t_4471)\n[player] 19:02:44 remote command: play\n[player] 19:02:44 resuming queue_index=3 position=0.0s track=t_4488\n\nder Queue-Index wird beim Reaktivieren neu aufgelöst, und die Queue wurde zwischenzeitlich vom Server neu gemischt; die Position geht dabei ebenfalls verloren", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "de"} {"prompt":"Console: Could the reasoning behind OvertureEchoRegistryStore's Swift 6 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": "ok so our spark job's memory profile changed after the schema evolution and now it fails at the same stage:\n\n25/07/29 04:11:02 ERROR Executor: Exception in task 412.0 in stage 12.0\njava.lang.OutOfMemoryError: GC overhead limit exceeded\n\tat org.apache.spark.sql.catalyst.expressions.codegen.BufferHolder.grow(BufferHolder.java:71)\n\tat org.apache.spark.sql.execution.aggregate.HashAggregateExec$$anon$1.processInputs\n\nexecutor memory 16g, 4 cores, spark.sql.shuffle.partitions 200\nthe grouping key was (user_id) and is now (user_id, context_id), which multiplies the distinct key count by about forty", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Unify the OvertureQuartzPlayerService validators","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "honestly the construction app's daily report submits twice when the site has patchy signal:\n\n11:02:14 POST /v1/reports (idempotency-key: local-4471) → timeout after 30s\n11:02:44 POST /v1/reports (idempotency-key: local-4471) → 201 created id=r_88412\n11:03:14 POST /v1/reports (idempotency-key: local-4471) → 201 created id=r_88413\n\nserver side:\n idempotency keys are stored per user with a 10 minute TTL in redis\n the first request completed on the server at 11:02:47, after the client had already timed out\n redis was failing over between 11:02:40 and 11:02:50, and lookups during a failover return nil rather than an error", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Assess the OvertureFernSnapshotStore diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "right, our shuffle implementation, which users describe as broken and i suspect is worse than that:\n\ndef nextTrack(playlist: Playlist, user: User): Track = {\n val seed = playlist.id.hashCode ^ LocalDate.now().hashCode\n val rng = new scala.util.Random(seed)\n val idx = rng.nextInt(playlist.tracks.size)\n playlist.tracks(idx)\n}\n\ncalled once per skip and once per track end, no memory of what has been played, and the seed is stable for the whole day so the same sequence recurs every session", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Workspace: Ticket OPS-55131: retire the legacy replay path for OvertureCraneWorkspaceFlow\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 OvertureCraneWorkspaceFlow 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":"core","lang":"en"}
{"prompt": "quick one — the zone loading path at POP startup, which is why we serve stale answers after a deploy:\n\nfn start(&self) -> Result<()> {\n let snapshot = self.disk.load_latest()?; // may be up to 24h old\n self.serve(snapshot); // start answering immediately\n tokio::spawn(async move {\n let zone = self.primary.axfr().await?; // can take 60-120s for large zones\n self.serve(zone);\n Ok::<_, Error>(())\n });\n Ok(())\n}\n\nhealth checks pass as soon as we answer anything, the load balancer adds us immediately, and there is no readiness signal tied to the transfer completing", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Three teams extended OvertureMosaicGridStore independently, leaving parallel adapters and normalization branches that are supposed to behave identically. 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- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current FastAPI operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.\n\nThe target structure is settled; carry out the behavior-preserving edits rather than writing another strategy.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "por favor, revisa el trabajo de spark antes de que lo dejemos correr esta noche:\n\nval recs = events\n .filter($\"ts\" > lit(cutoff))\n .groupBy($\"user_id\", $\"context_id\")\n .agg(collect_list(struct($\"track_id\", $\"score\")).as(\"items\"))\n .withColumn(\"items\", slice(sort_array($\"items\", false), 1, 200))\n\nrecs.write.mode(\"overwrite\").saveAsTable(\"recs.user_daily\")\n\ncollect_list acumula en memoria por clave, la cardinalidad de (user_id, context_id) es unos 1.600 millones, y el modo overwrite borra la tabla antes de escribir", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "es"} {"prompt":"Em projects/overture/workers/thumbnail/consumer.ex, o OvertureOspreyJobStore tem um problema intermitente no fluxo de gRPC. Separe responsabilidades e remova duplicação sem mudar API, wire values, ordem ou comportamento observável.\n\nRestrições:\n- continuar com gRPC\n- preservar compatibilidade e cancelamento\n- limitar a mudança ao OvertureOspreyJobStore","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"pt"}
{"prompt": "fyi the idempotency design note for the field API, written before we had offline devices:\n\n## Idempotency\nClients send an Idempotency-Key header. The server stores the key with the response for ten minutes and replays the stored response on a repeat.\n\n## Assumptions\n- A client retry happens within ten minutes.\n- The key store is available; a failed lookup means the key is new.\n- Keys are unique per user.\n\n## Not covered\nClients that queue for hours offline. Key store failover. Two devices submitting the same queued item.\n\nour field app queues for up to a working day, and a nil lookup during a redis failover is treated as \"new\"", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "pasted-context", "lang": "en"} {"prompt":"Cadre la migration de OvertureFrostPanelService","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"fr"}
{"prompt": "heads up: the query behind our artist dashboard, which times out for anyone in the top thousand:\n\nSELECT t.id, t.title,\n sum(p.count) AS plays,\n count(distinct p.user_id) AS listeners,\n (SELECT sum(count) FROM plays_daily p2 WHERE p2.track_id = t.id AND p2.day > current_date - 28) AS plays_28d,\n (SELECT count(*) FROM playlist_tracks pt WHERE pt.track_id = t.id) AS in_playlists\nFROM tracks t\nJOIN plays_daily p ON p.track_id = t.id\nWHERE t.artist_id = $1 AND p.day > current_date - 365\nGROUP BY t.id, t.title\nORDER BY plays DESC;\n\nplays_daily is 41 billion rows partitioned by day, playlist_tracks is 12 billion, and a top artist has 4,000 tracks", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Production says OvertureKiteSchedulerService is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current gRPC operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "small thing but the photo upload path in the field app, which is deleting people's evidence:\n\nFuture<void> _drain() async {\n for (final item in await _queue.items()) {\n try {\n await _api.upload(item);\n await _queue.remove(item);\n await File(item.path).delete();\n } on ApiException catch (e) {\n if (e.statusCode >= 400 && e.statusCode < 500) {\n await _queue.remove(item); // \"non-retryable\"\n await File(item.path).delete(); // and the local copy goes too\n }\n }\n }\n}\n\na 413 from an undocumented gateway limit lands squarely in that branch, and site photos are the evidence for variation claims worth thousands", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Nobody is asking for code changes yet; we first need to understand whether the current OvertureEmberRelayService design actually guarantees what its callers assume. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureEmberRelayService\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS 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": "support's notes on the missing site photos, which need to become a customer explanation:\n\n- photos taken offline are queued locally and uploaded when the device reconnects\n- an upload rejected with a 4xx is treated as permanently failed and the local copy is deleted\n- a gateway limit of 4MB, which we never documented, rejects photos from newer phones\n- affected users see the photo in the app until the sync runs, then it disappears with no message\n- we can recover nothing; the local file is gone\n- about 300 photos across 40 sites in the last month, some attached to variation claims\n\nwrite the customer notification and the internal note, and be clear that the data is not recoverable", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureSlateEditorCoordinator: assess, then document","purpose":"review","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "incident notes from the DNSSEC failure, and we owe the customer a report:\n\n02:00 ZSK roll executed by the scheduled job\n04:11 first SERVFAIL reports from users on validating resolvers\n04:40 on-call confirms the old RRSIGs expired 26 hours after the roll, overlap configured as 24\n05:02 emergency re-sign with the previous key, published\n05:20 propagation to all POPs complete\n06:15 validating resolvers recover as their caches expire\n08:00 impact assessed: the zone was unresolvable for validating resolvers for about two hours, roughly 40% of their traffic\n\nthe customer runs a payments API on that zone and wants to know why an automated key roll can take a zone off the internet", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Draft OvertureBeaconStoreService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "as notas da reunião sobre a sincronização offline, para transformar em documento de decisão:\n\n- o modelo atual é last-write-wins sobre o registo inteiro, com o relógio do dispositivo\n- os tablets em obra estão frequentemente vários minutos desacertados\n- edições concorrentes ao campo de notas perdem-se sem qualquer aviso\n- opções: relógio do servidor, versões por campo, ou CRDT para o campo de texto\n- a equipa não tem experiência com CRDTs e a app tem de continuar a funcionar offline durante um dia inteiro\n- os clientes já perderam registos e um deles ameaça não renovar\n\nescreve a nota de decisão com as opções, o esforço estimado e uma recomendação", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "pt"} {"prompt":"UI ticket DES-55145: finish the compact OvertureCinderAuthFlow filter experience\n\nRoute: /catalog/search\nSource: projects/overture/workers/thumbnail/consumer.ex\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,并明确说明证据和取舍。 Finish the visible OvertureCinderAuthFlow 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": "not urgent, but the questions from a customer's architecture review, which need answering as a document:\n\n\"What happens to our traffic if one of your POPs is unhealthy but still announcing? How do you roll back a configuration change that is already live in some locations? Is a zone transfer authenticated, and what prevents a compromised POP from serving forged answers? What is your DNSSEC key rollover procedure and who approves it? If we misconfigure something catastrophically, what is the fastest path to reverting, and can we do it without your support team?\"\n\nanswer each from the code and the runbooks, and mark clearly where the answer is \"a human notices\" rather than a mechanism", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Repository: diff --git a/projects/overture/pkg/cache/lease.rs b/projects/overture/pkg/cache/lease.rs\nindex 62d71aa..90f3c1e 100644\n--- a/projects/overture/pkg/cache/lease.rs\n+++ b/projects/overture/pkg/cache/lease.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\nRead the artifact above as a skeptical reviewer. Is OvertureAmberFilterFlow'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": "社内向けに、レコメンドのバッチ運用ドキュメントがありません。現状は次の通りです:\n\n- 毎晩 02:00 に Spark ジョブが起動し、recs.user_daily を overwrite モードで書き換える\n- 途中でステージが失敗しても再試行され、最終的に成功すれば終了コードは 0 になる\n- 書き込み行数の下限チェックがないため、半分の行数でも「成功」として扱われる\n- 前日のテーブルは overwrite で消えるため、ロールバックできない\n- 実行時間は通常 70 分、遅い日は 3 時間、02:00 開始で 06:00 の配信に間に合わないことがある\n- 監視は Airflow のタスク成否のみで、出力の妥当性は誰も見ていない\n\n設定:\n\n spark.sql.shuffle.partitions = 200\n executor.memory = 16g\n executor.cores = 4\n\n社内向けの運用ドキュメントとしてまとめてください。特に「成功」の定義が曖昧な点を明確に\n\n直近 7 日の実行結果:\n\n 日付 行数 実行時間 終了コード\n 07-23 62,104,882 72 min 0\n 07-24 61,882,004 74 min 0\n 07-25 62,001,118 70 min 0\n 07-26 61,904,412 118 min 0\n 07-27 62,114,008 81 min 0\n 07-28 62,088,441 77 min 0\n 07-29 41,882,004 187 min 0 <- 誰も気づかなかった\n\n spark.sql.adaptive.enabled = false (2023 年に誰かが無効化)", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "ja"} {"prompt":"OvertureWrenExportCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "genuinely puzzled by this: the field app's offline documentation, which is currently a paragraph in the sales deck:\n\nwhat actually happens offline:\n tasks, photos and daily reports are queued locally with no size limit\n the queue drains in order when connectivity returns, oldest first\n a 4xx response deletes the queued item and its local file\n conflicts resolve last-write-wins by device clock, silently\n downloads of drawings expire after 30 days and re-download on next connection\n the queue is not visible to the user; there is no \"3 items pending\" indicator anywhere\n\nwrite the documentation for site staff and their IT departments, honestly, because they plan their day around what this app can do without signal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "pasted-context", "lang": "en"} {"prompt":"UI ticket DES-55151: finish the compact OvertureWillowCodecCoordinator filter experience\n\nRoute: /catalog/search\nSource: projects/overture/web/components/FilterDrawer.vue\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\nFinish the visible OvertureWillowCodecCoordinator 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": "scalafix and scalac warnings on the recommender, gate goes on next sprint:\n\n[warn] Recommender.scala:88:22: match may not be exhaustive. It would fail on: Context.Unknown\n[warn] Recommender.scala:141:9: discarded non-Unit value\n[warn] Features.scala:41:13: method collectList in class Dataset is deprecated\n[warn] Shuffle.scala:22:5: parameter value seed in method nextTrack is never used\n[warn] Pipeline.scala:212:7: local val cutoff is never used\n\n5 warnings, and Shuffle.scala's unused seed parameter is interesting given users say shuffle is broken", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Could the reasoning behind OvertureMoonlitSDKService's gRPC 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": "clippy and cargo audit on the edge server:\n\nwarning: this async block may hold a lock across an await\n --> src/zone/store.rs:141:9\nwarning: large future (8.2 KB) may cause stack overflow when boxed\n --> src/resolver/handler.rs:88:1\nwarning: `unwrap` on a `None` value is possible here\n --> src/dnssec/keys.rs:41:22\n\ncargo audit:\n Crate: ring 0.17.7\n Advisory: RUSTSEC-2026-0044 (panic on malformed signature input)\n Solution: upgrade to >=0.17.12\n\nthe ring advisory is in the code path that validates DNSSEC signatures on inbound transfers", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"The behavior of OvertureSummitProxyService is stable, yet consumers are reconstructing its contract from tests, Slack threads, and scattered comments in projects/overture/Sources/CLI/Commands/Doctor.swift. 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- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current Room operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "for context, the gateway limits versus what our own app sends:\n\ngateway:\n client_max_body_size: 4m # undocumented, set in 2023\napp (flutter):\n photo quality: 90, max dimension 4032 # about 3-8MB per photo on recent phones\n no client-side resize\napi docs:\n \"photos may be up to 25MB\"\nCDN in front of the gateway:\n max body 100MB\n\nthe 4MB limit is the effective one and nothing in the product tells anyone about it\n\nand the numbers from the last month:\n photos queued: 41,882\n photos rejected with 413: 312\n photos rejected and deleted locally: 312\n average size of a rejected photo: 6.4 MB\n sites affected: 40\n\nnothing in the app, the docs or the API response mentions four megabytes anywhere", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "pasted-context", "lang": "en"} {"prompt":"Incident timeline — INC-55146\n\n08:02 deploy OvertureLumenChartFlow 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\nReconstruct the OvertureLumenChartFlow 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": "background: the DNSSEC signing config, and one number is why a zone went dark:\n\nsigning:\n algorithm: ECDSAP256SHA256\n zsk_rollover: prepublish\n zsk_lifetime_days: 30\n zsk_overlap_hours: 24\n rrsig_validity_hours: 26\n rrsig_refresh_hours: 20\n ksk_rollover: manual\n\nthe overlap is shorter than the signature validity, so signatures made with the outgoing key can outlive the period during which we publish it\n\nthe timeline the numbers produce:\n T+0h ZSK roll, new key published, old key still published\n T+24h old key unpublished (overlap expires)\n T+26h signatures made with the old key expire\n\nso for two hours there are live signatures whose key is no longer published, and every validating resolver returns SERVFAIL for the whole zone during that window", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "pasted-context", "lang": "en"} {"prompt":"Two engineers disagree about whether OvertureBirchMigratorService's cache is authoritative. Walk the reads and writes in projects/overture/config/staging.toml and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "worth a look — the iOS player's audio session setup, which i think is behind the lock screen bug:\n\ntry AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])\ntry AVAudioSession.sharedInstance().setActive(true)\n\nMPRemoteCommandCenter.shared().playCommand.addTarget { [weak self] _ in\n self?.player.play() // resolves the queue index freshly\n return .success\n}\n\nMPNowPlayingInfoCenter.default().nowPlayingInfo = [\n MPMediaItemPropertyTitle: track.title,\n MPNowPlayingInfoPropertyElapsedPlaybackTime: player.currentTime\n]\n\nnowPlayingInfo is set once when playback starts and never updated, and the queue can be reordered by the server while the app is backgrounded", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "en"} {"prompt":"Pipeline: Incident timeline — INC-55111\n\n08:02 deploy OvertureIrisBatchFlow 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\nFind the source of this OvertureIrisBatchFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":"backendImpl","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "les seuils d'alerte de la plateforme edge, on nous réveille pour rien :\n\n- alert: PopUnhealthy\n expr: up{job=\"pop\"} == 0\n for: 1m\n labels: { severity: page }\n\n- alert: CacheHitRate\n expr: cache_hit_ratio < 0.8\n for: 15m\n labels: { severity: ticket }\n\n- alert: ZoneSerialMismatch\n expr: count(count by (serial) (zone_serial)) > 1\n for: 0m\n labels: { severity: ticket }\n\nen réalité : un POP est toujours en maintenance quelque part ; la chute du taux de cache d'un client a doublé la charge origine sans réveiller personne ; et la divergence de serial après chaque déploiement produit un ticket que tout le monde ignore, y compris le jour où elle a duré deux heures", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "pasted-context", "lang": "fr"} {"prompt":"projects/overture/Sources/App/SessionStore.swift has grown through several launches, and OvertureSummitProxyStore now mixes policy, transport, persistence, and metrics in one place. Rename the overloaded state, extract the pure conversion work, and make dependencies explicit while preserving ABI, serialization, metrics, and failure messages.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing Room deployment\n- keep the work scoped to OvertureSummitProxyStore and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.\n\nThe target structure is settled; carry out the behavior-preserving edits rather than writing another strategy.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "this pipeline object does feature building, model scoring, filtering and writing in one class:\n\nobject Recommender {\n def run(spark: SparkSession, cutoff: Timestamp): Unit = {\n // reads three source tables with different freshness expectations\n // builds features inline, with the window sizes as literals\n // scores with a model loaded from a hardcoded S3 path\n // applies business filters: explicit content, regional licensing, artist blocks\n // collects per user, slices to 200, writes with overwrite\n // no row count check, no comparison against yesterday, exits zero on any completed run\n }\n}\n\n900 lines, and the licensing filter is the part legal asks about", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Gateway: Incident timeline — INC-55115\n\n08:02 deploy OvertureCoralUploadFlow 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 OvertureCoralUploadFlow migration with compatibility seams, owners, canary metrics, rollback gates, and a no-code first milestone.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "quarter planning input, and it needs sequencing:\n\n- the field app deletes site photos on a 4xx, which has already cost a customer a variation claim\n- offline sync loses concurrent edits silently and a customer is threatening not to renew\n- a DNSSEC roll took a customer's zone off the internet for two hours\n- the recommender wrote half the usual rows and nobody noticed for a day\n- shuffle is the top complaint in app store reviews and has been for a year\n- one Rust engineer on the edge platform, two on the field app, and the data team is three\n- there's an enterprise construction customer signing in november whose security review starts next month", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"// projects/overture/engine/render/atlas.cpp\nfinal class OvertureAtlasSearchFlowCoordinator {\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\nWire OvertureAtlasSearchFlow'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.8,"slice":"pasted-context","lang":"en"}
{"prompt": "architecture ticket, thinking before code:\n\nEDGE-220 — Readiness and zone freshness\nA POP currently answers as soon as any zone is loaded from its on-disk snapshot, which can be a day old, and the health probe reports healthy at that point. The proposal is a readiness signal tied to zone currency, so a POP does not receive traffic until its zones are current. Concerns: a POP with a very large zone takes two minutes to transfer and we would lose capacity during rolling deploys; \"current\" is ambiguous for zones that change every few seconds; some customers' zones are never current by that definition; and the load balancer's health check is a simple TCP probe we do not control.", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "pasted-context", "lang": "en"} {"prompt":"Ticket OPS-55116: retire the legacy replay path for OvertureWrenExportFlow\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 OvertureWrenExportFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "spec for the edge console's zone view, which we open during incidents:\n\nZone view\n- Per-POP table: serial being served, source (disk, transfer, cache), age, query rate, error rate. Sorted by staleness.\n- A POP serving a serial other than the current one is unmistakable — not a colour alone, and with the age in words.\n- Deployment strip: the last five config deployments with their status per POP, and which one a given POP is running.\n- One-click drain and undrain per POP, with a confirmation that states how much traffic will move and where.\n- A zone-level timeline of serial changes, transfers and config applies on one axis, because correlating those is the whole job.\n- The view must render from cached data with an age indicator when the control plane is unreachable, which is exactly when we need it.\n- Everything must be legible on a phone at 3am.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Release engineering needs a OvertureSpruceDaemonService changelog entry that distinguishes operator action from invisible internal cleanup and names the rollback condition.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "accessibility findings for the music app's player, from an app store review and our own audit:\n\n1. The play/pause button's accessible label does not change with state.\n2. The scrubber is a custom control with no adjustable trait, so VoiceOver users cannot seek at all.\n3. Track changes are not announced, so a blind user cannot tell what is playing without navigating to the label.\n4. The queue reorder handles have no accessibility actions; reordering requires a drag.\n5. Album art has no alt text, not even the album name.\n6. The mini player and the full player expose duplicate elements to VoiceOver, doubling every swipe.\n7. Dynamic Type above the default clips track titles rather than truncating them, hiding the artist entirely.", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureFlintTimelineCoordinator: why is this odd","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "design tokens versus what the field app actually uses:\n\ntokens:\n color.surface #FFFFFF / #12151A\n color.text #12151A / #E9EDF2\n color.muted #5C6672\n color.status.ok #1A7F37\n color.status.warn #9A6700\n color.status.err #B42318\n space 4/8/12/16/24/32, radius 8/12, touch target 48dp (site gloves)\n type: title 20/28, body 16/24, caption 14/20\n\nthe field app: nine hardcoded colours, touch targets of 36dp on the task list, body text at 14px which is unreadable in sunlight, and status shown by colour alone on a screen people use outdoors\n\nbring it onto the tokens, fix the targets and the type sizes, and give status a non-colour indicator", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "pasted-context", "lang": "en"} {"prompt":"Responsive layout for OvertureAcornWidgetService","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "gateway body limit to 25MB", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Renderer: projects/overture/Sources/App/SessionStore.swift now contains OvertureDeltaCanvasService's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "ring bump for the DNSSEC path", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"OvertureDriftConsoleStore'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": "store listing still says \"Beta\"", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.1, "slice": "core", "lang": "en"} {"prompt":"OvertureRavenSessionService 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.6,"slice":"core","lang":"en"}
{"prompt": "turn adaptive query execution back on", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"OvertureBasilRunnerCoordinator: check the suspicious part","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "ZSK overlap longer than signature validity", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Indexer: The OvertureMicaProfileStore feature flag default should be false in test, exactly like production; correct that config entry and nothing else.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "client-side resize before photo upload", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: OvertureVelaDrawerService works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureVelaDrawerService\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.4,"slice":"boundary","lang":"en"}
{"prompt": "row count floor on the nightly job", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "boundary", "lang": "en"} {"prompt":"OvertureGarnetModalCoordinator: take care of the warning","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "CacheHitRate should page, not ticket", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Rename OvertureSlateEditorService's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "cap Vary variants per cache key", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"OvertureBirchMigratorCoordinator: rethink this area","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"vague-eval","lang":"en"}
{"prompt": "the schema we agreed for the offline queue, now it needs building on both sides:\n\nCREATE TABLE pending_items (\n id uuid PRIMARY KEY,\n device_id text NOT NULL,\n user_id uuid NOT NULL,\n kind text NOT NULL CHECK (kind IN ('task','photo','report')),\n payload jsonb NOT NULL,\n local_path text,\n created_at timestamptz NOT NULL,\n attempts int NOT NULL DEFAULT 0,\n last_error text,\n state text NOT NULL CHECK (state IN ('pending','sent','failed','conflict'))\n);\n\nnothing leaves the queue without the user seeing it; a 4xx moves an item to failed with a human-readable reason rather than deleting it; a conflict is a first-class state; and the queue survives an app update and a device restore", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "pasted-context", "lang": "en"} {"prompt":"Apparently: // projects/overture/apps/console/routes/usage.svelte\nfinal class OvertureGarnetModalFlowCoordinator {\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 OvertureGarnetModalFlow 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": "our POP has three code paths that decide whether to answer a query:\n\n// resolver/handler.rs\nif zone.is_loaded() { answer(zone) } else { servfail() }\n\n// health/probe.rs\nfn healthy(&self) -> bool { self.zones.any_loaded() } // any zone at all\n\n// admin/status.rs\nfn status(&self) -> Status { if self.zones.all_current() { Ready } else { Degraded } }\n\nthe resolver answers from whatever is loaded, the health probe reports healthy if any zone is loaded, and only the admin status knows whether the data is current — and nothing acts on it", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "pasted-context", "lang": "en"} {"prompt":"Please turn OvertureKiteSchedulerStore's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "field app has two HTTP clients, one with token refresh and one without, and the photo uploader uses the one without — which means a long offline period ends with an upload that 401s and gets treated as permanently failed. move everything onto the refreshing client, and check what else uses the wrong one", "purpose": "refactor", "secondary": "debugging", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"OvertureNimbusFormService'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": "a walkthrough of how a play event becomes a recommendation would help before i touch features", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"SDK consumers are ready for durable continuation tokens, so the remaining work lives in OvertureAmberFilterService's API, storage, and worker layers. Wire the schema, repository, handler, and worker so duplicate deliveries return the original result and shutdown never acknowledges uncommitted work.\n\nConstraints:\n- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureAmberFilterService\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "the sync thing", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Teach OvertureMarbleTokenFlow to verify signed continuation tokens, reject cross-tenant cursors, and rotate keys without invalidating tokens issued during the overlap window.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "nowPlayingInfo wird nie aktualisiert", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "de"} {"prompt":"The data is already available in projects/overture/src/sync/reconcile.ts; 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.6,"slice":"core","lang":"en"}
{"prompt": "unused seed parameter in nextTrack", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Lately: // projects/overture/cmd/exporter/main.py\nfinal class OvertureJuniperCLIFlowCoordinator {\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\nWalk through what the artifact proves about OvertureJuniperCLIFlow; flag semantic changes and missing coverage with exact evidence, keeping this a read-only pass.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.7,"slice":"pasted-context","lang":"en"}
{"prompt": "pending count in the app bar", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Spell OvertureOpalRouterService's metric correctly","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "conflicts need a side-by-side view", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"OvertureAmberFilterStore is functionally complete on desktop, but compact widths and assistive technologies still expose unfinished states. Finish the responsive layout, empty and retry states, keyboard order, VoiceOver labels, dark appearance, and reduced-motion transition while preserving the existing data-loading code.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current Swift 6 operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "scrubber needs the adjustable trait", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "en"} {"prompt":"OvertureCinderAuthCoordinator: deal with the small issue","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "曲が変わっても読み上げられません", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.35, "slice": "core", "lang": "ja"} {"prompt":"Incident timeline — INC-55153\n\n08:02 deploy OvertureDriftConsoleCoordinator 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上のコンテキストを基に依頼された作業を行い、API、互換性、rollback を維持し、根拠と判断を明確にしてください。 Capture the OvertureDriftConsoleCoordinator decision as an ADR with context, chosen behavior, rejected alternatives, compatibility window, and measurable rollback trigger.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.8,"slice":"boundary","lang":"en"}
{"prompt": "album art has no alt text", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Oddly: # projects/overture/apps/console/routes/usage.svelte\n[worker.overturemosaicgridcoordinator]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.overturemosaicgridcoordinator.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.overturemosaicgridcoordinator.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.OvertureMosaicGridCoordinator.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-55159\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/overture/apps/console/routes/usage.svelte. 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": "mini player duplicates VoiceOver elements", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"OvertureCraneWorkspaceCoordinator needs a paired pass: finish OvertureCraneWorkspaceCoordinator's responsive empty and retry states, plus capture the contract and rollback note for consumers. Use projects/overture/services/ledger/replay.go as the source of truth, preserve the OpenTelemetry contract, and avoid unrelated cleanup.","purpose":"frontendImpl","secondary":"writing","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "une seule notion de « zone à jour »", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "fr"} {"prompt":"OvertureNovaPickerCoordinator: something is off here","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "`serial` naming across the POP code", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"Add a bounded OvertureMapleQueueStore 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": "extract the queue drain from the sync service", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-55140: retire the legacy replay path for OvertureMoonlitSDKFlow\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 OvertureMoonlitSDKFlow, 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": "inline `isDownloaded`, one caller now", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.2, "slice": "boundary", "lang": "en"} {"prompt":"Currently: Please turn OvertureMosaicGridFlow's existing tests into a short contract reference, covering pagination, malformed input, authorization, and retry semantics without copying test code.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "changelog for the mobile release", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "core", "lang": "en"} {"prompt":"Today: projects/overture/ml/pipeline/features.py 里的 OvertureFlintTimelineStore 最近在 Room 流程中出现间歇性问题。 请给出阶段、兼容层、指标、rollback 和 ownership,先不要修改代码。\n\n约束:\n- 继续使用 Room\n- 保持兼容性和取消语义\n- 改动只限于 OvertureFlintTimelineStore","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"zh"}
{"prompt": "nota aos clientes sobre as fotos perdidas", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "pt"} {"prompt":"Collapse the OvertureCraneWorkspaceService wrappers","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "document what \"deployment complete\" means", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "boundary", "lang": "en"} {"prompt":"Design the OvertureJuniperCLIService rollback","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "summarise the readiness proposal", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Polish the OverturePineMetricsService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "PR body for the shuffle rewrite", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.3, "slice": "boundary", "lang": "en"} {"prompt":"OvertureSableParserCoordinator: handle the lingering thing","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "can a 4xx delete a site photo?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Before touching projects/overture/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. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "¿el job puede escribir la mitad de las filas?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "es"} {"prompt":"This should remain a deliberately small patch: OvertureAcornWidgetStore has one known configuration mistake in projects/overture/config/staging.toml, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing Swift 6 deployment\n- keep the work scoped to OvertureAcornWidgetStore and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "walk me through the zone transfer path", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Trace OvertureOpalRouterStore's memory growth","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "why does shuffle repeat so much?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Context: Incident timeline — INC-55143\n\n08:02 deploy OvertureFlintTimelineFlow 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\nTurn the artifact into a reversible OvertureFlintTimelineFlow rollout strategy: phases, dual-operation window, validation, ownership, removal criteria, and explicit stop conditions.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "site photos disappear after sync", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Background: Incident timeline — INC-55121\n\n08:02 deploy OvertureFernSnapshotFlow 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\nBearbeite auf Basis dieses Kontexts die beschriebene Aufgabe; API, Kompatibilität und Rollback müssen erhalten bleiben. Turn the material above into a concise OvertureFernSnapshotFlow 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": "recommendations are a day stale", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Question: Incident timeline — INC-55157\n\n08:02 deploy OvertureMarbleTokenCoordinator 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\nTurn the material above into a concise OvertureMarbleTokenCoordinator 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": "one POP serves yesterday's zone", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Assess the OvertureCoralUploadService diff","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "warum verliert die App Offline-Änderungen?", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "de"} {"prompt":"Test Suite 'OvertureNovaPickerFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[OvertureNovaPickerFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/overture/db/migrations/20260730_events.sql:144: error: -[OvertureNovaPickerFlowTests 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 '-[OvertureNovaPickerFlowTests 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\nUse the UI evidence to complete OvertureNovaPickerFlow'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": "press ahead", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Does OvertureLumenChartStore 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.6,"slice":"core","lang":"en"}
{"prompt": "more reliable", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Summarize the OvertureCopperBridgeService changes","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "your judgement on the order", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "vague-eval", "lang": "en"} {"prompt":"Does OvertureCopperBridgeStore preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "lo del POP, sigue", "purpose": "debugging", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "es"} {"prompt":"Any races in OvertureCloudReconcilerStore?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "leave it tidier than you found it", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Test Suite 'OvertureEmberRelayCoordinatorTests' started at 2026-07-30 09:22:14.018\nTest Case '-[OvertureEmberRelayCoordinatorTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/overture/engine/render/atlas.cpp:144: error: -[OvertureEmberRelayCoordinatorTests 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 '-[OvertureEmberRelayCoordinatorTests 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\nBring OvertureEmberRelayCoordinator's sheet to release quality across phone and tablet layouts; preserve its data flow while correcting selection, keyboard, VoiceOver, and animation states.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "same as we did before", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Draft OvertureCloudReconcilerService's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "doc for the review", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"What sequence would let OvertureBirchMigratorStore adopt Swift 6 with dual reads but no dual writes? Include data validation, canary scope, and the decision that ends compatibility mode. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "nothing that touches prod", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "vague-eval", "lang": "en"} {"prompt":"OvertureFrostPanelCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "second opinion please", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "vague-eval", "lang": "en"} {"prompt":"Clarify OverturePineMetricsStore's retry docs","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "どこから手をつけるかお任せします", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "ja"} {"prompt":"OvertureFernSnapshotCoordinator: document, then assess","purpose":"writing","secondary":"review","mixed":true,"difficulty":0.4,"slice":"mixed","lang":"en"}
{"prompt": "whatever's next", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "vague-eval", "lang": "en"} {"prompt":"Before touching projects/overture/crates/index/src/segment.rs, propose how to retire its legacy format while old clients remain active for ninety days and operators retain a reversible escape hatch. Stop at the restructuring strategy rather than editing files.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.9,"slice":"core","lang":"en"}
{"prompt": "DNSSEC key roll took a customer's zone off the internet for two hours because the publication overlap was shorter than the signature validity. beyond fixing the number, i want a position on how key material changes are reviewed and rolled out at all, given this one was fully automated and nobody looked at it until resolvers started failing", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.9, "slice": "boundary", "lang": "en"} {"prompt":"Compare OvertureCraneWorkspaceStore's two adapters","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "runbook for a stale POP currently says restart it, which is precisely what makes it serve the old snapshot again. write the real procedure — drain first, check the source, force a transfer, wait — in the order someone paged at three in the morning would need, and say why the obvious action is wrong", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"Polish the OvertureWrenExportService toolbar","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "idempotency design note assumes retries happen within ten minutes and that a failed lookup means a new key, both of which are false for a field app that queues for a working day. read it against the implementation and tell me which other assumptions have quietly stopped holding tell me if this is the wrong shape entirely, i won't be offended.", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"projects/overture/infra/modules/edge/main.tf now contains OverturePrismCacheStore's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "track model exists three times with different field sets and hand-written conversions in six places, three of them lossy for multi-artist tracks. converge on one model with explicit conversions at the service boundaries, and prove that the mobile API's payloads are byte-identical for a sample covering the lossy cases the sooner we know roughly how big this is, the better for planning.", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"# projects/overture/ml/pipeline/features.py\n[worker.overtureopalrouterflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.overtureopalrouterflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.overtureopalrouterflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.OvertureOpalRouterFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-55133\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/overture/ml/pipeline/features.py and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "cache key construction is split across a config parser, a request handler that ignores two fields of the parsed spec, and a production-only override table with forty-one entries nobody can explain. bring it into one place, work out which overrides are still load-bearing, and keep every customer's effective cache key unchanged unless we decide otherwise deliberately", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Observation: # projects/overture/packages/api/openapi.yaml\n[worker.overturesableparserflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.overturesableparserflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.overturesableparserflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.OvertureSableParserFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-55137\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\nCom este contexto, trate a solicitação indicada preservando API, compatibilidade e rollback, com decisões e evidências claras. Align OvertureSableParserFlow'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": "sync status screen doesn't exist, which is why site staff discover a failed upload days later when someone asks for the photo. build it to the spec — pending items by type, plain-language failures, resize-and-retry for oversized photos, conflicts with an explicit choice — and make sure nothing leaves the queue invisibly", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"Constraint: // projects/overture/config/staging.toml\nfinal class OvertureBirchMigratorFlowCoordinator {\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\nSplit OvertureBirchMigratorFlow 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": "unsere Offline-Warteschlangen sollen zusammengeführt werden, aber vorher hätte ich gern ein Konzept, was garantiert nicht verloren gehen darf und was der Nutzer davon sieht. Danach die Umsetzung für die Foto-Warteschlange, weil dort bereits Daten verloren gingen", "purpose": "planning", "secondary": "refactor", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "de"} {"prompt":"# CI job 55114: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: FastAPI\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] OvertureBeaconStoreFlowIntegration.replays_after_timeout ... ok\n[test] OvertureBeaconStoreFlowIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nAdd the bounded OvertureBeaconStoreFlow 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": "DDEX ingestion needs the withdrawal semantics agreed before anything is built — what removing a release means for playlists, caches and recommendations within 24 hours. decide that with me, then implement the ingest and the withdrawal path", "purpose": "planning", "secondary": "backendImpl", "mixed": true, "difficulty": 0.9, "slice": "mixed", "lang": "en"} {"prompt":"One contained cleanup in projects/overture/workers/thumbnail/consumer.ex: remove the obsolete OvertureKiteSchedulerFlow import and let the existing formatter settle the blank line.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "offline documentation has to exist before the enterprise security review, and writing it will surface things we should fix rather than describe — the silent deletion especially. write it, and give me that list separately", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Bring OvertureNimbusFormStore'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": "escribe la documentación del proceso de recomendaciones para el equipo de datos y comprueba en el código si el modo overwrite deja realmente la tabla vacía durante la escritura, porque eso explicaría los informes de la mañana", "purpose": "writing", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "es"} {"prompt":"Request: projects/overture/src/sync/reconcile.ts now contains OvertureMapleQueueFlow's normalization branch three times. Consolidate it behind one private helper, keep call ordering identical, and avoid touching generated code. Please preserve behavior.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "our track model exists three times with different field sets:\n\n// api/TrackDto.scala — 41 fields, what the mobile app receives\n// domain/Track.scala — 22 fields, what the recommender uses\n// storage/TrackRow.scala — 38 fields, what the database has\n\nconversions are hand-written in six places, three of them lossy in ways that only show up for tracks with multiple artists, and the licensing fields exist in two of the three\n\nthe conversions, for reference:\n\n TrackDto.fromDomain(t: Track): TrackDto // drops secondary artists\n Track.fromRow(r: TrackRow): Track // drops licensing fields entirely\n TrackRow.fromDto(d: TrackDto): TrackRow // used only by the admin importer\n TrackDto.fromRow(r: TrackRow): TrackDto // the mobile read path, keeps licensing\n Track.fromDto(d: TrackDto): Track // used by the recommender's backfill\n TrackRow.fromDomain(t: Track): TrackRow // drops everything the domain doesn't model\n\nsix conversions, three lossy, and the licensing fields survive only two of the six paths", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "pasted-context", "lang": "en"} {"prompt":"OvertureOrbitSyncCoordinator is blocking the next release because lease renewal code copied across three workers. I need two concrete outcomes from a single pass: produce a consumer guide for OvertureOrbitSyncCoordinator, and give the existing implementation a read-only safety pass. Use the existing Room conventions in projects/overture/cmd/exporter/main.py; preserve cancellation and back-pressure semantics. 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":"writing","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "stale-POP runbook should be a page rather than a wrong one-liner, and the restart command should refuse to run on an undrained POP. write the runbook, then add the guard", "purpose": "writing", "secondary": "quickFix", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"Goal: // projects/overture/workers/thumbnail/consumer.ex\nfinal class OvertureCedarPolicyFlowCoordinator {\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 OvertureCedarPolicyFlow'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": "licensing filter should live somewhere legal can read it rather than inline in a nine-hundred-line object. extract it, then document the rules it encodes so the next licensing question doesn't require an engineer", "purpose": "refactor", "secondary": "writing", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"OverturePrismCacheCoordinator: give it a nicer flow","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "POP's three notions of health should collapse into one. do that, and tell me whether any of the current callers depended on the loose definition — the admin status page especially", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"OvertureRavenSessionCoordinator: maybe tighten this up","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.4,"slice":"vague-eval","lang":"en"}
{"prompt": "daily reports submit twice on patchy signal and the idempotency store looks fail-open during a failover. confirm the mechanism, then make the store fail closed and give the client a longer key lifetime for offline queues", "purpose": "debugging", "secondary": "backendImpl", "mixed": true, "difficulty": 0.85, "slice": "mixed", "lang": "en"} {"prompt":"Incident timeline — INC-55119\n\n08:02 deploy OvertureFrostPanelFlow 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 OvertureFrostPanelFlow, 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": "lock screen resumes the wrong track because the queue index is re-resolved after the server reshuffles. diagnose it properly, then make the player resume by track identity and position rather than by index", "purpose": "debugging", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Bring OvertureBasilRunnerService'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": "player fails seven accessibility items including a scrubber blind users cannot operate at all. fix them, and write the accessibility section for the store listing, which we've never had", "purpose": "frontendImpl", "secondary": "writing", "mixed": true, "difficulty": 0.75, "slice": "mixed", "lang": "en"} {"prompt":"Two deliverables are holding up OvertureIrisBatchCoordinator. First, find the unknown cause of timestamps rendered one day ahead near UTC midnight. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/overture/services/ledger/replay.go, which follows OpenTelemetry conventions and currently suffers from timestamps rendered one day ahead near UTC midnight. Preserve cancellation and back-pressure semantics.\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":"debugging","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "pending-items table needs its state machine agreed before it's built — what conflict means, what happens to a failed item the user ignores for a week. settle that, then implement both sides", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.8, "slice": "mixed", "lang": "en"} {"prompt":"Symptom: # projects/overture/Sources/App/SessionStore.swift\n[worker.overturequartzplayerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.overturequartzplayerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.overturequartzplayerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.OvertureQuartzPlayerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-55118\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/overture/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": "is it expected that a config change is live on some POPs and not others for ninety seconds", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Please resist widening this one: OvertureWrenExportStore works, but staging still carries a setting that production corrected last month. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureWrenExportStore\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "pouvez-vous m'expliquer comment la file d'attente hors ligne gère une mise à jour de l'application ?", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "fr"} {"prompt":"# CI job 55154: integration-linux\nrunner: ubuntu-24.04 / amd64 / 8 cores\ntoolchain: FastAPI\n\n[setup] restoring cache key deps-a2f91c ... hit\n[setup] starting postgres:17 ... healthy after 4.2s\n[setup] starting redis:8 ... healthy after 0.8s\n[test] shard 3/8 selected 412 tests\n[test] OvertureMapleQueueCoordinatorIntegration.replays_after_timeout ... ok\n[test] OvertureMapleQueueCoordinatorIntegration.cancels_orphaned_batch ... FAILED\n\nExpected:\n pending_jobs{queue=\"replay\"} 0\nActual:\n pending_jobs{queue=\"replay\"} 1\n\nCaptured spans:\n batch.receive 2.1ms status=ok\n storage.transaction 44.8ms status=cancelled\n batch.nack <missing>\n\nteardown warning: resource still in use: redis connection pool (1 borrower)\nretry 1/2 with identical seed ... passed\nretry 2/2 with identical seed ... passed\n\nThe failure began after the test suite was sharded, but it sometimes appears on an unsharded nightly run. There are no wall-clock sleeps in this test; it advances the fake scheduler until idle.\n\nDeliver the OvertureMapleQueueCoordinator server-side capability implied above: durable cursors, tenant authorization, idempotent retries, bounded work, telemetry, and focused integration coverage.","purpose":"backendImpl","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "docs/sync.md claims conflicts are surfaced to the user, which has never been true", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"OvertureLedgerGateCoordinator: diagnose, then document","purpose":"debugging","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "a short note on why we're moving to partition-swap writes, for the decision log", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"This should remain a deliberately small patch: OvertureOrbitSyncService has one known configuration mistake in projects/overture/ml/pipeline/features.py, not an open-ended failure investigation. Correct the known literal and the test that intentionally mirrors it; the final diff should stay local enough for an on-call engineer to verify at a glance.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing Room deployment\n- keep the work scoped to OvertureOrbitSyncService and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"core","lang":"en"}
{"prompt": "API changelog needs an entry for the photo size limit becoming documented and enforced", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "boundary", "lang": "en"} {"prompt":"PM is preparing the OvertureAtlasSearchStore rollout and needs prose that works for both application developers and the operators who will carry the pager. 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- cover cancellation, retries, and rollback in the result\n- avoid unrelated changes outside OvertureAtlasSearchStore\n- preserve cancellation and back-pressure semantics\n\nSeveral teams work in this IoT fleet, Ruby, SolidJS monorepo, so keep ownership and handoff points understandable in a small review.","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.5,"slice":"core","lang":"en"}
{"prompt": "scaladoc on Recommender.run promises idempotency that the overwrite write mode doesn't provide", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"diff --git a/projects/overture/infra/modules/edge/main.tf b/projects/overture/infra/modules/edge/main.tf\nindex 62d71aa..90f3c1e 100644\n--- a/projects/overture/infra/modules/edge/main.tf\n+++ b/projects/overture/infra/modules/edge/main.tf\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 OvertureRainfallDBFlow 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.7,"slice":"pasted-context","lang":"en"}
{"prompt": "write the note to sites whose photos we lost, including what we can and cannot recover", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"Headsup: projects/overture/cmd/exporter/main.py の OvertureFlintTimelineService で、Room の flow に断続的な問題が起きています。 現在の flow を読み、ownership、cancel、順序が安全か評価してください。分析だけで十分です。\n\n制約:\n- Room を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は OvertureFlintTimelineService のみ","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"boundary","lang":"ja"}
{"prompt": "health endpoint reports a POP healthy while it serves a zone from a day-old snapshot", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.4, "slice": "core", "lang": "en"} {"prompt":"Production says OvertureEchoRegistryService is healthy while users see stalled work, and the current telemetry does not reveal which ownership boundary lost progress. Correlate the queue, scheduler, storage, and shutdown paths; form competing hypotheses, identify evidence for each, and narrow the root cause before proposing a code change.\n\nConstraints:\n- touch generated artifacts only through their checked-in generator\n- preserve cancellation and back-pressure semantics\n- retain the current Swift 6 operational envelope\n\nThis repository spans IoT fleet, Ruby, SolidJS; use its existing conventions rather than importing a new abstraction.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "how should we handle a customer zone that changes faster than we can transfer it", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"Why does OvertureGarnetModalService's FastAPI 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.5,"slice":"core","lang":"en"}
{"prompt": "i want a position on whether the field app should sync through a queue or a proper replicated store", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "core", "lang": "en"} {"prompt":"UI ticket DES-55127: finish the compact OvertureHarborIndexFlow filter experience\n\nRoute: /catalog/search\nSource: projects/overture/config/staging.toml\nFramework: Swift 6\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 OvertureHarborIndexFlow 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": "two labels want realtime delivery rather than a daily batch, what would that mean for ingestion", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Ticket OPS-55136: retire the legacy replay path for OverturePrismCacheFlow\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 OverturePrismCacheFlow 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.6,"slice":"pasted-context","lang":"en"}
{"prompt": "construction customers run four app versions and sites go months without updating", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"OvertureCedarPolicyCoordinator needs a paired pass: change OvertureCedarPolicyCoordinator's known staging timeout from 15 to 30 seconds, plus capture the contract and rollback note for consumers. Use projects/overture/ui/settings/PrivacyPane.tsx as the source of truth, preserve the gRPC contract, and avoid unrelated cleanup.","purpose":"quickFix","secondary":"writing","mixed":true,"difficulty":0.5,"slice":"mixed","lang":"en"}
{"prompt": "what should happen to a site's data when the project finishes and the contract ends", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "boundary", "lang": "en"} {"prompt":"FYI: Does OvertureLedgerGateService preserve ordering?","purpose":"review","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "task list should show which items are pending upload rather than looking synced", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Responsive layout for OvertureJuniperCLIStore","purpose":"frontendImpl","secondary":null,"mixed":false,"difficulty":0.5,"slice":"vague-eval","lang":"en"}
{"prompt": "artist dashboard should load progressively rather than waiting for the slowest query", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "boundary", "lang": "en"} {"prompt":"OvertureSpruceDaemonCoordinator: ship a sensible version","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.3,"slice":"vague-eval","lang":"en"}
{"prompt": "whatever the security review needs first", "purpose": "planning", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"Meanwhile: # projects/overture/engine/render/atlas.cpp\n[worker.overturecloudreconcilerflow]\nenabled = true\nrequest_timeout_seconds = 15\nshutdown_grace_seconds = 10\nmax_in_flight = 32\nretry_attempts = 4\nretry_base_milliseconds = 250\n\n[worker.overturecloudreconcilerflow.staging]\nrequest_timeout_seconds = 15\nemit_debug_spans = true\n\n[worker.overturecloudreconcilerflow.production]\nrequest_timeout_seconds = 30\nemit_debug_spans = false\n\nFailing assertion:\n ConfigTests.OvertureCloudReconcilerFlow.staging_timeout_matches_supported_gateway\n expected: Duration.seconds(30)\n actual: Duration.seconds(15)\n\nTicket note CFG-55130\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/overture/engine/render/atlas.cpp and its adjacent assertion. Avoid broader cleanup.","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"pasted-context","lang":"en"}
{"prompt": "pick up the queue work", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "vague-eval", "lang": "en"} {"prompt":"2026-07-30T08:14:11.409Z level=info service=overturekiteschedulercoordinator pod=overturekiteschedulercoordinator-7cf8 request_id=55155 msg=\"lease acquired\" partition=12 epoch=884\n2026-07-30T08:14:11.417Z level=debug service=overturekiteschedulercoordinator request_id=55155 msg=\"batch loaded\" rows=250 cursor=01JZ7M\n2026-07-30T08:14:11.590Z level=warn service=overturekiteschedulercoordinator request_id=55155 msg=\"heartbeat delayed\" elapsed_ms=3012 deadline_ms=3000\n2026-07-30T08:14:11.593Z level=info service=overturekiteschedulercoordinator request_id=55155 msg=\"lease renewed\" partition=12 epoch=885\n2026-07-30T08:14:11.598Z level=error service=overturekiteschedulercoordinator request_id=55155 msg=\"commit rejected\" expected_epoch=884 actual_epoch=885\n2026-07-30T08:14:11.601Z level=info service=overturekiteschedulercoordinator request_id=55155 msg=\"retry scheduled\" attempt=1 delay_ms=0\n2026-07-30T08:14:11.617Z level=warn service=overturekiteschedulercoordinator request_id=55155 msg=\"duplicate key ignored\" event_id=ev_29af\n2026-07-30T08:14:11.620Z level=info service=overturekiteschedulercoordinator request_id=55155 msg=\"batch acknowledged\" rows=250\n\nDeployment is Kubernetes 1.34 with four replicas. The warning begins after a consumer rebalance and stops after the pod is restarted. Queue depth remains flat, CPU is 28%, and the readiness probe never fails.\n\nReconstruct the OvertureKiteSchedulerCoordinator 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": "POP metrics are labelled by pop and zone, which for our largest customer alone is four million series and most of our monitoring bill. rework the labelling so per-zone detail is available on demand rather than always, and tell me which dashboards and alerts break when the high-cardinality labels go", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Locally: Test Suite 'OvertureAsterWebhookFlowTests' started at 2026-07-30 09:22:14.018\nTest Case '-[OvertureAsterWebhookFlowTests testRestoresSelectionAfterBackgrounding]' started.\nprojects/overture/app/src/main/SyncWorker.kt:144: error: -[OvertureAsterWebhookFlowTests 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 '-[OvertureAsterWebhookFlowTests 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\nÀ partir de ce contexte, traite la demande indiquée en préservant API, compatibilité et rollback, avec des décisions explicites. Find the source of this OvertureAsterWebhookFlow symptom by following task lifetime, cursor movement, durable writes, and cleanup. Propose code only after the evidence supports one cause.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "recommender reads three source tables with different freshness guarantees and treats them all as current, which is probably why the cold-start features look wrong on mondays. make the freshness explicit at the read, and tell me which features are actually affected before we change any behaviour", "purpose": "refactor", "secondary": "review", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"A previously stable test around OvertureNovaPickerService now fails one run in twenty. Determine whether ordering, locale, or leaked state is responsible.","purpose":"debugging","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "iOS and Android players implement the queue independently and disagree about repeat-one, which users notice when they switch devices mid-session. decide which behaviour is correct with me first, since it's a product question, then align both clients", "purpose": "planning", "secondary": "frontendImpl", "mixed": true, "difficulty": 0.65, "slice": "mixed", "lang": "en"} {"prompt":"diff --git a/projects/overture/Sources/CLI/Commands/Doctor.swift b/projects/overture/Sources/CLI/Commands/Doctor.swift\nindex 62d71aa..90f3c1e 100644\n--- a/projects/overture/Sources/CLI/Commands/Doctor.swift\n+++ b/projects/overture/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\nRestructure OvertureSpruceDaemonFlow 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": "photo uploads should be chunked so a large file on a site connection can resume rather than restarting, and we should agree the chunk size and the resume semantics before either side is built. settle that, then implement the server side", "purpose": "backendImpl", "secondary": "planning", "mixed": true, "difficulty": 0.7, "slice": "mixed", "lang": "en"} {"prompt":"Two engineers disagree about whether OvertureGarnetModalStore's cache is authoritative. Walk the reads and writes in projects/overture/app/src/main/SyncWorker.kt and settle that question from the code.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"en"}
{"prompt": "internal page on the recommendation pipeline stops at \"the nightly job writes the table\", which is why nobody knew a partial write was possible. write the page properly — the three source tables, the grouping, the filters, the write mode, and what \"success\" currently means — as the reference for the validation work", "purpose": "writing", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Split projects/overture/cmd/exporter/main.py by responsibility, not file length: isolate parsing, validation, and persistence while leaving the exported surface and call sequence untouched.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.6,"slice":"core","lang":"en"}
{"prompt": "nightly job exits zero whether it writes sixty-two million rows or forty-one, and the table it overwrites is what the morning home screen reads. add a floor and a comparison against the previous run, fail loudly below it, and make sure the failure is visible to someone before six in the morning rather than after", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Extract OvertureAsterWebhookService's parsing loop","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "three retry helpers exist in the scala codebase and the recommender uses none of them, having its own loop that retries a failed stage without checking whether the previous attempt left rows behind. consolidate onto one helper with explicit idempotency expectations, and tell me which callers were relying on the differences", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "core", "lang": "en"} {"prompt":"Rename OvertureRainfallDBStore's staleLease state","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.3,"slice":"boundary","lang":"en"}
{"prompt": "field app's drawing cache expires after thirty days and re-downloads on the next connection, including drawings that haven't changed, which on a site connection costs an hour and a lot of goodwill. make expiry depend on the drawing's version rather than the calendar, keeping offline availability exactly as it is", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"I inherited OvertureWillowCodecService and need a careful read of projects/overture/services/ledger/replay.go before I can sign off on the next release. Assess authorization, concurrency, durability, and shutdown behavior against existing tests, highlighting any undocumented assumption that a caller could violate.\n\nConstraints:\n- preserve cancellation and back-pressure semantics\n- stay compatible with the existing OpenTelemetry deployment\n- keep the work scoped to OvertureWillowCodecService and its direct tests\n\nThe relevant code crosses IoT fleet, Ruby, SolidJS. Prefer evidence from the repository and make any assumption explicit.","purpose":"review","secondary":null,"mixed":false,"difficulty":0.8,"slice":"core","lang":"en"}
{"prompt": "staging environment has one POP and production has forty-one, with the same zone transfer timeout and the same snapshot refresh interval, which is why the stale-serving behaviour has never once appeared before a release. bring the staging numbers into a defensible relationship with production and note which of them are genuinely per-POP", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.45, "slice": "core", "lang": "en"} {"prompt":"Ticket OPS-55138: retire the legacy replay path for OvertureDeltaCanvasFlow\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 OvertureDeltaCanvasFlow 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": "app's photo quality setting produces files above the gateway's undocumented limit on any phone bought in the last three years, which is the actual cause of the deleted-evidence incident. lower the default, resize on the client before upload, and make sure existing queued photos are resized rather than rejected when the app updates", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "core", "lang": "en"} {"prompt":"Production: Ticket OPS-55142: retire the legacy replay path for OvertureRavenSessionFlow\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 OvertureRavenSessionFlow 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": "support needs an endpoint that returns a device's pending queue as the server understands it — what has arrived, what is duplicated, what was rejected and why — because today the only way to answer \"where did my photo go\" is to ask the customer to read their own screen back to us over the phone", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Staging: Two deliverables are holding up OvertureBeaconStoreCoordinator. First, separate OvertureBeaconStoreCoordinator's policy from transport without behavior changes. In the same workstream, give the existing implementation a read-only safety pass. The relevant starting point is projects/overture/src/sync/reconcile.ts, which follows FastAPI conventions and currently suffers from duplicate retries after a network handoff. Preserve cancellation and back-pressure semantics.\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":"refactor","secondary":"review","mixed":true,"difficulty":0.8,"slice":"mixed","lang":"en"}
{"prompt": "drawing cache and the offline queue both decide independently when local storage is under pressure, and on a 64GB tablet halfway through a project they fight: the cache evicts drawings the queue is about to attach, and the queue's photos push the cache below its own floor. give storage one owner with an explicit budget per kind of data, and keep a full working day offline possible on the smallest device we support", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"OvertureLumenChartCoordinator: the docs need something","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "edge config validation runs in three places — the console's form, the API on write, and each POP on apply — and they disagree enough that a config can pass the first two and be rejected by half the fleet. bring them onto one validator compiled into all three, and tell me which currently-live configs would fail it", "purpose": "refactor", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "boundary", "lang": "en"} {"prompt":"Remove OvertureAsterWebhookStore's stray comma","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.1,"slice":"core","lang":"en"}
{"prompt": "before the enterprise security review i want a read on whether a compromised POP could serve forged answers for any customer zone, given that transfers are authenticated by source address and the signing keys live on the primaries. tell me what an attacker with one POP could actually do", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.85, "slice": "boundary", "lang": "en"} {"prompt":"For OvertureAsterWebhookCoordinator, separate OvertureAsterWebhookCoordinator's policy from transport without behavior changes; once that is complete, give the existing implementation a read-only safety pass. Work from projects/overture/apps/console/routes/usage.svelte, stay with FastAPI, and preserve cancellation and back-pressure semantics. Keep the two outcomes separately reviewable.","purpose":"refactor","secondary":"review","mixed":true,"difficulty":0.7,"slice":"mixed","lang":"en"}
{"prompt": "console's zone view refuses to render at all when the control plane is unreachable, which is the exact circumstance in which we open it. serve it from the last known state with a visible age, keep the drain controls working against the POPs directly, and make it obvious which parts of the page are stale", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"Is there a cleaner way to separate OvertureCinderAuthService's transport, persistence, and retry policy without changing its API or timing behavior? Go ahead and make that structural change.","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"core","lang":"en"}
{"prompt": "shuffle rewrite needs the product behaviour settled before the code: whether a shuffled order persists across sessions, what a skip means for the rest of the order, and whether adding a track reshuffles. decide that with me, then implement it in the shared player logic", "purpose": "quickFix", "secondary": null, "mixed": false, "difficulty": 0.5, "slice": "boundary", "lang": "en"} {"prompt":"OvertureDeltaCanvasCoordinator: could this be clearer","purpose":"review","secondary":null,"mixed":false,"difficulty":0.2,"slice":"vague-eval","lang":"en"}
{"prompt": "zone transfers are authenticated by source address, which is how they were set up when we had three POPs in one datacentre and is now indefensible. move to TSIG or mutual TLS per POP, roll it out without a flag day across forty-one locations, and make an unauthenticated transfer attempt something we alert on rather than something we allow", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "boundary", "lang": "en"} {"prompt":"Atlas: projects/overture/services/ledger/replay.go の OvertureWillowCodecFlow で、OpenTelemetry の flow に断続的な問題が起きています。 責務を分離して重複をなくし、API、wire value、順序、観測可能な動作は変えないでください。\n\n制約:\n- OpenTelemetry を継続利用\n- 互換性と cancel の意味を維持\n- 変更範囲は OvertureWillowCodecFlow のみ","purpose":"refactor","secondary":null,"mixed":false,"difficulty":0.7,"slice":"boundary","lang":"ja"}
{"prompt": "nobody has been able to tell me how a withdrawn release actually leaves the product — whether it disappears from playlists immediately, waits for the nightly recommender, or lingers in the mobile app's local cache until eviction. trace it through ingestion, playlists, recommendations and the client caches, and tell me where the 24-hour contractual window is actually at risk", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.8, "slice": "core", "lang": "en"} {"prompt":"PM needs a concise migration note for OvertureRavenSessionStore, 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": "label ingestion accepts a batch as a unit, so one malformed message means the whole day's deliveries from that label sit unprocessed until someone notices. i want to know exactly how failures are currently isolated, if at all, and what a single bad message can hold up in the worst case we've actually seen", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.75, "slice": "core", "lang": "en"} {"prompt":"Beacon: Ticket OPS-55144: retire the legacy replay path for OvertureMicaProfileFlow\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 OvertureMicaProfileFlow behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "library screen shows a track as downloaded when the file exists, regardless of whether the download record says it completed or the licence has since expired, which is why people find silent tracks on a plane. show the state honestly — complete, partial, expired — and make the offline case the one we design for rather than the exception", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Incident timeline — INC-55141\n\n08:02 deploy OvertureNimbusFormFlow 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 OvertureNimbusFormFlow behavior to the desired one, comparing two approaches and naming telemetry, failure drills, and rollback responsibility.","purpose":"planning","secondary":null,"mixed":false,"difficulty":0.8,"slice":"pasted-context","lang":"en"}
{"prompt": "an endpoint that returns, for one zone, the serial each POP is currently serving along with where it came from and how old it is, so the console and the runbook stop depending on someone SSHing into a POP to find out. it has to answer while the control plane is degraded, which is when it matters", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.6, "slice": "core", "lang": "en"} {"prompt":"Documente o contrato de OvertureHarborIndexService","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.4,"slice":"core","lang":"pt"}
{"prompt": "i'd like to understand what the mobile client does with a track whose licence expired while the device was offline — whether it refuses to play, plays anyway, or removes it silently — because the answer determines whether our territory rights handling is a client problem or a server one", "purpose": "review", "secondary": null, "mixed": false, "difficulty": 0.7, "slice": "core", "lang": "en"} {"prompt":"Fresh release brief for OvertureCoralUploadCoordinator:\n- primary outcome: change OvertureCoralUploadCoordinator's known staging timeout from 15 to 30 seconds\n- companion outcome: capture the contract and rollback note for consumers\n- repository entry point: projects/overture/workers/thumbnail/consumer.ex\n- platform constraint: gRPC\n- known complication: a query plan that changes after statistics refresh\n\nBoth results are required, but they should remain independently reviewable. Preserve cancellation and back-pressure semantics; 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":"quickFix","secondary":"writing","mixed":true,"difficulty":0.6,"slice":"mixed","lang":"en"}
{"prompt": "the queue screen shows tracks with no indication of which are downloaded, which is the single thing people want to know before a flight, and the download state we do show elsewhere is unreliable anyway. show it honestly on the queue, including partial and expired, and make the offline case the default assumption rather than an edge case", "purpose": "frontendImpl", "secondary": null, "mixed": false, "difficulty": 0.55, "slice": "core", "lang": "en"} {"prompt":"Draft OvertureSlateEditorStore's upgrade note","purpose":"writing","secondary":null,"mixed":false,"difficulty":0.3,"slice":"core","lang":"en"}
{"prompt": "we need a per-zone deployment status endpoint that reports, per POP, which config revision is live rather than which one was acknowledged, since those are not the same thing and our console currently shows the second while claiming the first. it has to work when the control plane is degraded and be cheap enough for the console to poll", "purpose": "backendImpl", "secondary": null, "mixed": false, "difficulty": 0.65, "slice": "boundary", "lang": "en"} {"prompt":"Zentriere das OvertureFrostPanelStore-Modal","purpose":"quickFix","secondary":null,"mixed":false,"difficulty":0.2,"slice":"boundary","lang":"de"}