diff --git a/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.json b/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.json new file mode 100644 index 00000000..e803a10b --- /dev/null +++ b/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "skladchik-complaints-restore-check-commandmap", + "started_at_utc": "2026-10-02T05:54:16Z", + "finished_at_utc": "2026-10-02T05:54:18Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "bcaf683dc48c5238422fa7f9c060a6170d1b08c2a28967b3cc76e842ce9e5ed1", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4", + "sanitized_output_sha256": "0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP=V1\nINGRESS_HOSTKEY_SELF_BOUND=true\nVM170_RUNNING=true\nGUEST_OUTPUT_PASS=true\nGUEST_MONITOR_SHA_MATCH=true\nGUEST_TIMER_ACTIVE=inactive\nGUEST_TIMER_ENABLED=disabled\nGUEST_SERVICE_ACTIVE=inactive\nGUEST_SERVICE_RESULT=success\nGUEST_SERVICE_EXEC_MAIN_STATUS=0\nRESTORE_CHECK_DEPLOYED_EXACT=true\nSHELL_FLAG_COUNT=3\nSHELL_FLAG_01=ERREXIT\nSHELL_FLAG_02=NOUNSET\nSHELL_FLAG_03=PIPEFAIL\nERR_TRAP_COUNT=1\nFD9_LOCK_USAGE_COUNT=2\nFUNCTION_START=36\nFUNCTION_END=95\nLINE_037_CLASS=COMMAND\nLINE_037_COMMANDS=NONE\nLINE_037_GUARDED=false\nLINE_037_SANITIZED=local_label=_$1__remote=_$2__rbase_latest_archive_name_remote_archive_outdir_archive_sha_remote_expected_actual_list_extract_sqlite_status_py_status\nLINE_038_CLASS=ASSIGN\nLINE_038_COMMANDS=NONE\nLINE_038_GUARDED=false\nLINE_038_SANITIZED=rbase=STR\nLINE_039_CLASS=ASSIGN_CMD_SUB\nLINE_039_COMMANDS=sort,tail,grep,sed\nLINE_039_GUARDED=false\nLINE_039_SANITIZED=latest=STR${rbase}/STR\nLINE_040_CLASS=OR_GUARDED\nLINE_040_COMMANDS=NONE\nLINE_040_GUARDED=true\nLINE_040_SANITIZED=[_-n__$latest__]_||_{_echo_STR_>>__$WORK/result.env___return_20__}\nLINE_041_CLASS=ASSIGN\nLINE_041_COMMANDS=NONE\nLINE_041_GUARDED=false\nLINE_041_SANITIZED=archive_name=STR\nLINE_042_CLASS=ASSIGN\nLINE_042_COMMANDS=NONE\nLINE_042_GUARDED=false\nLINE_042_SANITIZED=remote_archive=STR\nLINE_043_CLASS=ASSIGN\nLINE_043_COMMANDS=NONE\nLINE_043_GUARDED=false\nLINE_043_SANITIZED=outdir=STR\nLINE_044_CLASS=COMMAND\nLINE_044_COMMANDS=mkdir\nLINE_044_GUARDED=false\nLINE_044_SANITIZED=mkdir_-p__$outdir_\nLINE_045_CLASS=ASSIGN\nLINE_045_COMMANDS=NONE\nLINE_045_GUARDED=false\nLINE_045_SANITIZED=archive=STR\nLINE_046_CLASS=COMMAND\nLINE_046_COMMANDS=NONE\nLINE_046_GUARDED=false\nLINE_046_SANITIZED=log_STR\nLINE_047_CLASS=CAT_CHUNKED\nLINE_047_COMMANDS=NONE\nLINE_047_GUARDED=false\nLINE_047_SANITIZED=cat_chunked__$remote_archive___$archive_\nLINE_048_CLASS=CAT_CHUNKED\nLINE_048_COMMANDS=NONE\nLINE_048_GUARDED=false\nLINE_048_SANITIZED=cat_chunked_STR_STR\nLINE_049_CLASS=ASSIGN_CMD_SUB\nLINE_049_COMMANDS=awk\nLINE_049_GUARDED=false\nLINE_049_SANITIZED=expected=STR${archive}.sha256.remote_)_\nLINE_050_CLASS=ASSIGN_CMD_SUB\nLINE_050_COMMANDS=sha256sum,awk\nLINE_050_GUARDED=false\nLINE_050_SANITIZED=actual=_$(sha256sum__$archiveSTR\nLINE_051_CLASS=AND_CHAIN\nLINE_051_COMMANDS=NONE\nLINE_051_GUARDED=true\nLINE_051_SANITIZED=[_-n__$expected__]_&&_[__$expected__=__$actual__]\nLINE_052_CLASS=ASSIGN\nLINE_052_COMMANDS=NONE\nLINE_052_GUARDED=false\nLINE_052_SANITIZED=list=STR\nLINE_053_CLASS=TAR\nLINE_053_COMMANDS=tar\nLINE_053_GUARDED=false\nLINE_053_SANITIZED=tar_-tzf__$archive__>__$list_\nLINE_054_CLASS=COMMAND\nLINE_054_COMMANDS=grep\nLINE_054_GUARDED=false\nLINE_054_SANITIZED=grep_-Eq_STR__$list_\nLINE_055_CLASS=COMMAND\nLINE_055_COMMANDS=grep\nLINE_055_GUARDED=false\nLINE_055_SANITIZED=grep_-Eq_STR__$list_\nLINE_056_CLASS=COMMAND\nLINE_056_COMMANDS=grep\nLINE_056_GUARDED=false\nLINE_056_SANITIZED=grep_-Eq_STR__$list_\nLINE_057_CLASS=COMMAND\nLINE_057_COMMANDS=grep\nLINE_057_GUARDED=false\nLINE_057_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_058_CLASS=COMMAND\nLINE_058_COMMANDS=grep\nLINE_058_GUARDED=false\nLINE_058_SANITIZED=grep_-Eq_STR__$list_\nLINE_059_CLASS=COMMAND\nLINE_059_COMMANDS=grep\nLINE_059_GUARDED=false\nLINE_059_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_060_CLASS=COMMAND\nLINE_060_COMMANDS=grep\nLINE_060_GUARDED=false\nLINE_060_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_061_CLASS=COMMAND\nLINE_061_COMMANDS=grep\nLINE_061_GUARDED=false\nLINE_061_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_\nLINE_062_CLASS=COMMAND\nLINE_062_COMMANDS=grep\nLINE_062_GUARDED=false\nLINE_062_SANITIZED=grep_-Eq_STR__$list_\nLINE_063_CLASS=COMMAND\nLINE_063_COMMANDS=grep\nLINE_063_GUARDED=false\nLINE_063_SANITIZED=grep_-Eq_STR__$list_\nLINE_064_CLASS=COMMAND\nLINE_064_COMMANDS=grep\nLINE_064_GUARDED=false\nLINE_064_SANITIZED=grep_-Eq_STR__$list_\nLINE_065_CLASS=COMMAND\nLINE_065_COMMANDS=grep\nLINE_065_GUARDED=false\nLINE_065_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_066_CLASS=COMMAND\nLINE_066_COMMANDS=grep\nLINE_066_GUARDED=false\nLINE_066_SANITIZED=grep_-Eq_STR__$list_\nLINE_067_CLASS=COMMAND\nLINE_067_COMMANDS=grep\nLINE_067_GUARDED=false\nLINE_067_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_068_CLASS=COMMAND\nLINE_068_COMMANDS=grep\nLINE_068_GUARDED=false\nLINE_068_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_069_CLASS=COMMAND\nLINE_069_COMMANDS=grep\nLINE_069_GUARDED=false\nLINE_069_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_070_CLASS=COMMAND\nLINE_070_COMMANDS=grep\nLINE_070_GUARDED=false\nLINE_070_SANITIZED=grep_-Eq__(_|/)TOKEN$___$list_\nLINE_071_CLASS=COMMAND\nLINE_071_COMMANDS=grep\nLINE_071_GUARDED=false\nLINE_071_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_072_CLASS=COMMAND\nLINE_072_COMMANDS=grep\nLINE_072_GUARDED=false\nLINE_072_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_073_CLASS=COMMAND\nLINE_073_COMMANDS=grep\nLINE_073_GUARDED=false\nLINE_073_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_074_CLASS=COMMAND\nLINE_074_COMMANDS=grep\nLINE_074_GUARDED=false\nLINE_074_SANITIZED=grep_-Eq_STR__$list_\nLINE_075_CLASS=COMMAND\nLINE_075_COMMANDS=grep\nLINE_075_GUARDED=false\nLINE_075_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_076_CLASS=COMMAND\nLINE_076_COMMANDS=grep\nLINE_076_GUARDED=false\nLINE_076_SANITIZED=grep_-Eq_STR__$list_\nLINE_077_CLASS=COMMAND\nLINE_077_COMMANDS=grep\nLINE_077_GUARDED=false\nLINE_077_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_078_CLASS=COMMAND\nLINE_078_COMMANDS=grep\nLINE_078_GUARDED=false\nLINE_078_SANITIZED=grep_-Eq_STR__$list_\nLINE_079_CLASS=COMMAND\nLINE_079_COMMANDS=grep\nLINE_079_GUARDED=false\nLINE_079_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_080_CLASS=ASSIGN\nLINE_080_COMMANDS=NONE\nLINE_080_GUARDED=false\nLINE_080_SANITIZED=extract=_${outdir}/extract_\nLINE_081_CLASS=COMMAND\nLINE_081_COMMANDS=mkdir\nLINE_081_GUARDED=false\nLINE_081_SANITIZED=mkdir_-p__$extract_\nLINE_082_CLASS=TAR\nLINE_082_COMMANDS=tar\nLINE_082_GUARDED=false\nLINE_082_SANITIZED=tar_-xzf__$archive__-C__$extract_\nLINE_083_CLASS=ASSIGN\nLINE_083_COMMANDS=NONE\nLINE_083_GUARDED=false\nLINE_083_SANITIZED=sqlite_status=skipped\nLINE_084_CLASS=CONDITION\nLINE_084_COMMANDS=NONE\nLINE_084_GUARDED=true\nLINE_084_SANITIZED=if_command_-v_sqlite3_>PATH_&&_[_-s__$extractPATH__]__then\nLINE_085_CLASS=COMMAND\nLINE_085_COMMANDS=tail\nLINE_085_GUARDED=false\nLINE_085_SANITIZED=[__$(sqlite3__$extractPATHSTR_=__ok__]\nLINE_086_CLASS=ASSIGN\nLINE_086_COMMANDS=NONE\nLINE_086_GUARDED=false\nLINE_086_SANITIZED=sqlite_status=ok\nLINE_087_CLASS=CONTROL\nLINE_087_COMMANDS=NONE\nLINE_087_GUARDED=false\nLINE_087_SANITIZED=fi\nLINE_088_CLASS=ASSIGN\nLINE_088_COMMANDS=NONE\nLINE_088_GUARDED=false\nLINE_088_SANITIZED=py_status=skipped\nLINE_089_CLASS=CONDITION\nLINE_089_COMMANDS=python3\nLINE_089_GUARDED=true\nLINE_089_SANITIZED=if_command_-v_python3_>PATH__then\nLINE_090_CLASS=PYTHON\nLINE_090_COMMANDS=python3\nLINE_090_GUARDED=false\nLINE_090_SANITIZED=python3_-m_py_compile__$extractPATH___$extractPATH___$extractPATH___$extractPATH___$extractPATH_\nLINE_091_CLASS=ASSIGN\nLINE_091_COMMANDS=NONE\nLINE_091_GUARDED=false\nLINE_091_SANITIZED=py_status=ok\nLINE_092_CLASS=CONTROL\nLINE_092_COMMANDS=NONE\nLINE_092_GUARDED=false\nLINE_092_SANITIZED=fi\nLINE_093_CLASS=COMMAND\nLINE_093_COMMANDS=stat,printf\nLINE_093_GUARDED=false\nLINE_093_SANITIZED=printf_STR__$label___$label___$latest___$label___$(stat_-c_%s__$archive_)___$label___$label___$label___$label___$label___$label___$label___$sqlite_status___$label___$py_status__>>__$WORK/result.env_\nLINE_094_CLASS=COMMAND\nLINE_094_COMMANDS=stat\nLINE_094_GUARDED=false\nLINE_094_SANITIZED=log_STR$archiveSTR\nERREXIT_CANDIDATE_COUNT=37\nCAND_01_LINE=39\nCAND_01_CLASS=ASSIGN_CMD_SUB\nCAND_01_COMMANDS=sort,tail,grep,sed\nCAND_01_SANITIZED=latest=STR${rbase}/STR\nCAND_02_LINE=44\nCAND_02_CLASS=COMMAND\nCAND_02_COMMANDS=mkdir\nCAND_02_SANITIZED=mkdir_-p__$outdir_\nCAND_03_LINE=49\nCAND_03_CLASS=ASSIGN_CMD_SUB\nCAND_03_COMMANDS=awk\nCAND_03_SANITIZED=expected=STR${archive}.sha256.remote_)_\nCAND_04_LINE=50\nCAND_04_CLASS=ASSIGN_CMD_SUB\nCAND_04_COMMANDS=sha256sum,awk\nCAND_04_SANITIZED=actual=_$(sha256sum__$archiveSTR\nCAND_05_LINE=53\nCAND_05_CLASS=TAR\nCAND_05_COMMANDS=tar\nCAND_05_SANITIZED=tar_-tzf__$archive__>__$list_\nCAND_06_LINE=54\nCAND_06_CLASS=COMMAND\nCAND_06_COMMANDS=grep\nCAND_06_SANITIZED=grep_-Eq_STR__$list_\nCAND_07_LINE=55\nCAND_07_CLASS=COMMAND\nCAND_07_COMMANDS=grep\nCAND_07_SANITIZED=grep_-Eq_STR__$list_\nCAND_08_LINE=56\nCAND_08_CLASS=COMMAND\nCAND_08_COMMANDS=grep\nCAND_08_SANITIZED=grep_-Eq_STR__$list_\nCAND_09_LINE=57\nCAND_09_CLASS=COMMAND\nCAND_09_COMMANDS=grep\nCAND_09_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nCAND_10_LINE=58\nCAND_10_CLASS=COMMAND\nCAND_10_COMMANDS=grep\nCAND_10_SANITIZED=grep_-Eq_STR__$list_\nCAND_11_LINE=59\nCAND_11_CLASS=COMMAND\nCAND_11_COMMANDS=grep\nCAND_11_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nCAND_12_LINE=60\nCAND_12_CLASS=COMMAND\nCAND_12_COMMANDS=grep\nCAND_12_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nCAND_13_LINE=61\nCAND_13_CLASS=COMMAND\nCAND_13_COMMANDS=grep\nCAND_13_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_\nCAND_14_LINE=62\nCAND_14_CLASS=COMMAND\nCAND_14_COMMANDS=grep\nCAND_14_SANITIZED=grep_-Eq_STR__$list_\nCAND_15_LINE=63\nCAND_15_CLASS=COMMAND\nCAND_15_COMMANDS=grep\nCAND_15_SANITIZED=grep_-Eq_STR__$list_\nCAND_16_LINE=64\nCAND_16_CLASS=COMMAND\nCAND_16_COMMANDS=grep\nCAND_16_SANITIZED=grep_-Eq_STR__$list_\nCAND_17_LINE=65\nCAND_17_CLASS=COMMAND\nCAND_17_COMMANDS=grep\nCAND_17_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nCAND_18_LINE=66\nCAND_18_CLASS=COMMAND\nCAND_18_COMMANDS=grep\nCAND_18_SANITIZED=grep_-Eq_STR__$list_\nCAND_19_LINE=67\nCAND_19_CLASS=COMMAND\nCAND_19_COMMANDS=grep\nCAND_19_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nCAND_20_LINE=68\nCAND_20_CLASS=COMMAND\nCAND_20_COMMANDS=grep\nCAND_20_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nREFERENCED_COMMAND_COUNT=11\nCOMMAND_01_NAME=awk\nCOMMAND_02_NAME=grep\nCOMMAND_03_NAME=mkdir\nCOMMAND_04_NAME=printf\nCOMMAND_05_NAME=python3\nCOMMAND_06_NAME=sed\nCOMMAND_07_NAME=sha256sum\nCOMMAND_08_NAME=sort\nCOMMAND_09_NAME=stat\nCOMMAND_10_NAME=tail\nCOMMAND_11_NAME=tar\nREFERENCED_COMMAND_RUNTIME_COUNT=11\nREFERENCED_COMMAND_MISSING_COUNT=0\nDECISION=RCA_COMPLAINTS_RESTORE_CHECK_COMMANDMAP_READY\nNEXT_GATE=FIX_EXACT_ERREXIT_POINT\nTASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.txt b/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.txt new file mode 100644 index 00000000..d07ce09a --- /dev/null +++ b/runtime/history/SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1.txt @@ -0,0 +1,386 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=skladchik-complaints-restore-check-commandmap +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=bcaf683dc48c5238422fa7f9c060a6170d1b08c2a28967b3cc76e842ce9e5ed1 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4 +SANITIZED_OUTPUT_SHA256=0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4 +OUTPUT_BEGIN +SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP=V1 +INGRESS_HOSTKEY_SELF_BOUND=true +VM170_RUNNING=true +GUEST_OUTPUT_PASS=true +GUEST_MONITOR_SHA_MATCH=true +GUEST_TIMER_ACTIVE=inactive +GUEST_TIMER_ENABLED=disabled +GUEST_SERVICE_ACTIVE=inactive +GUEST_SERVICE_RESULT=success +GUEST_SERVICE_EXEC_MAIN_STATUS=0 +RESTORE_CHECK_DEPLOYED_EXACT=true +SHELL_FLAG_COUNT=3 +SHELL_FLAG_01=ERREXIT +SHELL_FLAG_02=NOUNSET +SHELL_FLAG_03=PIPEFAIL +ERR_TRAP_COUNT=1 +FD9_LOCK_USAGE_COUNT=2 +FUNCTION_START=36 +FUNCTION_END=95 +LINE_037_CLASS=COMMAND +LINE_037_COMMANDS=NONE +LINE_037_GUARDED=false +LINE_037_SANITIZED=local_label=_$1__remote=_$2__rbase_latest_archive_name_remote_archive_outdir_archive_sha_remote_expected_actual_list_extract_sqlite_status_py_status +LINE_038_CLASS=ASSIGN +LINE_038_COMMANDS=NONE +LINE_038_GUARDED=false +LINE_038_SANITIZED=rbase=STR +LINE_039_CLASS=ASSIGN_CMD_SUB +LINE_039_COMMANDS=sort,tail,grep,sed +LINE_039_GUARDED=false +LINE_039_SANITIZED=latest=STR${rbase}/STR +LINE_040_CLASS=OR_GUARDED +LINE_040_COMMANDS=NONE +LINE_040_GUARDED=true +LINE_040_SANITIZED=[_-n__$latest__]_||_{_echo_STR_>>__$WORK/result.env___return_20__} +LINE_041_CLASS=ASSIGN +LINE_041_COMMANDS=NONE +LINE_041_GUARDED=false +LINE_041_SANITIZED=archive_name=STR +LINE_042_CLASS=ASSIGN +LINE_042_COMMANDS=NONE +LINE_042_GUARDED=false +LINE_042_SANITIZED=remote_archive=STR +LINE_043_CLASS=ASSIGN +LINE_043_COMMANDS=NONE +LINE_043_GUARDED=false +LINE_043_SANITIZED=outdir=STR +LINE_044_CLASS=COMMAND +LINE_044_COMMANDS=mkdir +LINE_044_GUARDED=false +LINE_044_SANITIZED=mkdir_-p__$outdir_ +LINE_045_CLASS=ASSIGN +LINE_045_COMMANDS=NONE +LINE_045_GUARDED=false +LINE_045_SANITIZED=archive=STR +LINE_046_CLASS=COMMAND +LINE_046_COMMANDS=NONE +LINE_046_GUARDED=false +LINE_046_SANITIZED=log_STR +LINE_047_CLASS=CAT_CHUNKED +LINE_047_COMMANDS=NONE +LINE_047_GUARDED=false +LINE_047_SANITIZED=cat_chunked__$remote_archive___$archive_ +LINE_048_CLASS=CAT_CHUNKED +LINE_048_COMMANDS=NONE +LINE_048_GUARDED=false +LINE_048_SANITIZED=cat_chunked_STR_STR +LINE_049_CLASS=ASSIGN_CMD_SUB +LINE_049_COMMANDS=awk +LINE_049_GUARDED=false +LINE_049_SANITIZED=expected=STR${archive}.sha256.remote_)_ +LINE_050_CLASS=ASSIGN_CMD_SUB +LINE_050_COMMANDS=sha256sum,awk +LINE_050_GUARDED=false +LINE_050_SANITIZED=actual=_$(sha256sum__$archiveSTR +LINE_051_CLASS=AND_CHAIN +LINE_051_COMMANDS=NONE +LINE_051_GUARDED=true +LINE_051_SANITIZED=[_-n__$expected__]_&&_[__$expected__=__$actual__] +LINE_052_CLASS=ASSIGN +LINE_052_COMMANDS=NONE +LINE_052_GUARDED=false +LINE_052_SANITIZED=list=STR +LINE_053_CLASS=TAR +LINE_053_COMMANDS=tar +LINE_053_GUARDED=false +LINE_053_SANITIZED=tar_-tzf__$archive__>__$list_ +LINE_054_CLASS=COMMAND +LINE_054_COMMANDS=grep +LINE_054_GUARDED=false +LINE_054_SANITIZED=grep_-Eq_STR__$list_ +LINE_055_CLASS=COMMAND +LINE_055_COMMANDS=grep +LINE_055_GUARDED=false +LINE_055_SANITIZED=grep_-Eq_STR__$list_ +LINE_056_CLASS=COMMAND +LINE_056_COMMANDS=grep +LINE_056_GUARDED=false +LINE_056_SANITIZED=grep_-Eq_STR__$list_ +LINE_057_CLASS=COMMAND +LINE_057_COMMANDS=grep +LINE_057_GUARDED=false +LINE_057_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_058_CLASS=COMMAND +LINE_058_COMMANDS=grep +LINE_058_GUARDED=false +LINE_058_SANITIZED=grep_-Eq_STR__$list_ +LINE_059_CLASS=COMMAND +LINE_059_COMMANDS=grep +LINE_059_GUARDED=false +LINE_059_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_060_CLASS=COMMAND +LINE_060_COMMANDS=grep +LINE_060_GUARDED=false +LINE_060_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_061_CLASS=COMMAND +LINE_061_COMMANDS=grep +LINE_061_GUARDED=false +LINE_061_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_ +LINE_062_CLASS=COMMAND +LINE_062_COMMANDS=grep +LINE_062_GUARDED=false +LINE_062_SANITIZED=grep_-Eq_STR__$list_ +LINE_063_CLASS=COMMAND +LINE_063_COMMANDS=grep +LINE_063_GUARDED=false +LINE_063_SANITIZED=grep_-Eq_STR__$list_ +LINE_064_CLASS=COMMAND +LINE_064_COMMANDS=grep +LINE_064_GUARDED=false +LINE_064_SANITIZED=grep_-Eq_STR__$list_ +LINE_065_CLASS=COMMAND +LINE_065_COMMANDS=grep +LINE_065_GUARDED=false +LINE_065_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_066_CLASS=COMMAND +LINE_066_COMMANDS=grep +LINE_066_GUARDED=false +LINE_066_SANITIZED=grep_-Eq_STR__$list_ +LINE_067_CLASS=COMMAND +LINE_067_COMMANDS=grep +LINE_067_GUARDED=false +LINE_067_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_068_CLASS=COMMAND +LINE_068_COMMANDS=grep +LINE_068_GUARDED=false +LINE_068_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_069_CLASS=COMMAND +LINE_069_COMMANDS=grep +LINE_069_GUARDED=false +LINE_069_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_070_CLASS=COMMAND +LINE_070_COMMANDS=grep +LINE_070_GUARDED=false +LINE_070_SANITIZED=grep_-Eq__(_|/)TOKEN$___$list_ +LINE_071_CLASS=COMMAND +LINE_071_COMMANDS=grep +LINE_071_GUARDED=false +LINE_071_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_072_CLASS=COMMAND +LINE_072_COMMANDS=grep +LINE_072_GUARDED=false +LINE_072_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_073_CLASS=COMMAND +LINE_073_COMMANDS=grep +LINE_073_GUARDED=false +LINE_073_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_074_CLASS=COMMAND +LINE_074_COMMANDS=grep +LINE_074_GUARDED=false +LINE_074_SANITIZED=grep_-Eq_STR__$list_ +LINE_075_CLASS=COMMAND +LINE_075_COMMANDS=grep +LINE_075_GUARDED=false +LINE_075_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_076_CLASS=COMMAND +LINE_076_COMMANDS=grep +LINE_076_GUARDED=false +LINE_076_SANITIZED=grep_-Eq_STR__$list_ +LINE_077_CLASS=COMMAND +LINE_077_COMMANDS=grep +LINE_077_GUARDED=false +LINE_077_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_078_CLASS=COMMAND +LINE_078_COMMANDS=grep +LINE_078_GUARDED=false +LINE_078_SANITIZED=grep_-Eq_STR__$list_ +LINE_079_CLASS=COMMAND +LINE_079_COMMANDS=grep +LINE_079_GUARDED=false +LINE_079_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_080_CLASS=ASSIGN +LINE_080_COMMANDS=NONE +LINE_080_GUARDED=false +LINE_080_SANITIZED=extract=_${outdir}/extract_ +LINE_081_CLASS=COMMAND +LINE_081_COMMANDS=mkdir +LINE_081_GUARDED=false +LINE_081_SANITIZED=mkdir_-p__$extract_ +LINE_082_CLASS=TAR +LINE_082_COMMANDS=tar +LINE_082_GUARDED=false +LINE_082_SANITIZED=tar_-xzf__$archive__-C__$extract_ +LINE_083_CLASS=ASSIGN +LINE_083_COMMANDS=NONE +LINE_083_GUARDED=false +LINE_083_SANITIZED=sqlite_status=skipped +LINE_084_CLASS=CONDITION +LINE_084_COMMANDS=NONE +LINE_084_GUARDED=true +LINE_084_SANITIZED=if_command_-v_sqlite3_>PATH_&&_[_-s__$extractPATH__]__then +LINE_085_CLASS=COMMAND +LINE_085_COMMANDS=tail +LINE_085_GUARDED=false +LINE_085_SANITIZED=[__$(sqlite3__$extractPATHSTR_=__ok__] +LINE_086_CLASS=ASSIGN +LINE_086_COMMANDS=NONE +LINE_086_GUARDED=false +LINE_086_SANITIZED=sqlite_status=ok +LINE_087_CLASS=CONTROL +LINE_087_COMMANDS=NONE +LINE_087_GUARDED=false +LINE_087_SANITIZED=fi +LINE_088_CLASS=ASSIGN +LINE_088_COMMANDS=NONE +LINE_088_GUARDED=false +LINE_088_SANITIZED=py_status=skipped +LINE_089_CLASS=CONDITION +LINE_089_COMMANDS=python3 +LINE_089_GUARDED=true +LINE_089_SANITIZED=if_command_-v_python3_>PATH__then +LINE_090_CLASS=PYTHON +LINE_090_COMMANDS=python3 +LINE_090_GUARDED=false +LINE_090_SANITIZED=python3_-m_py_compile__$extractPATH___$extractPATH___$extractPATH___$extractPATH___$extractPATH_ +LINE_091_CLASS=ASSIGN +LINE_091_COMMANDS=NONE +LINE_091_GUARDED=false +LINE_091_SANITIZED=py_status=ok +LINE_092_CLASS=CONTROL +LINE_092_COMMANDS=NONE +LINE_092_GUARDED=false +LINE_092_SANITIZED=fi +LINE_093_CLASS=COMMAND +LINE_093_COMMANDS=stat,printf +LINE_093_GUARDED=false +LINE_093_SANITIZED=printf_STR__$label___$label___$latest___$label___$(stat_-c_%s__$archive_)___$label___$label___$label___$label___$label___$label___$label___$sqlite_status___$label___$py_status__>>__$WORK/result.env_ +LINE_094_CLASS=COMMAND +LINE_094_COMMANDS=stat +LINE_094_GUARDED=false +LINE_094_SANITIZED=log_STR$archiveSTR +ERREXIT_CANDIDATE_COUNT=37 +CAND_01_LINE=39 +CAND_01_CLASS=ASSIGN_CMD_SUB +CAND_01_COMMANDS=sort,tail,grep,sed +CAND_01_SANITIZED=latest=STR${rbase}/STR +CAND_02_LINE=44 +CAND_02_CLASS=COMMAND +CAND_02_COMMANDS=mkdir +CAND_02_SANITIZED=mkdir_-p__$outdir_ +CAND_03_LINE=49 +CAND_03_CLASS=ASSIGN_CMD_SUB +CAND_03_COMMANDS=awk +CAND_03_SANITIZED=expected=STR${archive}.sha256.remote_)_ +CAND_04_LINE=50 +CAND_04_CLASS=ASSIGN_CMD_SUB +CAND_04_COMMANDS=sha256sum,awk +CAND_04_SANITIZED=actual=_$(sha256sum__$archiveSTR +CAND_05_LINE=53 +CAND_05_CLASS=TAR +CAND_05_COMMANDS=tar +CAND_05_SANITIZED=tar_-tzf__$archive__>__$list_ +CAND_06_LINE=54 +CAND_06_CLASS=COMMAND +CAND_06_COMMANDS=grep +CAND_06_SANITIZED=grep_-Eq_STR__$list_ +CAND_07_LINE=55 +CAND_07_CLASS=COMMAND +CAND_07_COMMANDS=grep +CAND_07_SANITIZED=grep_-Eq_STR__$list_ +CAND_08_LINE=56 +CAND_08_CLASS=COMMAND +CAND_08_COMMANDS=grep +CAND_08_SANITIZED=grep_-Eq_STR__$list_ +CAND_09_LINE=57 +CAND_09_CLASS=COMMAND +CAND_09_COMMANDS=grep +CAND_09_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +CAND_10_LINE=58 +CAND_10_CLASS=COMMAND +CAND_10_COMMANDS=grep +CAND_10_SANITIZED=grep_-Eq_STR__$list_ +CAND_11_LINE=59 +CAND_11_CLASS=COMMAND +CAND_11_COMMANDS=grep +CAND_11_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +CAND_12_LINE=60 +CAND_12_CLASS=COMMAND +CAND_12_COMMANDS=grep +CAND_12_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +CAND_13_LINE=61 +CAND_13_CLASS=COMMAND +CAND_13_COMMANDS=grep +CAND_13_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_ +CAND_14_LINE=62 +CAND_14_CLASS=COMMAND +CAND_14_COMMANDS=grep +CAND_14_SANITIZED=grep_-Eq_STR__$list_ +CAND_15_LINE=63 +CAND_15_CLASS=COMMAND +CAND_15_COMMANDS=grep +CAND_15_SANITIZED=grep_-Eq_STR__$list_ +CAND_16_LINE=64 +CAND_16_CLASS=COMMAND +CAND_16_COMMANDS=grep +CAND_16_SANITIZED=grep_-Eq_STR__$list_ +CAND_17_LINE=65 +CAND_17_CLASS=COMMAND +CAND_17_COMMANDS=grep +CAND_17_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +CAND_18_LINE=66 +CAND_18_CLASS=COMMAND +CAND_18_COMMANDS=grep +CAND_18_SANITIZED=grep_-Eq_STR__$list_ +CAND_19_LINE=67 +CAND_19_CLASS=COMMAND +CAND_19_COMMANDS=grep +CAND_19_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +CAND_20_LINE=68 +CAND_20_CLASS=COMMAND +CAND_20_COMMANDS=grep +CAND_20_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +REFERENCED_COMMAND_COUNT=11 +COMMAND_01_NAME=awk +COMMAND_02_NAME=grep +COMMAND_03_NAME=mkdir +COMMAND_04_NAME=printf +COMMAND_05_NAME=python3 +COMMAND_06_NAME=sed +COMMAND_07_NAME=sha256sum +COMMAND_08_NAME=sort +COMMAND_09_NAME=stat +COMMAND_10_NAME=tail +COMMAND_11_NAME=tar +REFERENCED_COMMAND_RUNTIME_COUNT=11 +REFERENCED_COMMAND_MISSING_COUNT=0 +DECISION=RCA_COMPLAINTS_RESTORE_CHECK_COMMANDMAP_READY +NEXT_GATE=FIX_EXACT_ERREXIT_POINT +TASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 7dfb6b64..e803a10b 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-STATIC-FAILBRANCH-99358R1", + "command_id": "SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "skladchik-complaints-restore-check-static-failbranch", - "started_at_utc": "2026-10-02T05:50:04Z", - "finished_at_utc": "2026-10-02T05:50:05Z", + "component": "skladchik-complaints-restore-check-commandmap", + "started_at_utc": "2026-10-02T05:54:16Z", + "finished_at_utc": "2026-10-02T05:54:18Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "75fb2d5aa1e2c6b596ee68a9afd2289f0be9b40a3cec44ea1b236709e23d2143", + "command_sha256": "bcaf683dc48c5238422fa7f9c060a6170d1b08c2a28967b3cc76e842ce9e5ed1", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "2ae566299c9832c29a44576ebacda1afaaa32c931d6d65435421365c1af99c5f", - "sanitized_output_sha256": "2ae566299c9832c29a44576ebacda1afaaa32c931d6d65435421365c1af99c5f", + "raw_evidence_sha256": "0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4", + "sanitized_output_sha256": "0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SKLADCHIK_COMPLAINTS_RESTORE_CHECK_STATIC_FAILBRANCH=V1\nINGRESS_HOSTKEY_SELF_BOUND=true\nVM170_RUNNING=true\nGUEST_OUTPUT_PASS=true\nGUEST_MONITOR_SHA_MATCH=true\nGUEST_TIMER_ACTIVE=inactive\nGUEST_TIMER_ENABLED=disabled\nGUEST_SERVICE_ACTIVE=inactive\nGUEST_SERVICE_RESULT=success\nGUEST_SERVICE_EXEC_MAIN_STATUS=0\nRESTORE_CHECK_DEPLOYED_EXACT=true\nRESTORE_CHECK_STATUS_DEPLOYED_EXACT=true\nFUNCTION_CHECK_ONE_REMOTE_FOUND=true\nFUNCTION_CHECK_ONE_REMOTE_START=36\nFUNCTION_CHECK_ONE_REMOTE_END=95\nFAIL_EVENT_COUNT=1\nFAIL_01_LINE=40\nFAIL_01_CLASS=RETURN_NONZERO\nFAIL_01_CONDITION=NONE\nFAIL_01_STATEMENT=[ -n _$latest_ ] || { echo _${label}_STATUS=NO_RUN_ >> _$WORK/result.env__ return 20_ }\nSTATE_PATH_LITERAL_COUNT=5\nSTATE_FILE_EXISTING_COUNT=3\nSTATE_01_BASENAME=skladchik-reports-monitor-backup-restore-check.conf\nSTATE_01_SIZE=270\nSTATE_01_AGE_SEC=7253813\nSTATE_01_SHA256=c7f63d5707196f9b770cb304333a80fa20d0e9e34554ef11224bd6f2e4208aa5\nSTATE_01_TAIL_01=__Skladchik_reports_monitor_backup_restore-check_config_on_pve01\nSTATE_01_TAIL_01_SHA256=153873df7e21db5e4dd5962bf6040d6628655f6608f441b89ba76ef30c3bb84a\nSTATE_01_TAIL_02=REMOTE_BASE=_TOKEN_\nSTATE_01_TAIL_02_SHA256=ff2a4ef3f9082f1454cf5131d9d88306aab4ca8b9b9a29a49293b04faa91a8a5\nSTATE_01_TAIL_03=CLOUD_1=_pve01-mail-01-crypt:_\nSTATE_01_TAIL_03_SHA256=54dbf5c50312eb58710b1f810d83ce901773a9af7c0747817dc3cc72fa0fdda0\nSTATE_01_TAIL_04=CLOUD_2=_pve01-mail-02-crypt:_\nSTATE_01_TAIL_04_SHA256=7fd0318357a0418ba814b6f3881d7e3b2619541adae654c4038c65a7950e5ebd\nSTATE_01_TAIL_05=WORK_ROOT=_PATH_\nSTATE_01_TAIL_05_SHA256=b897ac1a82ab529a7c96300b992fb98b1ea7f562fd926c67bf55e738ac7aaba3\nSTATE_01_TAIL_06=KEEP_LOCAL=_10_\nSTATE_01_TAIL_06_SHA256=2c3da7998bb88430a08fd696501749ca7c4cc0fa98ed4fb3b26488b6a319c2cd\nSTATE_02_BASENAME=restore-check-health.txt\nSTATE_02_SIZE=71\nSTATE_02_AGE_SEC=248\nSTATE_02_SHA256=08a290bea388e4ca0e1160aab1c909ff0cef9e98326b6dd32abe9f5541125ce8\nSTATE_02_TAIL_01=STATUS=FAIL\nSTATE_02_TAIL_01_SHA256=ab0c87d81a26848ca27f2fe8b509ded0337ba562822a2240a6bba256d2ca1451\nSTATE_02_TAIL_02=TS=2026-10-02T05:45:56Z\nSTATE_02_TAIL_02_SHA256=93dbff04d07d27f255a975d09934d3d51bd4cbc2f7f37154ddb7658bc7ab2486\nSTATE_02_TAIL_03=RUN_ID=20261002T054556Z\nSTATE_02_TAIL_03_SHA256=60653fe59e8739fe1e1578fcbc1af450c540147edb057e499248adae98f1691c\nSTATE_02_TAIL_04=error_rc=1\nSTATE_02_TAIL_04_SHA256=3cabf884575d32a5cee92664223c1fe9ca42dc1365133ceb988d228d96809f2c\nSTATE_03_BASENAME=skladchik-reports-monitor-backup-restore-check.lock\nSTATE_03_SIZE=1486\nSTATE_03_AGE_SEC=248\nSTATE_03_SHA256=b98000f226697c1eaa5de8e79a7bcc3b50018b68276c68aa1ccf3fe5fb2e38ee\nSTATE_03_TAIL_01=+++_printf___s_RESTORE_CHECK__s_n__2026-10-02T05:45:56Z__FAIL_rc=1_\nSTATE_03_TAIL_01_SHA256=879453ebd2a99559ed990cf9fc663503f5e4ea03beebb5aebb4d6071bb33fafe\nSTATE_03_TAIL_02=+++_exit_1\nSTATE_03_TAIL_02_SHA256=e1716173b3800ef21b811b6e3629181fcef92f00d0beb2da1a79819c37822903\nSTATE_03_TAIL_03=+_latest=_2026-10-02T05:45:56Z_RESTORE_CHECK_FAIL_rc=1_\nSTATE_03_TAIL_03_SHA256=bfda5b682abd74da613bd713ea242da7be14857d7d2918a8019c018220d8afcc\nSTATE_03_TAIL_04=++_fail\nSTATE_03_TAIL_04_SHA256=855ff9f87b7a26638cecdf88ff9589acfc55d6904175e0637ba5ef42ba90d1de\nSTATE_03_TAIL_05=++_rc=1\nSTATE_03_TAIL_05_SHA256=e0fb73268b9b53aa7f6272959e1a94d90426db57cecd7e65334d17acaedc7787\nSTATE_03_TAIL_06=+++_date_-u_+_Y-_m-_dT_H:_M:_SZ\nSTATE_03_TAIL_06_SHA256=d05b03cdd8fb6dc4f6a12ad2e120f5a72a15e69fa25178e746bb4e4b587a5a70\nSTATE_03_TAIL_07=++_printf__STATUS=FAIL_nTS=_s_nRUN_ID=_s_nerror_rc=_s_n__2026-10-02T05:45:56Z_20261002T054556Z_1\nSTATE_03_TAIL_07_SHA256=5f969352d2a85992c83c2546df4484fd8884e11ad3530384d237561073c65ffd\nSTATE_03_TAIL_08=++_log__FAIL_rc=1_\nSTATE_03_TAIL_08_SHA256=78a225e41f168f149a78e295f66e7073f86adac3806f6ba857c946d87cde14bb\nSTATE_03_TAIL_09=++_tee_-a_PATH\nSTATE_03_TAIL_09_SHA256=f6efa2559ef347bfaee4b205bf7de7be8c528dc113caf188dec35f885d88e1c4\nSTATE_03_TAIL_10=+++_date_-u_+_Y-_m-_dT_H:_M:_SZ\nSTATE_03_TAIL_10_SHA256=d05b03cdd8fb6dc4f6a12ad2e120f5a72a15e69fa25178e746bb4e4b587a5a70\nSTATE_03_TAIL_11=++_printf___s_RESTORE_CHECK__s_n__2026-10-02T05:45:56Z__FAIL_rc=1_\nSTATE_03_TAIL_11_SHA256=a004cbb33e0c4d16f8da213a394172874c16d0dab0308574be76862ef69a01f8\nSTATE_03_TAIL_12=++_exit_1\nSTATE_03_TAIL_12_SHA256=b004c31653f206db9f3928f7ce0897db85e424a2807f1533f5dde8cdebd97aa4\nSTATECAT_SSH_COUNT=0\nSTATECAT_CHUNK_COUNT=0\nSTATECAT_ARCHIVE_COUNT=5\nSTATECAT_HASH_COUNT=0\nSTATECAT_MISSING_COUNT=0\nSTATECAT_AUTH_COUNT=0\nSTATECAT_REMOTE_COUNT=5\nSTATECAT_PYTHON_COUNT=0\nSTATECAT_SQLITE_COUNT=1\nSTATUS_HELPER_RC=999\nDECISION=RCA_COMPLAINTS_RESTORE_CHECK_STATIC_EVIDENCE\nNEXT_GATE=FIX_COMPLAINTS_RESTORE_CHECK_EXACT_FAILURE\nTASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_STATIC_FAILBRANCH\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-STATIC-FAILBRANCH-99358R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP=V1\nINGRESS_HOSTKEY_SELF_BOUND=true\nVM170_RUNNING=true\nGUEST_OUTPUT_PASS=true\nGUEST_MONITOR_SHA_MATCH=true\nGUEST_TIMER_ACTIVE=inactive\nGUEST_TIMER_ENABLED=disabled\nGUEST_SERVICE_ACTIVE=inactive\nGUEST_SERVICE_RESULT=success\nGUEST_SERVICE_EXEC_MAIN_STATUS=0\nRESTORE_CHECK_DEPLOYED_EXACT=true\nSHELL_FLAG_COUNT=3\nSHELL_FLAG_01=ERREXIT\nSHELL_FLAG_02=NOUNSET\nSHELL_FLAG_03=PIPEFAIL\nERR_TRAP_COUNT=1\nFD9_LOCK_USAGE_COUNT=2\nFUNCTION_START=36\nFUNCTION_END=95\nLINE_037_CLASS=COMMAND\nLINE_037_COMMANDS=NONE\nLINE_037_GUARDED=false\nLINE_037_SANITIZED=local_label=_$1__remote=_$2__rbase_latest_archive_name_remote_archive_outdir_archive_sha_remote_expected_actual_list_extract_sqlite_status_py_status\nLINE_038_CLASS=ASSIGN\nLINE_038_COMMANDS=NONE\nLINE_038_GUARDED=false\nLINE_038_SANITIZED=rbase=STR\nLINE_039_CLASS=ASSIGN_CMD_SUB\nLINE_039_COMMANDS=sort,tail,grep,sed\nLINE_039_GUARDED=false\nLINE_039_SANITIZED=latest=STR${rbase}/STR\nLINE_040_CLASS=OR_GUARDED\nLINE_040_COMMANDS=NONE\nLINE_040_GUARDED=true\nLINE_040_SANITIZED=[_-n__$latest__]_||_{_echo_STR_>>__$WORK/result.env___return_20__}\nLINE_041_CLASS=ASSIGN\nLINE_041_COMMANDS=NONE\nLINE_041_GUARDED=false\nLINE_041_SANITIZED=archive_name=STR\nLINE_042_CLASS=ASSIGN\nLINE_042_COMMANDS=NONE\nLINE_042_GUARDED=false\nLINE_042_SANITIZED=remote_archive=STR\nLINE_043_CLASS=ASSIGN\nLINE_043_COMMANDS=NONE\nLINE_043_GUARDED=false\nLINE_043_SANITIZED=outdir=STR\nLINE_044_CLASS=COMMAND\nLINE_044_COMMANDS=mkdir\nLINE_044_GUARDED=false\nLINE_044_SANITIZED=mkdir_-p__$outdir_\nLINE_045_CLASS=ASSIGN\nLINE_045_COMMANDS=NONE\nLINE_045_GUARDED=false\nLINE_045_SANITIZED=archive=STR\nLINE_046_CLASS=COMMAND\nLINE_046_COMMANDS=NONE\nLINE_046_GUARDED=false\nLINE_046_SANITIZED=log_STR\nLINE_047_CLASS=CAT_CHUNKED\nLINE_047_COMMANDS=NONE\nLINE_047_GUARDED=false\nLINE_047_SANITIZED=cat_chunked__$remote_archive___$archive_\nLINE_048_CLASS=CAT_CHUNKED\nLINE_048_COMMANDS=NONE\nLINE_048_GUARDED=false\nLINE_048_SANITIZED=cat_chunked_STR_STR\nLINE_049_CLASS=ASSIGN_CMD_SUB\nLINE_049_COMMANDS=awk\nLINE_049_GUARDED=false\nLINE_049_SANITIZED=expected=STR${archive}.sha256.remote_)_\nLINE_050_CLASS=ASSIGN_CMD_SUB\nLINE_050_COMMANDS=sha256sum,awk\nLINE_050_GUARDED=false\nLINE_050_SANITIZED=actual=_$(sha256sum__$archiveSTR\nLINE_051_CLASS=AND_CHAIN\nLINE_051_COMMANDS=NONE\nLINE_051_GUARDED=true\nLINE_051_SANITIZED=[_-n__$expected__]_&&_[__$expected__=__$actual__]\nLINE_052_CLASS=ASSIGN\nLINE_052_COMMANDS=NONE\nLINE_052_GUARDED=false\nLINE_052_SANITIZED=list=STR\nLINE_053_CLASS=TAR\nLINE_053_COMMANDS=tar\nLINE_053_GUARDED=false\nLINE_053_SANITIZED=tar_-tzf__$archive__>__$list_\nLINE_054_CLASS=COMMAND\nLINE_054_COMMANDS=grep\nLINE_054_GUARDED=false\nLINE_054_SANITIZED=grep_-Eq_STR__$list_\nLINE_055_CLASS=COMMAND\nLINE_055_COMMANDS=grep\nLINE_055_GUARDED=false\nLINE_055_SANITIZED=grep_-Eq_STR__$list_\nLINE_056_CLASS=COMMAND\nLINE_056_COMMANDS=grep\nLINE_056_GUARDED=false\nLINE_056_SANITIZED=grep_-Eq_STR__$list_\nLINE_057_CLASS=COMMAND\nLINE_057_COMMANDS=grep\nLINE_057_GUARDED=false\nLINE_057_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_058_CLASS=COMMAND\nLINE_058_COMMANDS=grep\nLINE_058_GUARDED=false\nLINE_058_SANITIZED=grep_-Eq_STR__$list_\nLINE_059_CLASS=COMMAND\nLINE_059_COMMANDS=grep\nLINE_059_GUARDED=false\nLINE_059_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_060_CLASS=COMMAND\nLINE_060_COMMANDS=grep\nLINE_060_GUARDED=false\nLINE_060_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_061_CLASS=COMMAND\nLINE_061_COMMANDS=grep\nLINE_061_GUARDED=false\nLINE_061_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_\nLINE_062_CLASS=COMMAND\nLINE_062_COMMANDS=grep\nLINE_062_GUARDED=false\nLINE_062_SANITIZED=grep_-Eq_STR__$list_\nLINE_063_CLASS=COMMAND\nLINE_063_COMMANDS=grep\nLINE_063_GUARDED=false\nLINE_063_SANITIZED=grep_-Eq_STR__$list_\nLINE_064_CLASS=COMMAND\nLINE_064_COMMANDS=grep\nLINE_064_GUARDED=false\nLINE_064_SANITIZED=grep_-Eq_STR__$list_\nLINE_065_CLASS=COMMAND\nLINE_065_COMMANDS=grep\nLINE_065_GUARDED=false\nLINE_065_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_066_CLASS=COMMAND\nLINE_066_COMMANDS=grep\nLINE_066_GUARDED=false\nLINE_066_SANITIZED=grep_-Eq_STR__$list_\nLINE_067_CLASS=COMMAND\nLINE_067_COMMANDS=grep\nLINE_067_GUARDED=false\nLINE_067_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_068_CLASS=COMMAND\nLINE_068_COMMANDS=grep\nLINE_068_GUARDED=false\nLINE_068_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_069_CLASS=COMMAND\nLINE_069_COMMANDS=grep\nLINE_069_GUARDED=false\nLINE_069_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nLINE_070_CLASS=COMMAND\nLINE_070_COMMANDS=grep\nLINE_070_GUARDED=false\nLINE_070_SANITIZED=grep_-Eq__(_|/)TOKEN$___$list_\nLINE_071_CLASS=COMMAND\nLINE_071_COMMANDS=grep\nLINE_071_GUARDED=false\nLINE_071_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_072_CLASS=COMMAND\nLINE_072_COMMANDS=grep\nLINE_072_GUARDED=false\nLINE_072_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_073_CLASS=COMMAND\nLINE_073_COMMANDS=grep\nLINE_073_GUARDED=false\nLINE_073_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nLINE_074_CLASS=COMMAND\nLINE_074_COMMANDS=grep\nLINE_074_GUARDED=false\nLINE_074_SANITIZED=grep_-Eq_STR__$list_\nLINE_075_CLASS=COMMAND\nLINE_075_COMMANDS=grep\nLINE_075_GUARDED=false\nLINE_075_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_076_CLASS=COMMAND\nLINE_076_COMMANDS=grep\nLINE_076_GUARDED=false\nLINE_076_SANITIZED=grep_-Eq_STR__$list_\nLINE_077_CLASS=COMMAND\nLINE_077_COMMANDS=grep\nLINE_077_GUARDED=false\nLINE_077_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_078_CLASS=COMMAND\nLINE_078_COMMANDS=grep\nLINE_078_GUARDED=false\nLINE_078_SANITIZED=grep_-Eq_STR__$list_\nLINE_079_CLASS=COMMAND\nLINE_079_COMMANDS=grep\nLINE_079_GUARDED=false\nLINE_079_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nLINE_080_CLASS=ASSIGN\nLINE_080_COMMANDS=NONE\nLINE_080_GUARDED=false\nLINE_080_SANITIZED=extract=_${outdir}/extract_\nLINE_081_CLASS=COMMAND\nLINE_081_COMMANDS=mkdir\nLINE_081_GUARDED=false\nLINE_081_SANITIZED=mkdir_-p__$extract_\nLINE_082_CLASS=TAR\nLINE_082_COMMANDS=tar\nLINE_082_GUARDED=false\nLINE_082_SANITIZED=tar_-xzf__$archive__-C__$extract_\nLINE_083_CLASS=ASSIGN\nLINE_083_COMMANDS=NONE\nLINE_083_GUARDED=false\nLINE_083_SANITIZED=sqlite_status=skipped\nLINE_084_CLASS=CONDITION\nLINE_084_COMMANDS=NONE\nLINE_084_GUARDED=true\nLINE_084_SANITIZED=if_command_-v_sqlite3_>PATH_&&_[_-s__$extractPATH__]__then\nLINE_085_CLASS=COMMAND\nLINE_085_COMMANDS=tail\nLINE_085_GUARDED=false\nLINE_085_SANITIZED=[__$(sqlite3__$extractPATHSTR_=__ok__]\nLINE_086_CLASS=ASSIGN\nLINE_086_COMMANDS=NONE\nLINE_086_GUARDED=false\nLINE_086_SANITIZED=sqlite_status=ok\nLINE_087_CLASS=CONTROL\nLINE_087_COMMANDS=NONE\nLINE_087_GUARDED=false\nLINE_087_SANITIZED=fi\nLINE_088_CLASS=ASSIGN\nLINE_088_COMMANDS=NONE\nLINE_088_GUARDED=false\nLINE_088_SANITIZED=py_status=skipped\nLINE_089_CLASS=CONDITION\nLINE_089_COMMANDS=python3\nLINE_089_GUARDED=true\nLINE_089_SANITIZED=if_command_-v_python3_>PATH__then\nLINE_090_CLASS=PYTHON\nLINE_090_COMMANDS=python3\nLINE_090_GUARDED=false\nLINE_090_SANITIZED=python3_-m_py_compile__$extractPATH___$extractPATH___$extractPATH___$extractPATH___$extractPATH_\nLINE_091_CLASS=ASSIGN\nLINE_091_COMMANDS=NONE\nLINE_091_GUARDED=false\nLINE_091_SANITIZED=py_status=ok\nLINE_092_CLASS=CONTROL\nLINE_092_COMMANDS=NONE\nLINE_092_GUARDED=false\nLINE_092_SANITIZED=fi\nLINE_093_CLASS=COMMAND\nLINE_093_COMMANDS=stat,printf\nLINE_093_GUARDED=false\nLINE_093_SANITIZED=printf_STR__$label___$label___$latest___$label___$(stat_-c_%s__$archive_)___$label___$label___$label___$label___$label___$label___$label___$sqlite_status___$label___$py_status__>>__$WORK/result.env_\nLINE_094_CLASS=COMMAND\nLINE_094_COMMANDS=stat\nLINE_094_GUARDED=false\nLINE_094_SANITIZED=log_STR$archiveSTR\nERREXIT_CANDIDATE_COUNT=37\nCAND_01_LINE=39\nCAND_01_CLASS=ASSIGN_CMD_SUB\nCAND_01_COMMANDS=sort,tail,grep,sed\nCAND_01_SANITIZED=latest=STR${rbase}/STR\nCAND_02_LINE=44\nCAND_02_CLASS=COMMAND\nCAND_02_COMMANDS=mkdir\nCAND_02_SANITIZED=mkdir_-p__$outdir_\nCAND_03_LINE=49\nCAND_03_CLASS=ASSIGN_CMD_SUB\nCAND_03_COMMANDS=awk\nCAND_03_SANITIZED=expected=STR${archive}.sha256.remote_)_\nCAND_04_LINE=50\nCAND_04_CLASS=ASSIGN_CMD_SUB\nCAND_04_COMMANDS=sha256sum,awk\nCAND_04_SANITIZED=actual=_$(sha256sum__$archiveSTR\nCAND_05_LINE=53\nCAND_05_CLASS=TAR\nCAND_05_COMMANDS=tar\nCAND_05_SANITIZED=tar_-tzf__$archive__>__$list_\nCAND_06_LINE=54\nCAND_06_CLASS=COMMAND\nCAND_06_COMMANDS=grep\nCAND_06_SANITIZED=grep_-Eq_STR__$list_\nCAND_07_LINE=55\nCAND_07_CLASS=COMMAND\nCAND_07_COMMANDS=grep\nCAND_07_SANITIZED=grep_-Eq_STR__$list_\nCAND_08_LINE=56\nCAND_08_CLASS=COMMAND\nCAND_08_COMMANDS=grep\nCAND_08_SANITIZED=grep_-Eq_STR__$list_\nCAND_09_LINE=57\nCAND_09_CLASS=COMMAND\nCAND_09_COMMANDS=grep\nCAND_09_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nCAND_10_LINE=58\nCAND_10_CLASS=COMMAND\nCAND_10_COMMANDS=grep\nCAND_10_SANITIZED=grep_-Eq_STR__$list_\nCAND_11_LINE=59\nCAND_11_CLASS=COMMAND\nCAND_11_COMMANDS=grep\nCAND_11_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nCAND_12_LINE=60\nCAND_12_CLASS=COMMAND\nCAND_12_COMMANDS=grep\nCAND_12_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_\nCAND_13_LINE=61\nCAND_13_CLASS=COMMAND\nCAND_13_COMMANDS=grep\nCAND_13_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_\nCAND_14_LINE=62\nCAND_14_CLASS=COMMAND\nCAND_14_COMMANDS=grep\nCAND_14_SANITIZED=grep_-Eq_STR__$list_\nCAND_15_LINE=63\nCAND_15_CLASS=COMMAND\nCAND_15_COMMANDS=grep\nCAND_15_SANITIZED=grep_-Eq_STR__$list_\nCAND_16_LINE=64\nCAND_16_CLASS=COMMAND\nCAND_16_COMMANDS=grep\nCAND_16_SANITIZED=grep_-Eq_STR__$list_\nCAND_17_LINE=65\nCAND_17_CLASS=COMMAND\nCAND_17_COMMANDS=grep\nCAND_17_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nCAND_18_LINE=66\nCAND_18_CLASS=COMMAND\nCAND_18_COMMANDS=grep\nCAND_18_SANITIZED=grep_-Eq_STR__$list_\nCAND_19_LINE=67\nCAND_19_CLASS=COMMAND\nCAND_19_COMMANDS=grep\nCAND_19_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_\nCAND_20_LINE=68\nCAND_20_CLASS=COMMAND\nCAND_20_COMMANDS=grep\nCAND_20_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_\nREFERENCED_COMMAND_COUNT=11\nCOMMAND_01_NAME=awk\nCOMMAND_02_NAME=grep\nCOMMAND_03_NAME=mkdir\nCOMMAND_04_NAME=printf\nCOMMAND_05_NAME=python3\nCOMMAND_06_NAME=sed\nCOMMAND_07_NAME=sha256sum\nCOMMAND_08_NAME=sort\nCOMMAND_09_NAME=stat\nCOMMAND_10_NAME=tail\nCOMMAND_11_NAME=tar\nREFERENCED_COMMAND_RUNTIME_COUNT=11\nREFERENCED_COMMAND_MISSING_COUNT=0\nDECISION=RCA_COMPLAINTS_RESTORE_CHECK_COMMANDMAP_READY\nNEXT_GATE=FIX_EXACT_ERREXIT_POINT\nTASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 137a4e71..d07ce09a 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-STATIC-FAILBRANCH-99358R1 +COMMAND_ID=SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1 STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=skladchik-complaints-restore-check-static-failbranch +COMPONENT=skladchik-complaints-restore-check-commandmap REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=75fb2d5aa1e2c6b596ee68a9afd2289f0be9b40a3cec44ea1b236709e23d2143 +COMMAND_SHA256=bcaf683dc48c5238422fa7f9c060a6170d1b08c2a28967b3cc76e842ce9e5ed1 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,10 +24,10 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=2ae566299c9832c29a44576ebacda1afaaa32c931d6d65435421365c1af99c5f -SANITIZED_OUTPUT_SHA256=2ae566299c9832c29a44576ebacda1afaaa32c931d6d65435421365c1af99c5f +RAW_EVIDENCE_SHA256=0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4 +SANITIZED_OUTPUT_SHA256=0ba14584449f6575ed6d84dd298c362f1ad8059af3259fe0df62d4dc0c105fd4 OUTPUT_BEGIN -SKLADCHIK_COMPLAINTS_RESTORE_CHECK_STATIC_FAILBRANCH=V1 +SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP=V1 INGRESS_HOSTKEY_SELF_BOUND=true VM170_RUNNING=true GUEST_OUTPUT_PASS=true @@ -38,91 +38,349 @@ GUEST_SERVICE_ACTIVE=inactive GUEST_SERVICE_RESULT=success GUEST_SERVICE_EXEC_MAIN_STATUS=0 RESTORE_CHECK_DEPLOYED_EXACT=true -RESTORE_CHECK_STATUS_DEPLOYED_EXACT=true -FUNCTION_CHECK_ONE_REMOTE_FOUND=true -FUNCTION_CHECK_ONE_REMOTE_START=36 -FUNCTION_CHECK_ONE_REMOTE_END=95 -FAIL_EVENT_COUNT=1 -FAIL_01_LINE=40 -FAIL_01_CLASS=RETURN_NONZERO -FAIL_01_CONDITION=NONE -FAIL_01_STATEMENT=[ -n _$latest_ ] || { echo _${label}_STATUS=NO_RUN_ >> _$WORK/result.env__ return 20_ } -STATE_PATH_LITERAL_COUNT=5 -STATE_FILE_EXISTING_COUNT=3 -STATE_01_BASENAME=skladchik-reports-monitor-backup-restore-check.conf -STATE_01_SIZE=270 -STATE_01_AGE_SEC=7253813 -STATE_01_SHA256=c7f63d5707196f9b770cb304333a80fa20d0e9e34554ef11224bd6f2e4208aa5 -STATE_01_TAIL_01=__Skladchik_reports_monitor_backup_restore-check_config_on_pve01 -STATE_01_TAIL_01_SHA256=153873df7e21db5e4dd5962bf6040d6628655f6608f441b89ba76ef30c3bb84a -STATE_01_TAIL_02=REMOTE_BASE=_TOKEN_ -STATE_01_TAIL_02_SHA256=ff2a4ef3f9082f1454cf5131d9d88306aab4ca8b9b9a29a49293b04faa91a8a5 -STATE_01_TAIL_03=CLOUD_1=_pve01-mail-01-crypt:_ -STATE_01_TAIL_03_SHA256=54dbf5c50312eb58710b1f810d83ce901773a9af7c0747817dc3cc72fa0fdda0 -STATE_01_TAIL_04=CLOUD_2=_pve01-mail-02-crypt:_ -STATE_01_TAIL_04_SHA256=7fd0318357a0418ba814b6f3881d7e3b2619541adae654c4038c65a7950e5ebd -STATE_01_TAIL_05=WORK_ROOT=_PATH_ -STATE_01_TAIL_05_SHA256=b897ac1a82ab529a7c96300b992fb98b1ea7f562fd926c67bf55e738ac7aaba3 -STATE_01_TAIL_06=KEEP_LOCAL=_10_ -STATE_01_TAIL_06_SHA256=2c3da7998bb88430a08fd696501749ca7c4cc0fa98ed4fb3b26488b6a319c2cd -STATE_02_BASENAME=restore-check-health.txt -STATE_02_SIZE=71 -STATE_02_AGE_SEC=248 -STATE_02_SHA256=08a290bea388e4ca0e1160aab1c909ff0cef9e98326b6dd32abe9f5541125ce8 -STATE_02_TAIL_01=STATUS=FAIL -STATE_02_TAIL_01_SHA256=ab0c87d81a26848ca27f2fe8b509ded0337ba562822a2240a6bba256d2ca1451 -STATE_02_TAIL_02=TS=2026-10-02T05:45:56Z -STATE_02_TAIL_02_SHA256=93dbff04d07d27f255a975d09934d3d51bd4cbc2f7f37154ddb7658bc7ab2486 -STATE_02_TAIL_03=RUN_ID=20261002T054556Z -STATE_02_TAIL_03_SHA256=60653fe59e8739fe1e1578fcbc1af450c540147edb057e499248adae98f1691c -STATE_02_TAIL_04=error_rc=1 -STATE_02_TAIL_04_SHA256=3cabf884575d32a5cee92664223c1fe9ca42dc1365133ceb988d228d96809f2c -STATE_03_BASENAME=skladchik-reports-monitor-backup-restore-check.lock -STATE_03_SIZE=1486 -STATE_03_AGE_SEC=248 -STATE_03_SHA256=b98000f226697c1eaa5de8e79a7bcc3b50018b68276c68aa1ccf3fe5fb2e38ee -STATE_03_TAIL_01=+++_printf___s_RESTORE_CHECK__s_n__2026-10-02T05:45:56Z__FAIL_rc=1_ -STATE_03_TAIL_01_SHA256=879453ebd2a99559ed990cf9fc663503f5e4ea03beebb5aebb4d6071bb33fafe -STATE_03_TAIL_02=+++_exit_1 -STATE_03_TAIL_02_SHA256=e1716173b3800ef21b811b6e3629181fcef92f00d0beb2da1a79819c37822903 -STATE_03_TAIL_03=+_latest=_2026-10-02T05:45:56Z_RESTORE_CHECK_FAIL_rc=1_ -STATE_03_TAIL_03_SHA256=bfda5b682abd74da613bd713ea242da7be14857d7d2918a8019c018220d8afcc -STATE_03_TAIL_04=++_fail -STATE_03_TAIL_04_SHA256=855ff9f87b7a26638cecdf88ff9589acfc55d6904175e0637ba5ef42ba90d1de -STATE_03_TAIL_05=++_rc=1 -STATE_03_TAIL_05_SHA256=e0fb73268b9b53aa7f6272959e1a94d90426db57cecd7e65334d17acaedc7787 -STATE_03_TAIL_06=+++_date_-u_+_Y-_m-_dT_H:_M:_SZ -STATE_03_TAIL_06_SHA256=d05b03cdd8fb6dc4f6a12ad2e120f5a72a15e69fa25178e746bb4e4b587a5a70 -STATE_03_TAIL_07=++_printf__STATUS=FAIL_nTS=_s_nRUN_ID=_s_nerror_rc=_s_n__2026-10-02T05:45:56Z_20261002T054556Z_1 -STATE_03_TAIL_07_SHA256=5f969352d2a85992c83c2546df4484fd8884e11ad3530384d237561073c65ffd -STATE_03_TAIL_08=++_log__FAIL_rc=1_ -STATE_03_TAIL_08_SHA256=78a225e41f168f149a78e295f66e7073f86adac3806f6ba857c946d87cde14bb -STATE_03_TAIL_09=++_tee_-a_PATH -STATE_03_TAIL_09_SHA256=f6efa2559ef347bfaee4b205bf7de7be8c528dc113caf188dec35f885d88e1c4 -STATE_03_TAIL_10=+++_date_-u_+_Y-_m-_dT_H:_M:_SZ -STATE_03_TAIL_10_SHA256=d05b03cdd8fb6dc4f6a12ad2e120f5a72a15e69fa25178e746bb4e4b587a5a70 -STATE_03_TAIL_11=++_printf___s_RESTORE_CHECK__s_n__2026-10-02T05:45:56Z__FAIL_rc=1_ -STATE_03_TAIL_11_SHA256=a004cbb33e0c4d16f8da213a394172874c16d0dab0308574be76862ef69a01f8 -STATE_03_TAIL_12=++_exit_1 -STATE_03_TAIL_12_SHA256=b004c31653f206db9f3928f7ce0897db85e424a2807f1533f5dde8cdebd97aa4 -STATECAT_SSH_COUNT=0 -STATECAT_CHUNK_COUNT=0 -STATECAT_ARCHIVE_COUNT=5 -STATECAT_HASH_COUNT=0 -STATECAT_MISSING_COUNT=0 -STATECAT_AUTH_COUNT=0 -STATECAT_REMOTE_COUNT=5 -STATECAT_PYTHON_COUNT=0 -STATECAT_SQLITE_COUNT=1 -STATUS_HELPER_RC=999 -DECISION=RCA_COMPLAINTS_RESTORE_CHECK_STATIC_EVIDENCE -NEXT_GATE=FIX_COMPLAINTS_RESTORE_CHECK_EXACT_FAILURE -TASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_STATIC_FAILBRANCH +SHELL_FLAG_COUNT=3 +SHELL_FLAG_01=ERREXIT +SHELL_FLAG_02=NOUNSET +SHELL_FLAG_03=PIPEFAIL +ERR_TRAP_COUNT=1 +FD9_LOCK_USAGE_COUNT=2 +FUNCTION_START=36 +FUNCTION_END=95 +LINE_037_CLASS=COMMAND +LINE_037_COMMANDS=NONE +LINE_037_GUARDED=false +LINE_037_SANITIZED=local_label=_$1__remote=_$2__rbase_latest_archive_name_remote_archive_outdir_archive_sha_remote_expected_actual_list_extract_sqlite_status_py_status +LINE_038_CLASS=ASSIGN +LINE_038_COMMANDS=NONE +LINE_038_GUARDED=false +LINE_038_SANITIZED=rbase=STR +LINE_039_CLASS=ASSIGN_CMD_SUB +LINE_039_COMMANDS=sort,tail,grep,sed +LINE_039_GUARDED=false +LINE_039_SANITIZED=latest=STR${rbase}/STR +LINE_040_CLASS=OR_GUARDED +LINE_040_COMMANDS=NONE +LINE_040_GUARDED=true +LINE_040_SANITIZED=[_-n__$latest__]_||_{_echo_STR_>>__$WORK/result.env___return_20__} +LINE_041_CLASS=ASSIGN +LINE_041_COMMANDS=NONE +LINE_041_GUARDED=false +LINE_041_SANITIZED=archive_name=STR +LINE_042_CLASS=ASSIGN +LINE_042_COMMANDS=NONE +LINE_042_GUARDED=false +LINE_042_SANITIZED=remote_archive=STR +LINE_043_CLASS=ASSIGN +LINE_043_COMMANDS=NONE +LINE_043_GUARDED=false +LINE_043_SANITIZED=outdir=STR +LINE_044_CLASS=COMMAND +LINE_044_COMMANDS=mkdir +LINE_044_GUARDED=false +LINE_044_SANITIZED=mkdir_-p__$outdir_ +LINE_045_CLASS=ASSIGN +LINE_045_COMMANDS=NONE +LINE_045_GUARDED=false +LINE_045_SANITIZED=archive=STR +LINE_046_CLASS=COMMAND +LINE_046_COMMANDS=NONE +LINE_046_GUARDED=false +LINE_046_SANITIZED=log_STR +LINE_047_CLASS=CAT_CHUNKED +LINE_047_COMMANDS=NONE +LINE_047_GUARDED=false +LINE_047_SANITIZED=cat_chunked__$remote_archive___$archive_ +LINE_048_CLASS=CAT_CHUNKED +LINE_048_COMMANDS=NONE +LINE_048_GUARDED=false +LINE_048_SANITIZED=cat_chunked_STR_STR +LINE_049_CLASS=ASSIGN_CMD_SUB +LINE_049_COMMANDS=awk +LINE_049_GUARDED=false +LINE_049_SANITIZED=expected=STR${archive}.sha256.remote_)_ +LINE_050_CLASS=ASSIGN_CMD_SUB +LINE_050_COMMANDS=sha256sum,awk +LINE_050_GUARDED=false +LINE_050_SANITIZED=actual=_$(sha256sum__$archiveSTR +LINE_051_CLASS=AND_CHAIN +LINE_051_COMMANDS=NONE +LINE_051_GUARDED=true +LINE_051_SANITIZED=[_-n__$expected__]_&&_[__$expected__=__$actual__] +LINE_052_CLASS=ASSIGN +LINE_052_COMMANDS=NONE +LINE_052_GUARDED=false +LINE_052_SANITIZED=list=STR +LINE_053_CLASS=TAR +LINE_053_COMMANDS=tar +LINE_053_GUARDED=false +LINE_053_SANITIZED=tar_-tzf__$archive__>__$list_ +LINE_054_CLASS=COMMAND +LINE_054_COMMANDS=grep +LINE_054_GUARDED=false +LINE_054_SANITIZED=grep_-Eq_STR__$list_ +LINE_055_CLASS=COMMAND +LINE_055_COMMANDS=grep +LINE_055_GUARDED=false +LINE_055_SANITIZED=grep_-Eq_STR__$list_ +LINE_056_CLASS=COMMAND +LINE_056_COMMANDS=grep +LINE_056_GUARDED=false +LINE_056_SANITIZED=grep_-Eq_STR__$list_ +LINE_057_CLASS=COMMAND +LINE_057_COMMANDS=grep +LINE_057_GUARDED=false +LINE_057_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_058_CLASS=COMMAND +LINE_058_COMMANDS=grep +LINE_058_GUARDED=false +LINE_058_SANITIZED=grep_-Eq_STR__$list_ +LINE_059_CLASS=COMMAND +LINE_059_COMMANDS=grep +LINE_059_GUARDED=false +LINE_059_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_060_CLASS=COMMAND +LINE_060_COMMANDS=grep +LINE_060_GUARDED=false +LINE_060_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_061_CLASS=COMMAND +LINE_061_COMMANDS=grep +LINE_061_GUARDED=false +LINE_061_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_ +LINE_062_CLASS=COMMAND +LINE_062_COMMANDS=grep +LINE_062_GUARDED=false +LINE_062_SANITIZED=grep_-Eq_STR__$list_ +LINE_063_CLASS=COMMAND +LINE_063_COMMANDS=grep +LINE_063_GUARDED=false +LINE_063_SANITIZED=grep_-Eq_STR__$list_ +LINE_064_CLASS=COMMAND +LINE_064_COMMANDS=grep +LINE_064_GUARDED=false +LINE_064_SANITIZED=grep_-Eq_STR__$list_ +LINE_065_CLASS=COMMAND +LINE_065_COMMANDS=grep +LINE_065_GUARDED=false +LINE_065_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_066_CLASS=COMMAND +LINE_066_COMMANDS=grep +LINE_066_GUARDED=false +LINE_066_SANITIZED=grep_-Eq_STR__$list_ +LINE_067_CLASS=COMMAND +LINE_067_COMMANDS=grep +LINE_067_GUARDED=false +LINE_067_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_068_CLASS=COMMAND +LINE_068_COMMANDS=grep +LINE_068_GUARDED=false +LINE_068_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_069_CLASS=COMMAND +LINE_069_COMMANDS=grep +LINE_069_GUARDED=false +LINE_069_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +LINE_070_CLASS=COMMAND +LINE_070_COMMANDS=grep +LINE_070_GUARDED=false +LINE_070_SANITIZED=grep_-Eq__(_|/)TOKEN$___$list_ +LINE_071_CLASS=COMMAND +LINE_071_COMMANDS=grep +LINE_071_GUARDED=false +LINE_071_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_072_CLASS=COMMAND +LINE_072_COMMANDS=grep +LINE_072_GUARDED=false +LINE_072_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_073_CLASS=COMMAND +LINE_073_COMMANDS=grep +LINE_073_GUARDED=false +LINE_073_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +LINE_074_CLASS=COMMAND +LINE_074_COMMANDS=grep +LINE_074_GUARDED=false +LINE_074_SANITIZED=grep_-Eq_STR__$list_ +LINE_075_CLASS=COMMAND +LINE_075_COMMANDS=grep +LINE_075_GUARDED=false +LINE_075_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_076_CLASS=COMMAND +LINE_076_COMMANDS=grep +LINE_076_GUARDED=false +LINE_076_SANITIZED=grep_-Eq_STR__$list_ +LINE_077_CLASS=COMMAND +LINE_077_COMMANDS=grep +LINE_077_GUARDED=false +LINE_077_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_078_CLASS=COMMAND +LINE_078_COMMANDS=grep +LINE_078_GUARDED=false +LINE_078_SANITIZED=grep_-Eq_STR__$list_ +LINE_079_CLASS=COMMAND +LINE_079_COMMANDS=grep +LINE_079_GUARDED=false +LINE_079_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +LINE_080_CLASS=ASSIGN +LINE_080_COMMANDS=NONE +LINE_080_GUARDED=false +LINE_080_SANITIZED=extract=_${outdir}/extract_ +LINE_081_CLASS=COMMAND +LINE_081_COMMANDS=mkdir +LINE_081_GUARDED=false +LINE_081_SANITIZED=mkdir_-p__$extract_ +LINE_082_CLASS=TAR +LINE_082_COMMANDS=tar +LINE_082_GUARDED=false +LINE_082_SANITIZED=tar_-xzf__$archive__-C__$extract_ +LINE_083_CLASS=ASSIGN +LINE_083_COMMANDS=NONE +LINE_083_GUARDED=false +LINE_083_SANITIZED=sqlite_status=skipped +LINE_084_CLASS=CONDITION +LINE_084_COMMANDS=NONE +LINE_084_GUARDED=true +LINE_084_SANITIZED=if_command_-v_sqlite3_>PATH_&&_[_-s__$extractPATH__]__then +LINE_085_CLASS=COMMAND +LINE_085_COMMANDS=tail +LINE_085_GUARDED=false +LINE_085_SANITIZED=[__$(sqlite3__$extractPATHSTR_=__ok__] +LINE_086_CLASS=ASSIGN +LINE_086_COMMANDS=NONE +LINE_086_GUARDED=false +LINE_086_SANITIZED=sqlite_status=ok +LINE_087_CLASS=CONTROL +LINE_087_COMMANDS=NONE +LINE_087_GUARDED=false +LINE_087_SANITIZED=fi +LINE_088_CLASS=ASSIGN +LINE_088_COMMANDS=NONE +LINE_088_GUARDED=false +LINE_088_SANITIZED=py_status=skipped +LINE_089_CLASS=CONDITION +LINE_089_COMMANDS=python3 +LINE_089_GUARDED=true +LINE_089_SANITIZED=if_command_-v_python3_>PATH__then +LINE_090_CLASS=PYTHON +LINE_090_COMMANDS=python3 +LINE_090_GUARDED=false +LINE_090_SANITIZED=python3_-m_py_compile__$extractPATH___$extractPATH___$extractPATH___$extractPATH___$extractPATH_ +LINE_091_CLASS=ASSIGN +LINE_091_COMMANDS=NONE +LINE_091_GUARDED=false +LINE_091_SANITIZED=py_status=ok +LINE_092_CLASS=CONTROL +LINE_092_COMMANDS=NONE +LINE_092_GUARDED=false +LINE_092_SANITIZED=fi +LINE_093_CLASS=COMMAND +LINE_093_COMMANDS=stat,printf +LINE_093_GUARDED=false +LINE_093_SANITIZED=printf_STR__$label___$label___$latest___$label___$(stat_-c_%s__$archive_)___$label___$label___$label___$label___$label___$label___$label___$sqlite_status___$label___$py_status__>>__$WORK/result.env_ +LINE_094_CLASS=COMMAND +LINE_094_COMMANDS=stat +LINE_094_GUARDED=false +LINE_094_SANITIZED=log_STR$archiveSTR +ERREXIT_CANDIDATE_COUNT=37 +CAND_01_LINE=39 +CAND_01_CLASS=ASSIGN_CMD_SUB +CAND_01_COMMANDS=sort,tail,grep,sed +CAND_01_SANITIZED=latest=STR${rbase}/STR +CAND_02_LINE=44 +CAND_02_CLASS=COMMAND +CAND_02_COMMANDS=mkdir +CAND_02_SANITIZED=mkdir_-p__$outdir_ +CAND_03_LINE=49 +CAND_03_CLASS=ASSIGN_CMD_SUB +CAND_03_COMMANDS=awk +CAND_03_SANITIZED=expected=STR${archive}.sha256.remote_)_ +CAND_04_LINE=50 +CAND_04_CLASS=ASSIGN_CMD_SUB +CAND_04_COMMANDS=sha256sum,awk +CAND_04_SANITIZED=actual=_$(sha256sum__$archiveSTR +CAND_05_LINE=53 +CAND_05_CLASS=TAR +CAND_05_COMMANDS=tar +CAND_05_SANITIZED=tar_-tzf__$archive__>__$list_ +CAND_06_LINE=54 +CAND_06_CLASS=COMMAND +CAND_06_COMMANDS=grep +CAND_06_SANITIZED=grep_-Eq_STR__$list_ +CAND_07_LINE=55 +CAND_07_CLASS=COMMAND +CAND_07_COMMANDS=grep +CAND_07_SANITIZED=grep_-Eq_STR__$list_ +CAND_08_LINE=56 +CAND_08_CLASS=COMMAND +CAND_08_COMMANDS=grep +CAND_08_SANITIZED=grep_-Eq_STR__$list_ +CAND_09_LINE=57 +CAND_09_CLASS=COMMAND +CAND_09_COMMANDS=grep +CAND_09_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +CAND_10_LINE=58 +CAND_10_CLASS=COMMAND +CAND_10_COMMANDS=grep +CAND_10_SANITIZED=grep_-Eq_STR__$list_ +CAND_11_LINE=59 +CAND_11_CLASS=COMMAND +CAND_11_COMMANDS=grep +CAND_11_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +CAND_12_LINE=60 +CAND_12_CLASS=COMMAND +CAND_12_COMMANDS=grep +CAND_12_SANITIZED=grep_-Eq__(_|/)TOKEN_.txt$___$list_ +CAND_13_LINE=61 +CAND_13_CLASS=COMMAND +CAND_13_COMMANDS=grep +CAND_13_SANITIZED=grep_-Eq__(_|/)TOKEN_.jar$___$list_ +CAND_14_LINE=62 +CAND_14_CLASS=COMMAND +CAND_14_COMMANDS=grep +CAND_14_SANITIZED=grep_-Eq_STR__$list_ +CAND_15_LINE=63 +CAND_15_CLASS=COMMAND +CAND_15_COMMANDS=grep +CAND_15_SANITIZED=grep_-Eq_STR__$list_ +CAND_16_LINE=64 +CAND_16_CLASS=COMMAND +CAND_16_COMMANDS=grep +CAND_16_SANITIZED=grep_-Eq_STR__$list_ +CAND_17_LINE=65 +CAND_17_CLASS=COMMAND +CAND_17_COMMANDS=grep +CAND_17_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +CAND_18_LINE=66 +CAND_18_CLASS=COMMAND +CAND_18_COMMANDS=grep +CAND_18_SANITIZED=grep_-Eq_STR__$list_ +CAND_19_LINE=67 +CAND_19_CLASS=COMMAND +CAND_19_COMMANDS=grep +CAND_19_SANITIZED=grep_-Eq__(_|/)TOKEN_.timer$___$list_ +CAND_20_LINE=68 +CAND_20_CLASS=COMMAND +CAND_20_COMMANDS=grep +CAND_20_SANITIZED=grep_-Eq__(_|/)TOKEN_.py$___$list_ +REFERENCED_COMMAND_COUNT=11 +COMMAND_01_NAME=awk +COMMAND_02_NAME=grep +COMMAND_03_NAME=mkdir +COMMAND_04_NAME=printf +COMMAND_05_NAME=python3 +COMMAND_06_NAME=sed +COMMAND_07_NAME=sha256sum +COMMAND_08_NAME=sort +COMMAND_09_NAME=stat +COMMAND_10_NAME=tail +COMMAND_11_NAME=tar +REFERENCED_COMMAND_RUNTIME_COUNT=11 +REFERENCED_COMMAND_MISSING_COUNT=0 +DECISION=RCA_COMPLAINTS_RESTORE_CHECK_COMMANDMAP_READY +NEXT_GATE=FIX_EXACT_ERREXIT_POINT +TASK_RESULT=SKLADCHIK_COMPLAINTS_RESTORE_CHECK_COMMANDMAP CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null MUTATION_OUTCOME=NO_MUTATION -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-STATIC-FAILBRANCH-99358R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261002-SKLADCHIK-COMPLAINTS-RESTORE-CHECK-COMMANDMAP-99359R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END