{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "HOMELAB-CLUSTER-KB-V1-GITEA-REPOSITORY-DISCOVERY-READ-ONLY-20260805T072500Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", "component": "cluster-knowledge-base-error-system", "started_at_utc": "2026-08-05T07:41:16Z", "finished_at_utc": "2026-08-05T07:41:17Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", "command_sha256": "442f3872a082774af120fb5ddbf2805c3d4a2a6876966bd328ab0e39961118a3", "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": "d57348e73f4c60b472981e8af451401420cc7f88e069e373b529b78b828c5965", "sanitized_output_sha256": "d57348e73f4c60b472981e8af451401420cc7f88e069e373b529b78b828c5965", "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-REPOSITORY-DISCOVERY-READ-ONLY-20260805T072500Z\",\"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-REPOSITORY-DISCOVERY-READ-ONLY-20260805T072500Z\",\"command_rc\":0,\"error_fingerprint\":\"f33309b39e231b48c691261d6bdd5b0ec7d9dcd3a3c66b92bb43e92d2ab2693a\",\"identities\":[],\"inspections\":[{\"config_probe\":{\"duration_seconds\":0.132,\"rc\":0,\"stderr\":\"\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false},\"configs\":[],\"derived_search_roots\":[],\"markers\":{\"gitea_binary_path\":null,\"gitea_binary_present\":false,\"gitea_process_output_sha256\":\"5f56eace5a162b2045bb7dee79f0e1b8af6843edb0b9579aefd8b679907852e4\",\"gitea_process_present\":true,\"gitea_systemd_state\":\"inactive\"},\"repository_path_count\":0,\"search_probes\":[{\"duration_seconds\":0.033,\"found_count\":0,\"rc\":0,\"roots_checked\":[\"/var/lib/gitea\",\"/var/lib/lxc\",\"/var/lib/containers\",\"/var/lib/docker/volumes\",\"/data\",\"/srv\",\"/opt\",\"/mnt/pve\",\"/rpool/data\"],\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false}],\"source\":{\"id\":null,\"kind\":\"direct\",\"name\":\"pve01-host\"}},{\"config_probe\":{\"duration_seconds\":0.069,\"rc\":126,\"stderr\":\"Error: crun: capset: Operation not permitted: OCI permission denied\\n\",\"stderr_bytes\":68,\"stderr_sha256\":\"431dd46eeebf58114de5e534b522065896c17b85001f7a3f7735001493315c5c\",\"stderr_truncated\":false,\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false},\"configs\":[],\"derived_search_roots\":[],\"markers\":{\"gitea_binary_path\":null,\"gitea_binary_present\":false,\"gitea_process_output_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"gitea_process_present\":false,\"gitea_systemd_state\":null},\"repository_path_count\":0,\"search_probes\":[{\"duration_seconds\":0.065,\"found_count\":0,\"rc\":126,\"roots_checked\":[\"/var/lib/gitea\",\"/data\",\"/srv\",\"/opt\",\"/mnt\"],\"stderr_bytes\":68,\"stderr_sha256\":\"431dd46eeebf58114de5e534b522065896c17b85001f7a3f7735001493315c5c\",\"stderr_truncated\":false,\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false}],\"source\":{\"id\":\"aa350cac62aa\",\"kind\":\"podman\",\"name\":\"scrutiny\"}}],\"latest_exact_result_basis\":{\"capsule_sha256\":\"8bca016d185791ede3561b8ff4c776cf9c4114ca7355c4e7fa6ba18cb054e1dc\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ACCESS-ROOT-CAUSE-READ-ONLY-20260805T072000Z\",\"command_rc\":0,\"control_plane_error\":null,\"error_fingerprint\":\"632337c21e5b0b36e598d0b2baf252b1d1e9a1602479acb325ae7b53a2ed3bd6\",\"mutation_outcome\":\"NO_MUTATION\",\"output_complete\":true,\"output_truncated_in_json\":false,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"GITEA_GIT_AUTH_REQUIRED_OR_CREDENTIAL_UNAVAILABLE\",\"runner_document_rc\":0,\"runner_json_sha256\":\"0fb0ccf0a32bf3dac0111054fc7378a1783924d7671e58f9818fed3dd247aa18\",\"runner_rc\":0,\"runner_status\":\"OK\",\"runner_text_sha256\":\"c89b53852195611a4745b1917d04e5e717eefdfe01886fdf48fc409b29569cbe\",\"runner_wrapper_matches_document\":true,\"state_status\":\"OK\"},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"PREPARE_ONE_READ_ONLY_GITEA_STORAGE_OR_DATABASE_ROUTE_PROBE\",\"output_truncated_in_json\":false,\"owners_from_storage\":[],\"preflight_correction\":{\"correction\":\"discover repository by basename from actual Gitea configuration and visible storage before constructing or using any owner route\",\"mutation\":false,\"proven_problem\":\"the previous probes hard-coded owner homelab-admin while unauthenticated web and API routes returned 404 and Git smart HTTP required credentials\"},\"prevention_test\":{\"must_run_before_future_homelab_ops_commands\":true,\"name\":\"gitea_repository_owner_and_storage_preflight\",\"requirements\":[\"do not hard-code a Gitea owner before repository storage or authenticated Gitea evidence confirms it\",\"discover homelab-ops.git by basename from Gitea app.ini-derived and bounded standard roots\",\"validate bare repository, symbolic HEAD, full HEAD commit and single identity\",\"pin every following command to exact source kind, source id, repository path and HEAD\"]},\"rc\":0,\"read_only\":true,\"ready_for_full_analysis\":false,\"repository_candidates\":[],\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"GITEA_RUNTIME_FOUND_BUT_HOMELAB_OPS_BASENAME_NOT_FOUND_IN_VISIBLE_STORAGE\",\"runtime_inventory\":{\"docker\":{\"available\":false},\"pct\":{\"available\":true,\"containers\":[],\"probe\":{\"duration_seconds\":0.388,\"rc\":255,\"stderr\":\"ipcc_send_rec[1] failed: Unknown error -1\\nipcc_send_rec[2] failed: Unknown error -1\\nipcc_send_rec[3] failed: Unknown error -1\\nUnable to load access control list: Unknown error -1\\n\",\"stderr_bytes\":179,\"stderr_sha256\":\"7f7c6a4e34d689a6246e2dda50729abf93fb15fdc56cc971b1690257d4e0d228\",\"stderr_truncated\":false,\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_truncated\":false},\"running_count\":0},\"podman\":{\"available\":true,\"containers\":[{\"id\":\"aa350cac62aa\",\"image\":\"ghcr.io/analogj/scrutiny:latest-omnibus\",\"name\":\"scrutiny\"}],\"probe\":{\"duration_seconds\":0.018,\"rc\":0,\"stderr\":\"\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":62,\"stdout_sha256\":\"436bc6472386e92ad91cd22a27bb26ed818d62bf955f63d9abb3e4e943290d6d\",\"stdout_truncated\":false},\"running_count\":1}},\"schema\":1,\"status\":\"OK\",\"valid_candidate_count\":0}\n" }