1
0
Files
homelab-public-context/runtime/history/HOMELAB-CLUSTER-KB-V1-READER-V3-FILE-BACKED-FEED-CONTRACT-TRACE-READ-ONLY-20260805T112500Z.json
T

39 lines
13 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "HOMELAB-CLUSTER-KB-V1-READER-V3-FILE-BACKED-FEED-CONTRACT-TRACE-READ-ONLY-20260805T112500Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "cluster-knowledge-base-error-system",
"started_at_utc": "2026-08-05T11:31:00Z",
"finished_at_utc": "2026-08-05T11:31:01Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "182dc522d724d23ec8772708e8cbdce4b373cf6488a773df5b87eb0381f91b5a",
"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": "1530863e622a2f36e6a33bb80c9bf3928d7fd17f0700d1f30ce51bc67eea8df1",
"sanitized_output_sha256": "1530863e622a2f36e6a33bb80c9bf3928d7fd17f0700d1f30ce51bc67eea8df1",
"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-FILE-BACKED-FEED-CONTRACT-TRACE-READ-ONLY-20260805T112500Z\",\"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{\"assignment_types\":{\"CAPABILITY\":\"str\",\"MANIFEST\":\"path\",\"PORT\":\"int\",\"RESULTS\":\"path\",\"RESULT_RE\":\"compiled-regex\",\"ROOT\":\"path\"},\"authoritative_inventory\":{\"gitea_candidate_count\":0,\"gitea_candidates\":[],\"guest_row_count\":0,\"two_file_read_proven\":false},\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-FILE-BACKED-FEED-CONTRACT-TRACE-READ-ONLY-20260805T112500Z\",\"command_rc\":0,\"correction_of_previous_logic_gap\":{\"exact_fix\":\"classify the actual bounded file framing and invoke only the SHA-verified reachable Reader handler in memory with read-only path proxies and blocked external facilities\",\"proven_gap\":\"the previous command treated the referenced result file as a standalone JSON document, although the exact Reader may consume or return a framed text result\",\"regression_test\":\"a contract-prefixed two-line result must expose both JSON documents and a file-backed handler must record separate manifest and result reads without network, executor or file mutation\"},\"direct_file_records\":[{\"bytes\":1379,\"exists\":true,\"filename_length\":104,\"filename_sha256\":\"a8c42002c52b93901763464939221a762a78189d682c537c1ad640fe59614b8e\",\"framing\":{\"bytes\":1379,\"contract_prefix_present\":false,\"documents\":[],\"ends_with_newline\":true,\"gitea_candidate_count\":0,\"gitea_candidates\":[],\"guest_row_count\":0,\"gzip_magic\":false,\"line_count\":36,\"nul_count\":0,\"sha256\":\"d8c91a0f46d6698733d52aaec15dca8fe79d9a7605693467e1516f05b146e4d8\",\"structured_document_count\":0,\"utf8_valid\":true,\"whole_json_parse_ok\":false,\"zip_magic\":false},\"is_file\":true,\"reference_path\":[\"result\",\"name\"],\"safe_child_path\":true,\"sha256\":\"d8c91a0f46d6698733d52aaec15dca8fe79d9a7605693467e1516f05b146e4d8\"}],\"error_fingerprint\":\"eef9930a7d9e94064cabbe96c53de473efd266a91ebc5553e7b4e65fcd1f2912\",\"latest_exact_result_basis\":{\"capsule_sha256\":\"48ba7be0ff2adb9a62a31dffc2f2880829edf90bea1d191d95c2a40bf85ad69b\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z\",\"command_rc\":0,\"control_plane_error\":null,\"error_fingerprint\":\"1d1efb809c676989a56fdfc9b0ad714f67f8ed0801c74f06a0f3a6c379130d08\",\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_FILE_BACKED_FEED_CONTRACT_TRACE\",\"output_complete\":true,\"output_sha256\":\"1ee62d6e2d54d20d0cc830fec35b1566f3019f4dbf50be2d8d0b97710f0848a8\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_RESULT_REFERENCE_PROVEN_BUT_FILE_UNREADABLE_OR_INVALID\",\"runner_document_rc\":0,\"runner_json_sha256\":\"6afa911239c47be58319a5a59e80afebd7e5e1017295a0521c91797dbc10e5fa\",\"runner_rc\":0,\"runner_text_sha256\":\"52944532bcea2c9be1b4c530af692db49ac1380716d16871e6f5f7f7200ff315\",\"runner_wrapper_matches_document\":true,\"status\":\"OK\"},\"manifest_file\":{\"bytes\":850,\"exists\":true,\"is_file\":true,\"path_class\":\"/var\",\"path_sha256\":\"e3e86f7cca26be90bb29b569ebbc865b3b544ad6f47fb1e976afae301aa02aca\",\"sha256\":\"62d03ac0b4d42a002d0efd0b6b946f3615db36e4ea6b6cfcde812c4f8ec046c3\",\"symlink\":false},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_EXACT_RESPONSE_FRAMING_TRACE\",\"output_truncated_in_json\":false,\"pre_command_known_error_gate\":{\"checked\":true,\"count\":22,\"ids\":[\"candidate-scan-limit-20260805\",\"runner-wrapper-mismatch-20260805\",\"gitea-owner-hardcoded-20260805\",\"gitea-git-auth-unavailable-20260805\",\"pvesh-adapter-context-unreadable-20260805\",\"gitea-process-self-match-20260805\",\"sanitize-non-string-attributeerror-20260805\",\"reader-path-env-misclassified-as-route-20260805\",\"reader-loopback-only-probe-20260805\",\"reader-capability-not-secret-20260805\",\"reader-systemd-unit-parsed-as-python-20260805\",\"reader-helper-contract-coverage-gap-20260805\",\"reader-capability-root-empty-suffix-404-20260805\",\"reader-generic-suffix-missed-exact-operation-20260805\",\"reader-feed-500-without-origin-20260805\",\"reader-sandbox-global-binding-undefined-20260805\",\"reader-negative-control-exception-polluted-classification-20260805\",\"reader-result-regex-candidate-not-proven-20260805\",\"reader-fake-dependency-contract-incomplete-20260805\",\"reader-manifest-alias-dataflow-gap-20260805\",\"reader-result-output-bound-after-compaction-20260805\",\"reader-result-reference-invalid-json-assumption-20260805\"]},\"prevention_test\":{\"must_run_before_future_cluster_or_gitea_commands\":true,\"name\":\"reader_v3_file_backed_feed_contract_preflight\",\"requirements\":[\"verify the exact prior result identity and all Reader source SHA values\",\"check the complete known-error register before execution\",\"resolve capability and file paths only from the exact systemd process and source\",\"accept only non-symlink bounded regular files beneath the resolved RESULTS directory\",\"analyze framed text before declaring JSON invalid\",\"execute only a statically safe reachable handler in memory with read-only path proxies\",\"block network, executor and file mutation facilities\",\"never emit capability, raw paths, filenames, response bodies or private addresses\"]},\"process_environment\":{\"capability_name_present\":true,\"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\"],\"secret_name_count\":1},\"rc\":0,\"read_only\":true,\"ready_for_gitea_context_probe\":false,\"real_executor_calls_made\":false,\"real_file_mutations_made\":false,\"real_network_requests_made\":false,\"result_projection\":{\"bytes_before\":10415,\"final_bytes\":10415,\"max_bytes\":30000,\"steps\":[]},\"result_reference_count\":1,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_FILE_BACKED_FEED_HANDLER_DID_NOT_PRODUCE_STRUCTURED_RESPONSE\",\"sandbox_feed_contract\":{\"attempts\":[{\"body_bytes\":850,\"body_sha256\":\"62d03ac0b4d42a002d0efd0b6b946f3615db36e4ea6b6cfcde812c4f8ec046c3\",\"candidate\":\"capability-feed\",\"error\":null,\"header_names\":[\"cache-control\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"pragma\",\"surrogate-control\",\"x-homelab-generation\",\"x-robots-tag\"],\"status\":200}],\"manifest_read_count\":1,\"read_events\":[{\"bytes\":850,\"label\":\"manifest\",\"path_class\":\"/var\",\"path_sha256\":\"e3e86f7cca26be90bb29b569ebbc865b3b544ad6f47fb1e976afae301aa02aca\",\"sha256\":\"62d03ac0b4d42a002d0efd0b6b946f3615db36e4ea6b6cfcde812c4f8ec046c3\"}],\"real_executor_calls_made\":false,\"real_file_mutations_made\":false,\"real_network_requests_made\":false,\"response\":{\"bytes\":850,\"contract_prefix_present\":false,\"documents\":[{\"gitea_candidate_count\":0,\"guest_row_count\":0,\"json_type\":\"dict\",\"origin\":\"whole\",\"sha256\":\"510c3a263e39b5fb6e7b65b0ca5ea381e3f1720ea2649afc697e320f8ebf04ec\",\"shape\":{\"raw_values_emitted\":false,\"shape\":{\"children\":{\"<redacted-key:df39bb99bd28>\":{\"type\":\"bool\"},\"changes_made\":{\"type\":\"bool\"},\"command_id\":{\"length\":35,\"sha256\":\"2abe853b7133b73cd674f9c7ea9cf0203be789118c103d65db9455cc1416213c\",\"type\":\"str\"},\"commit_sha\":{\"length\":40,\"sha256\":\"85678773d1abc707edf19eded4440fa40a15e5054b26d1e47311cae35b8e9ff7\",\"type\":\"str\"},\"generation\":{\"length\":19,\"sha256\":\"4d5f52090512f5eafebcde7196ef5eab52f532d870a2ecc7b444154860c60244\",\"type\":\"str\"},\"immutable_result_url\":{\"length\":165,\"sha256\":\"c7f0e85ee289d65116362479a8e27d0836a4637a9826a26c197f7301b5f85208\",\"type\":\"str\"},\"published_at_utc\":{\"length\":20,\"sha256\":\"e45998dd32377ab2f5491f210b091f202d495b378f01402a16942df6a5e747bd\",\"type\":\"str\"},\"rc\":{\"type\":\"int\"},\"result\":{\"children\":{\"bytes\":{\"type\":\"int\"},\"name\":{\"length\":104,\"sha256\":\"a8c42002c52b93901763464939221a762a78189d682c537c1ad640fe59614b8e\",\"type\":\"str\"},\"path\":{\"length\":112,\"sha256\":\"d90fa39619c478cb64cc2d75107f9e5a53446d3f0f79f2f5ccfffe814f4ac0e1\",\"type\":\"str\"},\"sha256\":{\"length\":64,\"sha256\":\"9b2d8dc1941af8f617030feae7318fcafcc3ae13211ca5d1b133c09eb7dc30c5\",\"type\":\"str\"}},\"count\":4,\"keys\":[\"name\",\"sha256\",\"bytes\",\"path\"],\"truncated\":false,\"type\":\"dict\"},\"schema_version\":{\"type\":\"int\"},\"source_of_truth\":{\"length\":34,\"sha256\":\"cc769b0b82b3bc9d356f8c5ae6d12ab4947e58b147aa77ce5433899b8a4fa90f\",\"type\":\"str\"},\"status\":{\"length\":2,\"sha256\":\"565339bc4d33d72817b583024112eb7f5cdf3e5eef0252d6ec1b9c9a94e12bb3\",\"type\":\"str\"}},\"count\":12,\"keys\":[\"schema_version\",\"generation\",\"<redacted-key:df39bb99bd28>\",\"source_of_truth\",\"command_id\",\"status\",\"rc\",\"changes_made\",\"commit_sha\",\"immutable_result_url\",\"published_at_utc\",\"result\"],\"truncated\":false,\"type\":\"dict\"},\"visited_node_count\":17}}],\"ends_with_newline\":true,\"gitea_candidate_count\":0,\"gitea_candidates\":[],\"guest_row_count\":0,\"gzip_magic\":false,\"line_count\":1,\"nul_count\":0,\"sha256\":\"62d03ac0b4d42a002d0efd0b6b946f3615db36e4ea6b6cfcde812c4f8ec046c3\",\"structured_document_count\":1,\"utf8_valid\":true,\"whole_json_parse_ok\":true,\"zip_magic\":false},\"result_read_count\":0,\"two_file_read_proven\":false},\"schema\":1,\"source_files\":[{\"actual_sha256\":\"d672b74b390efa787ffd5a090e8c8eea8fdf038075421231a9d9b3053ea926b1\",\"bytes\":580,\"expected_sha256\":\"d672b74b390efa787ffd5a090e8c8eea8fdf038075421231a9d9b3053ea926b1\",\"matches_expected\":true,\"path\":\"/etc/systemd/system/homelab-reader-v3.service\"},{\"actual_sha256\":\"092780e76ff18dfe2920c51f8b97dd09d194fd6cbdb59c3755c9fbf6530f3536\",\"bytes\":3539,\"expected_sha256\":\"092780e76ff18dfe2920c51f8b97dd09d194fd6cbdb59c3755c9fbf6530f3536\",\"matches_expected\":true,\"path\":\"/usr/local/sbin/homelab-reader-server-v3\"}],\"source_safety_gate\":{\"call_count\":22,\"calls_sha256\":\"9145e700499a9d5c22ac45968929b303bb7eece28cad5e40d20e615371d9fab4\",\"forbidden_call_count\":0,\"forbidden_calls\":[],\"handler_class_name_sha256\":\"53cae329634a4eaa67f565e1de442e3ed98d11f793681c424a168743651dfb67\",\"handler_class_present\":true,\"raw_source_emitted\":false,\"reachable_symbol_count\":4,\"reachable_symbols_sha256\":\"438e2c27aeb4e4ee06feaa005b0c44e41d761f5133f7ec438806a6c7bd1c67a5\",\"safe_for_direct_in_memory_probe\":true},\"source_state\":\"MATCH\",\"status\":\"OK\",\"systemd_identity\":{\"identity_valid\":true,\"pid_count\":1,\"probe\":{\"duration_seconds\":0.007,\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stderr_truncated\":false,\"stdout_bytes\":375,\"stdout_sha256\":\"49094d65d3787c1479e6408e1fefb7af3758d0fa55e1d37bf22907442aab35e9\",\"stdout_truncated\":false},\"properties\":{\"ActiveState\":\"active\",\"ControlGroup\":\"/system.slice/homelab-reader-v3.service\",\"ExecStart_present\":true,\"ExecStart_sha256\":\"2500fde09569176736b4f2f1dd29d6289b6a6ae6a59b52b6a3c31f797f567379\",\"FragmentPath\":\"/etc/systemd/system/homelab-reader-v3.service\",\"LoadState\":\"loaded\",\"MainPID\":\"1282\",\"SubState\":\"running\"}}}\n"
}