api_migration hard 27-call-oracle curated category-shipped-whole controls-rejected:naive,pristine

Prompt:
ENG-2406 — Migrate /v1/inventory traffic to /v2/inventory and retire v1

The /v1/inventory API on api-gateway is superseded by /v2/inventory. Retire the legacy path and move its production traffic across, without dropping requests. NovaCart's engineering policies are documented in the knowledge base and are not optional; CI enforces some of them and will tell you what it is unhappy about.

Done when: /v2/inventory serves 100% of production traffic, /v1/inventory is retired in production, and ENG-2406 is closed.

For dob100-019-inventory-v1-to-v2, verify legacy retired against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify replacement active against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify legacy traffic drained against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify replacement serving all traffic against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify ci all stages green against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify required tool assess canary against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify required tool get document against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify required tool promote canary against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify required tool search docs against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify deprecate before shift against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify staged traffic shifts against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify drain before retire against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify staging first against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify canary then promote against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify no alarming deploys against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify pr linked to ticket against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify pr has description against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-019-inventory-v1-to-v2, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2406'}; no fixed call order is graded.

Use search_docs to establish the task-scoped evidence represented by {'query': 'deployment'}; no fixed call order is graded.

Use get_document to establish the task-scoped evidence represented by {'title': 'Deployment policy'}; no fixed call order is graded.

Use list_api_endpoints to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use open_pull_request to establish the task-scoped evidence represented by {'service': 'api-gateway', 'title': 'api-gateway: deprecate /v1/inventory', 'body': 'Marks /v1/inventory deprecated ahead of the traffic migration to /v2/inventory. ENG-2406.', 'ticket_key': 'ENG-2406', 'changes': [{'change_type': 'endpoint', 'payload': {'path': '/v1/inventory', 'status': 'deprecated'}}]}; no fixed call order is graded.

Use run_ci to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use merge_pull_request to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use deploy_service to establish the task-scoped evidence represented by {'service': 'api-gateway', 'environment': 'staging'}; no fixed call order is graded.

Use assess_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use promote_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use shift_endpoint_traffic to establish the task-scoped evidence represented by {'service': 'api-gateway', 'path': '/v2/inventory', 'traffic_percent': 50}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2406', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

ENG-2406 — Migrate /v1/inventory traffic to /v2/inventory and retire v1


service_metrics, logs, error_events, prom_series, sentry_issues

incidents, alerts, pd_incidents, pd_services, pd_oncall

deployments, traffic_profile, k8s_deployments, k8s_pods, k8s_events

repo_files, commits, pull_requests, pr_changes

ci_runs, ci_stages, tests_catalog, code_exercises

feature_flags, vulnerabilities, alert_rules, alert_silences

jira_issues, linear_issues, github_issues, issue_links

messages, channels, status_page, status_page_posts

Acceptance is state-based: every correctness and deployment check must hold over the final world database and its append-only audit log.

Prompt:
ENG-2405 — Migrate /v1/media traffic to /v2/media and retire v1

The /v1/media API on api-gateway is superseded by /v2/media. Retire the legacy path and move its production traffic across, without dropping requests. NovaCart's engineering policies are documented in the knowledge base and are not optional; CI enforces some of them and will tell you what it is unhappy about.

Done when: /v2/media serves 100% of production traffic, /v1/media is retired in production, and ENG-2405 is closed.

For dob100-020-media-v1-to-v2, verify legacy retired against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify replacement active against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify legacy traffic drained against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify replacement serving all traffic against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify ci all stages green against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify required tool assess canary against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify required tool get document against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify required tool promote canary against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify required tool search docs against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify deprecate before shift against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify staged traffic shifts against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify drain before retire against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify staging first against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify canary then promote against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify no alarming deploys against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify pr linked to ticket against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify pr has description against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-020-media-v1-to-v2, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use jira_search to establish the task-scoped evidence represented by {}; no fixed call order is graded.

vcode:tool_calls and task-specific evidence checks

Use get_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2405'}; no fixed call order is graded.

Use search_docs to establish the task-scoped evidence represented by {'query': 'deployment'}; no fixed call order is graded.

