1
0
Files
homelab-public-context/runtime/history/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-ROUTE-READ-ONLY-20260805T080500Z.json
T

39 lines
9.5 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-ROUTE-READ-ONLY-20260805T080500Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "cluster-knowledge-base-error-system",
"started_at_utc": "2026-08-05T08:16:59Z",
"finished_at_utc": "2026-08-05T08:17:00Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "19ee485d1d65bf7efe712e8efbcab72bbab266ee19bbff47565dc2e939c23448",
"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": 0,
"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": "1c712519eb2e1171ae0066e849d3ca2c71c460342f5aa3f8733a75b3360d358b",
"sanitized_output_sha256": "1c712519eb2e1171ae0066e849d3ca2c71c460342f5aa3f8733a75b3360d358b",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-ROUTE-READ-ONLY-20260805T080500Z\",\"command_rc\":0,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-ROUTE-READ-ONLY-20260805T080500Z\",\"command_rc\":0,\"correction_of_previous_logic_gap\":{\"exact_fix\":\"this command probes Reader V3 directly and does not retry pvesh\",\"proven_gap\":\"Reader V3 was skipped because pvesh returned a namespace prefix even though every authoritative inventory request failed rc=255\",\"regression_test\":\"Reader V3 path is selected whenever authoritative inventory is false\"},\"error_fingerprint\":\"8404acbf53a6eca8f965e09a38f6e838847cc1d210c8c9058d262b3d77ff47d8\",\"latest_exact_result_basis\":{\"capsule_sha256\":\"8f4a8bf55c541f0ae508439cfbd89d510fc7bb7793f7d2bbfa98b45db3471519\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ROUTE-DISCOVERY-TYPE-SAFE-READ-ONLY-20260805T075700Z\",\"command_rc\":0,\"control_plane_error\":null,\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_EXACT_ROUTE_PROBE\",\"output_complete\":true,\"output_sha256\":\"d89bb6fbb69e42ada9dda6bb83534f41a0a2e3abcd0f332added0ecdd9ce55fe\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"AUTHORITATIVE_PROXMOX_ROUTE_UNAVAILABLE_FROM_ADAPTER_CONTEXT\",\"runner_document_rc\":0,\"runner_json_sha256\":\"a9fde4e8173aad278ad595dd75e166b667b2e3ea4d57b134ccc0edb968c2a491\",\"runner_rc\":0,\"runner_text_sha256\":\"447d244cd51519147eb0f0b1479cca8fe210d0289047e6d409d130934a4fff43\",\"runner_wrapper_matches_document\":true,\"status\":\"OK\"},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_PROTOCOL_SPECIFIC_PROBE\",\"output_truncated_in_json\":false,\"pre_command_known_error_gate\":{\"checked\":true,\"items\":[{\"id\":\"candidate-scan-limit-20260805\",\"prevention\":\"bounded exact-target scan only; hard file, route, response and output limits\"},{\"id\":\"runner-wrapper-mismatch-20260805\",\"prevention\":\"single compact JSON result below 42000 bytes; no full source, body or successful command logs\"},{\"id\":\"gitea-owner-hardcoded-20260805\",\"prevention\":\"no repository owner is assumed or accepted from a guessed URL\"},{\"id\":\"gitea-git-auth-unavailable-20260805\",\"prevention\":\"no unauthenticated Git retry; use only the proven local Reader V3 control route\"},{\"id\":\"pvesh-adapter-context-unreadable-20260805\",\"prevention\":\"do not repeat pvesh; probe the dedicated reader service selected by the previous exact result\"},{\"id\":\"gitea-process-self-match-20260805\",\"prevention\":\"service identity is bound to systemd ControlGroup and exact PID ancestry, never substring-only process search\"},{\"id\":\"sanitize-non-string-attributeerror-20260805\",\"prevention\":\"all sanitization accepts Any and converts to str; embedded bool regression test\"},{\"id\":\"reader-v3-skipped-on-nonauthoritative-inventory-20260805\",\"prevention\":\"Reader V3 is probed whenever authoritative inventory is false, even when a pvedaemon namespace prefix exists\"}]},\"prevention_test\":{\"must_run_before_future_cluster_or_gitea_commands\":true,\"name\":\"reader_v3_exact_route_preflight\",\"requirements\":[\"select one loaded Reader V3 unit from systemd evidence\",\"bind runtime identity to its exact ControlGroup\",\"use only sockets owned by that ControlGroup\",\"derive routes from exact source, configuration, environment or service-published JSON\",\"never expose authentication values or response bodies\",\"accept inventory only from a successful JSON route containing normalized guest rows\"]},\"rc\":0,\"read_only\":true,\"reader_interface\":{\"environment_names\":[\"HOME\",\"HOMELAB_READER_CAPABILITY\",\"HOMELAB_READER_PORT\",\"INVOCATION_ID\",\"JOURNAL_STREAM\",\"LANG\",\"LOGNAME\",\"MEMORY_PRESSURE_WATCH\",\"MEMORY_PRESSURE_WRITE\",\"PATH\",\"SHELL\",\"SYSTEMD_EXEC_PID\",\"USER\"],\"header_names\":[],\"http\":{\"gitea_candidates\":[],\"guest_count\":0,\"probes\":[{\"auth\":\"none\",\"body_bytes\":0,\"body_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"body_truncated\":false,\"content_type\":\"\",\"duration_seconds\":0.005,\"error\":\"URLError: <urlopen error [Errno 111] Connection refused>\",\"port\":18788,\"route\":\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\"status\":null}],\"published_second_stage_route_count\":0,\"successful_inventory_routes\":[]},\"identity_valid\":true,\"pid_evidence\":{\"control_group\":\"/system.slice/homelab-reader-v3.service\",\"main_pid\":1282,\"pid_count\":1},\"process_identities\":[{\"cgroup_sha256\":\"5c8ff12835e02027c68673a492a8ff1690bda7cf3d0c5bb5333a7743e5db6cc0\",\"cmdline_argc\":3,\"cmdline_sha256\":\"5f64b6092c643fd6124975d783b07a6e9af4cb617922b6616206b42127662be9\",\"comm\":\"python3\",\"exe\":\"/usr/bin/python3.13\",\"pid\":1282}],\"secret_environment_name_count\":0,\"sockets\":{\"owned_socket_inode_count\":2,\"tcp_listeners\":[{\"family\":\"ipv4\",\"inode\":\"24795\",\"loopback\":false,\"port\":18788,\"wildcard\":false}],\"unix_listeners\":[{\"inode\":\"28045\",\"path\":null,\"path_present\":false,\"path_sha256\":null}]},\"source_ports\":[18788],\"source_routes\":[{\"method\":\"GET\",\"route\":\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\"}]},\"ready_for_guest_probe\":false,\"result_projection\":{\"bytes\":7278,\"compacted\":false,\"max_bytes\":42000},\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_RUNTIME_AND_INTERFACE_PARTIALLY_DISCOVERED_BUT_NO_AUTHORITATIVE_INVENTORY_RESPONSE\",\"schema\":1,\"selected_unit\":\"homelab-reader-v3.service\",\"source_files\":[{\"bytes\":1298416,\"path\":\"/bin/bash\",\"sha256\":\"223fe8564b60636bc738b6178d3ba9a50ef7d791266b0efae6363bb716e4c47f\"},{\"bytes\":580,\"path\":\"/etc/systemd/system/homelab-reader-v3.service\",\"sha256\":\"d672b74b390efa787ffd5a090e8c8eea8fdf038075421231a9d9b3053ea926b1\"},{\"bytes\":94,\"path\":\"/sys/fs/cgroup/system.slice/homelab-reader-v3.service/memory.pressure\",\"sha256\":\"412d920370f34151bf0ed4a09cb00c0495ef7d8f922049744e873bbc34c2f17f\"},{\"bytes\":3539,\"path\":\"/usr/local/sbin/homelab-reader-server-v3\",\"sha256\":\"092780e76ff18dfe2920c51f8b97dd09d194fd6cbdb59c3755c9fbf6530f3536\"}],\"status\":\"OK\",\"target_resolution\":{\"answer_count\":1,\"domain\":\"git.gram1.ru\",\"error\":null,\"families\":[2],\"ok\":true},\"unit_candidates\":[{\"probe\":{\"duration_seconds\":0.006,\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":427,\"stdout_sha256\":\"99d2fa1baec4f60e5990dc849b442002a6b671c9dc7bab5d5bf2451fa16cf398\",\"stdout_truncated\":false},\"properties\":{\"ActiveState\":\"active\",\"ControlGroup\":\"/system.slice/homelab-reader-v3.service\",\"DropInPaths\":\"\",\"EnvironmentFiles_present\":false,\"EnvironmentFiles_sha256\":null,\"ExecStart_present\":true,\"ExecStart_sha256\":\"2500fde09569176736b4f2f1dd29d6289b6a6ae6a59b52b6a3c31f797f567379\",\"FragmentPath\":\"/etc/systemd/system/homelab-reader-v3.service\",\"Group\":\"root\",\"LoadState\":\"loaded\",\"MainPID\":\"1282\",\"SubState\":\"running\",\"User\":\"root\",\"WorkingDirectory\":\"\"},\"unit\":\"homelab-reader-v3.service\"}],\"unit_discovery_probes\":[{\"duration_seconds\":0.458,\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":28417,\"stdout_sha256\":\"07015a6d7c7916f08625536283553f0837fd935061d42c08ad9b5421609a3121\",\"stdout_truncated\":false},{\"duration_seconds\":0.006,\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":37185,\"stdout_sha256\":\"68dca7da59cdbf1cdbab1b1c64aec57456eafbb934f94be6eb2bd4f2a7dc0d95\",\"stdout_truncated\":false}]}\n"
}