From 9a98ec707e456c1d1490e833bdbac4cb6115ff50 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 30 Sep 2026 01:58:07 +0000 Subject: [PATCH] runtime: publish SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1 --- ...30-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.json | 38 +++++ ...930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.txt | 153 +++++++++++++++++ runtime/latest.json | 26 +-- runtime/latest.txt | 156 +++++++++++++++--- 4 files changed, 335 insertions(+), 38 deletions(-) create mode 100644 runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.json create mode 100644 runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.txt diff --git a/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.json b/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.json new file mode 100644 index 00000000..c0f610b7 --- /dev/null +++ b/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "change", + "component": "gram1-beget-final-preflight", + "started_at_utc": "2026-09-30T01:58:06Z", + "finished_at_utc": "2026-09-30T01:58:06Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "5074144325591e5d2b19202997a2e066ac2f4ac2026b61ecfd98f01a12f053c9", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "OK", + "result_contract_error": null, + "command_rc": 0, + "changes_made": true, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "MUTATED", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900", + "sanitized_output_sha256": "8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "GRAM1_BEGET_FINAL_PREFLIGHT=V1\nMODE=diagnostic-change\nPRODUCT_MUTATION=false\nLOCAL_CREDENTIAL_CACHE_OK=true\nTEMP_SCRIPT_UPLOADED=true\nTEMP_CRON_ADDED=true\nTEMP_RESULT_SEEN=true\nPRE_CRON_TOTAL=0\nPRE_GRAM1_CRON_MATCH_COUNT=0\nPOST_CRON_TOTAL=0\nPOST_GRAM1_CRON_MATCH_COUNT=0\nTEMP_SCRIPT_REMOVED=true\nTEMP_RESULT_REMOVED=true\nTEMP_CRON_STATE_RESTORED=true\nTEMP_CLEANUP_COMPLETE=true\nGRAM1_BEGET_FINAL_PREFLIGHT=V1\nMODE=read-only-product\nBASE_PRESENT=true\nAPP_ROOT_PRESENT=true\nAPP_ROOT_REL=gram1.ru/gram1_app_9154/app\nTARGET_APP_PY_PRESENT=true\nTARGET_APP_PY_SIZE=33191\nTARGET_APP_PY_AGE_SECONDS=470627\nTARGET_APP_PY_SHA256=5f2fd1244ddc71484013f79d7789fa5884a5801641a66d48b833c616b55aed21\nTARGET_WORKER_PY_PRESENT=true\nTARGET_WORKER_PY_SIZE=10300\nTARGET_WORKER_PY_AGE_SECONDS=5146441\nTARGET_WORKER_PY_SHA256=4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\nTARGET_PORTFOLIO_DB_PRESENT=true\nTARGET_PORTFOLIO_DB_SIZE=8527872\nTARGET_PORTFOLIO_DB_AGE_SECONDS=470630\nTARGET_PORTFOLIO_DB_SHA256=56acaa90eedb79a82955382f6076e14ff7dc9bcf354e1a72b870cdbd8e30be7d\nTARGET_MARKET_JSON_PRESENT=true\nTARGET_MARKET_JSON_SIZE=14111\nTARGET_MARKET_JSON_AGE_SECONDS=470671\nTARGET_MARKET_JSON_SHA256=350643bed9a5b8f0fc2a28a61f2e4fe7114fb1a9208c6d6a2fa72c3296bb461e\nTARGET_PASSENGER_WSGI_PRESENT=true\nTARGET_PASSENGER_WSGI_SIZE=449\nTARGET_PASSENGER_WSGI_AGE_SECONDS=470618\nTARGET_PASSENGER_WSGI_SHA256=d2a4d708a14292e9be827ce95d3a1324b73879ef77c0cd9fc308e8efa4cd6d9b\nTARGET_SQLITE_INTEGRITY=PASS\nTARGET_SQLITE_TABLE_COUNT=4\nTARGET_MARKET_JSON_PARSE=PASS\nTARGET_MARKET_UPDATED_AGE_SECONDS=470673\nTARGET_MARKET_COIN_COUNT=4\nTARGET_MARKET_SCHEMA_OK=true\nTARGET_MARKET_SPARKLINE_MIN_LEN=168\nTARGET_WORKER_AST_PARSE=PASS\nTARGET_WORKER_FUNCTIONS=atomic_json,config,connect,cycle,evaluate,fetch_market,main,portfolio_text,reference_price,send_email\nTARGET_FETCH_MARKET_CALLS=Client,RuntimeError,float,get,int,join,json,len,load,open,raise_for_status,str,time\nTARGET_CYCLE_CALLS=atomic_json,commit,connect,evaluate,execute,fetch_market,fetchone,format,int,items,len,mkdir,print\nTARGET_EVALUATE_CALLS=commit,execute,fetchall,float,format,get,int,portfolio_text,print,reference_price,send_email,split,strftime,time\nTARGET_SEND_EMAIL_CALLS=EmailMessage,SMTP,config,create_default_context,get,int,login,lower,send_message,set_content,starttls,type\nTARGET_MAIN_CALLS=atomic_json,cycle,format,int,max,print,sleep,time,type\nTARGET_WORKER_URL_HOSTS=api.coingecko.com\nTARGET_WORKER_ENV_NAME_COUNT=2\nTARGET_WORKER_ENV_NAMES=CRYPTO_DATA_DIR,CRYPTO_EMAIL_CONFIG_FILE\nTARGET_WORKER_HAS_BINANCE_VISION=false\nTARGET_WORKER_HAS_COINGECKO=true\nTARGET_WRAPPER_CANDIDATE_COUNT=6\nTARGET_WRAPPER_1_REL=gram1.ru/gram1_app_9154/app/data/worker-status.json\nTARGET_WRAPPER_1_SHA256=e25238ae6f80cfc4b0b463effe5c724e0248c7832ccccbf3cdaea28bbc734ecb\nTARGET_WRAPPER_1_MODE=600\nTARGET_WRAPPER_1_HAS_WORKER_PY=false\nTARGET_WRAPPER_1_HAS_ONESHOT_HINT=false\nTARGET_WRAPPER_1_HAS_FLOCK=false\nTARGET_WRAPPER_1_HAS_PYTHON=false\nTARGET_WRAPPER_1_HAS_DATA_ENV=false\nTARGET_WRAPPER_2_REL=gram1.ru/gram1_app_9154/app/__pycache__/worker.cpython-310.pyc\nTARGET_WRAPPER_2_SHA256=07f9ed981cf328e78ecefdfcb545d7d46e4d3873e96cdafee873c2a7725c0097\nTARGET_WRAPPER_2_MODE=600\nTARGET_WRAPPER_2_HAS_WORKER_PY=true\nTARGET_WRAPPER_2_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_2_HAS_FLOCK=false\nTARGET_WRAPPER_2_HAS_PYTHON=false\nTARGET_WRAPPER_2_HAS_DATA_ENV=true\nTARGET_WRAPPER_3_REL=gram1.ru/gram1_app_9154/app/worker_once.py\nTARGET_WRAPPER_3_SHA256=639e48538972848ee2153df72f46974a35ae147e9f0fcf95f0b17ac85976d73d\nTARGET_WRAPPER_3_MODE=600\nTARGET_WRAPPER_3_HAS_WORKER_PY=false\nTARGET_WRAPPER_3_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_3_HAS_FLOCK=false\nTARGET_WRAPPER_3_HAS_PYTHON=false\nTARGET_WRAPPER_3_HAS_DATA_ENV=true\nTARGET_WRAPPER_4_REL=gram1.ru/gram1_app_9154/.w2-9483.sh\nTARGET_WRAPPER_4_SHA256=7844833fda6397bd1fa904e41f89c7723018e7a72903633fa5f982eb724229c5\nTARGET_WRAPPER_4_MODE=600\nTARGET_WRAPPER_4_HAS_WORKER_PY=true\nTARGET_WRAPPER_4_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_4_HAS_FLOCK=false\nTARGET_WRAPPER_4_HAS_PYTHON=true\nTARGET_WRAPPER_4_HAS_DATA_ENV=true\nTARGET_WRAPPER_5_REL=gram1.ru/gram1_app_9154/worker_cron.sh\nTARGET_WRAPPER_5_SHA256=bf13a4c5568f7fcbeeb0943f047a45a7b2ced19f37cbd8cdbdd15a189c32ce52\nTARGET_WRAPPER_5_MODE=700\nTARGET_WRAPPER_5_HAS_WORKER_PY=false\nTARGET_WRAPPER_5_HAS_ONESHOT_HINT=false\nTARGET_WRAPPER_5_HAS_FLOCK=true\nTARGET_WRAPPER_5_HAS_PYTHON=true\nTARGET_WRAPPER_5_HAS_DATA_ENV=false\nTARGET_GRAM1_CRONTAB_MATCH_COUNT=0\nTARGET_GRAM1_CRONTAB_MATCH_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nTARGET_WORKER_PROCESS_COUNT=0\nTARGET_SELF_HEALTH_RC=0\nTARGET_SELF_HEALTH_META=200|0.320967\nTARGET_SELF_HEALTH_STATUS=OK\nTARGET_SELF_HEALTH_TYPE=crypto-portfolio\nTARGET_SELF_MARKET_AGE_SECONDS=470672\nDISCOVERY_FINISHED_UTC=2026-09-30T01:58:01Z\nDISCOVERY_RC=0\nTARGET_DB_MATCHES_SOURCE_9482=false\nTARGET_MARKET_MATCHES_SOURCE_9482=false\nTARGET_WORKER_MATCHES_OLD_SOURCE=true\nDECISION=BEGET_TARGET_STATE_CAPTURED_PRESERVE_TARGET_DB_PATCH_WORKER_REFRESH_MARKET\nNEXT_GATE=PATCH_TARGET_WORKER_PRESERVE_TARGET_DB_REFRESH_MARKET_ACTIVATE_CRON_WITH_ROLLBACK\nTASK_RESULT=PASS_GRAM1_BEGET_FINAL_PREFLIGHT\nCHANGES_MADE=true\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=TEMP_BEGET_DIAGNOSTIC_ARTIFACTS_CREATED_AND_REMOVED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.txt b/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.txt new file mode 100644 index 00000000..64d90463 --- /dev/null +++ b/runtime/history/SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1.txt @@ -0,0 +1,153 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=change +COMPONENT=gram1-beget-final-preflight +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=5074144325591e5d2b19202997a2e066ac2f4ac2026b61ecfd98f01a12f053c9 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=true +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=true +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=MUTATED +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900 +SANITIZED_OUTPUT_SHA256=8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900 +OUTPUT_BEGIN +GRAM1_BEGET_FINAL_PREFLIGHT=V1 +MODE=diagnostic-change +PRODUCT_MUTATION=false +LOCAL_CREDENTIAL_CACHE_OK=true +TEMP_SCRIPT_UPLOADED=true +TEMP_CRON_ADDED=true +TEMP_RESULT_SEEN=true +PRE_CRON_TOTAL=0 +PRE_GRAM1_CRON_MATCH_COUNT=0 +POST_CRON_TOTAL=0 +POST_GRAM1_CRON_MATCH_COUNT=0 +TEMP_SCRIPT_REMOVED=true +TEMP_RESULT_REMOVED=true +TEMP_CRON_STATE_RESTORED=true +TEMP_CLEANUP_COMPLETE=true +GRAM1_BEGET_FINAL_PREFLIGHT=V1 +MODE=read-only-product +BASE_PRESENT=true +APP_ROOT_PRESENT=true +APP_ROOT_REL=gram1.ru/gram1_app_9154/app +TARGET_APP_PY_PRESENT=true +TARGET_APP_PY_SIZE=33191 +TARGET_APP_PY_AGE_SECONDS=470627 +TARGET_APP_PY_SHA256=5f2fd1244ddc71484013f79d7789fa5884a5801641a66d48b833c616b55aed21 +TARGET_WORKER_PY_PRESENT=true +TARGET_WORKER_PY_SIZE=10300 +TARGET_WORKER_PY_AGE_SECONDS=5146441 +TARGET_WORKER_PY_SHA256=4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c +TARGET_PORTFOLIO_DB_PRESENT=true +TARGET_PORTFOLIO_DB_SIZE=8527872 +TARGET_PORTFOLIO_DB_AGE_SECONDS=470630 +TARGET_PORTFOLIO_DB_SHA256=56acaa90eedb79a82955382f6076e14ff7dc9bcf354e1a72b870cdbd8e30be7d +TARGET_MARKET_JSON_PRESENT=true +TARGET_MARKET_JSON_SIZE=14111 +TARGET_MARKET_JSON_AGE_SECONDS=470671 +TARGET_MARKET_JSON_SHA256=350643bed9a5b8f0fc2a28a61f2e4fe7114fb1a9208c6d6a2fa72c3296bb461e +TARGET_PASSENGER_WSGI_PRESENT=true +TARGET_PASSENGER_WSGI_SIZE=449 +TARGET_PASSENGER_WSGI_AGE_SECONDS=470618 +TARGET_PASSENGER_WSGI_SHA256=d2a4d708a14292e9be827ce95d3a1324b73879ef77c0cd9fc308e8efa4cd6d9b +TARGET_SQLITE_INTEGRITY=PASS +TARGET_SQLITE_TABLE_COUNT=4 +TARGET_MARKET_JSON_PARSE=PASS +TARGET_MARKET_UPDATED_AGE_SECONDS=470673 +TARGET_MARKET_COIN_COUNT=4 +TARGET_MARKET_SCHEMA_OK=true +TARGET_MARKET_SPARKLINE_MIN_LEN=168 +TARGET_WORKER_AST_PARSE=PASS +TARGET_WORKER_FUNCTIONS=atomic_json,config,connect,cycle,evaluate,fetch_market,main,portfolio_text,reference_price,send_email +TARGET_FETCH_MARKET_CALLS=Client,RuntimeError,float,get,int,join,json,len,load,open,raise_for_status,str,time +TARGET_CYCLE_CALLS=atomic_json,commit,connect,evaluate,execute,fetch_market,fetchone,format,int,items,len,mkdir,print +TARGET_EVALUATE_CALLS=commit,execute,fetchall,float,format,get,int,portfolio_text,print,reference_price,send_email,split,strftime,time +TARGET_SEND_EMAIL_CALLS=EmailMessage,SMTP,config,create_default_context,get,int,login,lower,send_message,set_content,starttls,type +TARGET_MAIN_CALLS=atomic_json,cycle,format,int,max,print,sleep,time,type +TARGET_WORKER_URL_HOSTS=api.coingecko.com +TARGET_WORKER_ENV_NAME_COUNT=2 +TARGET_WORKER_ENV_NAMES=CRYPTO_DATA_DIR,CRYPTO_EMAIL_CONFIG_FILE +TARGET_WORKER_HAS_BINANCE_VISION=false +TARGET_WORKER_HAS_COINGECKO=true +TARGET_WRAPPER_CANDIDATE_COUNT=6 +TARGET_WRAPPER_1_REL=gram1.ru/gram1_app_9154/app/data/worker-status.json +TARGET_WRAPPER_1_SHA256=e25238ae6f80cfc4b0b463effe5c724e0248c7832ccccbf3cdaea28bbc734ecb +TARGET_WRAPPER_1_MODE=600 +TARGET_WRAPPER_1_HAS_WORKER_PY=false +TARGET_WRAPPER_1_HAS_ONESHOT_HINT=false +TARGET_WRAPPER_1_HAS_FLOCK=false +TARGET_WRAPPER_1_HAS_PYTHON=false +TARGET_WRAPPER_1_HAS_DATA_ENV=false +TARGET_WRAPPER_2_REL=gram1.ru/gram1_app_9154/app/__pycache__/worker.cpython-310.pyc +TARGET_WRAPPER_2_SHA256=07f9ed981cf328e78ecefdfcb545d7d46e4d3873e96cdafee873c2a7725c0097 +TARGET_WRAPPER_2_MODE=600 +TARGET_WRAPPER_2_HAS_WORKER_PY=true +TARGET_WRAPPER_2_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_2_HAS_FLOCK=false +TARGET_WRAPPER_2_HAS_PYTHON=false +TARGET_WRAPPER_2_HAS_DATA_ENV=true +TARGET_WRAPPER_3_REL=gram1.ru/gram1_app_9154/app/worker_once.py +TARGET_WRAPPER_3_SHA256=639e48538972848ee2153df72f46974a35ae147e9f0fcf95f0b17ac85976d73d +TARGET_WRAPPER_3_MODE=600 +TARGET_WRAPPER_3_HAS_WORKER_PY=false +TARGET_WRAPPER_3_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_3_HAS_FLOCK=false +TARGET_WRAPPER_3_HAS_PYTHON=false +TARGET_WRAPPER_3_HAS_DATA_ENV=true +TARGET_WRAPPER_4_REL=gram1.ru/gram1_app_9154/.w2-9483.sh +TARGET_WRAPPER_4_SHA256=7844833fda6397bd1fa904e41f89c7723018e7a72903633fa5f982eb724229c5 +TARGET_WRAPPER_4_MODE=600 +TARGET_WRAPPER_4_HAS_WORKER_PY=true +TARGET_WRAPPER_4_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_4_HAS_FLOCK=false +TARGET_WRAPPER_4_HAS_PYTHON=true +TARGET_WRAPPER_4_HAS_DATA_ENV=true +TARGET_WRAPPER_5_REL=gram1.ru/gram1_app_9154/worker_cron.sh +TARGET_WRAPPER_5_SHA256=bf13a4c5568f7fcbeeb0943f047a45a7b2ced19f37cbd8cdbdd15a189c32ce52 +TARGET_WRAPPER_5_MODE=700 +TARGET_WRAPPER_5_HAS_WORKER_PY=false +TARGET_WRAPPER_5_HAS_ONESHOT_HINT=false +TARGET_WRAPPER_5_HAS_FLOCK=true +TARGET_WRAPPER_5_HAS_PYTHON=true +TARGET_WRAPPER_5_HAS_DATA_ENV=false +TARGET_GRAM1_CRONTAB_MATCH_COUNT=0 +TARGET_GRAM1_CRONTAB_MATCH_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +TARGET_WORKER_PROCESS_COUNT=0 +TARGET_SELF_HEALTH_RC=0 +TARGET_SELF_HEALTH_META=200|0.320967 +TARGET_SELF_HEALTH_STATUS=OK +TARGET_SELF_HEALTH_TYPE=crypto-portfolio +TARGET_SELF_MARKET_AGE_SECONDS=470672 +DISCOVERY_FINISHED_UTC=2026-09-30T01:58:01Z +DISCOVERY_RC=0 +TARGET_DB_MATCHES_SOURCE_9482=false +TARGET_MARKET_MATCHES_SOURCE_9482=false +TARGET_WORKER_MATCHES_OLD_SOURCE=true +DECISION=BEGET_TARGET_STATE_CAPTURED_PRESERVE_TARGET_DB_PATCH_WORKER_REFRESH_MARKET +NEXT_GATE=PATCH_TARGET_WORKER_PRESERVE_TARGET_DB_REFRESH_MARKET_ACTIVATE_CRON_WITH_ROLLBACK +TASK_RESULT=PASS_GRAM1_BEGET_FINAL_PREFLIGHT +CHANGES_MADE=true +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=TEMP_BEGET_DIAGNOSTIC_ARTIFACTS_CREATED_AND_REMOVED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 7ec05718..c0f610b7 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260930-NEW-NETBIRD-OPERATOR-KEY-POSTBOOTSTRAP-RECONCILE-99121R1", + "command_id": "SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1", "status": "OK", "rc": 0, "host": "pve01", - "mode": "read-only", - "component": "new-netbird-operator-key-postbootstrap-reconcile", - "started_at_utc": "2026-09-30T01:56:22Z", - "finished_at_utc": "2026-09-30T01:56:24Z", + "mode": "change", + "component": "gram1-beget-final-preflight", + "started_at_utc": "2026-09-30T01:58:06Z", + "finished_at_utc": "2026-09-30T01:58:06Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "ad7cc9aa172b5260998215a6a3f112660d5fe39c98123f81bd150190f58a266d", + "command_sha256": "5074144325591e5d2b19202997a2e066ac2f4ac2026b61ecfd98f01a12f053c9", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": false, + "change_declared": true, "result_contract_valid": true, - "result_contract_status": null, + "result_contract_status": "OK", "result_contract_error": null, "command_rc": 0, - "changes_made": false, + "changes_made": true, "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "NO_MUTATION", + "mutation_outcome": "MUTATED", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "6892630937b5db43ed02406b72f00abaa44bc42c7c28ddb19a32fd73768905b9", - "sanitized_output_sha256": "6892630937b5db43ed02406b72f00abaa44bc42c7c28ddb19a32fd73768905b9", + "raw_evidence_sha256": "8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900", + "sanitized_output_sha256": "8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "POSTBOOTSTRAP_RECONCILE=V1\nINGRESS_NODE=pve01\nINGRESS_HOSTKEY_SELF_BOUND=true\nOPERATOR_KEY_FP_MATCH=true\nNEW_VPS_HOSTKEY_MATCH_COUNT=3\nPASSWORDLESS_SSH_RC=255\nREMOTE_UID=NONE\nREMOTE_OS=NONE\nREMOTE_VERSION=NONE\nREMOTE_AUTHORIZED_KEY_COUNT=0\nDECISION=HOLD_NEW_VPS_OPERATOR_KEY_NOT_PROVEN\nNEXT_GATE=CONTROLLED_OPERATOR_KEY_REBOOTSTRAP_RCA\nTASK_RESULT=HOLD_NEW_VPS_OPERATOR_KEY_POSTBOOTSTRAP_RECONCILE\nCHANGES_MADE=false\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260930-NEW-NETBIRD-OPERATOR-KEY-POSTBOOTSTRAP-RECONCILE-99121R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "GRAM1_BEGET_FINAL_PREFLIGHT=V1\nMODE=diagnostic-change\nPRODUCT_MUTATION=false\nLOCAL_CREDENTIAL_CACHE_OK=true\nTEMP_SCRIPT_UPLOADED=true\nTEMP_CRON_ADDED=true\nTEMP_RESULT_SEEN=true\nPRE_CRON_TOTAL=0\nPRE_GRAM1_CRON_MATCH_COUNT=0\nPOST_CRON_TOTAL=0\nPOST_GRAM1_CRON_MATCH_COUNT=0\nTEMP_SCRIPT_REMOVED=true\nTEMP_RESULT_REMOVED=true\nTEMP_CRON_STATE_RESTORED=true\nTEMP_CLEANUP_COMPLETE=true\nGRAM1_BEGET_FINAL_PREFLIGHT=V1\nMODE=read-only-product\nBASE_PRESENT=true\nAPP_ROOT_PRESENT=true\nAPP_ROOT_REL=gram1.ru/gram1_app_9154/app\nTARGET_APP_PY_PRESENT=true\nTARGET_APP_PY_SIZE=33191\nTARGET_APP_PY_AGE_SECONDS=470627\nTARGET_APP_PY_SHA256=5f2fd1244ddc71484013f79d7789fa5884a5801641a66d48b833c616b55aed21\nTARGET_WORKER_PY_PRESENT=true\nTARGET_WORKER_PY_SIZE=10300\nTARGET_WORKER_PY_AGE_SECONDS=5146441\nTARGET_WORKER_PY_SHA256=4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\nTARGET_PORTFOLIO_DB_PRESENT=true\nTARGET_PORTFOLIO_DB_SIZE=8527872\nTARGET_PORTFOLIO_DB_AGE_SECONDS=470630\nTARGET_PORTFOLIO_DB_SHA256=56acaa90eedb79a82955382f6076e14ff7dc9bcf354e1a72b870cdbd8e30be7d\nTARGET_MARKET_JSON_PRESENT=true\nTARGET_MARKET_JSON_SIZE=14111\nTARGET_MARKET_JSON_AGE_SECONDS=470671\nTARGET_MARKET_JSON_SHA256=350643bed9a5b8f0fc2a28a61f2e4fe7114fb1a9208c6d6a2fa72c3296bb461e\nTARGET_PASSENGER_WSGI_PRESENT=true\nTARGET_PASSENGER_WSGI_SIZE=449\nTARGET_PASSENGER_WSGI_AGE_SECONDS=470618\nTARGET_PASSENGER_WSGI_SHA256=d2a4d708a14292e9be827ce95d3a1324b73879ef77c0cd9fc308e8efa4cd6d9b\nTARGET_SQLITE_INTEGRITY=PASS\nTARGET_SQLITE_TABLE_COUNT=4\nTARGET_MARKET_JSON_PARSE=PASS\nTARGET_MARKET_UPDATED_AGE_SECONDS=470673\nTARGET_MARKET_COIN_COUNT=4\nTARGET_MARKET_SCHEMA_OK=true\nTARGET_MARKET_SPARKLINE_MIN_LEN=168\nTARGET_WORKER_AST_PARSE=PASS\nTARGET_WORKER_FUNCTIONS=atomic_json,config,connect,cycle,evaluate,fetch_market,main,portfolio_text,reference_price,send_email\nTARGET_FETCH_MARKET_CALLS=Client,RuntimeError,float,get,int,join,json,len,load,open,raise_for_status,str,time\nTARGET_CYCLE_CALLS=atomic_json,commit,connect,evaluate,execute,fetch_market,fetchone,format,int,items,len,mkdir,print\nTARGET_EVALUATE_CALLS=commit,execute,fetchall,float,format,get,int,portfolio_text,print,reference_price,send_email,split,strftime,time\nTARGET_SEND_EMAIL_CALLS=EmailMessage,SMTP,config,create_default_context,get,int,login,lower,send_message,set_content,starttls,type\nTARGET_MAIN_CALLS=atomic_json,cycle,format,int,max,print,sleep,time,type\nTARGET_WORKER_URL_HOSTS=api.coingecko.com\nTARGET_WORKER_ENV_NAME_COUNT=2\nTARGET_WORKER_ENV_NAMES=CRYPTO_DATA_DIR,CRYPTO_EMAIL_CONFIG_FILE\nTARGET_WORKER_HAS_BINANCE_VISION=false\nTARGET_WORKER_HAS_COINGECKO=true\nTARGET_WRAPPER_CANDIDATE_COUNT=6\nTARGET_WRAPPER_1_REL=gram1.ru/gram1_app_9154/app/data/worker-status.json\nTARGET_WRAPPER_1_SHA256=e25238ae6f80cfc4b0b463effe5c724e0248c7832ccccbf3cdaea28bbc734ecb\nTARGET_WRAPPER_1_MODE=600\nTARGET_WRAPPER_1_HAS_WORKER_PY=false\nTARGET_WRAPPER_1_HAS_ONESHOT_HINT=false\nTARGET_WRAPPER_1_HAS_FLOCK=false\nTARGET_WRAPPER_1_HAS_PYTHON=false\nTARGET_WRAPPER_1_HAS_DATA_ENV=false\nTARGET_WRAPPER_2_REL=gram1.ru/gram1_app_9154/app/__pycache__/worker.cpython-310.pyc\nTARGET_WRAPPER_2_SHA256=07f9ed981cf328e78ecefdfcb545d7d46e4d3873e96cdafee873c2a7725c0097\nTARGET_WRAPPER_2_MODE=600\nTARGET_WRAPPER_2_HAS_WORKER_PY=true\nTARGET_WRAPPER_2_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_2_HAS_FLOCK=false\nTARGET_WRAPPER_2_HAS_PYTHON=false\nTARGET_WRAPPER_2_HAS_DATA_ENV=true\nTARGET_WRAPPER_3_REL=gram1.ru/gram1_app_9154/app/worker_once.py\nTARGET_WRAPPER_3_SHA256=639e48538972848ee2153df72f46974a35ae147e9f0fcf95f0b17ac85976d73d\nTARGET_WRAPPER_3_MODE=600\nTARGET_WRAPPER_3_HAS_WORKER_PY=false\nTARGET_WRAPPER_3_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_3_HAS_FLOCK=false\nTARGET_WRAPPER_3_HAS_PYTHON=false\nTARGET_WRAPPER_3_HAS_DATA_ENV=true\nTARGET_WRAPPER_4_REL=gram1.ru/gram1_app_9154/.w2-9483.sh\nTARGET_WRAPPER_4_SHA256=7844833fda6397bd1fa904e41f89c7723018e7a72903633fa5f982eb724229c5\nTARGET_WRAPPER_4_MODE=600\nTARGET_WRAPPER_4_HAS_WORKER_PY=true\nTARGET_WRAPPER_4_HAS_ONESHOT_HINT=true\nTARGET_WRAPPER_4_HAS_FLOCK=false\nTARGET_WRAPPER_4_HAS_PYTHON=true\nTARGET_WRAPPER_4_HAS_DATA_ENV=true\nTARGET_WRAPPER_5_REL=gram1.ru/gram1_app_9154/worker_cron.sh\nTARGET_WRAPPER_5_SHA256=bf13a4c5568f7fcbeeb0943f047a45a7b2ced19f37cbd8cdbdd15a189c32ce52\nTARGET_WRAPPER_5_MODE=700\nTARGET_WRAPPER_5_HAS_WORKER_PY=false\nTARGET_WRAPPER_5_HAS_ONESHOT_HINT=false\nTARGET_WRAPPER_5_HAS_FLOCK=true\nTARGET_WRAPPER_5_HAS_PYTHON=true\nTARGET_WRAPPER_5_HAS_DATA_ENV=false\nTARGET_GRAM1_CRONTAB_MATCH_COUNT=0\nTARGET_GRAM1_CRONTAB_MATCH_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nTARGET_WORKER_PROCESS_COUNT=0\nTARGET_SELF_HEALTH_RC=0\nTARGET_SELF_HEALTH_META=200|0.320967\nTARGET_SELF_HEALTH_STATUS=OK\nTARGET_SELF_HEALTH_TYPE=crypto-portfolio\nTARGET_SELF_MARKET_AGE_SECONDS=470672\nDISCOVERY_FINISHED_UTC=2026-09-30T01:58:01Z\nDISCOVERY_RC=0\nTARGET_DB_MATCHES_SOURCE_9482=false\nTARGET_MARKET_MATCHES_SOURCE_9482=false\nTARGET_WORKER_MATCHES_OLD_SOURCE=true\nDECISION=BEGET_TARGET_STATE_CAPTURED_PRESERVE_TARGET_DB_PATCH_WORKER_REFRESH_MARKET\nNEXT_GATE=PATCH_TARGET_WORKER_PRESERVE_TARGET_DB_REFRESH_MARKET_ACTIVATE_CRON_WITH_ROLLBACK\nTASK_RESULT=PASS_GRAM1_BEGET_FINAL_PREFLIGHT\nCHANGES_MADE=true\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=TEMP_BEGET_DIAGNOSTIC_ARTIFACTS_CREATED_AND_REMOVED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 466b5e7e..64d90463 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,47 +1,153 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260930-NEW-NETBIRD-OPERATOR-KEY-POSTBOOTSTRAP-RECONCILE-99121R1 +COMMAND_ID=SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1 STATUS=OK RC=0 HOST=pve01 -MODE=read-only -COMPONENT=new-netbird-operator-key-postbootstrap-reconcile +MODE=change +COMPONENT=gram1-beget-final-preflight REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=ad7cc9aa172b5260998215a6a3f112660d5fe39c98123f81bd150190f58a266d +COMMAND_SHA256=5074144325591e5d2b19202997a2e066ac2f4ac2026b61ecfd98f01a12f053c9 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=false +CHANGE_DECLARED=true RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_STATUS=OK RESULT_CONTRACT_ERROR=NONE COMMAND_RC=0 -CHANGES_MADE=false +CHANGES_MADE=true ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=NO_MUTATION +MUTATION_OUTCOME=MUTATED SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=6892630937b5db43ed02406b72f00abaa44bc42c7c28ddb19a32fd73768905b9 -SANITIZED_OUTPUT_SHA256=6892630937b5db43ed02406b72f00abaa44bc42c7c28ddb19a32fd73768905b9 +RAW_EVIDENCE_SHA256=8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900 +SANITIZED_OUTPUT_SHA256=8f8f51336a472366bc275775a86f413d109271870cca38166dde2244ae925900 OUTPUT_BEGIN -POSTBOOTSTRAP_RECONCILE=V1 -INGRESS_NODE=pve01 -INGRESS_HOSTKEY_SELF_BOUND=true -OPERATOR_KEY_FP_MATCH=true -NEW_VPS_HOSTKEY_MATCH_COUNT=3 -PASSWORDLESS_SSH_RC=255 -REMOTE_UID=NONE -REMOTE_OS=NONE -REMOTE_VERSION=NONE -REMOTE_AUTHORIZED_KEY_COUNT=0 -DECISION=HOLD_NEW_VPS_OPERATOR_KEY_NOT_PROVEN -NEXT_GATE=CONTROLLED_OPERATOR_KEY_REBOOTSTRAP_RCA -TASK_RESULT=HOLD_NEW_VPS_OPERATOR_KEY_POSTBOOTSTRAP_RECONCILE -CHANGES_MADE=false -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260930-NEW-NETBIRD-OPERATOR-KEY-POSTBOOTSTRAP-RECONCILE-99121R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +GRAM1_BEGET_FINAL_PREFLIGHT=V1 +MODE=diagnostic-change +PRODUCT_MUTATION=false +LOCAL_CREDENTIAL_CACHE_OK=true +TEMP_SCRIPT_UPLOADED=true +TEMP_CRON_ADDED=true +TEMP_RESULT_SEEN=true +PRE_CRON_TOTAL=0 +PRE_GRAM1_CRON_MATCH_COUNT=0 +POST_CRON_TOTAL=0 +POST_GRAM1_CRON_MATCH_COUNT=0 +TEMP_SCRIPT_REMOVED=true +TEMP_RESULT_REMOVED=true +TEMP_CRON_STATE_RESTORED=true +TEMP_CLEANUP_COMPLETE=true +GRAM1_BEGET_FINAL_PREFLIGHT=V1 +MODE=read-only-product +BASE_PRESENT=true +APP_ROOT_PRESENT=true +APP_ROOT_REL=gram1.ru/gram1_app_9154/app +TARGET_APP_PY_PRESENT=true +TARGET_APP_PY_SIZE=33191 +TARGET_APP_PY_AGE_SECONDS=470627 +TARGET_APP_PY_SHA256=5f2fd1244ddc71484013f79d7789fa5884a5801641a66d48b833c616b55aed21 +TARGET_WORKER_PY_PRESENT=true +TARGET_WORKER_PY_SIZE=10300 +TARGET_WORKER_PY_AGE_SECONDS=5146441 +TARGET_WORKER_PY_SHA256=4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c +TARGET_PORTFOLIO_DB_PRESENT=true +TARGET_PORTFOLIO_DB_SIZE=8527872 +TARGET_PORTFOLIO_DB_AGE_SECONDS=470630 +TARGET_PORTFOLIO_DB_SHA256=56acaa90eedb79a82955382f6076e14ff7dc9bcf354e1a72b870cdbd8e30be7d +TARGET_MARKET_JSON_PRESENT=true +TARGET_MARKET_JSON_SIZE=14111 +TARGET_MARKET_JSON_AGE_SECONDS=470671 +TARGET_MARKET_JSON_SHA256=350643bed9a5b8f0fc2a28a61f2e4fe7114fb1a9208c6d6a2fa72c3296bb461e +TARGET_PASSENGER_WSGI_PRESENT=true +TARGET_PASSENGER_WSGI_SIZE=449 +TARGET_PASSENGER_WSGI_AGE_SECONDS=470618 +TARGET_PASSENGER_WSGI_SHA256=d2a4d708a14292e9be827ce95d3a1324b73879ef77c0cd9fc308e8efa4cd6d9b +TARGET_SQLITE_INTEGRITY=PASS +TARGET_SQLITE_TABLE_COUNT=4 +TARGET_MARKET_JSON_PARSE=PASS +TARGET_MARKET_UPDATED_AGE_SECONDS=470673 +TARGET_MARKET_COIN_COUNT=4 +TARGET_MARKET_SCHEMA_OK=true +TARGET_MARKET_SPARKLINE_MIN_LEN=168 +TARGET_WORKER_AST_PARSE=PASS +TARGET_WORKER_FUNCTIONS=atomic_json,config,connect,cycle,evaluate,fetch_market,main,portfolio_text,reference_price,send_email +TARGET_FETCH_MARKET_CALLS=Client,RuntimeError,float,get,int,join,json,len,load,open,raise_for_status,str,time +TARGET_CYCLE_CALLS=atomic_json,commit,connect,evaluate,execute,fetch_market,fetchone,format,int,items,len,mkdir,print +TARGET_EVALUATE_CALLS=commit,execute,fetchall,float,format,get,int,portfolio_text,print,reference_price,send_email,split,strftime,time +TARGET_SEND_EMAIL_CALLS=EmailMessage,SMTP,config,create_default_context,get,int,login,lower,send_message,set_content,starttls,type +TARGET_MAIN_CALLS=atomic_json,cycle,format,int,max,print,sleep,time,type +TARGET_WORKER_URL_HOSTS=api.coingecko.com +TARGET_WORKER_ENV_NAME_COUNT=2 +TARGET_WORKER_ENV_NAMES=CRYPTO_DATA_DIR,CRYPTO_EMAIL_CONFIG_FILE +TARGET_WORKER_HAS_BINANCE_VISION=false +TARGET_WORKER_HAS_COINGECKO=true +TARGET_WRAPPER_CANDIDATE_COUNT=6 +TARGET_WRAPPER_1_REL=gram1.ru/gram1_app_9154/app/data/worker-status.json +TARGET_WRAPPER_1_SHA256=e25238ae6f80cfc4b0b463effe5c724e0248c7832ccccbf3cdaea28bbc734ecb +TARGET_WRAPPER_1_MODE=600 +TARGET_WRAPPER_1_HAS_WORKER_PY=false +TARGET_WRAPPER_1_HAS_ONESHOT_HINT=false +TARGET_WRAPPER_1_HAS_FLOCK=false +TARGET_WRAPPER_1_HAS_PYTHON=false +TARGET_WRAPPER_1_HAS_DATA_ENV=false +TARGET_WRAPPER_2_REL=gram1.ru/gram1_app_9154/app/__pycache__/worker.cpython-310.pyc +TARGET_WRAPPER_2_SHA256=07f9ed981cf328e78ecefdfcb545d7d46e4d3873e96cdafee873c2a7725c0097 +TARGET_WRAPPER_2_MODE=600 +TARGET_WRAPPER_2_HAS_WORKER_PY=true +TARGET_WRAPPER_2_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_2_HAS_FLOCK=false +TARGET_WRAPPER_2_HAS_PYTHON=false +TARGET_WRAPPER_2_HAS_DATA_ENV=true +TARGET_WRAPPER_3_REL=gram1.ru/gram1_app_9154/app/worker_once.py +TARGET_WRAPPER_3_SHA256=639e48538972848ee2153df72f46974a35ae147e9f0fcf95f0b17ac85976d73d +TARGET_WRAPPER_3_MODE=600 +TARGET_WRAPPER_3_HAS_WORKER_PY=false +TARGET_WRAPPER_3_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_3_HAS_FLOCK=false +TARGET_WRAPPER_3_HAS_PYTHON=false +TARGET_WRAPPER_3_HAS_DATA_ENV=true +TARGET_WRAPPER_4_REL=gram1.ru/gram1_app_9154/.w2-9483.sh +TARGET_WRAPPER_4_SHA256=7844833fda6397bd1fa904e41f89c7723018e7a72903633fa5f982eb724229c5 +TARGET_WRAPPER_4_MODE=600 +TARGET_WRAPPER_4_HAS_WORKER_PY=true +TARGET_WRAPPER_4_HAS_ONESHOT_HINT=true +TARGET_WRAPPER_4_HAS_FLOCK=false +TARGET_WRAPPER_4_HAS_PYTHON=true +TARGET_WRAPPER_4_HAS_DATA_ENV=true +TARGET_WRAPPER_5_REL=gram1.ru/gram1_app_9154/worker_cron.sh +TARGET_WRAPPER_5_SHA256=bf13a4c5568f7fcbeeb0943f047a45a7b2ced19f37cbd8cdbdd15a189c32ce52 +TARGET_WRAPPER_5_MODE=700 +TARGET_WRAPPER_5_HAS_WORKER_PY=false +TARGET_WRAPPER_5_HAS_ONESHOT_HINT=false +TARGET_WRAPPER_5_HAS_FLOCK=true +TARGET_WRAPPER_5_HAS_PYTHON=true +TARGET_WRAPPER_5_HAS_DATA_ENV=false +TARGET_GRAM1_CRONTAB_MATCH_COUNT=0 +TARGET_GRAM1_CRONTAB_MATCH_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +TARGET_WORKER_PROCESS_COUNT=0 +TARGET_SELF_HEALTH_RC=0 +TARGET_SELF_HEALTH_META=200|0.320967 +TARGET_SELF_HEALTH_STATUS=OK +TARGET_SELF_HEALTH_TYPE=crypto-portfolio +TARGET_SELF_MARKET_AGE_SECONDS=470672 +DISCOVERY_FINISHED_UTC=2026-09-30T01:58:01Z +DISCOVERY_RC=0 +TARGET_DB_MATCHES_SOURCE_9482=false +TARGET_MARKET_MATCHES_SOURCE_9482=false +TARGET_WORKER_MATCHES_OLD_SOURCE=true +DECISION=BEGET_TARGET_STATE_CAPTURED_PRESERVE_TARGET_DB_PATCH_WORKER_REFRESH_MARKET +NEXT_GATE=PATCH_TARGET_WORKER_PRESERVE_TARGET_DB_REFRESH_MARKET_ACTIVATE_CRON_WITH_ROLLBACK +TASK_RESULT=PASS_GRAM1_BEGET_FINAL_PREFLIGHT +CHANGES_MADE=true +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=TEMP_BEGET_DIAGNOSTIC_ARTIFACTS_CREATED_AND_REMOVED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260930-GRAM1-BEGET-FINAL-PREFLIGHT-9483R1","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END