{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "NEWFI-260907-B-PORTAL200-RUNNERCONTRACT4", "status": "FAIL", "rc": 3, "host": "pve01", "mode": "read-only", "component": "newfi-portal200-runner-contract-ast-evidence", "started_at_utc": "2026-09-07T19:04:13Z", "finished_at_utc": "2026-09-07T19:04:13Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "229874e0a8df9ee823304d2e627039f75526630636b06f99ea1c5c7eaded6ccb", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": false, "result_contract_valid": true, "result_contract_status": null, "result_contract_error": null, "command_rc": 3, "changes_made": false, "rollback_started": false, "rollback_restored": null, "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "85dc61a8c2998eb9b3c2952f652ea25eb6afebbcb34f2f5197b9e9545f55f052", "sanitized_output_sha256": "85dc61a8c2998eb9b3c2952f652ea25eb6afebbcb34f2f5197b9e9545f55f052", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNERCONTRACT4_AUTHORITY={\"ERROR_REGISTER\":{\"bytes\":302058,\"ok\":true,\"sha256\":\"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\"},\"REFERENCE\":{\"bytes\":201129,\"ok\":true,\"sha256\":\"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\"}}\nRUNNERCONTRACT4_RUNNER={\"bytes\":21321,\"matches_handoff_baseline\":true,\"path\":\"/usr/local/sbin/homelab-chat-run\",\"sha256\":\"b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\"}\nRUNNERCONTRACT4_HOLD_REASONS=[\"RUNNER_AST_PARSE_FAILED_SyntaxError\"]\nRUNNERCONTRACT4_DECISION=HOLD_RUNNER_AST_PARSE_FAILED\n" }