diff --git a/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.json b/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.json new file mode 100644 index 0000000..569564e --- /dev/null +++ b/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "CLUSTER-REFERENCE-ROOTCAUSE-144", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "cluster-audit", + "started_at_utc": "2026-07-22T06:58:19Z", + "finished_at_utc": "2026-07-22T06:58:19Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", + "command_sha256": "0f332cf4ae2e35a7b5fef3a5fafdd727c1d07b9f73e2d6a7cb8ca7bfa9112f27", + "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": "8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1", + "sanitized_output_sha256": "8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "=== RUNNER_HELP ===\nUsage:\n homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...]\n\nMODE:\n read-only\n verify\n change\n transport-test\n\nEnvironment:\n HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command.\n HOMELAB_TIMEOUT=SECONDS Optional command timeout.\n=== MODE_VALIDATION ===\n11: read-only\n13: change\n51: read-only|verify|change|transport-test)\n55: echo 'REASON=INVALID_MODE'\n147:CHANGES_MADE=false\n150: change)\n151: CHANGES_MADE=true\n306:target.write_text(text, encoding=\"utf-8\")\n333: \"$CHANGES_MADE\" <<'PY'\n357: changes_made,\n396: \"changes_made\": changes_made == \"true\",\n411:Path(json_path).write_text(\n437: echo \"CHANGES_MADE=$CHANGES_MADE\"\n=== REFERENCE_STATE ===\nREFERENCE_ROOT=ABSENT\nREFERENCE_CLI=ABSENT\nCLUSTER_REFERENCE_ROOTCAUSE=COMPLETE\n" +} diff --git a/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.txt b/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.txt new file mode 100644 index 0000000..25c0ab9 --- /dev/null +++ b/runtime/history/CLUSTER-REFERENCE-ROOTCAUSE-144.txt @@ -0,0 +1,55 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=CLUSTER-REFERENCE-ROOTCAUSE-144 +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=0f332cf4ae2e35a7b5fef3a5fafdd727c1d07b9f73e2d6a7cb8ca7bfa9112f27 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGES_MADE=false +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1 +SANITIZED_OUTPUT_SHA256=8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1 +OUTPUT_BEGIN +=== RUNNER_HELP === +Usage: + homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...] + +MODE: + read-only + verify + change + transport-test + +Environment: + HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command. + HOMELAB_TIMEOUT=SECONDS Optional command timeout. +=== MODE_VALIDATION === +11: read-only +13: change +51: read-only|verify|change|transport-test) +55: echo 'REASON=INVALID_MODE' +147:CHANGES_MADE=false +150: change) +151: CHANGES_MADE=true +306:target.write_text(text, encoding="utf-8") +333: "$CHANGES_MADE" <<'PY' +357: changes_made, +396: "changes_made": changes_made == "true", +411:Path(json_path).write_text( +437: echo "CHANGES_MADE=$CHANGES_MADE" +=== REFERENCE_STATE === +REFERENCE_ROOT=ABSENT +REFERENCE_CLI=ABSENT +CLUSTER_REFERENCE_ROOTCAUSE=COMPLETE + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 60ee5f3..569564e 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "CLUSTER-REFERENCE-WRITE-MODE-141", - "status": "FAIL", - "rc": 1, + "command_id": "CLUSTER-REFERENCE-ROOTCAUSE-144", + "status": "OK", + "rc": 0, "host": "pve01", "mode": "read-only", "component": "cluster-audit", - "started_at_utc": "2026-07-22T06:41:08Z", - "finished_at_utc": "2026-07-22T06:41:08Z", + "started_at_utc": "2026-07-22T06:58:19Z", + "finished_at_utc": "2026-07-22T06:58:19Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", - "command_sha256": "500715ae2c908f7e766976822e3163b5395329e2699f3f65662391a8c9529bf0", + "command_sha256": "0f332cf4ae2e35a7b5fef3a5fafdd727c1d07b9f73e2d6a7cb8ca7bfa9112f27", "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": "d745fd14a16bd7924373b5774d64342db1ab7e0d12e751efef1cac218b0d9892", - "sanitized_output_sha256": "d745fd14a16bd7924373b5774d64342db1ab7e0d12e751efef1cac218b0d9892", + "raw_evidence_sha256": "8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1", + "sanitized_output_sha256": "8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "JSON_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a\nTXT_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a\nTraceback (most recent call last):\n File \"\", line 1, in \n import json,sys; d=json.load(open(sys.argv[1])); assert d.get(\"command_id\")==sys.argv[2],d; assert d.get(\"status\")==\"OK\",d; assert int(d.get(\"rc\"))==0,d; assert d.get(\"execution_started\") is True,d\n ^^^^^^^^^^^^^^^^^^^^^\nAssertionError: {'schema_version': 1, 'channel': 'homelab-runtime', 'command_id': 'CLUSTER-REFERENCE-MODE-AUDIT-140', 'status': 'FAIL', 'rc': 22, 'host': 'pve01', 'mode': 'read-only', 'component': 'cluster-audit', 'started_at_utc': '2026-07-22T06:37:48Z', 'finished_at_utc': '2026-07-22T06:37:49Z', 'reference_register_checked': True, 'reference_sha256': '5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e', 'error_register_checked': True, 'error_register_sha256': '08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752', 'command_sha256': '1f34a867cab9808781b5127ab5d4f8469449dfe4ebaa4284071157c47aa9d399', 'duplicate_failed_command_blocked': False, 'block_reason': None, 'execution_started': True, 'changes_made': False, 'sanitized': True, 'secrets_included': False, 'private_addresses_included': False, 'raw_evidence_retained_locally': True, 'raw_evidence_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'sanitized_output_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'output_truncated_in_json': False, 'full_sanitized_output_url': 'https://git.gram1.ru/.well-known/homelab-runtime/latest.txt', 'output': 'curl: (22) The requested URL returned error: 404\\n'}\n" + "output": "=== RUNNER_HELP ===\nUsage:\n homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...]\n\nMODE:\n read-only\n verify\n change\n transport-test\n\nEnvironment:\n HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command.\n HOMELAB_TIMEOUT=SECONDS Optional command timeout.\n=== MODE_VALIDATION ===\n11: read-only\n13: change\n51: read-only|verify|change|transport-test)\n55: echo 'REASON=INVALID_MODE'\n147:CHANGES_MADE=false\n150: change)\n151: CHANGES_MADE=true\n306:target.write_text(text, encoding=\"utf-8\")\n333: \"$CHANGES_MADE\" <<'PY'\n357: changes_made,\n396: \"changes_made\": changes_made == \"true\",\n411:Path(json_path).write_text(\n437: echo \"CHANGES_MADE=$CHANGES_MADE\"\n=== REFERENCE_STATE ===\nREFERENCE_ROOT=ABSENT\nREFERENCE_CLI=ABSENT\nCLUSTER_REFERENCE_ROOTCAUSE=COMPLETE\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index deb907a..25c0ab9 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,7 +1,7 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=CLUSTER-REFERENCE-WRITE-MODE-141 -STATUS=FAIL -RC=1 +COMMAND_ID=CLUSTER-REFERENCE-ROOTCAUSE-144 +STATUS=OK +RC=0 HOST=pve01 MODE=read-only COMPONENT=cluster-audit @@ -9,23 +9,47 @@ REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 -COMMAND_SHA256=500715ae2c908f7e766976822e3163b5395329e2699f3f65662391a8c9529bf0 +COMMAND_SHA256=0f332cf4ae2e35a7b5fef3a5fafdd727c1d07b9f73e2d6a7cb8ca7bfa9112f27 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGES_MADE=false SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=d745fd14a16bd7924373b5774d64342db1ab7e0d12e751efef1cac218b0d9892 -SANITIZED_OUTPUT_SHA256=d745fd14a16bd7924373b5774d64342db1ab7e0d12e751efef1cac218b0d9892 +RAW_EVIDENCE_SHA256=8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1 +SANITIZED_OUTPUT_SHA256=8d8b89c1623058a816d0348c9d9974a4659a176962b0a99fdc8c88ea64c361d1 OUTPUT_BEGIN -JSON_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a -TXT_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a -Traceback (most recent call last): - File "", line 1, in - import json,sys; d=json.load(open(sys.argv[1])); assert d.get("command_id")==sys.argv[2],d; assert d.get("status")=="OK",d; assert int(d.get("rc"))==0,d; assert d.get("execution_started") is True,d - ^^^^^^^^^^^^^^^^^^^^^ -AssertionError: {'schema_version': 1, 'channel': 'homelab-runtime', 'command_id': 'CLUSTER-REFERENCE-MODE-AUDIT-140', 'status': 'FAIL', 'rc': 22, 'host': 'pve01', 'mode': 'read-only', 'component': 'cluster-audit', 'started_at_utc': '2026-07-22T06:37:48Z', 'finished_at_utc': '2026-07-22T06:37:49Z', 'reference_register_checked': True, 'reference_sha256': '5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e', 'error_register_checked': True, 'error_register_sha256': '08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752', 'command_sha256': '1f34a867cab9808781b5127ab5d4f8469449dfe4ebaa4284071157c47aa9d399', 'duplicate_failed_command_blocked': False, 'block_reason': None, 'execution_started': True, 'changes_made': False, 'sanitized': True, 'secrets_included': False, 'private_addresses_included': False, 'raw_evidence_retained_locally': True, 'raw_evidence_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'sanitized_output_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'output_truncated_in_json': False, 'full_sanitized_output_url': 'https://git.gram1.ru/.well-known/homelab-runtime/latest.txt', 'output': 'curl: (22) The requested URL returned error: 404\n'} +=== RUNNER_HELP === +Usage: + homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...] + +MODE: + read-only + verify + change + transport-test + +Environment: + HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command. + HOMELAB_TIMEOUT=SECONDS Optional command timeout. +=== MODE_VALIDATION === +11: read-only +13: change +51: read-only|verify|change|transport-test) +55: echo 'REASON=INVALID_MODE' +147:CHANGES_MADE=false +150: change) +151: CHANGES_MADE=true +306:target.write_text(text, encoding="utf-8") +333: "$CHANGES_MADE" <<'PY' +357: changes_made, +396: "changes_made": changes_made == "true", +411:Path(json_path).write_text( +437: echo "CHANGES_MADE=$CHANGES_MADE" +=== REFERENCE_STATE === +REFERENCE_ROOT=ABSENT +REFERENCE_CLI=ABSENT +CLUSTER_REFERENCE_ROOTCAUSE=COMPLETE OUTPUT_END CHAT_OUTPUT_END