diff --git a/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.json b/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.json new file mode 100644 index 0000000..a638f91 --- /dev/null +++ b/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "cluster-audit", + "started_at_utc": "2026-07-22T11:38:00Z", + "finished_at_utc": "2026-07-22T11:38:00Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", + "command_sha256": "c27b3077d3bb4a1ae8f3cc070cda15cb876c6536f64a7b710a4161094e9839ac", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "changes_made": false, + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b", + "sanitized_output_sha256": "535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "validation=PASS\nPREVIOUS_RESULT=CLUSTER-REFERENCE-FORENSIC-RESET-180:OK\nROOTCAUSE_177=STALE_BOOTSTRAP_ERROR_REGISTER_HASH_MISMATCH\nSOURCE_CANDIDATE=/root/.bash_history\nSOURCE_SIZE=536342 SOURCE_MTIME=2026-07-22 12:57:24.366406235 +0300\nSOURCE_SHA256=d002f3e256c875dad7ef9394f9948532cdd41227f7066967f152c155667b6a80\nMATCH_COMMAND_ID=1 MATCH_PUBLISHER=1 MATCH_PASS_MARKER=1\nSOURCE_CANDIDATE_COUNT=1\nFAILED_COMMAND_REPEATED=NO\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nPUBLISHER_SOURCE_RECOVERY=COMPLETE\n" +} diff --git a/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.txt b/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.txt new file mode 100644 index 0000000..2dde274 --- /dev/null +++ b/runtime/history/CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181.txt @@ -0,0 +1,38 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=cluster-audit +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 +COMMAND_SHA256=c27b3077d3bb4a1ae8f3cc070cda15cb876c6536f64a7b710a4161094e9839ac +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGES_MADE=false +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b +SANITIZED_OUTPUT_SHA256=535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b +OUTPUT_BEGIN +validation=PASS +PREVIOUS_RESULT=CLUSTER-REFERENCE-FORENSIC-RESET-180:OK +ROOTCAUSE_177=STALE_BOOTSTRAP_ERROR_REGISTER_HASH_MISMATCH +SOURCE_CANDIDATE=/root/.bash_history +SOURCE_SIZE=536342 SOURCE_MTIME=2026-07-22 12:57:24.366406235 +0300 +SOURCE_SHA256=d002f3e256c875dad7ef9394f9948532cdd41227f7066967f152c155667b6a80 +MATCH_COMMAND_ID=1 MATCH_PUBLISHER=1 MATCH_PASS_MARKER=1 +SOURCE_CANDIDATE_COUNT=1 +FAILED_COMMAND_REPEATED=NO +REFERENCE_CHECK=OK +ERROR_REGISTER_CHECK=OK +SECRET_PRINTED=NO +PRIVATE_ADDRESS_PRINTED=NO +PUBLISHER_SOURCE_RECOVERY=COMPLETE + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index ef4df26..a638f91 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "CLUSTER-REFERENCE-FORENSIC-RESET-180", + "command_id": "CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", "component": "cluster-audit", - "started_at_utc": "2026-07-22T11:28:29Z", - "finished_at_utc": "2026-07-22T11:28:29Z", + "started_at_utc": "2026-07-22T11:38:00Z", + "finished_at_utc": "2026-07-22T11:38:00Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", - "command_sha256": "2507c8eff6a50053486f9e637ddc1bf3c963bf4833e99bde607c90ad486c3bfc", + "command_sha256": "c27b3077d3bb4a1ae8f3cc070cda15cb876c6536f64a7b710a4161094e9839ac", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -22,9 +22,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "2020ca0db258de8160fa4f44b6f77b75e7e9c706ccaf81321dce64a0a5e4bc7f", - "sanitized_output_sha256": "2020ca0db258de8160fa4f44b6f77b75e7e9c706ccaf81321dce64a0a5e4bc7f", + "raw_evidence_sha256": "535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b", + "sanitized_output_sha256": "535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "validation=PASS\nREFERENCE_CHECK=OK\nERROR_REGISTER_LOADED=YES\nERROR_REGISTER_HASH=MISMATCH\nBOOTSTRAP_GENERATED_AT=2026-07-21T07:02:17Z\nBOOTSTRAP_AGE_SECONDS=102372\nBOOTSTRAP_MAX_AGE_SECONDS=86400\nBOOTSTRAP_FRESHNESS=STALE\n=== BOOTSTRAP_COVERAGE ===\n{\"status\":\"PARTIAL\",\"missing\":[\"automatic_refresh\",\"per_node_freshness\",\"structured_service_inventory\"]}\nPREVIOUS_RESULT=CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-CONTRACT-177:FAIL:RC1\n=== IMMUTABLE_177_ERROR_MARKERS ===\n=== IMMUTABLE_177_TEXT_MARKERS ===\n3:STATUS=FAIL\n10:ERROR_REGISTER_CHECK=OK\n11:ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\n13:DUPLICATE_FAILED_COMMAND_BLOCKED=false\nLOCAL_RAW_177=MISSING\nRESULT_176_COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-TARGET-CONTRACT-176\nRESULT_176_STATUS=OK\nRESULT_176_RC=0\n=== IMMUTABLE_176_MARKERS ===\n2:REFERENCE_CHECK=OK\n3:ERROR_REGISTER_CHECK=OK\n5:ERROR_REGISTER_LOADED=YES\n7:PRIOR_FAILURE_173=RC141_EMPTY_OUTPUT_REGISTERED\n109:REFERENCE_CHECK=OK\n110:ERROR_REGISTER_CHECK=OK\n113:PUBLISHER_TARGET_CONTRACT=COMPLETE\nFAILED_COMMAND_REPEATED=NO\nINSTALLATION_ATTEMPTED=NO\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nFORENSIC_RESET=COMPLETE\n" + "output": "validation=PASS\nPREVIOUS_RESULT=CLUSTER-REFERENCE-FORENSIC-RESET-180:OK\nROOTCAUSE_177=STALE_BOOTSTRAP_ERROR_REGISTER_HASH_MISMATCH\nSOURCE_CANDIDATE=/root/.bash_history\nSOURCE_SIZE=536342 SOURCE_MTIME=2026-07-22 12:57:24.366406235 +0300\nSOURCE_SHA256=d002f3e256c875dad7ef9394f9948532cdd41227f7066967f152c155667b6a80\nMATCH_COMMAND_ID=1 MATCH_PUBLISHER=1 MATCH_PASS_MARKER=1\nSOURCE_CANDIDATE_COUNT=1\nFAILED_COMMAND_REPEATED=NO\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nPUBLISHER_SOURCE_RECOVERY=COMPLETE\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index cb27345..2dde274 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,5 +1,5 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=CLUSTER-REFERENCE-FORENSIC-RESET-180 +COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-SOURCE-RECOVERY-181 STATUS=OK RC=0 HOST=pve01 @@ -9,50 +9,30 @@ REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 -COMMAND_SHA256=2507c8eff6a50053486f9e637ddc1bf3c963bf4833e99bde607c90ad486c3bfc +COMMAND_SHA256=c27b3077d3bb4a1ae8f3cc070cda15cb876c6536f64a7b710a4161094e9839ac DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGES_MADE=false SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=2020ca0db258de8160fa4f44b6f77b75e7e9c706ccaf81321dce64a0a5e4bc7f -SANITIZED_OUTPUT_SHA256=2020ca0db258de8160fa4f44b6f77b75e7e9c706ccaf81321dce64a0a5e4bc7f +RAW_EVIDENCE_SHA256=535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b +SANITIZED_OUTPUT_SHA256=535bead0a30e12aaebfe837433b368a97a3ea9d34300eb6c58f5b56da592280b OUTPUT_BEGIN validation=PASS -REFERENCE_CHECK=OK -ERROR_REGISTER_LOADED=YES -ERROR_REGISTER_HASH=MISMATCH -BOOTSTRAP_GENERATED_AT=2026-07-21T07:02:17Z -BOOTSTRAP_AGE_SECONDS=102372 -BOOTSTRAP_MAX_AGE_SECONDS=86400 -BOOTSTRAP_FRESHNESS=STALE -=== BOOTSTRAP_COVERAGE === -{"status":"PARTIAL","missing":["automatic_refresh","per_node_freshness","structured_service_inventory"]} -PREVIOUS_RESULT=CLUSTER-REFERENCE-PUBLISHER-IMPLEMENTATION-CONTRACT-177:FAIL:RC1 -=== IMMUTABLE_177_ERROR_MARKERS === -=== IMMUTABLE_177_TEXT_MARKERS === -3:STATUS=FAIL -10:ERROR_REGISTER_CHECK=OK -11:ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 -13:DUPLICATE_FAILED_COMMAND_BLOCKED=false -LOCAL_RAW_177=MISSING -RESULT_176_COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-TARGET-CONTRACT-176 -RESULT_176_STATUS=OK -RESULT_176_RC=0 -=== IMMUTABLE_176_MARKERS === -2:REFERENCE_CHECK=OK -3:ERROR_REGISTER_CHECK=OK -5:ERROR_REGISTER_LOADED=YES -7:PRIOR_FAILURE_173=RC141_EMPTY_OUTPUT_REGISTERED -109:REFERENCE_CHECK=OK -110:ERROR_REGISTER_CHECK=OK -113:PUBLISHER_TARGET_CONTRACT=COMPLETE +PREVIOUS_RESULT=CLUSTER-REFERENCE-FORENSIC-RESET-180:OK +ROOTCAUSE_177=STALE_BOOTSTRAP_ERROR_REGISTER_HASH_MISMATCH +SOURCE_CANDIDATE=/root/.bash_history +SOURCE_SIZE=536342 SOURCE_MTIME=2026-07-22 12:57:24.366406235 +0300 +SOURCE_SHA256=d002f3e256c875dad7ef9394f9948532cdd41227f7066967f152c155667b6a80 +MATCH_COMMAND_ID=1 MATCH_PUBLISHER=1 MATCH_PASS_MARKER=1 +SOURCE_CANDIDATE_COUNT=1 FAILED_COMMAND_REPEATED=NO -INSTALLATION_ATTEMPTED=NO +REFERENCE_CHECK=OK +ERROR_REGISTER_CHECK=OK SECRET_PRINTED=NO PRIVATE_ADDRESS_PRINTED=NO -FORENSIC_RESET=COMPLETE +PUBLISHER_SOURCE_RECOVERY=COMPLETE OUTPUT_END CHAT_OUTPUT_END