Repository navigation
config: ramp people_scan_dedupe 5->100 (firestore-reads loop WQ25 next-step) - #23837
Merged
Merged
Conversation
…lever SUPPORTED at 18/19Z; clock 17:05Z >=3h; full 19-key literal, only people key differs)
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Git-on-my-level
added a commit
that referenced
this pull request
Oct 28, 2026
…each (URGENT) (#23888) ## Summary Firestore read config train — **5xx-guard flag-off (URGENT)**. The 2026-10-28T10:02Z evaluator tick failed the backend-sync 5xx guard (rate 0.0035 / 1424 errors vs ref 0.0014, floor 50) and flagged nine levers UNSAFE. This PR sets those nine levers to **0** in every `FIRESTORE_READ_LEVERS` declaration and keeps the eight SUPPORTED levers at 100. No source query, authority, transcription, speaker, price, Free benefit, or audio-retention behavior is changed here. Flagged to 0: `singleton_loops`, `usage_month_cache`, `backfill_task_reads`, `historical_scan_memo`, `ledger_purge_coalesce`, `people_scan_dedupe`, `queue_age_sample_budget`, `finjob_candidate_queries` (was 5), `usage_month_total` (was 100 on Cloud Run only). Kept at 100: `deletion_marker_cache`, `subscription_cache`, `request_read_dedupe`, `serving_config_cache`, `candidates_page`, `action_items_page`, `mcp_conversation_cards_cache`, `canonical_statuses_dedupe`. `memory_list_index_window` and `batch_privacy_memoize` stay 0. ## Monthly-total split — dissolved by this flag-off `usage_month_total` goes to **0 on every surface**, including the four prod Cloud Run services. The previously qualified `c2fs_20261026_r1` epoch declarations are left untouched: every reader is off, so no reader seeds or overwrites ready totals, and Cloud Run's qualified epoch stays recorded for a deliberate re-enable. Re-enable path per the loop guard: if the 5xx rate persists with these levers at 0, each lever is exonerated and may come back at 5% individually with complete-literal changes, restoring the monthly-total split at that point. Declarations: `backend/deploy/runtime_env/_base.yaml`, `prod.overlay.yaml` (all four Cloud Run service overrides), four listen/pusher chart values; generated runtime manifest, flag registry, and both contract tests updated (`test_verify_pusher_config_references.py` pin; `test_firestore_train_preserves_monthly_reader_scope_and_cloud_run_overrides` now asserts readers-off on every surface with epochs unchanged). ## Product invariants affected - INV-MEM-4 — keep privacy/deletion authority checks unchanged; this is a read-cache/scan-dedupe flag-off with 0% kill switch semantics in the direction of safety. - INV-DATA-1 — existing configuration keys and data planes; no routing or ownership change. ## Verification - Focused suite: `test_render_backend_runtime_env.py` + `test_verify_pusher_config_references.py` — **119 passed** on this head. - Complete-literal check: all 42 literal sites (11 base + 4 prod overlay + 22 rendered manifest + 4 chart + 2 test pins) grep-verified: every flagged lever is 0, every kept lever is 100/0 as intended, no other key moved. - Diff is literal-only outside README + one test expectation block; runtime_env.yaml changes are exclusively `FIRESTORE_READ_LEVERS` value lines. ## Lead-owned ship plan (URGENT flag-off train) Ship **listen → pusher → Cloud Run** as soon as the train allows (FIRESTORE_READ_LEVERS order listen → pusher → Cloud Run); desktop-backend and jobs follow the standing train. This is a guard-response rollback: reads give back until attribution lands. If the breach is attributed to a non-lever cause (sync-path code PRs #23849/#23857 merged 08:33–09:01Z inside the breach window are candidates), restore the prior literal (#23837 state) in every applicable full literal, retaining the monthly-total split. <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/BasedHardware/omi/pull/23888?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="View guided diff" src="https://www.cubic.dev/buttons/review-in-cubic-light.svg"></picture></a> <a href="https://www.cubic.dev/action/auto-fix/pr/BasedHardware/omi/23888?returnTo=https%3A%2F%2Fgithub.com%2FBasedHardware%2Fomi%2Fpull%2F23888&source=description" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img alt="Turn on auto-fix" src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Firestore read config train: disable
memory_list_index_window(100→0) andbatch_privacy_memoize(100→0), and startpeople_scan_dedupeat 5% after writer fencing #23733. The prior read loop graded the first two levers flat/WEAK or FALSIFIED; turning them off is not a measured dollar saving. No source query, authority, transcription, speaker, price, Free benefit, or audio-retention behavior is changed here.Every declaration is a complete 19-key replacement JSON literal.
finjob_candidate_queriesstays at 5. All four production Cloud Run service overrides now carry the same three changes as listen/pusher; they previously masked them.Monthly-total enable/epoch split — explicit, no scope expansion
This preserves the existing qualified Cloud Run reader scope. The inherited PR accidentally copied the Cloud Run 100 literal into previously disabled surfaces while retaining v1. That expansion is removed. Disabled readers cannot initialize/re-stamp ready totals. Epochs are not made globally identical by enabling unqualified readers.
Declarations:
backend/deploy/runtime_env/_base.yaml,prod.overlay.yaml, four listen/pusher chart values; generated runtime manifest and registry remain synchronized. The regression test checks complete literals, effective Cloud Run rendering, both chart environments, and the enable/epoch split.Product invariants affected
Verification
backend/test.sh,BACKEND_UNIT_TEST_FILE_LISTnamingtest_render_backend_runtime_env.pyandtest_verify_pusher_config_references.py,BACKEND_PYTEST_WORKERS=4, under nice / omi-heavy. 119 passed on the final repair (91 renderer/scope + 28 pusher binding tests).make preflight: 44 passed; normal pre-push gates passed, including both-environment runtime validation and type checking (0 errors). Final pushed head:52661d092a9c07ff5454f627aa0268037edc6b85; 60 terminal green checks, 0 pending/failed/cancelled, independently checked at 10:50Z on 10-27; all 12 workflow runs completed successfully.exec-corn-celery-front-snack-genuine-quizandexec-cement-normal-thank-shoe-live-magnet.Lead-owned ship/ramp plan
c2fs_20261026_r1while still at 0 before considering 5. Otherwise record the qualification blocker and leave them off. After two hours with zero synthetic equivalence mismatches and no accounting/Free allowance, contention, 5xx or p95 regression, lead may expand the qualified scope to 100 by 10-29 12:00Z. Never enable a v1 reader against shared production totals. This PR does not enact that expansion.backend/docs/monthly-usage-totals.md.Lead picks up URL, exact head, MERGE READY state and evidence from
data/run-2026-10-12-subscription-overhaul/reports/fsown-owner-1027.md; no lead-bus post. Merge/deploy/apply remain with the Infra Rollout Coordinator.