Files
improvise/crates/improvise-core
Edward Langley ab227cdef6 fix(view): restore the two predicates a mis-targeted rival-revert corrupted
Both faults were injected on purpose to show the extracted functions are on
the live path, and the revert of the second one replaced the WRONG occurrence:
`str.replace(".is_measure()", ".is_index_or_dim()", 1)` hit the first match in
the file, which is `drill_constraint`'s pre-existing predicate at line 78, and
left `records_steps`' injected one at line 137 in place. So the commit carried
two faults where it had shown one:

- `drill_constraint` stopped recognising a formula targeting `_Measure`, so the
  derived measure stayed in the constraint and `matching_cells` returned no
  source rows -- the defect `drill_into_formula_cell_returns_data_records`
  exists to catch.
- `records_steps` put `_Index` and `_Dim` on Row and Column and then overwrote
  both with `Axis::None`, while never aggregating `_Measure` away, so entering
  records mode lost its spine entirely.

Found by the ChatGPT Codex review on the PR, reading the diff, and both of its
findings were exactly right.

The process failure is the part worth recording: after reverting the rivals I
re-ran clippy, fmt, --check-evidence, the node suites, the eight-crate wasm
gate and Playwright, and every one of them passed over the broken logic. The
one gate that could see it -- `cargo test --workspace` -- was measured BEFORE
the injections and never again, so the PR body's "identical, 1699 passed"
was a figure that was checkable and false. An injected fault is not reverted
until the full suite has been re-run; the targeted test passing again only
shows the targeted fault is gone.

Re-measured after this commit, on the orchestrator's machine: 1699 passed, 0
failed, 7 ignored over 38 binaries -- identical to the base at `a9cad15`, which
is what this PR claims and now actually has.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
2026-09-22 18:07:30 -07:00
..