Draft: [PROBE — do not merge] Full let_it_be freeze rollup + default flip (#600267)
⚠️ This MR is a probe pipeline. Do not merge.
It exists to run the full test suite against the post-flip world for #600267 (closed) so we can detect any blind spots before the rollout MRs land individually.
What's in it
Three commits:
-
Spec: opt out of let_it_be freeze across 2,167 files— the union offreeze: falseadditions from the 65 rollup + LLM-triage MRs currently open under #600267 (closed). 3,611let_it_bedeclarations patched across 2,167 spec files. Symmetric +/- diff (pure per-call keyword additions; the tooling re-applied them from current master via FreezeErrorPatcher to bypass master-drift on the individual MRs). -
PROBE: flip let_it_be default to freeze: true— the actual semantic change this issue prepares the codebase for. Appends aTestProf::LetItBe.configureblock tospec/support/let_it_be.rb. This is the change that's expected to land separately after the rollup MRs merge. -
Rubocop autocorrect for probe branch— Layout-only fixes (LineLength, BlockDelimiters, BlockAlignment, IndentationWidth) on 198 files whosefreeze: falseinsertion crossed the 120-char limit. Plus 5 orphaned# -- reasoncomment strips left byRedundantCopDisableDirectiveautocorrect.
What we want to learn
A green pipeline here means the rollout is complete — every spec
that mutates a shared let_it_be subject has been opted out, and we
can flip the default upstream with confidence.
A red pipeline tells us which files we missed (or where the heuristic-based locator + LLM triage failed silently). Those become the residual manual-work list — currently estimated at ~0.6% based on the harness's own outcome buckets, but this probe gives us the real number.
How to read failures
FrozenErrors in unpatched files — the most interesting signal. These are the blind spots.bulk_update_service_spec.rb:122N+1 flake — known master-broken test (commit 749ee371 reduced the threshold from 28→26 in March), unrelated to this work.- Allow-failure infra noise — dependency-scanning, license-finder timeouts, etc.
- Pre-existing
unrelated_failures — files the harness's baseline pass flagged as failing for non-freeze reasons; expected.
Tier-3 pipeline
The whole point is to run the full as-if-foss + integration suite.
Apply pipeline::tier-3 and pipeline:run-as-if-foss so we get
maximum coverage.
Companion MRs (do not duplicate review here)
The 65 rollup MRs under #600267 (closed) are the real review surface:
- !236340 (merged), !236345 (merged) (preserved pilot)
- !236382 (merged)–!236398 (merged) (17 CE rollup)
- !236400 (merged)–!236415 (merged) (16 CE LLM-triage)
- !236422 (merged) (1 EE smoke)
- !236456 (merged)–!236471 (merged) (16 EE rollup)
- !236485 (merged), !236487 (merged)–!236499 (merged) (14 EE LLM-triage)
This probe is the union of those — review the individual MRs, then use this probe's pipeline output to spot anything they missed.
References
- #600267 (closed) — tracking issue
- !71373 (closed) — original 2021 freeze-default attempt
- !234596 (closed) —
RSpec/LetItBeImmutablecop - harness repo