diff --git a/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh b/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh index ec761238f..c8c92111c 100755 --- a/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh +++ b/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh @@ -1,6 +1,6 @@ #!/bin/sh set -eu -ZYT_ROOT=${ZYT_ROOT:-/Users/long/Work/zyt} +ZYT_ROOT=${ZYT_ROOT:-/Users/long/Work/zyt-ej-medicine-sync} EJ_ROOT=${EJ_ROOT:-/Users/long/Work/ej} ZYT_BASE=27fbef9321c67f962e4d73f04a52272887c04f95 EJ_BASE=a7439cc2e8c37dd6c32c926f0cc39c1a9c9b4b67 diff --git a/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt b/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt index c47ec355a..d50e786fa 100644 --- a/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt +++ b/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt @@ -1,6 +1,6 @@ OBJECT=ZYT_TO_EJ_INCREMENTAL_MEDICINE_SYNC -RESULT=NON_DESTRUCTIVE_INCREMENTAL_PUSH_IMPLEMENTED_AND_DRY_RUN_VERIFIED -NEXT=DEPLOY_BOTH_BRANCHES_THEN_RUN_APPLY_ONLY_AFTER_EXPLICIT_AUTHORIZATION +RESULT=NON_DESTRUCTIVE_INCREMENTAL_PUSH_DEPLOYED_AND_PRODUCTION_DRY_RUN_VERIFIED +NEXT=RUN_PRODUCTION_APPLY_ONLY_AFTER_EXPLICIT_AUTHORIZATION BRANCH_ZYT=codex/ej-medicine-incremental-sync BRANCH_EJ=codex/ej-additive-medicine-import ZYT_COMMIT=17e9e7b6b @@ -11,10 +11,10 @@ CHANGED_BRANCH_FIELD=ZYT ej-pharmacy:push-medicines add-only command + EJ medici CLARIFIED_BEHAVIOR=restore soft-deleted ZYT-origin EJ medicine in place; re-enable disabled ZYT-origin medicine; append new ZYT medicine; preserve active existing and EJ-only medicines ARTIFACTS: -MODIFIED_FILE=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/MODIFIED_FILE -DIFF_FILE=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/DIFF_FILE -VERIFICATION=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt -ROLLBACK=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh +MODIFIED_FILE=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/MODIFIED_FILE +DIFF_FILE=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/DIFF_FILE +VERIFICATION=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt +ROLLBACK=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh ORIGINAL: ZYT_BASE_COMMIT=27fbef9321c67f962e4d73f04a52272887c04f95 @@ -89,10 +89,48 @@ LITERAL_OUTPUT=No syntax errors detected EXIT_STATUS=0 ROLLBACK: -COMMAND=ZYT_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/zyt EJ_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/ej /Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh +COMMAND=ZYT_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/zyt EJ_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/ej /Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh INPUT=detached copies at ZYT 27fbef932 and EJ a7439cc with clarified diffs applied; BEFORE_ZYT=6; BEFORE_EJ=3 LITERAL_OUTPUT=ROLLBACK_OK: ZYT incremental push removed; EJ unrelated-catalog preflight restored. EXIT_STATUS=0 ROLLBACK_RESULT=AFTER_ZYT=0; AFTER_EJ=0; both copies restored to clean base behavior/status -CURRENT_STATUS=clarified behavior commits are pushed and verification tracks the latest diffs; EJ retains only pre-existing unrelated deletions; production apply was not run +CURRENT_STATUS=ZYT and EJ code deployed to production with matching hashes and PHP-FPM reloaded; production dry-run passed; production apply was not run RESTORED_BEHAVIOR=ROLLBACK removes the ZYT push command/service/docs/tests and restores EJ bootstrap-only unrelated-catalog rejection + +DEPLOYMENT_1: +COMMAND=ssh zyt deployment transaction installing ZYT commit 192c31fb8c601d78ed5fc7dd635ee80372a9a760 and EJ commit 495b02341ac940d7f7b3dac5254fb6714b41311b +INPUT=HOST 39.97.232.35; ZYT /www/wwwroot/zyt; EJ /www/wwwroot/ej; targeted files only +LITERAL_OUTPUT=BACKUP=/www/deploy-backups/ej-medicine-sync-20260910-120752; ZYT_DEPLOYED=192c31fb8c601d78ed5fc7dd635ee80372a9a760; EJ_DEPLOYED=495b02341ac940d7f7b3dac5254fb6714b41311b +EXIT_STATUS=0 +DEPLOYMENT_RESULT=unrelated ZYT ACME file and EJ DoctorLogic/.well-known changes preserved + +DEPLOYMENT_2: +COMMAND=/etc/init.d/php-fpm-82 reload +INPUT=production PHP 8.2 service after targeted file installation +LITERAL_OUTPUT=Reload service php-fpm done +EXIT_STATUS=0 + +DEPLOYMENT_3: +COMMAND=sha256sum deployed runtime files and git show COMMIT:PATH +INPUT=ZYT console/command/service plus EJ MedicineImportService +LITERAL_OUTPUT=all four expected hashes equal actual hashes; match=YES +EXIT_STATUS=0 + +DEPLOYMENT_4: +COMMAND=cd /www/wwwroot/zyt/server && php think ej-pharmacy:push-medicines +INPUT=production default dry-run; no --apply +LITERAL_OUTPUT=dry-run source=654 candidates=654 batches=7 mapped=654 unmapped=0 preserved_inactive=0 remote_delete=0 local_delete=0 +EXIT_STATUS=0 +DEPLOYMENT_RESULT=no EJ HTTP write; no ZYT projection write; no delete + +DEPLOYMENT_5: +COMMAND=curl https://admin.zhenyangtang.com.cn/ and curl https://lyej.lyenji.com/api/openapi/v1/medicines?after=0&limit=1 without HMAC headers +INPUT=public post-deployment health verification +LITERAL_OUTPUT=admin HTTP=200 text/html; EJ HTTP=401 application/json with message Missing authentication headers +EXIT_STATUS=0 +DEPLOYMENT_RESULT=public admin and EJ gateway are reachable; EJ authentication middleware is active + +PRODUCTION_BACKUP=/www/deploy-backups/ej-medicine-sync-20260910-120752 +PRODUCTION_ROLLBACK=/www/deploy-backups/ej-medicine-sync-20260910-120752/ROLLBACK.sh +PRODUCTION_ROLLBACK_CHECK=bash -n exit 0; ZYT_BACKUP_FILES=2; EJ_BACKUP_FILES=3 +PRODUCTION_APPLY=NOT_RUN