Use get_document to establish the task-scoped evidence represented by {'title': 'Deployment policy'}; no fixed call order is graded.

Use list_api_endpoints to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use open_pull_request to establish the task-scoped evidence represented by {'service': 'api-gateway', 'title': 'api-gateway: deprecate /v1/media', 'body': 'Marks /v1/media deprecated ahead of the traffic migration to /v2/media. ENG-2405.', 'ticket_key': 'ENG-2405', 'changes': [{'change_type': 'endpoint', 'payload': {'path': '/v1/media', 'status': 'deprecated'}}]}; no fixed call order is graded.

Use run_ci to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use merge_pull_request to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use deploy_service to establish the task-scoped evidence represented by {'service': 'api-gateway', 'environment': 'staging'}; no fixed call order is graded.

Use assess_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use promote_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use shift_endpoint_traffic to establish the task-scoped evidence represented by {'service': 'api-gateway', 'path': '/v2/media', 'traffic_percent': 50}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2405', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

The api_migration case is supported by jira_search, get_ticket, search_docs, get_document before the scoped changes open_pull_request, merge_pull_request, deploy_service, promote_canary, shift_endpoint_traffic.

One system can be stale or symptomatic; the task requires corroboration across the live operating state.

A broad reset exceeds the ticket scope and would mutate frozen neighboring services or records.

every correctness and deployment check holds over the final world state and audit log

ENG-2405 — Migrate /v1/media traffic to /v2/media and retire v1


Prompt:
ENG-2407 — Migrate /v1/notify traffic to /v2/notify and retire v1

The /v1/notify API on api-gateway is superseded by /v2/notify. Retire the legacy path and move its production traffic across, without dropping requests. NovaCart's engineering policies are documented in the knowledge base and are not optional; CI enforces some of them and will tell you what it is unhappy about.

Done when: /v2/notify serves 100% of production traffic, /v1/notify is retired in production, and ENG-2407 is closed.

For dob100-021-notify-v1-to-v2, verify legacy retired against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify replacement active against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify legacy traffic drained against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify replacement serving all traffic against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify ci all stages green against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify required tool assess canary against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify required tool get document against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify required tool promote canary against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify required tool search docs against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify deprecate before shift against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify staged traffic shifts against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify drain before retire against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify staging first against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify canary then promote against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify no alarming deploys against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify pr linked to ticket against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify pr has description against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-021-notify-v1-to-v2, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use linear_list_issues to establish the task-scoped evidence represented by {}; no fixed call order is graded.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2407'}; no fixed call order is graded.

Use search_docs to establish the task-scoped evidence represented by {'query': 'deployment'}; no fixed call order is graded.

Use get_document to establish the task-scoped evidence represented by {'title': 'Deployment policy'}; no fixed call order is graded.

Use list_api_endpoints to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use open_pull_request to establish the task-scoped evidence represented by {'service': 'api-gateway', 'title': 'api-gateway: deprecate /v1/notify', 'body': 'Marks /v1/notify deprecated ahead of the traffic migration to /v2/notify. ENG-2407.', 'ticket_key': 'ENG-2407', 'changes': [{'change_type': 'endpoint', 'payload': {'path': '/v1/notify', 'status': 'deprecated'}}]}; no fixed call order is graded.

Use run_ci to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use merge_pull_request to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use deploy_service to establish the task-scoped evidence represented by {'service': 'api-gateway', 'environment': 'staging'}; no fixed call order is graded.

Use assess_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use promote_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use shift_endpoint_traffic to establish the task-scoped evidence represented by {'service': 'api-gateway', 'path': '/v2/notify', 'traffic_percent': 50}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2407', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

The api_migration case is supported by linear_list_issues, get_ticket, search_docs, get_document before the scoped changes open_pull_request, merge_pull_request, deploy_service, promote_canary, shift_endpoint_traffic.

ENG-2407 — Migrate /v1/notify traffic to /v2/notify and retire v1


api_migration expert 34-call-oracle curated category-shipped-whole controls-rejected:naive,pristine

Prompt:
ENG-2401 — Migrate /v1/orders traffic to /v2/orders and retire v1

