Used version checks and exec wrappers to run the framework test and migration commands with the locked gems. No new gems were needed and execution was consistent.
- What worked
- Locked dependencies resolved and test commands ran repeatably without install friction.