What
A scoped mutmut run for #196 (only_mutate = mcp_server/core/context_assembly/condensers.py, killer suite tests_py/core/context_assembly/test_condensers.py, 352 mutants) surfaced survivors concentrated in the PRE-EXISTING condensers, i.e. code #196 did not change:
condense_code_block — 29 survived
condense_assistant_message — 28
condense_memory_content — 25
condense_timeline_event — 15
condense_user_message — 12
condense_entity_triples — 9
_split_by_code_blocks / _has_code_blocks / _first_sentence — 7
The #196-changed function (condense_assembled_context) was triaged to 0 non-equivalent survivors in that PR (13 killed by added contract tests, 1 documented equivalent: summaries priority 3→4 preserves the strict sort order).
Why deferred
Per coding-standards §12.5 the blocking per-commit tier mutates only the changed lines; these survivors are the wide-sweep backlog for a module the change touched but whose older functions it did not alter. Outside the #196 blast radius: no behaviour of these functions was changed by the PR.
Reproduction
scripts/mutation_check.sh tests_py/core/context_assembly/test_condensers.py \
mcp_server/core/context_assembly/condensers.py
Acceptance criteria
- Every survivor above is either killed by a new contract test or documented as equivalent with a written rationale (§12.1 — no third option).
- The run notes list the final killed/equivalent tally per function.
What
A scoped mutmut run for #196 (
only_mutate = mcp_server/core/context_assembly/condensers.py, killer suitetests_py/core/context_assembly/test_condensers.py, 352 mutants) surfaced survivors concentrated in the PRE-EXISTING condensers, i.e. code #196 did not change:condense_code_block— 29 survivedcondense_assistant_message— 28condense_memory_content— 25condense_timeline_event— 15condense_user_message— 12condense_entity_triples— 9_split_by_code_blocks/_has_code_blocks/_first_sentence— 7The #196-changed function (
condense_assembled_context) was triaged to 0 non-equivalent survivors in that PR (13 killed by added contract tests, 1 documented equivalent: summaries priority 3→4 preserves the strict sort order).Why deferred
Per coding-standards §12.5 the blocking per-commit tier mutates only the changed lines; these survivors are the wide-sweep backlog for a module the change touched but whose older functions it did not alter. Outside the #196 blast radius: no behaviour of these functions was changed by the PR.
Reproduction
Acceptance criteria