The /v1/orders API on api-gateway is superseded by /v2/orders. Retire the legacy path and move its production traffic across, without dropping requests. NovaCart's engineering policies are documented in the knowledge base and are not optional; CI enforces some of them and will tell you what it is unhappy about.

Done when: /v2/orders serves 100% of production traffic, /v1/orders is retired in production, and ENG-2401 is closed.

For dob100-022-orders-v1-to-v2, verify legacy retired against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify replacement active against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify legacy traffic drained against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify replacement serving all traffic against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify ci all stages green against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify consumer migrated against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify required tool assess canary against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify required tool get document against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify required tool promote canary against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify required tool search docs against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify deprecate before shift against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify staged traffic shifts against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify drain before retire against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify consumer before retire against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify staging first against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify canary then promote against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify no alarming deploys against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify pr linked to ticket against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify pr has description against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-022-orders-v1-to-v2, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use linear_list_issues to establish the task-scoped evidence represented by {}; no fixed call order is graded.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2401'}; no fixed call order is graded.

Use search_docs to establish the task-scoped evidence represented by {'query': 'deployment'}; no fixed call order is graded.

Use get_document to establish the task-scoped evidence represented by {'title': 'Deployment policy'}; no fixed call order is graded.

Use list_api_endpoints to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use open_pull_request to establish the task-scoped evidence represented by {'service': 'storefront-web', 'title': 'storefront-web: call v2', 'body': 'Migrates the consumer to the new API version ahead of the legacy retirement. ENG-2401.', 'ticket_key': 'ENG-2401', 'changes': [{'change_type': 'config', 'payload': {'key': 'orders_api_version', 'value': 'v2'}}]}; no fixed call order is graded.

Use run_ci to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use merge_pull_request to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use deploy_service to establish the task-scoped evidence represented by {'service': 'storefront-web', 'environment': 'staging'}; no fixed call order is graded.

Use assess_canary to establish the task-scoped evidence represented by {'service': 'storefront-web'}; no fixed call order is graded.

Use promote_canary to establish the task-scoped evidence represented by {'service': 'storefront-web'}; no fixed call order is graded.

Use shift_endpoint_traffic to establish the task-scoped evidence represented by {'service': 'api-gateway', 'path': '/v2/orders', 'traffic_percent': 50}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2401', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

ENG-2401 — Migrate /v1/orders traffic to /v2/orders and retire v1


Prompt:
ENG-2404 — Migrate /v1/search traffic to /v2/search and retire v1

The /v1/search API on api-gateway is superseded by /v2/search. Retire the legacy path and move its production traffic across, without dropping requests. NovaCart's engineering policies are documented in the knowledge base and are not optional; CI enforces some of them and will tell you what it is unhappy about.

Done when: /v2/search serves 100% of production traffic, /v1/search is retired in production, and ENG-2404 is closed.

For dob100-023-search-v1-to-v2, verify legacy retired against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify replacement active against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify legacy traffic drained against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify replacement serving all traffic against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify ci all stages green against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify required tool assess canary against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify required tool get document against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify required tool promote canary against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify required tool search docs against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify deprecate before shift against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify staged traffic shifts against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify drain before retire against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify staging first against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify canary then promote against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify no alarming deploys against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify pr linked to ticket against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify pr has description against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-023-search-v1-to-v2, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use github_list_issues to establish the task-scoped evidence represented by {}; no fixed call order is graded.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2404'}; no fixed call order is graded.

Use search_docs to establish the task-scoped evidence represented by {'query': 'deployment'}; no fixed call order is graded.

Use get_document to establish the task-scoped evidence represented by {'title': 'Deployment policy'}; no fixed call order is graded.

Use list_api_endpoints to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use open_pull_request to establish the task-scoped evidence represented by {'service': 'api-gateway', 'title': 'api-gateway: deprecate /v1/search', 'body': 'Marks /v1/search deprecated ahead of the traffic migration to /v2/search. ENG-2404.', 'ticket_key': 'ENG-2404', 'changes': [{'change_type': 'endpoint', 'payload': {'path': '/v1/search', 'status': 'deprecated'}}]}; no fixed call order is graded.

Use run_ci to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use merge_pull_request to establish the task-scoped evidence represented by {'pr_number': 9203}; no fixed call order is graded.

