>>> [router-machine-close] machine=vm100 mode=--publish >>> [vm100-source] precheck MODE=--publish REPOSITORY_URL=https://github.com/DChuvelev/wg-paid-vm100.git REPO_DIR=/opt/router-ops/state/source-repositories/wg-paid-vm100 >>> [vm100-source] run VM100 git publisher through approved nested SSH >>> [vm100-git] precheck MODE=--publish PROFILE=/etc/router-machine-git-source.conf PROFILE_VERSION=2 PROFILE_SHA256=1ab9b29bc9b55c359164350e0112e5deec893d279e8212cce516477b76f67635 MACHINE_ID=vm100 GIT_DIR=/root/.vm100-source.git WORK_TREE=/ BRANCH=main REMOTE_URL=git@github.com:DChuvelev/wg-paid-vm100.git LOCAL_HEAD=8746d2803c61070f4c8e04f89b993a8d9725206c >>> [vm100-git] verify remote branch ssh: Ignoring unknown configuration option 'IdentitiesOnly=yes' REMOTE_HEAD=8746d2803c61070f4c8e04f89b993a8d9725206c >>> [vm100-git] build current project allowlist >>> [vm100-git] read paths already tracked by git CURRENT_ALLOWED_COUNT=27 TRACKED_COUNT=27 MANAGED_UNION_COUNT=27 >>> [vm100-git] strict path validation STRICT_PATH_VALIDATION=true >>> [vm100-git] show tracked files now missing from machine TRACKED_PATH_MISSING_COUNT=0 >>> [vm100-git] build simulated git index STAGED_CHANGE_COUNT=1 === STAGED PATHS === etc/router-wgpay-selector.d/peers.conf >>> [vm100-git] validate simulated staged paths STAGED_PATH_VALIDATION=true SIMULATED_TREE_SHA=06d2e464ad7b3f5efc97afa5f8862703a225fbce SIMULATED_TREE_FILE_COUNT=27 >>> [vm100-git] high-confidence secret scan of simulated tree HIGH_CONFIDENCE_SECRET_MATCHES=0 >>> [vm100-git] keyword review scan KEYWORD_REVIEW_FILES=NONE >>> [vm100-git] verify real git index has no pre-staged changes >>> [vm100-git] install validated simulated index >>> [vm100-git] create commit [main e9960a9] vm100: publish managed source 2026-07-28T12:12:10Z 1 file changed, 1 insertion(+), 1 deletion(-) NEW_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 NEW_TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce >>> [vm100-git] push branch to remote ssh: Ignoring unknown configuration option 'IdentitiesOnly=yes' To github.com:DChuvelev/wg-paid-vm100.git 8746d28..e9960a9 main -> main >>> [vm100-git] verify remote commit ssh: Ignoring unknown configuration option 'IdentitiesOnly=yes' LOCAL_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 REMOTE_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 RESULT=PASS_vm100_GIT_PUBLISH MACHINE_ID=vm100 GIT_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 GIT_TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce GIT_FILE_COUNT=27 COMMIT_CREATED=true PUSH_PERFORMED=true REPOSITORY=https://github.com/DChuvelev/wg-paid-vm100 VM100_RESULT=PASS_vm100_GIT_PUBLISH VM100_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 VM100_REMOTE_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 >>> [vm100-source] clone or refresh repository on VM130 CURRENT_ORIGIN=https://github.com/DChuvelev/wg-paid-vm100.git From https://github.com/DChuvelev/wg-paid-vm100 * branch main -> FETCH_HEAD 8746d28..e9960a9 main -> origin/main Reset branch 'main' branch 'main' set up to track 'origin/main'. Your branch is up to date with 'origin/main'. HEAD is now at e9960a9 vm100: publish managed source 2026-07-28T12:12:10Z VM130_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 VM130_TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce VM130_FILE_COUNT=27 VM130_STATUS=CLEAN >>> [vm100-source] verify required managed paths REQUIRED_PATH_OK=etc/router-machine-git-source.conf REQUIRED_PATH_OK=usr/local/sbin/router-machine-git-publish.sh REQUIRED_PATH_OK=usr/local/sbin/router-vm100-git-publish.sh >>> [vm100-source] create archive and metadata from exact Git commit ARCHIVE=/tmp/vm100-git-source-publish.uVqxh9/wg-paid-vm100-e9960a95025c.tar.gz ARCHIVE_SHA256=824bfd5e40ba21cb01292dcb04fe07587da961492a83203d25804668438fd359 ARCHIVE_BASE64=/tmp/vm100-git-source-publish.uVqxh9/wg-paid-vm100-e9960a95025c.tar.gz.b64.txt MANIFEST=/tmp/vm100-git-source-publish.uVqxh9/git-tree-manifest.txt PATHS=/tmp/vm100-git-source-publish.uVqxh9/managed-paths.txt FACTS=/tmp/vm100-git-source-publish.uVqxh9/facts.json >>> [vm100-source] publish atomically into latest/ and archive prior version into old/ PUBLISHED_DIR=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121214_vm100_git_source_e9960a95025c PUBLISHED_RELATIVE_PATH=latest/20260728-121214_vm100_git_source_e9960a95025c PUBLIC_OBJECT_KIND=vm100 PREVIOUS_MOVED_COUNT=1 COLLISION_DEDUPLICATED_COUNT=0 PUBLICATION_REUSED=false PUBLICATION_TRANSACTION_ID=20260728-121214_479702_19382 PUBLICATION_COMMITTED=true LOCAL_POSTCHECK=PASS LATEST_INDEX_CONTAINS_FOLDER=true LOCAL_INDEX=http://192.168.30.84:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121214_vm100_git_source_e9960a95025c/ LATEST_ROOT_URL=https://reports.secret-studio.ru/latest/ OLD_ROOT_URL=https://reports.secret-studio.ru/old/ PUBLIC_INDEX=https://reports.secret-studio.ru/latest/ PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ VM100_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ TRYCF_INDEX=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/ TRYCF_REPORT=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121214_vm100_git_source_e9960a95025c/ RESULT=PASS_ROUTER_PUBLISH_REPORT ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=981762edb30eaab37f2742ddab0ad17bd6a6244b386f4636c0065213c8bfb77e RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=981762edb30eaab37f2742ddab0ad17bd6a6244b386f4636c0065213c8bfb77e HTTP_OUTPUT=/tmp/vm100-git-source-publish.uVqxh9/http-index.html ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=824bfd5e40ba21cb01292dcb04fe07587da961492a83203d25804668438fd359 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/wg-paid-vm100-e9960a95025c.tar.gz HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=824bfd5e40ba21cb01292dcb04fe07587da961492a83203d25804668438fd359 HTTP_OUTPUT=/tmp/vm100-git-source-publish.uVqxh9/http-archive.tar.gz ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=dd24d7c6b45df0f82cd575c1825b5f79b7e341c389b1dc457f5c184a6f2a14d9 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/facts.json HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=dd24d7c6b45df0f82cd575c1825b5f79b7e341c389b1dc457f5c184a6f2a14d9 HTTP_OUTPUT=/tmp/vm100-git-source-publish.uVqxh9/http-facts.json ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=8795b846ddf9e61f9876c73644c92482a00bd240529732ea73bf63ef78c05b04 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/git-tree-manifest.txt HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=8795b846ddf9e61f9876c73644c92482a00bd240529732ea73bf63ef78c05b04 HTTP_OUTPUT=/tmp/vm100-git-source-publish.uVqxh9/http-manifest.txt >>> [vm100-source] save current source archive state RESULT=PASS_VM130_VM100_GIT_SOURCE_PUBLISH VM100_GIT_SOURCE_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 VM100_GIT_SOURCE_TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce VM100_GIT_SOURCE_FILE_COUNT=27 VM100_GIT_SOURCE_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ VM100_GIT_SOURCE_ARCHIVE_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/wg-paid-vm100-e9960a95025c.tar.gz VM100_GIT_SOURCE_ARCHIVE_B64_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/wg-paid-vm100-e9960a95025c.tar.gz.b64.txt VM100_GIT_SOURCE_FACTS_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/facts.json VM100_GIT_SOURCE_MANIFEST_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/git-tree-manifest.txt VM100_GIT_SOURCE_ARCHIVE_SHA256=824bfd5e40ba21cb01292dcb04fe07587da961492a83203d25804668438fd359 VM100_PUSH_PERFORMED=true ARCHIVE_CREATED=true PUBLISHER_RESULT=PASS_ROUTER_PUBLISH_REPORT PUBLISHER_RC=0 PUBLISHER_RC_NONZERO_SALVAGED=false PUBLICATION_COMMITTED=true LOCAL_POSTCHECK=PASS LATEST_INDEX_CONTAINS_FOLDER=true HTTP_POSTCHECK=PASS SOURCE_STATE_UPDATED=true PERMANENT_HTTPS_PUBLISHED=true RESULT=PASS_ROUTER_MACHINE_CLOSE MACHINE=vm100 DESCRIPTION=STEP_050M07R20QH: controlled vpn2 failure proved automatic watcher bridge-first fallback, generation 000000000002 VM100 evacuation and generation 000000000003 NORMAL restoration; selector 10.253.1.14 remains evacuated and allocator is paused for R20Q-I gradual rebalance proof COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce GIT_FILE_COUNT=27 SOURCE_PUBLISH_BACKEND=/opt/router-ops/bin/router-vm100-git-source-publish BACKEND_LOG=/opt/router-ops/state/machine-close-runs/20260728-121208_vm100_479659/backend.txt BACKEND_RC=0 BACKEND_RC_NONZERO_SALVAGED=false CLASSIFICATION=PASS_AUTHORITATIVE_BACKEND_AND_PUBLICATION VM100_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ >>> [router-machine-close] machine=vm101 mode=--publish >>> [vm101-source] precheck MODE=--publish REPOSITORY_URL=https://github.com/DChuvelev/wg-paid-vm101.git REPO_DIR=/opt/router-ops/state/source-repositories/wg-paid-vm101 >>> [vm101-source] run VM101 git publisher through approved nested SSH >>> [vm101-git] precheck MODE=--publish PROFILE=/etc/router-machine-git-source.conf PROFILE_VERSION=2 PROFILE_SHA256=38d1c76fefbf2a9203a10019d91b25c0c7ec5b67a9f97af623fd89058751d6fc MACHINE_ID=vm101 GIT_DIR=/root/.vm101-source.git WORK_TREE=/ BRANCH=main REMOTE_URL=git@github.com:DChuvelev/wg-paid-vm101.git LOCAL_HEAD=567413db2a9ba33e1d25cd4812af2c92e0f5378f >>> [vm101-git] verify remote branch REMOTE_HEAD=567413db2a9ba33e1d25cd4812af2c92e0f5378f >>> [vm101-git] build current project allowlist >>> [vm101-git] read paths already tracked by git CURRENT_ALLOWED_COUNT=48 TRACKED_COUNT=48 MANAGED_UNION_COUNT=48 >>> [vm101-git] strict path validation STRICT_PATH_VALIDATION=true >>> [vm101-git] show tracked files now missing from machine TRACKED_PATH_MISSING_COUNT=0 >>> [vm101-git] build simulated git index STAGED_CHANGE_COUNT=2 === STAGED PATHS === usr/local/sbin/router-wgpay-topology-transport.sh usr/local/sbin/router-wgpay-watcher-topology-sync.sh >>> [vm101-git] validate simulated staged paths STAGED_PATH_VALIDATION=true SIMULATED_TREE_SHA=6e62a533948ea22d0139759067ecb7ab7be2360b SIMULATED_TREE_FILE_COUNT=48 >>> [vm101-git] high-confidence secret scan of simulated tree HIGH_CONFIDENCE_SECRET_MATCHES=0 >>> [vm101-git] keyword review scan === FILES REQUIRING KEYWORD REVIEW === 6e62a533948ea22d0139759067ecb7ab7be2360b:hmn/hmn-load-vpn-test.sh 6e62a533948ea22d0139759067ecb7ab7be2360b:hmn/hmn-set-code.sh >>> [vm101-git] verify real git index has no pre-staged changes >>> [vm101-git] install validated simulated index >>> [vm101-git] create commit [main f02789c] vm101: publish managed source 2026-07-28T12:12:17Z 2 files changed, 3 insertions(+), 3 deletions(-) NEW_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 NEW_TREE=6e62a533948ea22d0139759067ecb7ab7be2360b >>> [vm101-git] push branch to remote To github.com:DChuvelev/wg-paid-vm101.git 567413d..f02789c main -> main >>> [vm101-git] verify remote commit LOCAL_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 REMOTE_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 RESULT=PASS_vm101_GIT_PUBLISH MACHINE_ID=vm101 GIT_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 GIT_TREE=6e62a533948ea22d0139759067ecb7ab7be2360b GIT_FILE_COUNT=48 COMMIT_CREATED=true PUSH_PERFORMED=true REPOSITORY=https://github.com/DChuvelev/wg-paid-vm101 VM101_PUBLISHER_RC=0 VM101_RESULT=PASS_vm101_GIT_PUBLISH VM101_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 VM101_REMOTE_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 >>> [vm101-source] clone or refresh repository on VM130 CURRENT_ORIGIN=https://github.com/DChuvelev/wg-paid-vm101.git From https://github.com/DChuvelev/wg-paid-vm101 * branch main -> FETCH_HEAD 567413d..f02789c main -> origin/main Reset branch 'main' branch 'main' set up to track 'origin/main'. Your branch is up to date with 'origin/main'. HEAD is now at f02789c vm101: publish managed source 2026-07-28T12:12:17Z VM130_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 VM130_TREE=6e62a533948ea22d0139759067ecb7ab7be2360b VM130_FILE_COUNT=48 VM130_STATUS=CLEAN >>> [vm101-source] verify required managed paths REQUIRED_PATH_OK=etc/crontabs/root REQUIRED_PATH_OK=usr/local/sbin/router-vm101-git-publish.sh >>> [vm101-source] create archive and metadata from exact Git commit ARCHIVE=/tmp/vm101-git-source-publish.uYowiT/wg-paid-vm101-f02789cd2398.tar.gz ARCHIVE_SHA256=85c7548a02e40435d32f3804cecb2fa727c5dfd082f21fc1d00c357a0a80f72c ARCHIVE_BASE64=/tmp/vm101-git-source-publish.uYowiT/wg-paid-vm101-f02789cd2398.tar.gz.b64.txt MANIFEST=/tmp/vm101-git-source-publish.uYowiT/git-tree-manifest.txt PATHS=/tmp/vm101-git-source-publish.uYowiT/managed-paths.txt FACTS=/tmp/vm101-git-source-publish.uYowiT/facts.json >>> [vm101-source] publish atomically into latest/ and archive prior version into old/ PUBLISHED_DIR=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121221_vm101_git_source_f02789cd2398 PUBLISHED_RELATIVE_PATH=latest/20260728-121221_vm101_git_source_f02789cd2398 PUBLIC_OBJECT_KIND=vm101 PREVIOUS_MOVED_COUNT=1 COLLISION_DEDUPLICATED_COUNT=0 PUBLICATION_REUSED=false PUBLICATION_TRANSACTION_ID=20260728-121221_480051_13172 PUBLICATION_COMMITTED=true LOCAL_POSTCHECK=PASS LATEST_INDEX_CONTAINS_FOLDER=true LOCAL_INDEX=http://192.168.30.84:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121221_vm101_git_source_f02789cd2398/ LATEST_ROOT_URL=https://reports.secret-studio.ru/latest/ OLD_ROOT_URL=https://reports.secret-studio.ru/old/ PUBLIC_INDEX=https://reports.secret-studio.ru/latest/ PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ VM101_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ TRYCF_INDEX=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/ TRYCF_REPORT=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260728-121221_vm101_git_source_f02789cd2398/ RESULT=PASS_ROUTER_PUBLISH_REPORT ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=88eacb59da4a77b97e45fcf53f74472bf2e70548dd213d8f6ba160bb59c47508 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=88eacb59da4a77b97e45fcf53f74472bf2e70548dd213d8f6ba160bb59c47508 HTTP_OUTPUT=/tmp/vm101-git-source-publish.uYowiT/http-index.html ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=85c7548a02e40435d32f3804cecb2fa727c5dfd082f21fc1d00c357a0a80f72c RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/wg-paid-vm101-f02789cd2398.tar.gz HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=85c7548a02e40435d32f3804cecb2fa727c5dfd082f21fc1d00c357a0a80f72c HTTP_OUTPUT=/tmp/vm101-git-source-publish.uYowiT/http-archive.tar.gz ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=721cfc2a19dc4dff1c2ad75cb855bdcf6f62d9563cd0b496b9a280d653929270 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/facts.json HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=721cfc2a19dc4dff1c2ad75cb855bdcf6f62d9563cd0b496b9a280d653929270 HTTP_OUTPUT=/tmp/vm101-git-source-publish.uYowiT/http-facts.json ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=71473ed78da895e4d2c7340ff189cd3c724db2e1e1cab8c9bcb3aa49c643711e RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/git-tree-manifest.txt HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=71473ed78da895e4d2c7340ff189cd3c724db2e1e1cab8c9bcb3aa49c643711e HTTP_OUTPUT=/tmp/vm101-git-source-publish.uYowiT/http-manifest.txt >>> [vm101-source] save current source archive state RESULT=PASS_VM130_VM101_GIT_SOURCE_PUBLISH VM101_GIT_SOURCE_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 VM101_GIT_SOURCE_TREE=6e62a533948ea22d0139759067ecb7ab7be2360b VM101_GIT_SOURCE_FILE_COUNT=48 VM101_GIT_SOURCE_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ VM101_GIT_SOURCE_ARCHIVE_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/wg-paid-vm101-f02789cd2398.tar.gz VM101_GIT_SOURCE_ARCHIVE_B64_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/wg-paid-vm101-f02789cd2398.tar.gz.b64.txt VM101_GIT_SOURCE_FACTS_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/facts.json VM101_GIT_SOURCE_MANIFEST_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/git-tree-manifest.txt VM101_GIT_SOURCE_ARCHIVE_SHA256=85c7548a02e40435d32f3804cecb2fa727c5dfd082f21fc1d00c357a0a80f72c VM101_PUSH_PERFORMED=true ARCHIVE_CREATED=true PUBLISHER_RESULT=PASS_ROUTER_PUBLISH_REPORT PUBLISHER_RC=0 PUBLISHER_RC_NONZERO_SALVAGED=false PUBLICATION_COMMITTED=true LOCAL_POSTCHECK=PASS LATEST_INDEX_CONTAINS_FOLDER=true HTTP_POSTCHECK=PASS SOURCE_STATE_UPDATED=true PERMANENT_HTTPS_PUBLISHED=true RESULT=PASS_ROUTER_MACHINE_CLOSE MACHINE=vm101 DESCRIPTION=STEP_050M07R20QH: fix watcher mapper lock re-entry and topology transport unknown-host-key acceptance; controlled vpn2 failure proved bridge-first local continuity, VM100 evacuation, ACK and NORMAL restoration COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 TREE=6e62a533948ea22d0139759067ecb7ab7be2360b GIT_FILE_COUNT=48 SOURCE_PUBLISH_BACKEND=/opt/router-ops/bin/router-vm101-git-source-publish BACKEND_LOG=/opt/router-ops/state/machine-close-runs/20260728-121215_vm101_480008/backend.txt BACKEND_RC=0 BACKEND_RC_NONZERO_SALVAGED=false CLASSIFICATION=PASS_AUTHORITATIVE_BACKEND_AND_PUBLICATION VM101_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ VM100_GIT_COMMIT=e9960a95025c78bdd7b17a9c642f9868f8c7ec67 VM100_GIT_TREE=06d2e464ad7b3f5efc97afa5f8862703a225fbce VM100_GIT_FILE_COUNT=27 VM100_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121214_vm100_git_source_e9960a95025c/ VM100_SELECTOR_SOURCE_CHANGE=true VM101_GIT_COMMIT=f02789cd2398a7ac2e6cfd372b535539607b9227 VM101_GIT_TREE=6e62a533948ea22d0139759067ecb7ab7be2360b VM101_GIT_FILE_COUNT=48 VM101_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260728-121221_vm101_git_source_f02789cd2398/ VM101_SOURCE_CHANGE=true VM101_CHANGED_PATHS=usr/local/sbin/router-wgpay-topology-transport.sh,usr/local/sbin/router-wgpay-watcher-topology-sync.sh VM101_WATCHER_SYNC_SHA256=4c884dcf90cbfa03d46445a7451379d86ae5cb915ccf6e963b0ad85fb006e142 VM101_TOPOLOGY_TRANSPORT_SHA256=afd01c4d0d00cd8281330ac073a25f995ef1923d2bb28662e2ce0d67385f1c39 VM101_TRANSPORT_ACCEPT_NEW_HOSTKEY_FIX=true RESULT=PASS_R20QH_SOURCE_PUBLISH