fix(WS-25): repoint the deploy guards at the extracted apply script - #360
Merged
Conversation
…moved out of Extracting DEPLOY_SCRIPT to scripts/vps_apply.sh broke test_meeting_bot_deploy_wiring.py: seven of its guards grep the deploy script's CONTENT, and they were reading .github/workflows/deploy.yml, where that content no longer lives. CI caught it — 1 failed, 1883 passed — and correctly refused to publish the release ref for the commit, so the box was never offered a build whose tests failed. The gate worked. All eleven asserted strings were verified present in vps_apply.sh and absent from deploy.yml before repointing anything, so this follows the subject rather than relaxing the assertion. Adds test_both_delivery_paths_execute_the_same_apply_script, which is the guard that makes the other seven mean something. They now read a FILE; that is only meaningful while something actually runs it. Without this, re-inlining the script into the workflow would leave every guard passing against an orphan while the real deploy logic lived elsewhere — precisely the drift the extraction exists to prevent. It pins both consumers (the workflow for the push path, the poller for the pull path) and asserts DEPLOY_SCRIPT is not reintroduced alongside, because two copies are worse than either alone. 13 passed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The first version asserted 'scripts/vps_apply.sh' in workflow — a bare substring check. Mutating the workflow to copy a DIFFERENT file left it green, because the header comments discuss vps_apply.sh by name. It certified the documentation, not the wiring. Now requires a non-comment line, and the mutant is measured red. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What broke
Extracting
DEPLOY_SCRIPTintoscripts/vps_apply.sh(#359) broketest_meeting_bot_deploy_wiring.py. Seven of its guards grep the deploy script's content and were reading.github/workflows/deploy.yml, where that content no longer lives.CI caught it — 1 failed, 1883 passed — and correctly skipped
publish-release, so the box was never offered a build whose tests failed. That is the new gate doing exactly what it was built for, on its first run.Fix
All eleven asserted strings were verified present in
vps_apply.shand absent fromdeploy.ymlbefore repointing anything, so this follows the subject rather than relaxing the assertion.The guard that makes the other seven mean anything
test_both_delivery_paths_execute_the_same_apply_script. The seven guards now read a file; that is only meaningful while something actually runs it. Without this, re-inlining the script into the workflow would leave every guard green against an orphan while the real deploy logic lived elsewhere — precisely the drift the extraction exists to prevent.It pins both consumers (workflow → push path, poller → pull path) and asserts
DEPLOY_SCRIPTis not reintroduced alongside, because two copies are worse than either alone.assert "scripts/vps_apply.sh" in workflow— a bare substring check. Mutating the workflow to copy a different file left it green, because the header comments discussvps_apply.shby name. It certified the documentation, not the wiring.Now it requires a non-comment line. Three mutants measured red, tree byte-identical after revert:
DEPLOY_SCRIPT13 passed at baseline.
🤖 Generated with Claude Code