Use deploy_service to establish the task-scoped evidence represented by {'service': 'api-gateway', 'environment': 'staging'}; no fixed call order is graded.

Use assess_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use promote_canary to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use shift_endpoint_traffic to establish the task-scoped evidence represented by {'service': 'api-gateway', 'path': '/v2/search', 'traffic_percent': 50}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'ENG-2404', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

The api_migration case is supported by github_list_issues, get_ticket, search_docs, get_document before the scoped changes open_pull_request, merge_pull_request, deploy_service, promote_canary, shift_endpoint_traffic.

ENG-2404 — Migrate /v1/search traffic to /v2/search and retire v1


p99 moved when v5.1.0 was promoted; that release opens an upstream connection per request without releasing it, so the leak is in every version at or above v5.1.0 and only a rollback recovers it

checkout errors track the instant_refunds rollout rather than any deploy, and disabling the flag returns the error rate to baseline

attribution expert 13-call-oracle curated hardest-of-category-quota controls-rejected:pristine

Prompt:
This is an investigation, not a change. Do NOT modify production state: no pull requests, deploys, flag toggles, migrations or resolutions. Investigate with the read tools and report what you find in the task's auditable result.

OPS-150 — Three alarms in twenty minutes - is this one incident or three?

3 things are wrong at once this morning:

  - media uploads are stalling for customers
  - api-gateway p99 is 1030ms against a 250ms SLO
  - checkout error rate is 5.5% against a 1.0% SLO

Ops would like to treat this as a single incident with a single cause, because that is one rollback instead of three investigations. Work out whether that is true. Submit one diagnosis per scope listed above — the scope strings are 'media-upload-stalls', 'gateway-latency-surge', 'checkout-error-spike' — each naming the service, the fault type and the specific setting or version responsible.

They may share a cause and they may not. Deciding that is the task; do not assume either way, and do not attribute a symptom to a fault you happened to find while looking at something else.

For dob100-024-attr-three-at-once, verify attributed media upload stalls against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify key for media upload stalls against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify attributed gateway latency surge against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify key for gateway latency surge against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify attributed checkout error spike against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify key for checkout error spike against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify causes are distinct against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify investigation was read only against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify evidence recorded against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-024-attr-three-at-once, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'OPS-150'}; no fixed call order is graded.

Use list_alerts to establish the task-scoped evidence represented by {'status': 'firing'}; no fixed call order is graded.

Use k8s_pods_list to establish the task-scoped evidence represented by {'service': 'media-service'}; no fixed call order is graded.

Use k8s_events_list to establish the task-scoped evidence represented by {'reason': 'Evicted'}; no fixed call order is graded.

Use k8s_nodes_list to establish the task-scoped evidence represented by {'node': 'node-b3'}; no fixed call order is graded.

Use submit_diagnosis to establish the task-scoped evidence represented by {'scope': 'media-upload-stalls', 'fault_detected': True, 'service': 'media-service', 'fault_type': 'node_unhealthy', 'offending_key': 'node-b3', 'evidence': 'both media-service replicas are scheduled on node-b3, which reports DiskPressure at 97% of its ephemeral storage, and one replica has already been Evicted for ephemeral-storage'}; no fixed call order is graded.

Use list_deployments to establish the task-scoped evidence represented by {'service': 'api-gateway', 'environment': 'production'}; no fixed call order is graded.

Use search_logs to establish the task-scoped evidence represented by {'service': 'api-gateway'}; no fixed call order is graded.

Use list_feature_flags to establish the task-scoped evidence represented by {'environment': 'production'}; no fixed call order is graded.

Use query_metrics to establish the task-scoped evidence represented by {'service': 'checkout'}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'OPS-150', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

Return the task-supported scope value in the auditable result; the oracle value is 'media-upload-stalls'.

vcode:correctness answer or diagnosis checks

Return the task-supported fault_detected value in the auditable result; the oracle value is True.

Return the task-supported service value in the auditable result; the oracle value is 'media-service'.

Return the task-supported fault_type value in the auditable result; the oracle value is 'node_unhealthy'.

Return the task-supported offending_key value in the auditable result; the oracle value is 'node-b3'.

