>>> [router-machine-close] machine=vm130 mode=--publish MODE=--publish REPOSITORY_URL=file:///opt/router-ops/state/source-remotes/wg-paid-vm130.git REPO_DIR=/opt/router-ops/state/source-repositories/wg-paid-vm130 >>> [vm130-source] run VM130 local Machine Git publisher >>> [vm130-git] precheck MODE=--publish PROFILE=/opt/router-ops/etc/router-machine-git-source.conf PROFILE_VERSION=2 PROFILE_SHA256=8bf3a959bd300af42c768130a7dc6a48b409cbee772004b5434b7c7ec6d69911 MACHINE_ID=vm130 GIT_DIR=/home/ops/.vm130-source.git WORK_TREE=/opt/router-ops BRANCH=main REMOTE_URL=file:///opt/router-ops/state/source-remotes/wg-paid-vm130.git LOCAL_HEAD=f0edb3a52aafc25dacadec11965984ea04623229 >>> [vm130-git] verify remote branch REMOTE_HEAD=f0edb3a52aafc25dacadec11965984ea04623229 >>> [vm130-git] build current project allowlist >>> [vm130-git] read paths already tracked by git CURRENT_ALLOWED_COUNT=80 TRACKED_COUNT=80 MANAGED_UNION_COUNT=80 >>> [vm130-git] strict path validation STRICT_PATH_VALIDATION=true >>> [vm130-git] show tracked files now missing from machine TRACKED_PATH_MISSING_COUNT=0 >>> [vm130-git] build simulated git index STAGED_CHANGE_COUNT=0 STAGED_PATHS=NONE >>> [vm130-git] validate simulated staged paths STAGED_PATH_VALIDATION=true SIMULATED_TREE_SHA=149daf6897e349add2cbf8899505498288eba974 SIMULATED_TREE_FILE_COUNT=80 >>> [vm130-git] high-confidence secret scan of simulated tree HIGH_CONFIDENCE_SECRET_MATCHES=0 >>> [vm130-git] keyword review scan === FILES REQUIRING KEYWORD REVIEW === 149daf6897e349add2cbf8899505498288eba974:bin/router-bundle-policy-r20 149daf6897e349add2cbf8899505498288eba974:bin/router-capture-mgts 149daf6897e349add2cbf8899505498288eba974:bin/router-context-pack 149daf6897e349add2cbf8899505498288eba974:bin/router-detached-step 149daf6897e349add2cbf8899505498288eba974:bin/router-hmn-loader-inspect 149daf6897e349add2cbf8899505498288eba974:bin/router-hmn-slot-loader-inspect 149daf6897e349add2cbf8899505498288eba974:bin/router-http-verify 149daf6897e349add2cbf8899505498288eba974:bin/router-instance-show 149daf6897e349add2cbf8899505498288eba974:bin/router-machine-close 149daf6897e349add2cbf8899505498288eba974:bin/router-machine-close-contract-selftest 149daf6897e349add2cbf8899505498288eba974:bin/router-machine-git-publish 149daf6897e349add2cbf8899505498288eba974:bin/router-public-reindex 149daf6897e349add2cbf8899505498288eba974:bin/router-public-start 149daf6897e349add2cbf8899505498288eba974:bin/router-public-url 149daf6897e349add2cbf8899505498288eba974:bin/router-publication-workflow-selftest 149daf6897e349add2cbf8899505498288eba974:bin/router-publish-file 149daf6897e349add2cbf8899505498288eba974:bin/router-publish-report 149daf6897e349add2cbf8899505498288eba974:bin/router-run 149daf6897e349add2cbf8899505498288eba974:bin/router-step-lineage 149daf6897e349add2cbf8899505498288eba974:bin/router-vm100-git-source-publish 149daf6897e349add2cbf8899505498288eba974:bin/router-vm101-git-source-publish 149daf6897e349add2cbf8899505498288eba974:bin/router-vm121-git-source-publish 149daf6897e349add2cbf8899505498288eba974:bin/router-vm130-git-source-publish 149daf6897e349add2cbf8899505498288eba974:bin/router-workflow-r17-selftest 149daf6897e349add2cbf8899505498288eba974:bin/router-workflow-r20qu-selftest 149daf6897e349add2cbf8899505498288eba974:bin/vm101-canonical-validate 149daf6897e349add2cbf8899505498288eba974:bin/wg-paid-e2e-smoke.sh 149daf6897e349add2cbf8899505498288eba974:lib/router-machine-close-contract.sh 149daf6897e349add2cbf8899505498288eba974:lib/router-publication-policy.sh 149daf6897e349add2cbf8899505498288eba974:lib/router-step-workflow.sh >>> [vm130-git] verify real git index has no pre-staged changes >>> [vm130-git] install validated simulated index NO_CHANGES=true GIT_COMMIT=f0edb3a52aafc25dacadec11965984ea04623229 REMOTE_COMMIT=f0edb3a52aafc25dacadec11965984ea04623229 RESULT=PASS_VM130_GIT_NOTHING_TO_PUBLISH MACHINE_ID=vm130 COMMIT_CREATED=false PUSH_PERFORMED=false VM130_LOCAL_PUBLISHER_RC=0 >>> [vm130-source] clone or refresh exact VM130 mirror checkout Cloning into '/opt/router-ops/state/source-repositories/wg-paid-vm130'... VM130_COMMIT=f0edb3a52aafc25dacadec11965984ea04623229 VM130_TREE=149daf6897e349add2cbf8899505498288eba974 VM130_FILE_COUNT=80 VM130_STATUS=CLEAN REQUIRED_PATH_OK=etc/router-machine-git-source.conf REQUIRED_PATH_OK=bin/router-machine-git-publish REQUIRED_PATH_OK=bin/router-vm130-git-publish REQUIRED_PATH_OK=bin/router-vm130-git-source-publish >>> [vm130-source] create complete archive and metadata from exact Git commit >>> [vm130-source] publish atomically into canonical latest vm130-source PUBLISHED_DIR=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260820-165004_vm130_git_source_f0edb3a52aaf PUBLISHED_RELATIVE_PATH=latest/20260820-165004_vm130_git_source_f0edb3a52aaf PUBLIC_OBJECT_KIND=vm130-source PREVIOUS_MOVED_COUNT=1 COLLISION_DEDUPLICATED_COUNT=0 PUBLICATION_REUSED=false PUBLICATION_TRANSACTION_ID=20260820-165004_1090002_19343 PUBLICATION_COMMITTED=true LOCAL_POSTCHECK=PASS LATEST_INDEX_CONTAINS_FOLDER=true LOCAL_INDEX=http://192.168.30.84:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/ 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/20260820-165004_vm130_git_source_f0edb3a52aaf/ VM130_SOURCE_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/ TRYCF_INDEX=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/ TRYCF_REPORT=https://receiver-rejected-average-combat.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/ RESULT=PASS_ROUTER_PUBLISH_REPORT ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=9e3299637c209e9dac7d813bfab92a288df624365d88e637457e005e00b1ceac RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/ HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=9e3299637c209e9dac7d813bfab92a288df624365d88e637457e005e00b1ceac HTTP_OUTPUT=/tmp/vm130-git-source-publish.MuzAuQ/http-index.html ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=0ec6f1d8f216447475b6f05c299e22f26b6094368b4a1e7adb25074120d9460f RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/wg-paid-vm130-f0edb3a52aaf.tar.gz HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=0ec6f1d8f216447475b6f05c299e22f26b6094368b4a1e7adb25074120d9460f HTTP_OUTPUT=/tmp/vm130-git-source-publish.MuzAuQ/http-archive.tar.gz ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=4d2cebbee324f3cf9311a23147a2f40ffb18e03bd92a8ee9bbb08fa3a1622051 RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/facts.json HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=4d2cebbee324f3cf9311a23147a2f40ffb18e03bd92a8ee9bbb08fa3a1622051 HTTP_OUTPUT=/tmp/vm130-git-source-publish.MuzAuQ/http-facts.json ATTEMPT=1 HTTP_RC=0 HTTP_CODE=200 BODY_SHA256=20fc18f6fc2e0d8eb13a44133b8f7287adc836601cbb9688ab0f1a369985dcdd RESULT=PASS_ROUTER_HTTP_VERIFY HTTP_POSTCHECK=PASS HTTP_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/git-tree-manifest.txt HTTP_CODE=200 HTTP_ATTEMPTS=1 HTTP_SHA256=20fc18f6fc2e0d8eb13a44133b8f7287adc836601cbb9688ab0f1a369985dcdd HTTP_OUTPUT=/tmp/vm130-git-source-publish.MuzAuQ/http-manifest.txt RESULT=PASS_VM130_VM130_GIT_SOURCE_PUBLISH VM130_GIT_SOURCE_COMMIT=f0edb3a52aafc25dacadec11965984ea04623229 VM130_GIT_SOURCE_TREE=149daf6897e349add2cbf8899505498288eba974 VM130_GIT_SOURCE_FILE_COUNT=80 VM130_GIT_SOURCE_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/ VM130_GIT_SOURCE_ARCHIVE_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/wg-paid-vm130-f0edb3a52aaf.tar.gz VM130_GIT_SOURCE_ARCHIVE_B64_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/wg-paid-vm130-f0edb3a52aaf.tar.gz.b64.txt VM130_GIT_SOURCE_FACTS_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/facts.json VM130_GIT_SOURCE_MANIFEST_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/git-tree-manifest.txt VM130_GIT_SOURCE_ARCHIVE_SHA256=0ec6f1d8f216447475b6f05c299e22f26b6094368b4a1e7adb25074120d9460f VM130_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=vm130 DESCRIPTION=VM130 canonical Machine Git source publication migration COMMIT=f0edb3a52aafc25dacadec11965984ea04623229 TREE=149daf6897e349add2cbf8899505498288eba974 GIT_FILE_COUNT=80 SOURCE_PUBLISH_BACKEND=/opt/router-ops/bin/router-vm130-git-source-publish BACKEND_LOG=/opt/router-ops/state/machine-close-runs/20260820-165004_vm130_1089672/backend.txt BACKEND_RC=0 BACKEND_RC_NONZERO_SALVAGED=false CLASSIFICATION=PASS_AUTHORITATIVE_BACKEND_AND_PUBLICATION VM130_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260820-165004_vm130_git_source_f0edb3a52aaf/