{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "HOMELAB-CLUSTER-KB-V1-GITEA-ACCESS-ROOT-CAUSE-READ-ONLY-20260805T072000Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", "component": "cluster-knowledge-base-error-system", "started_at_utc": "2026-08-05T07:25:07Z", "finished_at_utc": "2026-08-05T07:25:07Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", "command_sha256": "b30d9d1f339e21c24cb87de51b805389764bfb6b2e0246421da670fe7b2744ec", "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": "3583d958afce6a7b6a7efe615c319cb6e749bdc05990374c505d18cff822fc58", "sanitized_output_sha256": "3583d958afce6a7b6a7efe615c319cb6e749bdc05990374c505d18cff822fc58", "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-GITEA-ACCESS-ROOT-CAUSE-READ-ONLY-20260805T072000Z\",\"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-GITEA-ACCESS-ROOT-CAUSE-READ-ONLY-20260805T072000Z\",\"command_rc\":0,\"environment_variable_names\":[\"GIT_TERMINAL_PROMPT\"],\"error_fingerprint\":\"632337c21e5b0b36e598d0b2baf252b1d1e9a1602479acb325ae7b53a2ed3bd6\",\"executables\":{\"docker\":false,\"git\":true,\"pct\":true,\"podman\":true},\"git\":{\"configuration_metadata\":{\"content_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"credential_helper_entry_count\":0,\"http_extraheader_entry_count\":0,\"instead_of_entry_count\":0,\"line_count\":0,\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"ls_remote_clean\":{\"duration_seconds\":0.037,\"rc\":128,\"stderr\":\"error: unable to read askpass response from '/bin/false'\\nfatal: could not read Username for 'https://git.gram1.ru': terminal prompts disabled\\n\",\"stderr_bytes\":142,\"stderr_sha256\":\"699c92b3225c14ab96b586b2da93baf70fcb59f11bd1426c143399d09ea3c11a\",\"stderr_truncated\":false,\"stdout\":\"\",\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false},\"ls_remote_clean_parse\":{\"head\":null,\"line_count\":0,\"lines_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"parse_complete\":false,\"symbolic_head\":null},\"ls_remote_inherited\":{\"duration_seconds\":0.034,\"rc\":128,\"stderr\":\"fatal: could not read Username for 'https://git.gram1.ru': terminal prompts disabled\\n\",\"stderr_bytes\":85,\"stderr_sha256\":\"591344aa654102654e3f613438365c6071c792d6940b446f17161d298bacfd7a\",\"stderr_truncated\":false,\"stdout\":\"\",\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false},\"ls_remote_inherited_parse\":{\"head\":null,\"line_count\":0,\"lines_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"parse_complete\":false,\"symbolic_head\":null},\"version\":{\"duration_seconds\":0.001,\"rc\":0,\"stderr\":\"\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout\":\"git version 2.47.3\\n\",\"stdout_bytes\":19,\"stdout_sha256\":\"677d4fdffca093d9560ed3480cbd75f8069d041bbb34bdae1286f6b0bb476738\",\"stdout_truncated\":false}},\"http\":{\"repository_api\":{\"body_bytes_read\":78,\"body_sha256\":\"e54b8ef6ae400e59bac9187b68711d145aed210e6273df85cbadb1cb52f5561b\",\"content_type\":\"application/json;charset=utf-8\",\"host\":\"git.gram1.ru\",\"location_host\":null,\"location_path\":null,\"ok\":true,\"path\":\"/api/v1/repos/homelab-admin/homelab-ops\",\"reason\":\"Not Found\",\"scheme\":\"https\",\"status\":404,\"www_authenticate_present\":false},\"repository_web\":{\"body_bytes_read\":11,\"body_sha256\":\"9ee3acf3139db375f79f1ce19f97386ba017a4ed24f3bb6be9b90dc5a2c10bb4\",\"content_type\":\"text/plain;charset=utf-8\",\"host\":\"git.gram1.ru\",\"location_host\":null,\"location_path\":null,\"ok\":true,\"path\":\"/homelab-admin/homelab-ops\",\"reason\":\"Not Found\",\"scheme\":\"https\",\"status\":404,\"www_authenticate_present\":false},\"smart_git_info_refs\":{\"body_bytes_read\":13,\"body_sha256\":\"14577b0ba3d3049e7cfa98820033cedd2d0c3b897ef5451d0cc7a985963e7aa9\",\"content_type\":\"text/plain; charset=utf-8\",\"host\":\"git.gram1.ru\",\"location_host\":null,\"location_path\":null,\"ok\":true,\"path\":\"/homelab-admin/homelab-ops.git/info/refs\",\"reason\":\"Unauthorized\",\"scheme\":\"https\",\"status\":401,\"www_authenticate_present\":true}},\"latest_exact_result_basis\":{\"capsule_sha256\":\"70ad0f26496bf84f283c82f4eb0652f9e0f2c3c311cd4f40671b7edaadfb0432\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-NETWORK-FALLBACK-READ-ONLY-20260805T071100Z\",\"command_rc\":1,\"control_plane_error\":null,\"error\":\"exact homelab-ops repository not found locally and the previously proven verified network-mirror fallback failed\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_complete\":true,\"output_truncated_in_json\":false,\"rollback_restored\":null,\"rollback_started\":false,\"runner_document_rc\":1,\"runner_json_sha256\":\"5bc41a5a98d4ead25fbafba4bb4ea89ba5949994f57fe308a69f02cf00d78b0b\",\"runner_rc\":1,\"runner_status\":\"FAIL\",\"runner_text_sha256\":\"fc3e667e9976474c1c593074be0dc307ab7fe13df1bcb3847e269f70526fd41a\",\"runner_wrapper_matches_document\":true,\"state_status\":\"FAIL\"},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"PREPARE_ONE_TARGETED_READ_ONLY_ACCESS_PROBE_OR_REPAIR_STRICTLY_FROM_THIS_CLASSIFICATION\",\"output_truncated_in_json\":false,\"prevention_test\":{\"must_run_before_any_future_homelab_ops_command\":true,\"name\":\"gitea_exact_access_preflight\",\"require\":[\"git ls-remote rc=0\",\"symbolic HEAD and full HEAD SHA parsed\",\"temporary mirror clone rc=0\",\"mirror bare validation succeeds\",\"ls-remote and mirror identities match\"]},\"rc\":0,\"read_only\":true,\"ready_for_full_analysis\":false,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"GITEA_GIT_AUTH_REQUIRED_OR_CREDENTIAL_UNAVAILABLE\",\"schema\":1,\"status\":\"OK\",\"transport\":{\"dns\":{\"answer_count\":1,\"families\":[2],\"host\":\"git.gram1.ru\",\"ok\":true},\"tls\":{\"cipher\":\"TLS_AES_256_GCM_SHA384\",\"host\":\"git.gram1.ru\",\"ok\":true,\"peer_certificate_sha256\":\"3167a6916d6fad2e15d1c19af823f314e5e4abfc08e3ba20ee2cd79557897ff9\",\"port\":443,\"tls_version\":\"TLSv1.3\"}}}\n" }