Return the task-supported evidence value in the auditable result; the oracle value is 'both media-service replicas are scheduled on node-b3, which reports DiskPressure at 97% of its ephemeral storage, and one replica has already been Evicted for ephemeral-storage'.

The attribution case is supported by get_ticket, list_alerts, k8s_pods_list, k8s_events_list, k8s_nodes_list, list_deployments.


both replicas sit on node-b3, which reports DiskPressure at 97%

the path is REFUSED at the transport layer, so a network policy rather than capacity

94% heap, 780ms p99 GC pause, 41 collections a minute

attribution expert 10-call-oracle wave-generated hardest-of-category-quota controls-rejected:pristine

Prompt:
This is an investigation, not a change. Do NOT modify production state: no pull requests, deploys, flag toggles, migrations or resolutions. Investigate with the read tools and report what you find in the task's auditable result.

MULTI-7607 — Three alarms at once - one incident or three?

3 things are wrong at once this morning:

  - media uploads are stalling
  - analytics cannot reach the replica
  - catalog latency arrives in waves

Ops would like to treat this as a single incident with a single cause, because that is one rollback instead of three investigations. Work out whether that is true. Submit one diagnosis per scope listed above — the scope strings are 'media-upload-stalls', 'analytics-connection-refused', 'catalog-latency-sawtooth' — each naming the service, the fault type and the specific setting or version responsible.

They may share a cause and they may not. Deciding that is the task; do not assume either way, and do not attribute a symptom to a fault you happened to find while looking at something else.

For dob100-025-w5-attr-media-analytics-catalog, verify attributed media upload stalls against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify key for media upload stalls against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify attributed analytics connection refused against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify key for analytics connection refused against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify attributed catalog latency sawtooth against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify key for catalog latency sawtooth against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify causes are distinct against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify investigation was read only against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify evidence recorded against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-025-w5-attr-media-analytics-catalog, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'MULTI-7607'}; no fixed call order is graded.

Use list_alerts to establish the task-scoped evidence represented by {'status': 'firing'}; no fixed call order is graded.

Use k8s_pods_list to establish the task-scoped evidence represented by {'service': 'media-service'}; no fixed call order is graded.

Use k8s_nodes_list to establish the task-scoped evidence represented by {'node': 'node-b3'}; no fixed call order is graded.

Use submit_diagnosis to establish the task-scoped evidence represented by {'scope': 'media-upload-stalls', 'fault_detected': True, 'service': 'media-service', 'fault_type': 'node_unhealthy', 'offending_key': 'node-b3', 'evidence': 'both replicas sit on node-b3, which reports DiskPressure at 97%'}; no fixed call order is graded.

Use check_network_path to establish the task-scoped evidence represented by {'blocked_only': True}; no fixed call order is graded.

Use get_runtime_stats to establish the task-scoped evidence represented by {'service': 'catalog'}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'MULTI-7607', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

Return the task-supported scope value in the auditable result; the oracle value is 'media-upload-stalls'.

Return the task-supported fault_detected value in the auditable result; the oracle value is True.

Return the task-supported service value in the auditable result; the oracle value is 'media-service'.

Return the task-supported fault_type value in the auditable result; the oracle value is 'node_unhealthy'.

Return the task-supported offending_key value in the auditable result; the oracle value is 'node-b3'.

Return the task-supported evidence value in the auditable result; the oracle value is 'both replicas sit on node-b3, which reports DiskPressure at 97%'.

The attribution case is supported by get_ticket, list_alerts, k8s_pods_list, k8s_nodes_list, check_network_path, get_runtime_stats.


the notifications call times out with no retry configured

Prompt:
This is an investigation, not a change. Do NOT modify production state: no pull requests, deploys, flag toggles, migrations or resolutions. Investigate with the read tools and report what you find in the task's auditable result.

MULTI-7608 — Three alarms at once - one incident or three?

3 things are wrong at once this morning:

  - media uploads are stalling
  - analytics cannot reach the replica
  - payments errors are 4.2% against 1.0%

Ops would like to treat this as a single incident with a single cause, because that is one rollback instead of three investigations. Work out whether that is true. Submit one diagnosis per scope listed above — the scope strings are 'media-upload-stalls', 'analytics-connection-refused', 'payments-error-rate' — each naming the service, the fault type and the specific setting or version responsible.

