{
  "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"
}
