From c2d766ae24f76cf318613e26008ede5f6cca4c2c Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Thu, 8 Oct 2026 00:43:16 +0000 Subject: [PATCH] runtime: publish SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1 --- ...112-SELECT112-ROOT-ACCEPTANCE-99825R1.json | 38 ++ ...T112-SELECT112-ROOT-ACCEPTANCE-99825R1.txt | 148 ++++++++ runtime/latest.json | 16 +- runtime/latest.txt | 350 ++++++------------ 4 files changed, 306 insertions(+), 246 deletions(-) create mode 100644 runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.json create mode 100644 runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.txt diff --git a/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.json b/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.json new file mode 100644 index 00000000..727770a7 --- /dev/null +++ b/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "ct112-select112-root-acceptance", + "started_at_utc": "2026-10-08T00:43:09Z", + "finished_at_utc": "2026-10-08T00:43:15Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "9969a5849f0dc3d4eb2660eb9ecaa7f153f1a5f9c20074d1843bb0a5cd3f5026", + "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": "aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd", + "sanitized_output_sha256": "aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "CT112_SELECT112_ROOT_ACCEPTANCE=V1\nMODE=read-only\nNO_MUTATION=true\nNO_BACKUP_EXECUTION=true\nPINNED_WRAPPER_COUNT=1\nSOURCE_PINS_VALID=true\nGUEST266_PLAN_ROWS_FUNCTIONS=1\nGUEST266_PLAN_ROWS_LINE=17\nGUEST266_PLAN_ROWS_NEED_GUARDS=5\nREC|GUEST266_PLAN_ROWS|IDX=1|LINE=18\nREC|GUEST266_PLAN_ROWS|IDX=1|CODE=PLAN_NODE\nREC|GUEST266_PLAN_ROWS|IDX=2|LINE=20\nREC|GUEST266_PLAN_ROWS|IDX=2|CODE=PLAN_ROWS\nREC|GUEST266_PLAN_ROWS|IDX=3|LINE=21\nREC|GUEST266_PLAN_ROWS|IDX=3|CODE=PLAN_ROW_SCHEMA\nREC|GUEST266_PLAN_ROWS|IDX=4|LINE=22\nREC|GUEST266_PLAN_ROWS|IDX=4|CODE=PLAN_DUPLICATE_GUEST\nREC|GUEST266_PLAN_ROWS|IDX=5|LINE=23\nREC|GUEST266_PLAN_ROWS|IDX=5|CODE=PLAN_NOT_STABLE\nGUEST266_SAME_STATE_FUNCTIONS=1\nGUEST266_SAME_STATE_LINE=47\nGUEST266_SAME_STATE_NEED_GUARDS=5\nREC|GUEST266_SAME_STATE|IDX=1|LINE=50\nREC|GUEST266_SAME_STATE|IDX=1|CODE=GUEST_MEMBERSHIP_OR_STATUS_CHANGED\nREC|GUEST266_SAME_STATE|IDX=2|LINE=51\nREC|GUEST266_SAME_STATE|IDX=2|CODE=GLOBAL_DEFAULTS_CHANGED\nREC|GUEST266_SAME_STATE|IDX=3|LINE=53\nREC|GUEST266_SAME_STATE|IDX=3|CODE=SELECTED_GUEST_MISSING\nREC|GUEST266_SAME_STATE|IDX=4|LINE=55\nREC|GUEST266_SAME_STATE|IDX=4|CODE=SELECTED_GUEST_BECAME_BLOCKED\nREC|GUEST266_SAME_STATE|IDX=5|LINE=57\nREC|GUEST266_SAME_STATE|IDX=5|CODE=SELECTED_GUEST_CONFIG_CHANGED\nSERVICE_ACTIVE_STATE=inactive\nBASELINE_LOAD_OK=true\nBASELINE_LOAD_RESULT_TYPE=dict\nFRESH_PLAN_GENERATION_OK=true\nFRESH_PLAN_GENERATION_RESULT_TYPE=dict\nPRODUCTION_DEFAULTS_PATCHED=false\nACCEPTED_JOB_COUNT=6\nACCEPTED_VMIDS=110,112,150,170,171,210\nACCEPTED_GLOBAL_BLOCKER_COUNT=0\nACCEPTED_GLOBAL_BLOCKER_SAFE_CODES=NONE\nACCEPTED_FLAG_NODE_EXECUTION_APPROVED=false\nACCEPTED_FLAG_NODESET_BACKUP_APPROVED=false\nACCEPTED_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=true\nACCEPTED_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=true\nACCEPTED_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=true\nACCEPTED_FLAG_FULL_HOST_COVERAGE=false\nACCEPTED_VM112_COUNT=1\nACCEPTED_VM112_BLOCKERS_COUNT=0\nACCEPTED_VM112_BLOCKER_SAFE_CODES=NONE\nACCEPTED_VM112_COVERAGE_ELIGIBLE=true\nACCEPTED_VM112_CONFIG_HASH_VALID=true\nACCEPTED_VM112_AGE_SECONDS=2223938\nCURRENT_JOB_COUNT=8\nCURRENT_VMIDS=100,101,110,112,150,170,171,210\nCURRENT_GLOBAL_BLOCKER_COUNT=1\nCURRENT_GLOBAL_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED\nCURRENT_FLAG_NODE_EXECUTION_APPROVED=MISSING\nCURRENT_FLAG_NODESET_BACKUP_APPROVED=false\nCURRENT_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=MISSING\nCURRENT_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=false\nCURRENT_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=MISSING\nCURRENT_FLAG_FULL_HOST_COVERAGE=false\nCURRENT_VM112_COUNT=1\nCURRENT_VM112_BLOCKERS_COUNT=1\nCURRENT_VM112_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED\nCURRENT_VM112_COVERAGE_ELIGIBLE=false\nCURRENT_VM112_CONFIG_HASH_VALID=true\nCURRENT_VM112_AGE_SECONDS=6\nACCEPTED_ONLY_VMIDS=NONE\nNEW_LIVE_VMIDS=100,101\nVM112_CONFIG_SHA256_EQUAL=true\nVM112_GLOBAL_DEFAULTS_SHA256_EQUAL=false\nVM112_NODE_EQUAL=true\nVM112_TEMPLATE_EQUAL=true\nVM112_TYPE_EQUAL=true\nVM112_BLOCKERS_EQUAL=false\nVM112_COVERAGE_ELIGIBLE_EQUAL=false\nVM112_COMPRESSION_DEPENDENT_EQUAL=true\nVM112_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true\nACCEPTED_PLAN_ROWS_OK=true\nACCEPTED_PLAN_ROWS_RESULT_TYPE=list\nFRESH_PLAN_ROWS_OK=false\nFRESH_PLAN_ROWS_TYPE=Stop\nFRESH_PLAN_ROWS_TOKENS=PLAN_NOT_STABLE\nREC|FRESH_PLAN_ROWS|FRAME=1|FILE=guest266.py\nREC|FRESH_PLAN_ROWS|FRAME=1|LINE=23\nREC|FRESH_PLAN_ROWS|FRAME=1|FUNC=plan_rows\nSAME_STATE_GUARD_OK=false\nSAME_STATE_GUARD_TYPE=Stop\nSAME_STATE_GUARD_TOKENS=PLAN_NOT_STABLE\nREC|SAME_STATE_GUARD|FRAME=1|FILE=guest266.py\nREC|SAME_STATE_GUARD|FRAME=1|LINE=48\nREC|SAME_STATE_GUARD|FRAME=1|FUNC=same_state\nREC|SAME_STATE_GUARD|FRAME=2|FILE=guest266.py\nREC|SAME_STATE_GUARD|FRAME=2|LINE=23\nREC|SAME_STATE_GUARD|FRAME=2|FUNC=plan_rows\nP282_SELECT112_GUARD_OK=false\nP282_SELECT112_GUARD_TYPE=Stop\nP282_SELECT112_GUARD_TOKENS=PLAN_NOT_STABLE\nREC|P282_SELECT112_GUARD|FRAME=1|FILE=pve282.py\nREC|P282_SELECT112_GUARD|FRAME=1|LINE=30\nREC|P282_SELECT112_GUARD|FRAME=1|FUNC=select112\nREC|P282_SELECT112_GUARD|FRAME=2|FILE=guest266.py\nREC|P282_SELECT112_GUARD|FRAME=2|LINE=23\nREC|P282_SELECT112_GUARD|FRAME=2|FUNC=plan_rows\nDECISION=PASS_EXACT_GUARD_AND_MEMBERSHIP_EVIDENCE_CAPTURED\nNEXT_GATE=RECONCILE_ACCEPTED_PLAN_WITH_NEW_MEMBERSHIP_AND_BLOCKERS_NO_BYPASS\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nEND_MARKER=true\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nDIAGNOSTIC_PYTHON_RC=0\n" +} diff --git a/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.txt b/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.txt new file mode 100644 index 00000000..dd410fc8 --- /dev/null +++ b/runtime/history/SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1.txt @@ -0,0 +1,148 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=ct112-select112-root-acceptance +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=9969a5849f0dc3d4eb2660eb9ecaa7f153f1a5f9c20074d1843bb0a5cd3f5026 +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=aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd +SANITIZED_OUTPUT_SHA256=aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd +OUTPUT_BEGIN +CT112_SELECT112_ROOT_ACCEPTANCE=V1 +MODE=read-only +NO_MUTATION=true +NO_BACKUP_EXECUTION=true +PINNED_WRAPPER_COUNT=1 +SOURCE_PINS_VALID=true +GUEST266_PLAN_ROWS_FUNCTIONS=1 +GUEST266_PLAN_ROWS_LINE=17 +GUEST266_PLAN_ROWS_NEED_GUARDS=5 +REC|GUEST266_PLAN_ROWS|IDX=1|LINE=18 +REC|GUEST266_PLAN_ROWS|IDX=1|CODE=PLAN_NODE +REC|GUEST266_PLAN_ROWS|IDX=2|LINE=20 +REC|GUEST266_PLAN_ROWS|IDX=2|CODE=PLAN_ROWS +REC|GUEST266_PLAN_ROWS|IDX=3|LINE=21 +REC|GUEST266_PLAN_ROWS|IDX=3|CODE=PLAN_ROW_SCHEMA +REC|GUEST266_PLAN_ROWS|IDX=4|LINE=22 +REC|GUEST266_PLAN_ROWS|IDX=4|CODE=PLAN_DUPLICATE_GUEST +REC|GUEST266_PLAN_ROWS|IDX=5|LINE=23 +REC|GUEST266_PLAN_ROWS|IDX=5|CODE=PLAN_NOT_STABLE +GUEST266_SAME_STATE_FUNCTIONS=1 +GUEST266_SAME_STATE_LINE=47 +GUEST266_SAME_STATE_NEED_GUARDS=5 +REC|GUEST266_SAME_STATE|IDX=1|LINE=50 +REC|GUEST266_SAME_STATE|IDX=1|CODE=GUEST_MEMBERSHIP_OR_STATUS_CHANGED +REC|GUEST266_SAME_STATE|IDX=2|LINE=51 +REC|GUEST266_SAME_STATE|IDX=2|CODE=GLOBAL_DEFAULTS_CHANGED +REC|GUEST266_SAME_STATE|IDX=3|LINE=53 +REC|GUEST266_SAME_STATE|IDX=3|CODE=SELECTED_GUEST_MISSING +REC|GUEST266_SAME_STATE|IDX=4|LINE=55 +REC|GUEST266_SAME_STATE|IDX=4|CODE=SELECTED_GUEST_BECAME_BLOCKED +REC|GUEST266_SAME_STATE|IDX=5|LINE=57 +REC|GUEST266_SAME_STATE|IDX=5|CODE=SELECTED_GUEST_CONFIG_CHANGED +SERVICE_ACTIVE_STATE=inactive +BASELINE_LOAD_OK=true +BASELINE_LOAD_RESULT_TYPE=dict +FRESH_PLAN_GENERATION_OK=true +FRESH_PLAN_GENERATION_RESULT_TYPE=dict +PRODUCTION_DEFAULTS_PATCHED=false +ACCEPTED_JOB_COUNT=6 +ACCEPTED_VMIDS=110,112,150,170,171,210 +ACCEPTED_GLOBAL_BLOCKER_COUNT=0 +ACCEPTED_GLOBAL_BLOCKER_SAFE_CODES=NONE +ACCEPTED_FLAG_NODE_EXECUTION_APPROVED=false +ACCEPTED_FLAG_NODESET_BACKUP_APPROVED=false +ACCEPTED_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=true +ACCEPTED_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=true +ACCEPTED_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=true +ACCEPTED_FLAG_FULL_HOST_COVERAGE=false +ACCEPTED_VM112_COUNT=1 +ACCEPTED_VM112_BLOCKERS_COUNT=0 +ACCEPTED_VM112_BLOCKER_SAFE_CODES=NONE +ACCEPTED_VM112_COVERAGE_ELIGIBLE=true +ACCEPTED_VM112_CONFIG_HASH_VALID=true +ACCEPTED_VM112_AGE_SECONDS=2223938 +CURRENT_JOB_COUNT=8 +CURRENT_VMIDS=100,101,110,112,150,170,171,210 +CURRENT_GLOBAL_BLOCKER_COUNT=1 +CURRENT_GLOBAL_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED +CURRENT_FLAG_NODE_EXECUTION_APPROVED=MISSING +CURRENT_FLAG_NODESET_BACKUP_APPROVED=false +CURRENT_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=MISSING +CURRENT_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=false +CURRENT_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=MISSING +CURRENT_FLAG_FULL_HOST_COVERAGE=false +CURRENT_VM112_COUNT=1 +CURRENT_VM112_BLOCKERS_COUNT=1 +CURRENT_VM112_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED +CURRENT_VM112_COVERAGE_ELIGIBLE=false +CURRENT_VM112_CONFIG_HASH_VALID=true +CURRENT_VM112_AGE_SECONDS=6 +ACCEPTED_ONLY_VMIDS=NONE +NEW_LIVE_VMIDS=100,101 +VM112_CONFIG_SHA256_EQUAL=true +VM112_GLOBAL_DEFAULTS_SHA256_EQUAL=false +VM112_NODE_EQUAL=true +VM112_TEMPLATE_EQUAL=true +VM112_TYPE_EQUAL=true +VM112_BLOCKERS_EQUAL=false +VM112_COVERAGE_ELIGIBLE_EQUAL=false +VM112_COMPRESSION_DEPENDENT_EQUAL=true +VM112_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true +ACCEPTED_PLAN_ROWS_OK=true +ACCEPTED_PLAN_ROWS_RESULT_TYPE=list +FRESH_PLAN_ROWS_OK=false +FRESH_PLAN_ROWS_TYPE=Stop +FRESH_PLAN_ROWS_TOKENS=PLAN_NOT_STABLE +REC|FRESH_PLAN_ROWS|FRAME=1|FILE=guest266.py +REC|FRESH_PLAN_ROWS|FRAME=1|LINE=23 +REC|FRESH_PLAN_ROWS|FRAME=1|FUNC=plan_rows +SAME_STATE_GUARD_OK=false +SAME_STATE_GUARD_TYPE=Stop +SAME_STATE_GUARD_TOKENS=PLAN_NOT_STABLE +REC|SAME_STATE_GUARD|FRAME=1|FILE=guest266.py +REC|SAME_STATE_GUARD|FRAME=1|LINE=48 +REC|SAME_STATE_GUARD|FRAME=1|FUNC=same_state +REC|SAME_STATE_GUARD|FRAME=2|FILE=guest266.py +REC|SAME_STATE_GUARD|FRAME=2|LINE=23 +REC|SAME_STATE_GUARD|FRAME=2|FUNC=plan_rows +P282_SELECT112_GUARD_OK=false +P282_SELECT112_GUARD_TYPE=Stop +P282_SELECT112_GUARD_TOKENS=PLAN_NOT_STABLE +REC|P282_SELECT112_GUARD|FRAME=1|FILE=pve282.py +REC|P282_SELECT112_GUARD|FRAME=1|LINE=30 +REC|P282_SELECT112_GUARD|FRAME=1|FUNC=select112 +REC|P282_SELECT112_GUARD|FRAME=2|FILE=guest266.py +REC|P282_SELECT112_GUARD|FRAME=2|LINE=23 +REC|P282_SELECT112_GUARD|FRAME=2|FUNC=plan_rows +DECISION=PASS_EXACT_GUARD_AND_MEMBERSHIP_EVIDENCE_CAPTURED +NEXT_GATE=RECONCILE_ACCEPTED_PLAN_WITH_NEW_MEMBERSHIP_AND_BLOCKERS_NO_BYPASS +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +END_MARKER=true +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +DIAGNOSTIC_PYTHON_RC=0 + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index c0a39e40..727770a7 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-261008-CT112-PLAN-DATAFLOW-ROOT-99824R1", + "command_id": "SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "ct112-plan-dataflow-root", - "started_at_utc": "2026-10-08T00:35:34Z", - "finished_at_utc": "2026-10-08T00:35:40Z", + "component": "ct112-select112-root-acceptance", + "started_at_utc": "2026-10-08T00:43:09Z", + "finished_at_utc": "2026-10-08T00:43:15Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "e556870d31392c4f44f6bf6b71f9a92b401d209eb60db4d0148f3eb69139f49a", + "command_sha256": "9969a5849f0dc3d4eb2660eb9ecaa7f153f1a5f9c20074d1843bb0a5cd3f5026", "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": "7a58f71f363c8e390fd3b6af5b01d7f21d758c734e92ae73164c0e5358fa59b7", - "sanitized_output_sha256": "7a58f71f363c8e390fd3b6af5b01d7f21d758c734e92ae73164c0e5358fa59b7", + "raw_evidence_sha256": "aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd", + "sanitized_output_sha256": "aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "CT112_PLAN_DATAFLOW_ROOT=V1\nMODE=read-only\nNO_BACKUP_EXECUTION=true\nNO_MUTATION=true\nPINNED_WRAPPER_COUNT=1\nSOURCE_IDENTITIES_VALID=true\nP282_SELECT112_FUNCTION_COUNT=1\nP282_SELECT112_ARGS=current,baseline,now\nP282_SELECT112_FIRST_LINE=29\nP282_SELECT112_TOP_LEVEL_STATEMENTS=25\nREC|P282_SELECT112|IDX=1|LINE=30\nREC|P282_SELECT112|IDX=1|KIND=Assign\nREC|P282_SELECT112|IDX=1|AST=rows = g.plan_rows(current)\nREC|P282_SELECT112|IDX=2|LINE=30\nREC|P282_SELECT112|IDX=2|KIND=Assign\nREC|P282_SELECT112|IDX=2|AST=previous = g.plan_rows(baseline)\nREC|P282_SELECT112|IDX=3|LINE=31\nREC|P282_SELECT112|IDX=3|KIND=Assign\nREC|P282_SELECT112|IDX=3|AST=by_id = _j_vmid_: j for j in previous_\nREC|P282_SELECT112|IDX=4|LINE=32\nREC|P282_SELECT112|IDX=4|KIND=Expr\nREC|P282_SELECT112|IDX=4|AST=need(TARGET_VMID in by_id, __)\nREC|P282_SELECT112|IDX=5|LINE=33\nREC|P282_SELECT112|IDX=5|KIND=Expr\nREC|P282_SELECT112|IDX=5|AST=g.same_state(baseline, current, TARGET_VMID)\nREC|P282_SELECT112|IDX=6|LINE=34\nREC|P282_SELECT112|IDX=6|KIND=Expr\nREC|P282_SELECT112|IDX=6|AST=need(_j_vmid_ for j in rows_ == set(by_id), __)\nREC|P282_SELECT112|IDX=7|LINE=35\nREC|P282_SELECT112|IDX=7|KIND=For\nREC|P282_SELECT112|IDX=7|AST=for row in rows: need(row_config_sha256_ == by_id_row_vmid_config_sha256_, __)\nREC|P282_SELECT112|IDX=8|LINE=37\nREC|P282_SELECT112|IDX=8|KIND=Assign\nREC|P282_SELECT112|IDX=8|AST=selected = _j for j in rows if j_vmid_ == TARGET_VMID_\nREC|P282_SELECT112|IDX=9|LINE=38\nREC|P282_SELECT112|IDX=9|KIND=Expr\nREC|P282_SELECT112|IDX=9|AST=need(len(selected) == 1, _CT112_NOT_UNIQUE_)\nREC|P282_SELECT112|IDX=10|LINE=39\nREC|P282_SELECT112|IDX=10|KIND=Assign\nREC|P282_SELECT112|IDX=10|AST=job = copy.deepcopy(selected_0_)\nREC|P282_SELECT112|IDX=11|LINE=39\nREC|P282_SELECT112|IDX=11|KIND=Expr\nREC|P282_SELECT112|IDX=11|AST=old.validate_job(job, now)\nREC|P282_SELECT112|IDX=12|LINE=40\nREC|P282_SELECT112|IDX=12|KIND=Expr\nREC|P282_SELECT112|IDX=12|AST=need(current.get(__) == _, __)\nREC|P282_SELECT112|IDX=13|LINE=41\nREC|P282_SELECT112|IDX=13|KIND=Expr\nREC|P282_SELECT112|IDX=13|AST=need(job.get(_compression_dependent_) is False and job.get(_configured_full_cycle_fits_) is True, __)\nREC|P282_SELECT112|IDX=14|LINE=42\nREC|P282_SELECT112|IDX=14|KIND=Assign\nREC|P282_SELECT112|IDX=14|AST=disks = job.get(_disks_)\nREC|P282_SELECT112|IDX=15|LINE=42\nREC|P282_SELECT112|IDX=15|KIND=Expr\nREC|P282_SELECT112|IDX=15|AST=need(type(disks) is list and len(disks) == 1, __)\nREC|P282_SELECT112|IDX=16|LINE=43\nREC|P282_SELECT112|IDX=16|KIND=Assign\nREC|P282_SELECT112|IDX=16|AST=disk = disks_0_\nREC|P282_SELECT112|IDX=17|LINE=44\nREC|P282_SELECT112|IDX=17|KIND=Expr\nREC|P282_SELECT112|IDX=17|AST=need(disk.get(__) == _rootfs_ and disk.get(__) == __ and (disk.get(__) in (__, __)), __)\nREC|P282_SELECT112|IDX=18|LINE=45\nREC|P282_SELECT112|IDX=18|KIND=Assign\nREC|P282_SELECT112|IDX=18|AST=size = job.get(__)\nREC|P282_SELECT112|IDX=19|LINE=46\nREC|P282_SELECT112|IDX=19|KIND=Expr\nREC|P282_SELECT112|IDX=19|AST=need(type(size) is int and 0 < size <= stream.MAX_BYTES and (size == disk.get(__)), __)\nREC|P282_SELECT112|IDX=20|LINE=47\nREC|P282_SELECT112|IDX=20|KIND=Assign\nREC|P282_SELECT112|IDX=20|AST=stores = _x__: x for x in current.get(__, _)_\nREC|P282_SELECT112|IDX=21|LINE=47\nREC|P282_SELECT112|IDX=21|KIND=Assign\nREC|P282_SELECT112|IDX=21|AST=st = stores.get(disk.get(__), _)\nREC|P282_SELECT112|IDX=22|LINE=48\nREC|P282_SELECT112|IDX=22|KIND=Expr\nREC|P282_SELECT112|IDX=22|AST=need(st.get(__) is True and st.get(__) is True and (st.get(_type_) in (__, __)), __)\nREC|P282_SELECT112|IDX=23|LINE=49\nREC|P282_SELECT112|IDX=23|KIND=Expr\nREC|P282_SELECT112|IDX=23|AST=need(type(st.get(__)) is int and st__ >= max(1024 _ 3, size), __)\nREC|P282_SELECT112|IDX=24|LINE=50\nREC|P282_SELECT112|IDX=24|KIND=Expr\nREC|P282_SELECT112|IDX=24|AST=require_target(job, by_id_TARGET_VMID_config_sha256_)\nP282_SELECT112_LINE30_AST=rows = g.plan_rows(current),previous = g.plan_rows(baseline)\nREC|SELECT_CALL|LINE=30|NAME=plan_rows\nREC|SELECT_CALL|LINE=30|AST=g.plan_rows(current)\nREC|SELECT_CALL|LINE=30|NAME=plan_rows\nREC|SELECT_CALL|LINE=30|AST=g.plan_rows(baseline)\nREC|SELECT_CALL|LINE=32|NAME=need\nREC|SELECT_CALL|LINE=32|AST=need(TARGET_VMID in by_id, __)\nREC|SELECT_CALL|LINE=33|NAME=same_state\nREC|SELECT_CALL|LINE=33|AST=g.same_state(baseline, current, TARGET_VMID)\nREC|SELECT_CALL|LINE=34|NAME=need\nREC|SELECT_CALL|LINE=34|AST=need(_j_vmid_ for j in rows_ == set(by_id), __)\nREC|SELECT_CALL|LINE=36|NAME=need\nREC|SELECT_CALL|LINE=36|AST=need(row_config_sha256_ == by_id_row_vmid_config_sha256_, __)\nREC|SELECT_CALL|LINE=38|NAME=need\nREC|SELECT_CALL|LINE=38|AST=need(len(selected) == 1, _CT112_NOT_UNIQUE_)\nREC|SELECT_CALL|LINE=39|NAME=validate_job\nREC|SELECT_CALL|LINE=39|AST=old.validate_job(job, now)\nREC|SELECT_CALL|LINE=40|NAME=need\nREC|SELECT_CALL|LINE=40|AST=need(current.get(__) == _, __)\nREC|SELECT_CALL|LINE=41|NAME=need\nREC|SELECT_CALL|LINE=41|AST=need(job.get(_compression_dependent_) is False and job.get(_configured_full_cycle_fits_) is True, __)\nREC|SELECT_CALL|LINE=42|NAME=need\nREC|SELECT_CALL|LINE=42|AST=need(type(disks) is list and len(disks) == 1, __)\nREC|SELECT_CALL|LINE=44|NAME=need\nREC|SELECT_CALL|LINE=44|AST=need(disk.get(__) == _rootfs_ and disk.get(__) == __ and (disk.get(__) in (__, __)), __)\nREC|SELECT_CALL|LINE=46|NAME=need\nREC|SELECT_CALL|LINE=46|AST=need(type(size) is int and 0 < size <= stream.MAX_BYTES and (size == disk.get(__)), __)\nREC|SELECT_CALL|LINE=48|NAME=need\nREC|SELECT_CALL|LINE=48|AST=need(st.get(__) is True and st.get(__) is True and (st.get(_type_) in (__, __)), __)\nREC|SELECT_CALL|LINE=49|NAME=need\nREC|SELECT_CALL|LINE=49|AST=need(type(st.get(__)) is int and st__ >= max(1024 _ 3, size), __)\nREC|SELECT_CALL|LINE=50|NAME=require_target\nREC|SELECT_CALL|LINE=50|AST=require_target(job, by_id_TARGET_VMID_config_sha256_)\nHANDLER_BASELINE_FUNCTION_COUNT=1\nHANDLER_BASELINE_ARGS=NONE\nHANDLER_BASELINE_FIRST_LINE=31\nHANDLER_BASELINE_TOP_LEVEL_STATEMENTS=3\nREC|HANDLER_BASELINE|IDX=1|LINE=32\nREC|HANDLER_BASELINE|IDX=1|KIND=Assign\nREC|HANDLER_BASELINE|IDX=1|AST=b = t.read_secure(PLAN, 1024 _ 1024, private=True)_0_\nREC|HANDLER_BASELINE|IDX=2|LINE=33\nREC|HANDLER_BASELINE|IDX=2|KIND=If\nREC|HANDLER_BASELINE|IDX=2|AST=if t.sha(b) _= PLAN_SHA: raise RuntimeError(_PLAN_REFERENCE_IDENTITY_)\nREC|HANDLER_BASELINE|IDX=3|LINE=34\nREC|HANDLER_BASELINE|IDX=3|KIND=Try\nREC|HANDLER_BASELINE|IDX=3|AST=try: return json.loads(b.decode(__, __)) except (ValueError, UnicodeError): raise RuntimeError(__) from None\nHANDLER_FRESH_FUNCTION_COUNT=1\nHANDLER_FRESH_ARGS=now\nHANDLER_FRESH_FIRST_LINE=42\nHANDLER_FRESH_TOP_LEVEL_STATEMENTS=8\nREC|HANDLER_FRESH|IDX=1|LINE=43\nREC|HANDLER_FRESH|IDX=1|KIND=Assign\nREC|HANDLER_FRESH|IDX=1|AST=rows = _json_cmd(__, __, __)\nREC|HANDLER_FRESH|IDX=2|LINE=44\nREC|HANDLER_FRESH|IDX=2|KIND=Assign\nREC|HANDLER_FRESH|IDX=2|AST=stores = _json_cmd(__)\nREC|HANDLER_FRESH|IDX=3|LINE=45\nREC|HANDLER_FRESH|IDX=3|KIND=If\nREC|HANDLER_FRESH|IDX=3|AST=if not isinstance(rows, list) or not isinstance(stores, list): raise RuntimeError(__)\nREC|HANDLER_FRESH|IDX=4|LINE=46\nREC|HANDLER_FRESH|IDX=4|KIND=Assign\nREC|HANDLER_FRESH|IDX=4|AST=configs = _\nREC|HANDLER_FRESH|IDX=5|LINE=47\nREC|HANDLER_FRESH|IDX=5|KIND=For\nREC|HANDLER_FRESH|IDX=5|AST=for r in rows: if not isinstance(r, dict) or r.get(_node_) _= _pve01_ or r.get(_type_) not in (_lxc_, __): continue vmid = r.get(_vmid_) if type(vmid) is not int: raise RuntimeError(__) configs_vmid_ = _json_cmd(f__r_type__vmid__)\nREC|HANDLER_FRESH|IDX=6|LINE=52\nREC|HANDLER_FRESH|IDX=6|KIND=Assign\nREC|HANDLER_FRESH|IDX=6|AST=v = os.statvfs(STAGING)\nREC|HANDLER_FRESH|IDX=7|LINE=52\nREC|HANDLER_FRESH|IDX=7|KIND=Assign\nREC|HANDLER_FRESH|IDX=7|AST=free = v.f_frsize _ v.f_bavail\nREC|HANDLER_FRESH|IDX=8|LINE=53\nREC|HANDLER_FRESH|IDX=8|KIND=Return\nREC|HANDLER_FRESH|IDX=8|AST=return pve265.make_plan(rows, configs, stores, _defaults(), free, now, node=_pve01_)\nHANDLER_RUN_FUNCTION_COUNT=1\nHANDLER_RUN_ARGS=target,state_writer\nHANDLER_RUN_FIRST_LINE=100\nHANDLER_RUN_TOP_LEVEL_STATEMENTS=24\nREC|HANDLER_RUN|IDX=1|LINE=101\nREC|HANDLER_RUN|IDX=1|KIND=If\nREC|HANDLER_RUN|IDX=1|AST=if not isinstance(target, dict) or target.get(__) _= CT_ID or target.get(_vmid_) _= 112: return (_ for _ in ()).throw(RuntimeError(__))\nREC|HANDLER_RUN|IDX=2|LINE=102\nREC|HANDLER_RUN|IDX=2|KIND=If\nREC|HANDLER_RUN|IDX=2|AST=if _sha(PLAN, 1024 _ 1024) _= PLAN_SHA: raise RuntimeError(_PLAN_REFERENCE_IDENTITY_)\nREC|HANDLER_RUN|IDX=3|LINE=103\nREC|HANDLER_RUN|IDX=3|KIND=Assign\nREC|HANDLER_RUN|IDX=3|AST=tools = __: _tool(VZDUMP, VZDUMP_SHA), __: _tool(ZSTD, ZSTD_SHA)_\nREC|HANDLER_RUN|IDX=4|LINE=103\nREC|HANDLER_RUN|IDX=4|KIND=Expr\nREC|HANDLER_RUN|IDX=4|AST=_tool(RCLONE, RCLONE_SHA)\nREC|HANDLER_RUN|IDX=5|LINE=104\nREC|HANDLER_RUN|IDX=5|KIND=Assign\nREC|HANDLER_RUN|IDX=5|AST=pvesh_sha = _sha(PVESH)\nREC|HANDLER_RUN|IDX=6|LINE=104\nREC|HANDLER_RUN|IDX=6|KIND=Assign\nREC|HANDLER_RUN|IDX=6|AST=baseline = _baseline()\nREC|HANDLER_RUN|IDX=7|LINE=104\nREC|HANDLER_RUN|IDX=7|KIND=Assign\nREC|HANDLER_RUN|IDX=7|AST=now = int(time.time())\nREC|HANDLER_RUN|IDX=8|LINE=104\nREC|HANDLER_RUN|IDX=8|KIND=Assign\nREC|HANDLER_RUN|IDX=8|AST=current = _fresh_plan(now)\nREC|HANDLER_RUN|IDX=9|LINE=104\nREC|HANDLER_RUN|IDX=9|KIND=Assign\nREC|HANDLER_RUN|IDX=9|AST=job = pve282.select112(current, baseline, now)\nREC|HANDLER_RUN|IDX=10|LINE=105\nREC|HANDLER_RUN|IDX=10|KIND=Assign\nREC|HANDLER_RUN|IDX=10|AST=expected = job_config_sha256_\nREC|HANDLER_RUN|IDX=11|LINE=105\nREC|HANDLER_RUN|IDX=11|KIND=Assign\nREC|HANDLER_RUN|IDX=11|AST=mapping = pve282.host_mapping()\nREC|HANDLER_RUN|IDX=12|LINE=105\nREC|HANDLER_RUN|IDX=12|KIND=Expr\nREC|HANDLER_RUN|IDX=12|AST=pve282.validate_mapping(mapping)\nREC|HANDLER_RUN|IDX=13|LINE=106\nREC|HANDLER_RUN|IDX=13|KIND=FunctionDef\nREC|HANDLER_RUN|IDX=13|AST=def producer_guard(): now2 = int(time.time()) cur = _fresh_plan(now2) fresh = pve282.select112(cur, baseline, now2) tasks = _json_cmd(__, __, __) guest266.no_active_tasks(tasks, 112) if _sha(PVESH) _= pvesh_sha: raise RuntimeError(__) pve282.live_gate(fresh, str(PVESH), pvesh_sha, expected)\nVZDUMP_CONFIG_BYTES=566\nVZDUMP_CONFIG_TYPED_INPUT=str\nDRY_RUN_STARTED=true\nBASELINE_LOAD_OK=true\nFRESH_PLAN_MAKE_OK=true\nBASELINE_LIVE_PLAN_CHANGED_KEYS=all_guest_coverage_eligible,collected_at_utc,global_blockers,global_defaults,guest_membership_and_configs_stable,jobs,local_guest_count,node_execution_approved,observed_at,pvesh_get_calls,pvesh_sha256,refresh_required_before_backup,staging_free_bytes,storages,tools\nBASELINE_PLAN_TYPE=dict\nBASELINE_PLAN_KEYS=all_guest_coverage_eligible,backup_executed,capacity_policy,collected_at_utc,full_host_coverage,global_blockers,global_defaults,guest_membership_and_configs_stable,jobs,local_guest_count,node,node_execution_approved,nodeset_backup_approved,observed_at,pvesh_get_calls,pvesh_sha256,refresh_required_before_backup,schema_version,staging_free_bytes,storages,tools\nBASELINE_PLAN_JOBS_TYPE=list\nBASELINE_PLAN_JOB_COUNT=6\nBASELINE_PLAN_VMID_LIST_HASH=b6b595ac377f78e071aca2ab359a7c7ae1bcb0485e68728a7c48f076f36cde40\nBASELINE_PLAN_VM112_COUNT=1\nBASELINE_PLAN_VM112_FIELDS=application_consistency_verified,archive_cap_bytes,blockers,cdrom_count,cdrom_media_included,compression_dependent,config_sha256,configured_archive_bound_bytes,configured_disk_bytes,configured_full_cycle_fits,coverage_eligible,disks,global_defaults_sha256,guest_restore_verified,hookscript_present,local_reserve_bytes,lock_present,node,observed_at,reported_maxdisk_bytes,reported_maxmem_bytes,snapshot_history_included,status,template,type,unused_volume_count,vmid\nBASELINE_PLAN_VM112_AGE_SECONDS=2223483\nFRESH_PLAN_TYPE=dict\nFRESH_PLAN_KEYS=all_guest_coverage_eligible,backup_executed,capacity_policy,full_host_coverage,global_blockers,global_defaults,jobs,local_guest_count,node,nodeset_backup_approved,observed_at,schema_version,staging_free_bytes,storages\nFRESH_PLAN_JOBS_TYPE=list\nFRESH_PLAN_JOB_COUNT=8\nFRESH_PLAN_VMID_LIST_HASH=a6268963746816277a805ff5113847e826ba0ce06c0ae1cf316594a474670de6\nFRESH_PLAN_VM112_COUNT=1\nFRESH_PLAN_VM112_FIELDS=application_consistency_verified,archive_cap_bytes,blockers,cdrom_count,cdrom_media_included,compression_dependent,config_sha256,configured_archive_bound_bytes,configured_disk_bytes,configured_full_cycle_fits,coverage_eligible,disks,global_defaults_sha256,guest_restore_verified,hookscript_present,local_reserve_bytes,lock_present,node,observed_at,reported_maxdisk_bytes,reported_maxmem_bytes,snapshot_history_included,status,template,type,unused_volume_count,vmid\nFRESH_PLAN_VM112_AGE_SECONDS=6\nBASELINE_LIVE_VM112_CHANGED_KEYS=blockers,coverage_eligible,global_defaults_sha256,observed_at\nVM112_FIELD_CONFIG_SHA256_EQUAL=true\nVM112_FIELD_GLOBAL_DEFAULTS_SHA256_EQUAL=false\nVM112_FIELD_NODE_EQUAL=true\nVM112_FIELD_VMID_EQUAL=true\nVM112_FIELD_TYPE_EQUAL=true\nVM112_FIELD_TEMPLATE_EQUAL=true\nVM112_FIELD_BLOCKERS_EQUAL=false\nVM112_FIELD_COVERAGE_ELIGIBLE_EQUAL=false\nVM112_FIELD_COMPRESSION_DEPENDENT_EQUAL=true\nVM112_FIELD_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true\nREAL_SELECT112_DRYRUN_SKIPPED=true\nDECISION=PASS_SOURCE_AND_LIVE_PLAN_COMPARISON_RECORDED\nNEXT_GATE=FIX_EXACT_PLAN_NOT_STABLE_MISMATCH_NOT_GUARD_BYPASS\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nEND_MARKER=true\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261008-CT112-PLAN-DATAFLOW-ROOT-99824R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nPLAN_DATAFLOW_PYTHON_RC=0\n" + "output": "CT112_SELECT112_ROOT_ACCEPTANCE=V1\nMODE=read-only\nNO_MUTATION=true\nNO_BACKUP_EXECUTION=true\nPINNED_WRAPPER_COUNT=1\nSOURCE_PINS_VALID=true\nGUEST266_PLAN_ROWS_FUNCTIONS=1\nGUEST266_PLAN_ROWS_LINE=17\nGUEST266_PLAN_ROWS_NEED_GUARDS=5\nREC|GUEST266_PLAN_ROWS|IDX=1|LINE=18\nREC|GUEST266_PLAN_ROWS|IDX=1|CODE=PLAN_NODE\nREC|GUEST266_PLAN_ROWS|IDX=2|LINE=20\nREC|GUEST266_PLAN_ROWS|IDX=2|CODE=PLAN_ROWS\nREC|GUEST266_PLAN_ROWS|IDX=3|LINE=21\nREC|GUEST266_PLAN_ROWS|IDX=3|CODE=PLAN_ROW_SCHEMA\nREC|GUEST266_PLAN_ROWS|IDX=4|LINE=22\nREC|GUEST266_PLAN_ROWS|IDX=4|CODE=PLAN_DUPLICATE_GUEST\nREC|GUEST266_PLAN_ROWS|IDX=5|LINE=23\nREC|GUEST266_PLAN_ROWS|IDX=5|CODE=PLAN_NOT_STABLE\nGUEST266_SAME_STATE_FUNCTIONS=1\nGUEST266_SAME_STATE_LINE=47\nGUEST266_SAME_STATE_NEED_GUARDS=5\nREC|GUEST266_SAME_STATE|IDX=1|LINE=50\nREC|GUEST266_SAME_STATE|IDX=1|CODE=GUEST_MEMBERSHIP_OR_STATUS_CHANGED\nREC|GUEST266_SAME_STATE|IDX=2|LINE=51\nREC|GUEST266_SAME_STATE|IDX=2|CODE=GLOBAL_DEFAULTS_CHANGED\nREC|GUEST266_SAME_STATE|IDX=3|LINE=53\nREC|GUEST266_SAME_STATE|IDX=3|CODE=SELECTED_GUEST_MISSING\nREC|GUEST266_SAME_STATE|IDX=4|LINE=55\nREC|GUEST266_SAME_STATE|IDX=4|CODE=SELECTED_GUEST_BECAME_BLOCKED\nREC|GUEST266_SAME_STATE|IDX=5|LINE=57\nREC|GUEST266_SAME_STATE|IDX=5|CODE=SELECTED_GUEST_CONFIG_CHANGED\nSERVICE_ACTIVE_STATE=inactive\nBASELINE_LOAD_OK=true\nBASELINE_LOAD_RESULT_TYPE=dict\nFRESH_PLAN_GENERATION_OK=true\nFRESH_PLAN_GENERATION_RESULT_TYPE=dict\nPRODUCTION_DEFAULTS_PATCHED=false\nACCEPTED_JOB_COUNT=6\nACCEPTED_VMIDS=110,112,150,170,171,210\nACCEPTED_GLOBAL_BLOCKER_COUNT=0\nACCEPTED_GLOBAL_BLOCKER_SAFE_CODES=NONE\nACCEPTED_FLAG_NODE_EXECUTION_APPROVED=false\nACCEPTED_FLAG_NODESET_BACKUP_APPROVED=false\nACCEPTED_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=true\nACCEPTED_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=true\nACCEPTED_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=true\nACCEPTED_FLAG_FULL_HOST_COVERAGE=false\nACCEPTED_VM112_COUNT=1\nACCEPTED_VM112_BLOCKERS_COUNT=0\nACCEPTED_VM112_BLOCKER_SAFE_CODES=NONE\nACCEPTED_VM112_COVERAGE_ELIGIBLE=true\nACCEPTED_VM112_CONFIG_HASH_VALID=true\nACCEPTED_VM112_AGE_SECONDS=2223938\nCURRENT_JOB_COUNT=8\nCURRENT_VMIDS=100,101,110,112,150,170,171,210\nCURRENT_GLOBAL_BLOCKER_COUNT=1\nCURRENT_GLOBAL_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED\nCURRENT_FLAG_NODE_EXECUTION_APPROVED=MISSING\nCURRENT_FLAG_NODESET_BACKUP_APPROVED=false\nCURRENT_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=MISSING\nCURRENT_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=false\nCURRENT_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=MISSING\nCURRENT_FLAG_FULL_HOST_COVERAGE=false\nCURRENT_VM112_COUNT=1\nCURRENT_VM112_BLOCKERS_COUNT=1\nCURRENT_VM112_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED\nCURRENT_VM112_COVERAGE_ELIGIBLE=false\nCURRENT_VM112_CONFIG_HASH_VALID=true\nCURRENT_VM112_AGE_SECONDS=6\nACCEPTED_ONLY_VMIDS=NONE\nNEW_LIVE_VMIDS=100,101\nVM112_CONFIG_SHA256_EQUAL=true\nVM112_GLOBAL_DEFAULTS_SHA256_EQUAL=false\nVM112_NODE_EQUAL=true\nVM112_TEMPLATE_EQUAL=true\nVM112_TYPE_EQUAL=true\nVM112_BLOCKERS_EQUAL=false\nVM112_COVERAGE_ELIGIBLE_EQUAL=false\nVM112_COMPRESSION_DEPENDENT_EQUAL=true\nVM112_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true\nACCEPTED_PLAN_ROWS_OK=true\nACCEPTED_PLAN_ROWS_RESULT_TYPE=list\nFRESH_PLAN_ROWS_OK=false\nFRESH_PLAN_ROWS_TYPE=Stop\nFRESH_PLAN_ROWS_TOKENS=PLAN_NOT_STABLE\nREC|FRESH_PLAN_ROWS|FRAME=1|FILE=guest266.py\nREC|FRESH_PLAN_ROWS|FRAME=1|LINE=23\nREC|FRESH_PLAN_ROWS|FRAME=1|FUNC=plan_rows\nSAME_STATE_GUARD_OK=false\nSAME_STATE_GUARD_TYPE=Stop\nSAME_STATE_GUARD_TOKENS=PLAN_NOT_STABLE\nREC|SAME_STATE_GUARD|FRAME=1|FILE=guest266.py\nREC|SAME_STATE_GUARD|FRAME=1|LINE=48\nREC|SAME_STATE_GUARD|FRAME=1|FUNC=same_state\nREC|SAME_STATE_GUARD|FRAME=2|FILE=guest266.py\nREC|SAME_STATE_GUARD|FRAME=2|LINE=23\nREC|SAME_STATE_GUARD|FRAME=2|FUNC=plan_rows\nP282_SELECT112_GUARD_OK=false\nP282_SELECT112_GUARD_TYPE=Stop\nP282_SELECT112_GUARD_TOKENS=PLAN_NOT_STABLE\nREC|P282_SELECT112_GUARD|FRAME=1|FILE=pve282.py\nREC|P282_SELECT112_GUARD|FRAME=1|LINE=30\nREC|P282_SELECT112_GUARD|FRAME=1|FUNC=select112\nREC|P282_SELECT112_GUARD|FRAME=2|FILE=guest266.py\nREC|P282_SELECT112_GUARD|FRAME=2|LINE=23\nREC|P282_SELECT112_GUARD|FRAME=2|FUNC=plan_rows\nDECISION=PASS_EXACT_GUARD_AND_MEMBERSHIP_EVIDENCE_CAPTURED\nNEXT_GATE=RECONCILE_ACCEPTED_PLAN_WITH_NEW_MEMBERSHIP_AND_BLOCKERS_NO_BYPASS\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nEND_MARKER=true\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nDIAGNOSTIC_PYTHON_RC=0\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 7608c4aa..dd410fc8 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-261008-CT112-PLAN-DATAFLOW-ROOT-99824R1 +COMMAND_ID=SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1 STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=ct112-plan-dataflow-root +COMPONENT=ct112-select112-root-acceptance REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=e556870d31392c4f44f6bf6b71f9a92b401d209eb60db4d0148f3eb69139f49a +COMMAND_SHA256=9969a5849f0dc3d4eb2660eb9ecaa7f153f1a5f9c20074d1843bb0a5cd3f5026 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,251 +24,125 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=7a58f71f363c8e390fd3b6af5b01d7f21d758c734e92ae73164c0e5358fa59b7 -SANITIZED_OUTPUT_SHA256=7a58f71f363c8e390fd3b6af5b01d7f21d758c734e92ae73164c0e5358fa59b7 +RAW_EVIDENCE_SHA256=aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd +SANITIZED_OUTPUT_SHA256=aaedf2286a60761fba195508964073b82dfcbb89d479fb7f9b266dee9b1475cd OUTPUT_BEGIN -CT112_PLAN_DATAFLOW_ROOT=V1 +CT112_SELECT112_ROOT_ACCEPTANCE=V1 MODE=read-only -NO_BACKUP_EXECUTION=true NO_MUTATION=true +NO_BACKUP_EXECUTION=true PINNED_WRAPPER_COUNT=1 -SOURCE_IDENTITIES_VALID=true -P282_SELECT112_FUNCTION_COUNT=1 -P282_SELECT112_ARGS=current,baseline,now -P282_SELECT112_FIRST_LINE=29 -P282_SELECT112_TOP_LEVEL_STATEMENTS=25 -REC|P282_SELECT112|IDX=1|LINE=30 -REC|P282_SELECT112|IDX=1|KIND=Assign -REC|P282_SELECT112|IDX=1|AST=rows = g.plan_rows(current) -REC|P282_SELECT112|IDX=2|LINE=30 -REC|P282_SELECT112|IDX=2|KIND=Assign -REC|P282_SELECT112|IDX=2|AST=previous = g.plan_rows(baseline) -REC|P282_SELECT112|IDX=3|LINE=31 -REC|P282_SELECT112|IDX=3|KIND=Assign -REC|P282_SELECT112|IDX=3|AST=by_id = _j_vmid_: j for j in previous_ -REC|P282_SELECT112|IDX=4|LINE=32 -REC|P282_SELECT112|IDX=4|KIND=Expr -REC|P282_SELECT112|IDX=4|AST=need(TARGET_VMID in by_id, __) -REC|P282_SELECT112|IDX=5|LINE=33 -REC|P282_SELECT112|IDX=5|KIND=Expr -REC|P282_SELECT112|IDX=5|AST=g.same_state(baseline, current, TARGET_VMID) -REC|P282_SELECT112|IDX=6|LINE=34 -REC|P282_SELECT112|IDX=6|KIND=Expr -REC|P282_SELECT112|IDX=6|AST=need(_j_vmid_ for j in rows_ == set(by_id), __) -REC|P282_SELECT112|IDX=7|LINE=35 -REC|P282_SELECT112|IDX=7|KIND=For -REC|P282_SELECT112|IDX=7|AST=for row in rows: need(row_config_sha256_ == by_id_row_vmid_config_sha256_, __) -REC|P282_SELECT112|IDX=8|LINE=37 -REC|P282_SELECT112|IDX=8|KIND=Assign -REC|P282_SELECT112|IDX=8|AST=selected = _j for j in rows if j_vmid_ == TARGET_VMID_ -REC|P282_SELECT112|IDX=9|LINE=38 -REC|P282_SELECT112|IDX=9|KIND=Expr -REC|P282_SELECT112|IDX=9|AST=need(len(selected) == 1, _CT112_NOT_UNIQUE_) -REC|P282_SELECT112|IDX=10|LINE=39 -REC|P282_SELECT112|IDX=10|KIND=Assign -REC|P282_SELECT112|IDX=10|AST=job = copy.deepcopy(selected_0_) -REC|P282_SELECT112|IDX=11|LINE=39 -REC|P282_SELECT112|IDX=11|KIND=Expr -REC|P282_SELECT112|IDX=11|AST=old.validate_job(job, now) -REC|P282_SELECT112|IDX=12|LINE=40 -REC|P282_SELECT112|IDX=12|KIND=Expr -REC|P282_SELECT112|IDX=12|AST=need(current.get(__) == _, __) -REC|P282_SELECT112|IDX=13|LINE=41 -REC|P282_SELECT112|IDX=13|KIND=Expr -REC|P282_SELECT112|IDX=13|AST=need(job.get(_compression_dependent_) is False and job.get(_configured_full_cycle_fits_) is True, __) -REC|P282_SELECT112|IDX=14|LINE=42 -REC|P282_SELECT112|IDX=14|KIND=Assign -REC|P282_SELECT112|IDX=14|AST=disks = job.get(_disks_) -REC|P282_SELECT112|IDX=15|LINE=42 -REC|P282_SELECT112|IDX=15|KIND=Expr -REC|P282_SELECT112|IDX=15|AST=need(type(disks) is list and len(disks) == 1, __) -REC|P282_SELECT112|IDX=16|LINE=43 -REC|P282_SELECT112|IDX=16|KIND=Assign -REC|P282_SELECT112|IDX=16|AST=disk = disks_0_ -REC|P282_SELECT112|IDX=17|LINE=44 -REC|P282_SELECT112|IDX=17|KIND=Expr -REC|P282_SELECT112|IDX=17|AST=need(disk.get(__) == _rootfs_ and disk.get(__) == __ and (disk.get(__) in (__, __)), __) -REC|P282_SELECT112|IDX=18|LINE=45 -REC|P282_SELECT112|IDX=18|KIND=Assign -REC|P282_SELECT112|IDX=18|AST=size = job.get(__) -REC|P282_SELECT112|IDX=19|LINE=46 -REC|P282_SELECT112|IDX=19|KIND=Expr -REC|P282_SELECT112|IDX=19|AST=need(type(size) is int and 0 < size <= stream.MAX_BYTES and (size == disk.get(__)), __) -REC|P282_SELECT112|IDX=20|LINE=47 -REC|P282_SELECT112|IDX=20|KIND=Assign -REC|P282_SELECT112|IDX=20|AST=stores = _x__: x for x in current.get(__, _)_ -REC|P282_SELECT112|IDX=21|LINE=47 -REC|P282_SELECT112|IDX=21|KIND=Assign -REC|P282_SELECT112|IDX=21|AST=st = stores.get(disk.get(__), _) -REC|P282_SELECT112|IDX=22|LINE=48 -REC|P282_SELECT112|IDX=22|KIND=Expr -REC|P282_SELECT112|IDX=22|AST=need(st.get(__) is True and st.get(__) is True and (st.get(_type_) in (__, __)), __) -REC|P282_SELECT112|IDX=23|LINE=49 -REC|P282_SELECT112|IDX=23|KIND=Expr -REC|P282_SELECT112|IDX=23|AST=need(type(st.get(__)) is int and st__ >= max(1024 _ 3, size), __) -REC|P282_SELECT112|IDX=24|LINE=50 -REC|P282_SELECT112|IDX=24|KIND=Expr -REC|P282_SELECT112|IDX=24|AST=require_target(job, by_id_TARGET_VMID_config_sha256_) -P282_SELECT112_LINE30_AST=rows = g.plan_rows(current),previous = g.plan_rows(baseline) -REC|SELECT_CALL|LINE=30|NAME=plan_rows -REC|SELECT_CALL|LINE=30|AST=g.plan_rows(current) -REC|SELECT_CALL|LINE=30|NAME=plan_rows -REC|SELECT_CALL|LINE=30|AST=g.plan_rows(baseline) -REC|SELECT_CALL|LINE=32|NAME=need -REC|SELECT_CALL|LINE=32|AST=need(TARGET_VMID in by_id, __) -REC|SELECT_CALL|LINE=33|NAME=same_state -REC|SELECT_CALL|LINE=33|AST=g.same_state(baseline, current, TARGET_VMID) -REC|SELECT_CALL|LINE=34|NAME=need -REC|SELECT_CALL|LINE=34|AST=need(_j_vmid_ for j in rows_ == set(by_id), __) -REC|SELECT_CALL|LINE=36|NAME=need -REC|SELECT_CALL|LINE=36|AST=need(row_config_sha256_ == by_id_row_vmid_config_sha256_, __) -REC|SELECT_CALL|LINE=38|NAME=need -REC|SELECT_CALL|LINE=38|AST=need(len(selected) == 1, _CT112_NOT_UNIQUE_) -REC|SELECT_CALL|LINE=39|NAME=validate_job -REC|SELECT_CALL|LINE=39|AST=old.validate_job(job, now) -REC|SELECT_CALL|LINE=40|NAME=need -REC|SELECT_CALL|LINE=40|AST=need(current.get(__) == _, __) -REC|SELECT_CALL|LINE=41|NAME=need -REC|SELECT_CALL|LINE=41|AST=need(job.get(_compression_dependent_) is False and job.get(_configured_full_cycle_fits_) is True, __) -REC|SELECT_CALL|LINE=42|NAME=need -REC|SELECT_CALL|LINE=42|AST=need(type(disks) is list and len(disks) == 1, __) -REC|SELECT_CALL|LINE=44|NAME=need -REC|SELECT_CALL|LINE=44|AST=need(disk.get(__) == _rootfs_ and disk.get(__) == __ and (disk.get(__) in (__, __)), __) -REC|SELECT_CALL|LINE=46|NAME=need -REC|SELECT_CALL|LINE=46|AST=need(type(size) is int and 0 < size <= stream.MAX_BYTES and (size == disk.get(__)), __) -REC|SELECT_CALL|LINE=48|NAME=need -REC|SELECT_CALL|LINE=48|AST=need(st.get(__) is True and st.get(__) is True and (st.get(_type_) in (__, __)), __) -REC|SELECT_CALL|LINE=49|NAME=need -REC|SELECT_CALL|LINE=49|AST=need(type(st.get(__)) is int and st__ >= max(1024 _ 3, size), __) -REC|SELECT_CALL|LINE=50|NAME=require_target -REC|SELECT_CALL|LINE=50|AST=require_target(job, by_id_TARGET_VMID_config_sha256_) -HANDLER_BASELINE_FUNCTION_COUNT=1 -HANDLER_BASELINE_ARGS=NONE -HANDLER_BASELINE_FIRST_LINE=31 -HANDLER_BASELINE_TOP_LEVEL_STATEMENTS=3 -REC|HANDLER_BASELINE|IDX=1|LINE=32 -REC|HANDLER_BASELINE|IDX=1|KIND=Assign -REC|HANDLER_BASELINE|IDX=1|AST=b = t.read_secure(PLAN, 1024 _ 1024, private=True)_0_ -REC|HANDLER_BASELINE|IDX=2|LINE=33 -REC|HANDLER_BASELINE|IDX=2|KIND=If -REC|HANDLER_BASELINE|IDX=2|AST=if t.sha(b) _= PLAN_SHA: raise RuntimeError(_PLAN_REFERENCE_IDENTITY_) -REC|HANDLER_BASELINE|IDX=3|LINE=34 -REC|HANDLER_BASELINE|IDX=3|KIND=Try -REC|HANDLER_BASELINE|IDX=3|AST=try: return json.loads(b.decode(__, __)) except (ValueError, UnicodeError): raise RuntimeError(__) from None -HANDLER_FRESH_FUNCTION_COUNT=1 -HANDLER_FRESH_ARGS=now -HANDLER_FRESH_FIRST_LINE=42 -HANDLER_FRESH_TOP_LEVEL_STATEMENTS=8 -REC|HANDLER_FRESH|IDX=1|LINE=43 -REC|HANDLER_FRESH|IDX=1|KIND=Assign -REC|HANDLER_FRESH|IDX=1|AST=rows = _json_cmd(__, __, __) -REC|HANDLER_FRESH|IDX=2|LINE=44 -REC|HANDLER_FRESH|IDX=2|KIND=Assign -REC|HANDLER_FRESH|IDX=2|AST=stores = _json_cmd(__) -REC|HANDLER_FRESH|IDX=3|LINE=45 -REC|HANDLER_FRESH|IDX=3|KIND=If -REC|HANDLER_FRESH|IDX=3|AST=if not isinstance(rows, list) or not isinstance(stores, list): raise RuntimeError(__) -REC|HANDLER_FRESH|IDX=4|LINE=46 -REC|HANDLER_FRESH|IDX=4|KIND=Assign -REC|HANDLER_FRESH|IDX=4|AST=configs = _ -REC|HANDLER_FRESH|IDX=5|LINE=47 -REC|HANDLER_FRESH|IDX=5|KIND=For -REC|HANDLER_FRESH|IDX=5|AST=for r in rows: if not isinstance(r, dict) or r.get(_node_) _= _pve01_ or r.get(_type_) not in (_lxc_, __): continue vmid = r.get(_vmid_) if type(vmid) is not int: raise RuntimeError(__) configs_vmid_ = _json_cmd(f__r_type__vmid__) -REC|HANDLER_FRESH|IDX=6|LINE=52 -REC|HANDLER_FRESH|IDX=6|KIND=Assign -REC|HANDLER_FRESH|IDX=6|AST=v = os.statvfs(STAGING) -REC|HANDLER_FRESH|IDX=7|LINE=52 -REC|HANDLER_FRESH|IDX=7|KIND=Assign -REC|HANDLER_FRESH|IDX=7|AST=free = v.f_frsize _ v.f_bavail -REC|HANDLER_FRESH|IDX=8|LINE=53 -REC|HANDLER_FRESH|IDX=8|KIND=Return -REC|HANDLER_FRESH|IDX=8|AST=return pve265.make_plan(rows, configs, stores, _defaults(), free, now, node=_pve01_) -HANDLER_RUN_FUNCTION_COUNT=1 -HANDLER_RUN_ARGS=target,state_writer -HANDLER_RUN_FIRST_LINE=100 -HANDLER_RUN_TOP_LEVEL_STATEMENTS=24 -REC|HANDLER_RUN|IDX=1|LINE=101 -REC|HANDLER_RUN|IDX=1|KIND=If -REC|HANDLER_RUN|IDX=1|AST=if not isinstance(target, dict) or target.get(__) _= CT_ID or target.get(_vmid_) _= 112: return (_ for _ in ()).throw(RuntimeError(__)) -REC|HANDLER_RUN|IDX=2|LINE=102 -REC|HANDLER_RUN|IDX=2|KIND=If -REC|HANDLER_RUN|IDX=2|AST=if _sha(PLAN, 1024 _ 1024) _= PLAN_SHA: raise RuntimeError(_PLAN_REFERENCE_IDENTITY_) -REC|HANDLER_RUN|IDX=3|LINE=103 -REC|HANDLER_RUN|IDX=3|KIND=Assign -REC|HANDLER_RUN|IDX=3|AST=tools = __: _tool(VZDUMP, VZDUMP_SHA), __: _tool(ZSTD, ZSTD_SHA)_ -REC|HANDLER_RUN|IDX=4|LINE=103 -REC|HANDLER_RUN|IDX=4|KIND=Expr -REC|HANDLER_RUN|IDX=4|AST=_tool(RCLONE, RCLONE_SHA) -REC|HANDLER_RUN|IDX=5|LINE=104 -REC|HANDLER_RUN|IDX=5|KIND=Assign -REC|HANDLER_RUN|IDX=5|AST=pvesh_sha = _sha(PVESH) -REC|HANDLER_RUN|IDX=6|LINE=104 -REC|HANDLER_RUN|IDX=6|KIND=Assign -REC|HANDLER_RUN|IDX=6|AST=baseline = _baseline() -REC|HANDLER_RUN|IDX=7|LINE=104 -REC|HANDLER_RUN|IDX=7|KIND=Assign -REC|HANDLER_RUN|IDX=7|AST=now = int(time.time()) -REC|HANDLER_RUN|IDX=8|LINE=104 -REC|HANDLER_RUN|IDX=8|KIND=Assign -REC|HANDLER_RUN|IDX=8|AST=current = _fresh_plan(now) -REC|HANDLER_RUN|IDX=9|LINE=104 -REC|HANDLER_RUN|IDX=9|KIND=Assign -REC|HANDLER_RUN|IDX=9|AST=job = pve282.select112(current, baseline, now) -REC|HANDLER_RUN|IDX=10|LINE=105 -REC|HANDLER_RUN|IDX=10|KIND=Assign -REC|HANDLER_RUN|IDX=10|AST=expected = job_config_sha256_ -REC|HANDLER_RUN|IDX=11|LINE=105 -REC|HANDLER_RUN|IDX=11|KIND=Assign -REC|HANDLER_RUN|IDX=11|AST=mapping = pve282.host_mapping() -REC|HANDLER_RUN|IDX=12|LINE=105 -REC|HANDLER_RUN|IDX=12|KIND=Expr -REC|HANDLER_RUN|IDX=12|AST=pve282.validate_mapping(mapping) -REC|HANDLER_RUN|IDX=13|LINE=106 -REC|HANDLER_RUN|IDX=13|KIND=FunctionDef -REC|HANDLER_RUN|IDX=13|AST=def producer_guard(): now2 = int(time.time()) cur = _fresh_plan(now2) fresh = pve282.select112(cur, baseline, now2) tasks = _json_cmd(__, __, __) guest266.no_active_tasks(tasks, 112) if _sha(PVESH) _= pvesh_sha: raise RuntimeError(__) pve282.live_gate(fresh, str(PVESH), pvesh_sha, expected) -VZDUMP_CONFIG_BYTES=566 -VZDUMP_CONFIG_TYPED_INPUT=str -DRY_RUN_STARTED=true +SOURCE_PINS_VALID=true +GUEST266_PLAN_ROWS_FUNCTIONS=1 +GUEST266_PLAN_ROWS_LINE=17 +GUEST266_PLAN_ROWS_NEED_GUARDS=5 +REC|GUEST266_PLAN_ROWS|IDX=1|LINE=18 +REC|GUEST266_PLAN_ROWS|IDX=1|CODE=PLAN_NODE +REC|GUEST266_PLAN_ROWS|IDX=2|LINE=20 +REC|GUEST266_PLAN_ROWS|IDX=2|CODE=PLAN_ROWS +REC|GUEST266_PLAN_ROWS|IDX=3|LINE=21 +REC|GUEST266_PLAN_ROWS|IDX=3|CODE=PLAN_ROW_SCHEMA +REC|GUEST266_PLAN_ROWS|IDX=4|LINE=22 +REC|GUEST266_PLAN_ROWS|IDX=4|CODE=PLAN_DUPLICATE_GUEST +REC|GUEST266_PLAN_ROWS|IDX=5|LINE=23 +REC|GUEST266_PLAN_ROWS|IDX=5|CODE=PLAN_NOT_STABLE +GUEST266_SAME_STATE_FUNCTIONS=1 +GUEST266_SAME_STATE_LINE=47 +GUEST266_SAME_STATE_NEED_GUARDS=5 +REC|GUEST266_SAME_STATE|IDX=1|LINE=50 +REC|GUEST266_SAME_STATE|IDX=1|CODE=GUEST_MEMBERSHIP_OR_STATUS_CHANGED +REC|GUEST266_SAME_STATE|IDX=2|LINE=51 +REC|GUEST266_SAME_STATE|IDX=2|CODE=GLOBAL_DEFAULTS_CHANGED +REC|GUEST266_SAME_STATE|IDX=3|LINE=53 +REC|GUEST266_SAME_STATE|IDX=3|CODE=SELECTED_GUEST_MISSING +REC|GUEST266_SAME_STATE|IDX=4|LINE=55 +REC|GUEST266_SAME_STATE|IDX=4|CODE=SELECTED_GUEST_BECAME_BLOCKED +REC|GUEST266_SAME_STATE|IDX=5|LINE=57 +REC|GUEST266_SAME_STATE|IDX=5|CODE=SELECTED_GUEST_CONFIG_CHANGED +SERVICE_ACTIVE_STATE=inactive BASELINE_LOAD_OK=true -FRESH_PLAN_MAKE_OK=true -BASELINE_LIVE_PLAN_CHANGED_KEYS=all_guest_coverage_eligible,collected_at_utc,global_blockers,global_defaults,guest_membership_and_configs_stable,jobs,local_guest_count,node_execution_approved,observed_at,pvesh_get_calls,pvesh_sha256,refresh_required_before_backup,staging_free_bytes,storages,tools -BASELINE_PLAN_TYPE=dict -BASELINE_PLAN_KEYS=all_guest_coverage_eligible,backup_executed,capacity_policy,collected_at_utc,full_host_coverage,global_blockers,global_defaults,guest_membership_and_configs_stable,jobs,local_guest_count,node,node_execution_approved,nodeset_backup_approved,observed_at,pvesh_get_calls,pvesh_sha256,refresh_required_before_backup,schema_version,staging_free_bytes,storages,tools -BASELINE_PLAN_JOBS_TYPE=list -BASELINE_PLAN_JOB_COUNT=6 -BASELINE_PLAN_VMID_LIST_HASH=b6b595ac377f78e071aca2ab359a7c7ae1bcb0485e68728a7c48f076f36cde40 -BASELINE_PLAN_VM112_COUNT=1 -BASELINE_PLAN_VM112_FIELDS=application_consistency_verified,archive_cap_bytes,blockers,cdrom_count,cdrom_media_included,compression_dependent,config_sha256,configured_archive_bound_bytes,configured_disk_bytes,configured_full_cycle_fits,coverage_eligible,disks,global_defaults_sha256,guest_restore_verified,hookscript_present,local_reserve_bytes,lock_present,node,observed_at,reported_maxdisk_bytes,reported_maxmem_bytes,snapshot_history_included,status,template,type,unused_volume_count,vmid -BASELINE_PLAN_VM112_AGE_SECONDS=2223483 -FRESH_PLAN_TYPE=dict -FRESH_PLAN_KEYS=all_guest_coverage_eligible,backup_executed,capacity_policy,full_host_coverage,global_blockers,global_defaults,jobs,local_guest_count,node,nodeset_backup_approved,observed_at,schema_version,staging_free_bytes,storages -FRESH_PLAN_JOBS_TYPE=list -FRESH_PLAN_JOB_COUNT=8 -FRESH_PLAN_VMID_LIST_HASH=a6268963746816277a805ff5113847e826ba0ce06c0ae1cf316594a474670de6 -FRESH_PLAN_VM112_COUNT=1 -FRESH_PLAN_VM112_FIELDS=application_consistency_verified,archive_cap_bytes,blockers,cdrom_count,cdrom_media_included,compression_dependent,config_sha256,configured_archive_bound_bytes,configured_disk_bytes,configured_full_cycle_fits,coverage_eligible,disks,global_defaults_sha256,guest_restore_verified,hookscript_present,local_reserve_bytes,lock_present,node,observed_at,reported_maxdisk_bytes,reported_maxmem_bytes,snapshot_history_included,status,template,type,unused_volume_count,vmid -FRESH_PLAN_VM112_AGE_SECONDS=6 -BASELINE_LIVE_VM112_CHANGED_KEYS=blockers,coverage_eligible,global_defaults_sha256,observed_at -VM112_FIELD_CONFIG_SHA256_EQUAL=true -VM112_FIELD_GLOBAL_DEFAULTS_SHA256_EQUAL=false -VM112_FIELD_NODE_EQUAL=true -VM112_FIELD_VMID_EQUAL=true -VM112_FIELD_TYPE_EQUAL=true -VM112_FIELD_TEMPLATE_EQUAL=true -VM112_FIELD_BLOCKERS_EQUAL=false -VM112_FIELD_COVERAGE_ELIGIBLE_EQUAL=false -VM112_FIELD_COMPRESSION_DEPENDENT_EQUAL=true -VM112_FIELD_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true -REAL_SELECT112_DRYRUN_SKIPPED=true -DECISION=PASS_SOURCE_AND_LIVE_PLAN_COMPARISON_RECORDED -NEXT_GATE=FIX_EXACT_PLAN_NOT_STABLE_MISMATCH_NOT_GUARD_BYPASS +BASELINE_LOAD_RESULT_TYPE=dict +FRESH_PLAN_GENERATION_OK=true +FRESH_PLAN_GENERATION_RESULT_TYPE=dict +PRODUCTION_DEFAULTS_PATCHED=false +ACCEPTED_JOB_COUNT=6 +ACCEPTED_VMIDS=110,112,150,170,171,210 +ACCEPTED_GLOBAL_BLOCKER_COUNT=0 +ACCEPTED_GLOBAL_BLOCKER_SAFE_CODES=NONE +ACCEPTED_FLAG_NODE_EXECUTION_APPROVED=false +ACCEPTED_FLAG_NODESET_BACKUP_APPROVED=false +ACCEPTED_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=true +ACCEPTED_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=true +ACCEPTED_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=true +ACCEPTED_FLAG_FULL_HOST_COVERAGE=false +ACCEPTED_VM112_COUNT=1 +ACCEPTED_VM112_BLOCKERS_COUNT=0 +ACCEPTED_VM112_BLOCKER_SAFE_CODES=NONE +ACCEPTED_VM112_COVERAGE_ELIGIBLE=true +ACCEPTED_VM112_CONFIG_HASH_VALID=true +ACCEPTED_VM112_AGE_SECONDS=2223938 +CURRENT_JOB_COUNT=8 +CURRENT_VMIDS=100,101,110,112,150,170,171,210 +CURRENT_GLOBAL_BLOCKER_COUNT=1 +CURRENT_GLOBAL_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED +CURRENT_FLAG_NODE_EXECUTION_APPROVED=MISSING +CURRENT_FLAG_NODESET_BACKUP_APPROVED=false +CURRENT_FLAG_GUEST_MEMBERSHIP_AND_CONFIGS_STABLE=MISSING +CURRENT_FLAG_ALL_GUEST_COVERAGE_ELIGIBLE=false +CURRENT_FLAG_REFRESH_REQUIRED_BEFORE_BACKUP=MISSING +CURRENT_FLAG_FULL_HOST_COVERAGE=false +CURRENT_VM112_COUNT=1 +CURRENT_VM112_BLOCKERS_COUNT=1 +CURRENT_VM112_BLOCKER_SAFE_CODES=GLOBAL_DEFAULT_UNREVIEWED +CURRENT_VM112_COVERAGE_ELIGIBLE=false +CURRENT_VM112_CONFIG_HASH_VALID=true +CURRENT_VM112_AGE_SECONDS=6 +ACCEPTED_ONLY_VMIDS=NONE +NEW_LIVE_VMIDS=100,101 +VM112_CONFIG_SHA256_EQUAL=true +VM112_GLOBAL_DEFAULTS_SHA256_EQUAL=false +VM112_NODE_EQUAL=true +VM112_TEMPLATE_EQUAL=true +VM112_TYPE_EQUAL=true +VM112_BLOCKERS_EQUAL=false +VM112_COVERAGE_ELIGIBLE_EQUAL=false +VM112_COMPRESSION_DEPENDENT_EQUAL=true +VM112_CONFIGURED_FULL_CYCLE_FITS_EQUAL=true +ACCEPTED_PLAN_ROWS_OK=true +ACCEPTED_PLAN_ROWS_RESULT_TYPE=list +FRESH_PLAN_ROWS_OK=false +FRESH_PLAN_ROWS_TYPE=Stop +FRESH_PLAN_ROWS_TOKENS=PLAN_NOT_STABLE +REC|FRESH_PLAN_ROWS|FRAME=1|FILE=guest266.py +REC|FRESH_PLAN_ROWS|FRAME=1|LINE=23 +REC|FRESH_PLAN_ROWS|FRAME=1|FUNC=plan_rows +SAME_STATE_GUARD_OK=false +SAME_STATE_GUARD_TYPE=Stop +SAME_STATE_GUARD_TOKENS=PLAN_NOT_STABLE +REC|SAME_STATE_GUARD|FRAME=1|FILE=guest266.py +REC|SAME_STATE_GUARD|FRAME=1|LINE=48 +REC|SAME_STATE_GUARD|FRAME=1|FUNC=same_state +REC|SAME_STATE_GUARD|FRAME=2|FILE=guest266.py +REC|SAME_STATE_GUARD|FRAME=2|LINE=23 +REC|SAME_STATE_GUARD|FRAME=2|FUNC=plan_rows +P282_SELECT112_GUARD_OK=false +P282_SELECT112_GUARD_TYPE=Stop +P282_SELECT112_GUARD_TOKENS=PLAN_NOT_STABLE +REC|P282_SELECT112_GUARD|FRAME=1|FILE=pve282.py +REC|P282_SELECT112_GUARD|FRAME=1|LINE=30 +REC|P282_SELECT112_GUARD|FRAME=1|FUNC=select112 +REC|P282_SELECT112_GUARD|FRAME=2|FILE=guest266.py +REC|P282_SELECT112_GUARD|FRAME=2|LINE=23 +REC|P282_SELECT112_GUARD|FRAME=2|FUNC=plan_rows +DECISION=PASS_EXACT_GUARD_AND_MEMBERSHIP_EVIDENCE_CAPTURED +NEXT_GATE=RECONCILE_ACCEPTED_PLAN_WITH_NEW_MEMBERSHIP_AND_BLOCKERS_NO_BYPASS CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null MUTATION_OUTCOME=NO_MUTATION END_MARKER=true -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261008-CT112-PLAN-DATAFLOW-ROOT-99824R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} -PLAN_DATAFLOW_PYTHON_RC=0 +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261008-CT112-SELECT112-ROOT-ACCEPTANCE-99825R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +DIAGNOSTIC_PYTHON_RC=0 OUTPUT_END CHAT_OUTPUT_END