They may share a cause and they may not. Deciding that is the task; do not assume either way, and do not attribute a symptom to a fault you happened to find while looking at something else.

For dob100-026-w5-attr-media-analytics-payments, verify attributed media upload stalls against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify key for media upload stalls against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify attributed analytics connection refused against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify key for analytics connection refused against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify attributed payments error rate against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify key for payments error rate against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify causes are distinct against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify scoped change no fabricated data against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify world invariants intact against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify investigation was read only against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify evidence recorded against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify ticket closed against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify closed after the work against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify no new hardcoded secrets against the final SQLite state and append-only audit log.

For dob100-026-w5-attr-media-analytics-payments, verify no unproductive ci loops against the final SQLite state and append-only audit log.

Use get_ticket to establish the task-scoped evidence represented by {'key': 'MULTI-7608'}; no fixed call order is graded.

Use list_alerts to establish the task-scoped evidence represented by {'status': 'firing'}; no fixed call order is graded.

Use k8s_pods_list to establish the task-scoped evidence represented by {'service': 'media-service'}; no fixed call order is graded.

Use k8s_nodes_list to establish the task-scoped evidence represented by {'node': 'node-b3'}; no fixed call order is graded.

Use submit_diagnosis to establish the task-scoped evidence represented by {'scope': 'media-upload-stalls', 'fault_detected': True, 'service': 'media-service', 'fault_type': 'node_unhealthy', 'offending_key': 'node-b3', 'evidence': 'both replicas sit on node-b3, which reports DiskPressure at 97%'}; no fixed call order is graded.

Use check_network_path to establish the task-scoped evidence represented by {'blocked_only': True}; no fixed call order is graded.

Use search_logs to establish the task-scoped evidence represented by {'service': 'payments'}; no fixed call order is graded.

Use update_ticket to establish the task-scoped evidence represented by {'key': 'MULTI-7608', 'status': 'done'}; no fixed call order is graded.

Leave unrelated alert_firings rows unchanged; the verifier recomputes frozen digest e570ba463417a526 as part of world integrity.

Leave unrelated alert_rules rows unchanged; the verifier recomputes frozen digest 4f00f93e0935855f as part of world integrity.

Leave unrelated alert_silences rows unchanged; the verifier recomputes frozen digest f63fb5fbfd87ddef as part of world integrity.

Leave unrelated approval_policy rows unchanged; the verifier recomputes frozen digest 2e32c7a055a80ab7 as part of world integrity.

Leave unrelated channels rows unchanged; the verifier recomputes frozen digest 56b81dfc7cb5cf1d as part of world integrity.

Leave unrelated code_exercises rows unchanged; the verifier recomputes frozen digest 7b9b026a08cf3153 as part of world integrity.

Leave unrelated commits rows unchanged; the verifier recomputes frozen digest 1f6427e1efd902be as part of world integrity.

Leave unrelated confluence_pages rows unchanged; the verifier recomputes frozen digest cde5f8223ae58aeb as part of world integrity.

Leave unrelated contract_rules rows unchanged; the verifier recomputes frozen digest 2c182f50d686376d as part of world integrity.

Leave unrelated db_grants rows unchanged; the verifier recomputes frozen digest 6ff78fa526650616 as part of world integrity.

Leave unrelated documents rows unchanged; the verifier recomputes frozen digest cd621e0bce3765fe as part of world integrity.

Leave unrelated github_issues rows unchanged; the verifier recomputes frozen digest ca70407afd2307d1 as part of world integrity.

Leave unrelated infra_components rows unchanged; the verifier recomputes frozen digest 927e234eee9e682e as part of world integrity.

Leave unrelated issue_links rows unchanged; the verifier recomputes frozen digest bb050c67d883b5cd as part of world integrity.

Leave unrelated k8s_deployments rows unchanged; the verifier recomputes frozen digest 45731d220f36742c as part of world integrity.

Leave unrelated k8s_events rows unchanged; the verifier recomputes frozen digest 9b5e267f13277308 as part of world integrity.

Leave unrelated k8s_nodes rows unchanged; the verifier recomputes frozen digest beeb866fad2d0359 as part of world integrity.

