diff --git a/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.json b/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.json new file mode 100644 index 0000000..a02cc77 --- /dev/null +++ b/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "GITEA-IMMUTABLE-RULE-VERIFY-099", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "policy-audit", + "started_at_utc": "2026-07-21T14:22:58Z", + "finished_at_utc": "2026-07-21T14:22:58Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", + "command_sha256": "65427928bce5f07dc12f5a616b8e6d535d30ee2ab0ecdd105bff24322fa9eb0f", + "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": "5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315", + "sanitized_output_sha256": "5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "RECORDED_COMMAND_ID=GITEA-IMMUTABLE-RULE-RECORD-098\nRECORDED_STATUS=OK\nRECORDED_RC=0\nIMMUTABLE_COMMIT=ca5cb0552c1c260db5013cd67074004b902af4f2\nIMMUTABLE_JSON_SHA256=2b43ecda7689085f53684fcc76865a29167afeb9dc7c59c1b108e2dc502ba178\nIMMUTABLE_TXT_SHA256=9da5d4a7cc84303f133480c26dbcc48c7beb37ffa5d6a462fc106c5b175255b6\nRECORDED_POLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2\nIMMUTABLE_JSON_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json\nIMMUTABLE_TXT_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt\nGITEA_IMMUTABLE_RULE_VERIFY=COMPLETE\n" +} diff --git a/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.txt b/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.txt new file mode 100644 index 0000000..ea1e12d --- /dev/null +++ b/runtime/history/GITEA-IMMUTABLE-RULE-VERIFY-099.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=GITEA-IMMUTABLE-RULE-VERIFY-099 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=policy-audit +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 +COMMAND_SHA256=65427928bce5f07dc12f5a616b8e6d535d30ee2ab0ecdd105bff24322fa9eb0f +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGES_MADE=false +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315 +SANITIZED_OUTPUT_SHA256=5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315 +OUTPUT_BEGIN +RECORDED_COMMAND_ID=GITEA-IMMUTABLE-RULE-RECORD-098 +RECORDED_STATUS=OK +RECORDED_RC=0 +IMMUTABLE_COMMIT=ca5cb0552c1c260db5013cd67074004b902af4f2 +IMMUTABLE_JSON_SHA256=2b43ecda7689085f53684fcc76865a29167afeb9dc7c59c1b108e2dc502ba178 +IMMUTABLE_TXT_SHA256=9da5d4a7cc84303f133480c26dbcc48c7beb37ffa5d6a462fc106c5b175255b6 +RECORDED_POLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2 +IMMUTABLE_JSON_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json +IMMUTABLE_TXT_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt +GITEA_IMMUTABLE_RULE_VERIFY=COMPLETE + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 7e8f69b..a02cc77 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "GITEA-IMMUTABLE-RULE-RECORD-098", + "command_id": "GITEA-IMMUTABLE-RULE-VERIFY-099", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", "component": "policy-audit", - "started_at_utc": "2026-07-21T14:18:01Z", - "finished_at_utc": "2026-07-21T14:18:01Z", + "started_at_utc": "2026-07-21T14:22:58Z", + "finished_at_utc": "2026-07-21T14:22:58Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", - "command_sha256": "884622dc0d4f5863c8404ae2ce77517bf3cc43fbcd99956deff4a5053b84a332", + "command_sha256": "65427928bce5f07dc12f5a616b8e6d535d30ee2ab0ecdd105bff24322fa9eb0f", "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": "b50f7b9db47938cdf78dbc3adfa1457bd89f42bbff098270ad8e72d67e15c692", - "sanitized_output_sha256": "b50f7b9db47938cdf78dbc3adfa1457bd89f42bbff098270ad8e72d67e15c692", + "raw_evidence_sha256": "5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315", + "sanitized_output_sha256": "5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "=== GITEA_IMMUTABLE_HISTORY_POLICY ===\n{\"known_error_correction\":{\"command_id\":\"GITEA-IMMUTABLE-LOOKUP-095\",\"correction\":\"Use the public Gitea repository/history interface or the runner's established publication mechanism; never infer a local Gitea storage path.\",\"failure\":\"Assumed local bare repository path /opt/stacks/gitea/data/gitea/repositories, which did not exist on pve01.\"},\"mandatory_rules\":[\"For every executed homelab command, identify the exact COMMAND_ID.\",\"Read runtime/history/.json and runtime/history/.txt for that exact command.\",\"Verify the immutable publication commit SHA or commit-scoped URL before interpreting status, rc, checks, or output.\",\"Never use .well-known/homelab-runtime/latest.json as authoritative evidence.\",\"Never use assistant-runtime/runtime/latest.json as authoritative evidence.\",\"Mutable latest pointers may only be used as non-authoritative locators and may be stale or overwritten by parallel commands.\",\"Do not ask the operator to paste terminal output when immutable history is available in Gitea.\",\"After verifying the exact immutable result, analyze it and immediately issue the next command.\",\"Before issuing a command, load the error register and reject known failed exact repeats.\"],\"policy_id\":\"gitea-immutable-history-command-result\",\"recorded_for\":\"homelab assistant workflow\",\"schema_version\":1,\"source_of_truth\":{\"bootstrap_field\":\"runtime.result_confirmation\",\"bootstrap_url\":\"https://git.gram1.ru/.well-known/homelab-bootstrap.json\",\"latest_json_is_authoritative\":false,\"required_value\":\"immutable_history_by_command_id\"},\"status\":\"ENFORCED\"}\n=== PERSISTENCE ===\nPERSISTENCE_MECHANISM=homelab-chat-run immutable history\nIMMUTABLE_HISTORY_JSON=runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json\nIMMUTABLE_HISTORY_TXT=runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt\nPOLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2\nGITEA_POLICY_RECORD=COMPLETE\n" + "output": "RECORDED_COMMAND_ID=GITEA-IMMUTABLE-RULE-RECORD-098\nRECORDED_STATUS=OK\nRECORDED_RC=0\nIMMUTABLE_COMMIT=ca5cb0552c1c260db5013cd67074004b902af4f2\nIMMUTABLE_JSON_SHA256=2b43ecda7689085f53684fcc76865a29167afeb9dc7c59c1b108e2dc502ba178\nIMMUTABLE_TXT_SHA256=9da5d4a7cc84303f133480c26dbcc48c7beb37ffa5d6a462fc106c5b175255b6\nRECORDED_POLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2\nIMMUTABLE_JSON_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json\nIMMUTABLE_TXT_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt\nGITEA_IMMUTABLE_RULE_VERIFY=COMPLETE\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index ac394b6..ea1e12d 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,5 +1,5 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=GITEA-IMMUTABLE-RULE-RECORD-098 +COMMAND_ID=GITEA-IMMUTABLE-RULE-VERIFY-099 STATUS=OK RC=0 HOST=pve01 @@ -9,24 +9,26 @@ REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752 -COMMAND_SHA256=884622dc0d4f5863c8404ae2ce77517bf3cc43fbcd99956deff4a5053b84a332 +COMMAND_SHA256=65427928bce5f07dc12f5a616b8e6d535d30ee2ab0ecdd105bff24322fa9eb0f DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGES_MADE=false SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=b50f7b9db47938cdf78dbc3adfa1457bd89f42bbff098270ad8e72d67e15c692 -SANITIZED_OUTPUT_SHA256=b50f7b9db47938cdf78dbc3adfa1457bd89f42bbff098270ad8e72d67e15c692 +RAW_EVIDENCE_SHA256=5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315 +SANITIZED_OUTPUT_SHA256=5653eff9d8124129fbb7f4616139f35903ae2e6b907561a53087cf9262991315 OUTPUT_BEGIN -=== GITEA_IMMUTABLE_HISTORY_POLICY === -{"known_error_correction":{"command_id":"GITEA-IMMUTABLE-LOOKUP-095","correction":"Use the public Gitea repository/history interface or the runner's established publication mechanism; never infer a local Gitea storage path.","failure":"Assumed local bare repository path /opt/stacks/gitea/data/gitea/repositories, which did not exist on pve01."},"mandatory_rules":["For every executed homelab command, identify the exact COMMAND_ID.","Read runtime/history/.json and runtime/history/.txt for that exact command.","Verify the immutable publication commit SHA or commit-scoped URL before interpreting status, rc, checks, or output.","Never use .well-known/homelab-runtime/latest.json as authoritative evidence.","Never use assistant-runtime/runtime/latest.json as authoritative evidence.","Mutable latest pointers may only be used as non-authoritative locators and may be stale or overwritten by parallel commands.","Do not ask the operator to paste terminal output when immutable history is available in Gitea.","After verifying the exact immutable result, analyze it and immediately issue the next command.","Before issuing a command, load the error register and reject known failed exact repeats."],"policy_id":"gitea-immutable-history-command-result","recorded_for":"homelab assistant workflow","schema_version":1,"source_of_truth":{"bootstrap_field":"runtime.result_confirmation","bootstrap_url":"https://git.gram1.ru/.well-known/homelab-bootstrap.json","latest_json_is_authoritative":false,"required_value":"immutable_history_by_command_id"},"status":"ENFORCED"} -=== PERSISTENCE === -PERSISTENCE_MECHANISM=homelab-chat-run immutable history -IMMUTABLE_HISTORY_JSON=runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json -IMMUTABLE_HISTORY_TXT=runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt -POLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2 -GITEA_POLICY_RECORD=COMPLETE +RECORDED_COMMAND_ID=GITEA-IMMUTABLE-RULE-RECORD-098 +RECORDED_STATUS=OK +RECORDED_RC=0 +IMMUTABLE_COMMIT=ca5cb0552c1c260db5013cd67074004b902af4f2 +IMMUTABLE_JSON_SHA256=2b43ecda7689085f53684fcc76865a29167afeb9dc7c59c1b108e2dc502ba178 +IMMUTABLE_TXT_SHA256=9da5d4a7cc84303f133480c26dbcc48c7beb37ffa5d6a462fc106c5b175255b6 +RECORDED_POLICY_SHA256=a943b28b8d5d4abb6f2fd8688b69c7e43bad5d2ef693a634c48b277027d86fe2 +IMMUTABLE_JSON_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.json +IMMUTABLE_TXT_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/ca5cb0552c1c260db5013cd67074004b902af4f2/runtime/history/GITEA-IMMUTABLE-RULE-RECORD-098.txt +GITEA_IMMUTABLE_RULE_VERIFY=COMPLETE OUTPUT_END CHAT_OUTPUT_END