RESULT=STOP_P26_INVITE_MAGIC_LINK_SECURE_SESSION_MVP REVISION=R01 STOP_RC=2 STOP_LINE=353 STOP_DETAIL=unknown CORE_CHANGE_COMPLETE=false CORE_CHANGE_REPEATED=false SOURCE_CHANGED=false LIVE_DATABASE_WRITTEN=false DATABASE_SCHEMA_CHANGED=false SYNTHETIC_CLEANUP_STATUS=not_started BACKUP_DIR=/root/router-ops-backups/p26-r01-20260817-080346-1026598-1911 EXTERNAL_ONBOARDING_ACTIVE=false VM121_COMMIT=891fd5939906e40f88144b64478eb6c39045a9e9 VM121_TREE=474568f60cf6363fe4e43f59873f8dcf1a29b950 VM121_FILE_COUNT=48 VM121_PUBLIC_URL=https://reports.secret-studio.ru/latest/20260816-181514_vm121_git_source_891fd5939906/ P25_REPORT_URL=https://reports.secret-studio.ru/latest/20260817-071459_step050m07p25_r02_controlled_synthetic_wireguard_domain_v2_e2e/ ACCESS_MAP_URL=https://reports.secret-studio.ru/latest/20260812-153301_access_map_canonical_current/ NEXT_ACTION=inspect retained evidence; if CORE_CHANGE_COMPLETE=true continue post-core without restoring accepted source STOP_COMMAND=$'ssh -T -o BatchMode=yes -o ConnectTimeout=20 vm121 /bin/bash -s -- "$REMOTE_PKG" "$ROUTER_RELEASE_TARGET_PACKAGE_SHA256" > "$EVIDENCE/apply.txt" 2>&1 <<\'VM121_APPLY\'\nset -Eeuo pipefail\nPKG="${1:?}"\nEXPECTED_PACKAGE_SHA="${2:?}"\nACTUAL="$(sha256sum "$PKG" | awk \'{print $1}\')"\n[[ "$ACTUAL" == "$EXPECTED_PACKAGE_SHA" ]]\nLIST="$(mktemp)"\nSTAGE="$(mktemp -d /root/p26-r01-source-stage.XXXXXX)"\ntrap \'rm -f "$LIST"; rm -rf "$STAGE"\' EXIT\ntar -tzf "$PKG" > "$LIST"\ncat > "$LIST.expected" <<\'EOF\'\nopt/wg-access/.env.example\nopt/wg-access/backend/app/api/auth_v2.py\nopt/wg-access/backend/app/config.py\nopt/wg-access/backend/app/main.py\nopt/wg-access/backend/app/services/auth_v2.py\nEOF\nLC_ALL=C sort -o "$LIST" "$LIST"\nLC_ALL=C sort -o "$LIST.expected" "$LIST.expected"\ncmp -s "$LIST" "$LIST.expected"\ntar -xzf "$PKG" -C "$STAGE"\ndocker stop wgaccess-backend >/dev/null\ninstall -m 0644 "$STAGE/opt/wg-access/.env.example" /opt/wg-access/.env.example\ninstall -m 0644 "$STAGE/opt/wg-access/backend/app/config.py" /opt/wg-access/backend/app/config.py\ninstall -m 0644 "$STAGE/opt/wg-access/backend/app/main.py" /opt/wg-access/backend/app/main.py\ninstall -m 0644 "$STAGE/opt/wg-access/backend/app/api/auth_v2.py" /opt/wg-access/backend/app/api/auth_v2.py\ninstall -m 0644 "$STAGE/opt/wg-access/backend/app/services/auth_v2.py" /opt/wg-access/backend/app/services/auth_v2.py\ndocker start wgaccess-backend >/dev/null\nfor i in $(seq 1 120); do\n if curl -fsS --max-time 3 http://127.0.0.1:18080/health >/dev/null 2>&1 && curl -fsS --max-time 3 http://127.0.0.1:18080/health/db >/dev/null 2>&1; then\n break\n fi\n sleep 1\n [[ "$i" -lt 120 ]]\ndocker exec wgaccess-backend python -m py_compile \\\n /app/app/config.py /app/app/main.py /app/app/api/auth_v2.py /app/app/services/auth_v2.py\necho "BACKEND_STARTED_AT=$(docker inspect -f \'{{.State.StartedAt}}\' wgaccess-backend)"\necho TARGET_PACKAGE_SHA_MATCH=true\necho SOURCE_APPLY=PASS\nVM121_APPLY\n'