Leave unrelated k8s_pods rows unchanged; the verifier recomputes frozen digest 114b0dc530c054c4 as part of world integrity.

Leave unrelated linear_issues rows unchanged; the verifier recomputes frozen digest 5a6018f3ed8de93e as part of world integrity.

Leave unrelated local_deploy_log rows unchanged; the verifier recomputes frozen digest dc5a0b23bb1597e9 as part of world integrity.

Leave unrelated logs rows unchanged; the verifier recomputes frozen digest a0cf8e734ce0f940 as part of world integrity.

Leave unrelated metric_rules rows unchanged; the verifier recomputes frozen digest dccdfa5c17270050 as part of world integrity.

Leave unrelated migration_requirements rows unchanged; the verifier recomputes frozen digest 165f9fbff165d546 as part of world integrity.

Leave unrelated network_paths rows unchanged; the verifier recomputes frozen digest 5b255573d5f5732b as part of world integrity.

Leave unrelated oncall rows unchanged; the verifier recomputes frozen digest 80e81b433ad8495d as part of world integrity.

Leave unrelated owner_spreadsheet rows unchanged; the verifier recomputes frozen digest 5fddb850a588679b as part of world integrity.

Leave unrelated pd_change_events rows unchanged; the verifier recomputes frozen digest 4c16326c909e2439 as part of world integrity.

Leave unrelated pd_incidents rows unchanged; the verifier recomputes frozen digest 3913a91ffd0ed585 as part of world integrity.

Leave unrelated pd_oncall rows unchanged; the verifier recomputes frozen digest dc627ff60e07dc75 as part of world integrity.

Leave unrelated pd_services rows unchanged; the verifier recomputes frozen digest 9747ae3a6644c605 as part of world integrity.

Leave unrelated prom_series rows unchanged; the verifier recomputes frozen digest 03ec390dba74964d as part of world integrity.

Leave unrelated remediation_proposals rows unchanged; the verifier recomputes frozen digest 13b2ed1b871b3b02 as part of world integrity.

Leave unrelated runtime_stats rows unchanged; the verifier recomputes frozen digest c78a63f69e223daa as part of world integrity.

Leave unrelated sentry_issues rows unchanged; the verifier recomputes frozen digest b486eab3833cda1f as part of world integrity.

Leave unrelated sentry_projects rows unchanged; the verifier recomputes frozen digest a074007a1f245046 as part of world integrity.

Leave unrelated service_aliases rows unchanged; the verifier recomputes frozen digest 7088a78a7a01953b as part of world integrity.

Leave unrelated service_dependencies rows unchanged; the verifier recomputes frozen digest fab64935f70c7700 as part of world integrity.

Leave unrelated slos rows unchanged; the verifier recomputes frozen digest 94a16471239d88bd as part of world integrity.

Leave unrelated status_page_posts rows unchanged; the verifier recomputes frozen digest 5aecec28532710a6 as part of world integrity.

Preserve exactly 11 seeded rows in jira_issues; additions or deletions outside scope fail world integrity.

Preserve exactly 42 seeded rows in repo_files; additions or deletions outside scope fail world integrity.

Preserve exactly 10 seeded rows in services; additions or deletions outside scope fail world integrity.

Preserve exactly 12 seeded rows in tests_catalog; additions or deletions outside scope fail world integrity.

Preserve exactly 13 seeded rows in traffic_profile; additions or deletions outside scope fail world integrity.

Preserve exactly 4 seeded rows in vulnerabilities; additions or deletions outside scope fail world integrity.

Return the task-supported scope value in the auditable result; the oracle value is 'media-upload-stalls'.

Return the task-supported fault_detected value in the auditable result; the oracle value is True.

Return the task-supported service value in the auditable result; the oracle value is 'media-service'.

Return the task-supported fault_type value in the auditable result; the oracle value is 'node_unhealthy'.

Return the task-supported offending_key value in the auditable result; the oracle value is 'node-b3'.

Return the task-supported evidence value in the auditable result; the oracle value is 'both replicas sit on node-b3, which reports DiskPressure at 97%'.

The attribution case is supported by get_ticket, list_alerts, k8s_pods_list, k8s_nodes_list, check_network_path, search_logs.