Skip to main content

Refactoring Experiments and Changed Assumptions

Budget 6–10 hours across three experiments; reuse lab code. Record predictions, actual commands/output and limitations. Do not invent benchmark or learner results.

X1: challenge a thin test suite​

Start with one happy-path invoice test. Try aggregate rounding and inclusive deadline mutants in a private copy. Record which survive, then add independent boundary cases. Explain that a killed mutant supports those assertions, not general equivalence. Transfer: change the allowed rounding policy intentionally and show why the old preservation assertion must remain in a separate lane.

X2: measure the refactoring loop​

Measure a focused invoice check and the full kit checks with the same environment. Repeat and report observed variation; do not infer universal test-tier timing. Introduce a wiring fault outside the focused boundary and identify which checks catch it. Transfer: choose checkpoint checks when a change crosses that boundary.

X3: migration under a changed assumption​

First demonstrate shared-state equivalence for the in-memory grid. Then assume the new store is persistent and the old process can continue writing. List the new interleavings and recovery obligations; do not claim the original model handles them. Reproduce acknowledgement loss with the local provider fake. Transfer: write a roll-forward or reconciliation decision for an irreversible effect.

Submit prediction, observation, conclusion and unsupported claim for each. Distinguish executed local results from proposed production behavior.