{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "HOMELAB-READER-V3-FEED-CONTRACT-AUDIT-374", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", "component": "cluster-audit", "started_at_utc": "2026-07-23T16:10:30Z", "finished_at_utc": "2026-07-23T16:10:30Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752", "command_sha256": "117ab20f3b55ada28354401cd2a707f61c67b0b1ff189501492795fb36526ae6", "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": "b256b96004621b936d2338ec79126b6379e5097775d231a75fb1153df1709176", "sanitized_output_sha256": "b256b96004621b936d2338ec79126b6379e5097775d231a75fb1153df1709176", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "DETAIL=READER_PROCESS_ARGV_BEGIN\nDETAIL=READER_ARG=/usr/bin/python3\nDETAIL=READER_ARG=-B\nDETAIL=READER_ARG=/usr/local/sbin/homelab-reader-server-v3\nDETAIL=READER_PROCESS_ARGV_END\nDETAIL=READER_SOURCE=/usr/local/sbin/homelab-reader-server-v3|META=root:root|755|3539|regular file|SHA256=092780e76ff18dfe2920c51f8b97dd09d194fd6cbdb59c3755c9fbf6530f3536|SHEBANG=#!/usr/bin/python3|SYNTAX=PASS_PYTHON\nPUBLIC_HEALTH_URL=https://git.gram1.ru/.well-known/homelab-reader/5a2edc1b3a3140d935e48ca0c0123849372dedff6fe55a48d25db7ab4de593b2/health\nDETAIL=PUBLIC_READER_HEALTH={\"status\":\"ok\",\"version\":3}\nDETAIL=READER_ROUTE_LITERALS_BEGIN\nDETAIL=READER_LITERAL=Cache-Control\nDETAIL=READER_LITERAL=feed\nDETAIL=READER_LITERAL=health\nDETAIL=READER_LITERAL=health-v3\nDETAIL=READER_LITERAL=no-cache\nDETAIL=READER_LITERAL=no-store, no-cache, must-revalidate, max-age=0\nDETAIL=READER_LITERAL=results\nDETAIL=READER_LITERAL=results/\nDETAIL=READER_ROUTE_LITERALS_END\nDETAIL=READER_RELEVANT_SOURCE_BEGIN\nDETAIL=READER_SOURCE_LINE=12|RESULTS=ROOT/\"results\"\nDETAIL=READER_SOURCE_LINE=27| self.send_header(\"Cache-Control\",\"no-store, no-cache, must-revalidate, max-age=0\")\nDETAIL=READER_SOURCE_LINE=28| self.send_header(\"Surrogate-Control\",\"no-store\")\nDETAIL=READER_SOURCE_LINE=42| def do_GET(self):\nDETAIL=READER_SOURCE_LINE=54| if relative==\"health\":\nDETAIL=READER_SOURCE_LINE=55| self.reply(200,\"application/json; charset=utf-8\",b\"{\\\"status\\\":\\\"ok\\\",\\\"version\\\":3}\\n\",\"health-v3\",include_body)\nDETAIL=READER_SOURCE_LINE=58| if relative==\"feed\":\nDETAIL=READER_SOURCE_LINE=68| if relative.startswith(\"results/\"):\nDETAIL=READER_SOURCE_LINE=69| name=relative[len(\"results/\"):]\nDETAIL=READER_RELEVANT_SOURCE_END\nDETAIL=LINKED_WRAPPER_FEED_LOGIC_BEGIN\nDETAIL=LINKED_SOURCE_LINE=9|cid=$(/usr/bin/sed -n \"s/^COMMAND_ID=//p\" \"$tmp\" | /usr/bin/tail -n 1)\nDETAIL=LINKED_SOURCE_LINE=15| /usr/bin/printf \"IMMUTABLE_RESULT_URL=https://git.gram1.ru/homelab-admin/homelab-public-context/raw/commit/%s/runtime/history/%s.txt\\n\" \"$sha\" \"$cid\"\nDETAIL=LINKED_SOURCE_LINE=20| /usr/bin/grep -Ei '^(DECISION|DETAIL|FAILURE_REASON|ERROR_CODE|SOURCE_DECISION|NGINX_[A-Z0-9_]*|READER_[A-Z0-9_]*|RESULT_FEED_URL|PUBLIC_HEALTH_URL|HTTPS_[A-Z0-9_]*|LOCAL_[A-Z0-9_]*|CHANGES_MADE)=|Traceback|RuntimeError|SystemExit|FileNotFoundError|PermissionError|command not found|No such file or directory|Connection refused|failed|invalid|missing' \"$raw\" | /usr/bin/tail -n 100 || true\nDETAIL=LINKED_WRAPPER_FEED_LOGIC_END\nDETAIL=READER_RUNNER_STORAGE_REFERENCE_COUNT=0\nDETAIL=READER_RESULT_API_MARKER_COUNT=7\nDETAIL=READER_CACHE_CONTROL_MARKER_COUNT=3\nDETAIL=READER_V3_FEED_CONTRACT_AUDIT=PASS\nCHANGES_MADE=NO\n" }