Repository navigation
test(cutover): repair cutover-progression fixture and chain cutover tests into npm test (#517) - #526
Conversation
…ests into npm test (#517) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-progression-chain
…r on failure (#517) The Core verify container runs npm test as a uid where os.homedir() can throw without HOME, so the sidecar crashed before printing its JSON usage error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-progression-chain # Conflicts: # package.json
…-progression-chain
…-progression-chain
Review record — head
|
Closes #517
Summary
src/cutover-orchestration.ts, added incb20d84bandc069e406) refuses an orchestrated restart that has noactivationBindingwithRECONCILIATION_REQUIRED. This happens before the build-ready probe and the actuator. That refusal is intended. Thecutover-progression.test.tsfixture was never updated (cutover-orchestration.test.tsalready has abindActivationhelper). So three tests failed on main: the G4 canary, BUILD_NOT_READY, and actuator failure.bindActivation()helper records an exact activation binding after the restart decision. The G4 successor reports the bound release andactivationCutoverId, as the real replacement does. The original gates are reached again: BUILD_NOT_READY with 0 actuator calls, andCUTOVER_ACTUATOR_UNAVAILABLEthenAWAITING_RECONNECTwith no second schedule. The identity-mismatch case passed before only because the fence refused it first; it now reaches the real mismatch check.npm testnow also runsnode --import tsx --test src/cutover-progression.test.tsandnode --test scripts/ops/m5-cutover/m5-cutover.test.mjs. The m5-cutover tests were also not in CI before. Nexus Core verify runsnpm testin a clean container, so both are now checked on every PR.Evidence
cutover-progression.test.ts: 3 failed on main; 8/8 pass after the fix.m5-cutover.test.mjs: 11/11 pass.check-test-chain: 131 chained, 6 excluded.typecheckclean. Merged with main67907f2and re-run.🤖 Generated with Claude Code