From d7c1ca49dfcced8adcc45a5cdaaaaa89b19a5422 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 5 Aug 2026 11:22:24 +0000 Subject: [PATCH] runtime: publish HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z --- ...CT-SUMMARY-READ-ONLY-20260805T111040Z.json | 38 +++++++++++++++++++ ...ACT-SUMMARY-READ-ONLY-20260805T111040Z.txt | 34 +++++++++++++++++ runtime/latest.json | 22 +++++------ runtime/latest.txt | 20 +++++----- 4 files changed, 93 insertions(+), 21 deletions(-) create mode 100644 runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.json create mode 100644 runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.txt diff --git a/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.json b/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.json new file mode 100644 index 0000000..9f92c87 --- /dev/null +++ b/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z", + "status": "FAIL", + "rc": 1, + "host": "pve01", + "mode": "verify", + "component": "skladchik-reauth-preflight-exact-summary-read-only", + "started_at_utc": "2026-08-05T11:22:23Z", + "finished_at_utc": "2026-08-05T11:22:23Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "7c16017547469ba98b98c4ab54b0fec2ebc4fb661e0e7b259565b56f8664f635", + "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": 1, + "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": "8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c", + "sanitized_output_sha256": "8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c", + "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-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z\",\"command_rc\":1,\"error\":\"Extra data: line 1 column 11968 (char 11967)\",\"error_type\":\"JSONDecodeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\n" +} diff --git a/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.txt b/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.txt new file mode 100644 index 0000000..80242d8 --- /dev/null +++ b/runtime/history/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z +STATUS=FAIL +RC=1 +HOST=pve01 +MODE=verify +COMPONENT=skladchik-reauth-preflight-exact-summary-read-only +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=7c16017547469ba98b98c4ab54b0fec2ebc4fb661e0e7b259565b56f8664f635 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=1 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c +SANITIZED_OUTPUT_SHA256=8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} +{"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z","command_rc":1,"error":"Extra data: line 1 column 11968 (char 11967)","error_type":"JSONDecodeError","mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"read_only":true,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 720d5d4..9f92c87 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z", - "status": "OK", - "rc": 0, + "command_id": "HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z", + "status": "FAIL", + "rc": 1, "host": "pve01", "mode": "verify", - "component": "cluster-knowledge-base-error-system", - "started_at_utc": "2026-08-05T11:21:46Z", - "finished_at_utc": "2026-08-05T11:21:46Z", + "component": "skladchik-reauth-preflight-exact-summary-read-only", + "started_at_utc": "2026-08-05T11:22:23Z", + "finished_at_utc": "2026-08-05T11:22:23Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "6d5aaf507166c95cecf3344b5ab6edd6334797e9db22c6feb7165cc592f30616", + "command_sha256": "7c16017547469ba98b98c4ab54b0fec2ebc4fb661e0e7b259565b56f8664f635", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -21,7 +21,7 @@ "result_contract_valid": true, "result_contract_status": null, "result_contract_error": null, - "command_rc": 0, + "command_rc": 1, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "1ee62d6e2d54d20d0cc830fec35b1566f3019f4dbf50be2d8d0b97710f0848a8", - "sanitized_output_sha256": "1ee62d6e2d54d20d0cc830fec35b1566f3019f4dbf50be2d8d0b97710f0848a8", + "raw_evidence_sha256": "8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c", + "sanitized_output_sha256": "8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c", "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-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z\",\"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{\"authoritative_inventory\":{\"gitea_bearing_record_count\":0,\"gitea_candidate_count\":0,\"gitea_candidates\":[],\"guest_bearing_record_count\":0,\"guest_row_count\":0,\"readable_result_record_count\":0,\"two_file_read_proven\":false},\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z\",\"command_rc\":0,\"correction_of_previous_logic_gap\":{\"exact_fix\":\"resolve MANIFEST, RESULTS and RESULT_RE only from the exact SHA-verified source, read the actual manifest and referenced result file read-only, and emit only bounded structural schemas, hashes and sanitized guest identifiers\",\"proven_gap\":\"synthetic manifest profiles represented generation as a scalar or list, while the exact Reader called mapping methods on the generation record and raised AttributeError before reading the result file\",\"regression_test\":\"a synthetic generation mapping containing a RESULT_RE-matched file reference must be discovered at generation/file without emitting the filename or any scalar value\"},\"error_fingerprint\":\"1d1efb809c676989a56fdfc9b0ad714f67f8ed0801c74f06a0f3a6c379130d08\",\"exact_assignment_contract\":{\"paths\":{\"MANIFEST\":{\"absolute\":true,\"exists\":true,\"is_dir\":false,\"is_file\":true,\"path_class\":\"/var\",\"path_sha256\":\"e3e86f7cca26be90bb29b569ebbc865b3b544ad6f47fb1e976afae301aa02aca\",\"resolved\":true,\"symlink\":false},\"RESULTS\":{\"absolute\":true,\"exists\":true,\"is_dir\":true,\"is_file\":false,\"path_class\":\"/var\",\"path_sha256\":\"74cd1e8e797b2ff05f182b259b1bc3112755d6750af049a3a593e9d039645cf0\",\"resolved\":true,\"symlink\":false},\"RESULT_RE\":{\"pattern_sha256\":\"cc0d3d6eeabb57c6262c3e83d6561e587ad62b5f370dab9cbf080b67c533b47c\",\"pattern_text_emitted\":false,\"resolved\":true}},\"types\":{\"CAPABILITY\":\"str\",\"MANIFEST\":\"path\",\"PORT\":\"int\",\"RESULTS\":\"path\",\"RESULT_RE\":\"compiled-regex\",\"ROOT\":\"path\"}},\"latest_exact_result_basis\":{\"capsule_sha256\":\"e7b4e21c9e5ba536dbfd7fb5dec1862701f6a619f538fd6e3120bfb669bb8c45\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-OUTPUT-PROJECTION-FIX-READ-ONLY-20260805T105900Z\",\"command_rc\":0,\"control_plane_error\":null,\"error_fingerprint\":\"a8c139677a8214774c4c524617a42d990ad206b317a432ea3cac1b625b34346e\",\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_SANITIZED_FILE_RECORD_SHAPE_TRACE\",\"output_complete\":true,\"output_sha256\":\"cebadd10d38e334596c9f8dff3e1945161f681afd8af6f23bdcb79084c415b29\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_FEED_CAUGHT_EXCEPTION_ORIGIN_PROVEN\",\"runner_document_rc\":0,\"runner_json_sha256\":\"dafc60d8ed2dafd7eb92b4bca74430f74d1ad2245296472572c9badfddeb3589\",\"runner_rc\":0,\"runner_text_sha256\":\"4c110854804cffb5c5f8043b92881c39646ec998f9c82d675aa269b3a728c75a\",\"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},\"manifest_record_shape\":{\"full_shape\":{\"private_address_value_count\":0,\"raw_values_emitted\":false,\"secret_named_key_count\":1,\"shape\":{\"children\":{\"\":{\"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\",\"\",\"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},\"generation\":{\"length\":19,\"present\":true,\"sha256\":\"4d5f52090512f5eafebcde7196ef5eab52f532d870a2ecc7b444154860c60244\",\"type\":\"str\"},\"json_type\":\"dict\",\"result_reference_count\":1,\"result_reference_paths\":[[\"result\",\"name\"]],\"top_keys\":[\"schema_version\",\"generation\",\"\",\"source_of_truth\",\"command_id\",\"status\",\"rc\",\"changes_made\",\"commit_sha\",\"immutable_result_url\",\"published_at_utc\",\"result\"]},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_FILE_BACKED_FEED_CONTRACT_TRACE\",\"output_truncated_in_json\":false,\"pre_command_known_error_gate\":{\"checked\":true,\"count\":21,\"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\"]},\"prevention_test\":{\"must_run_before_future_cluster_or_gitea_commands\":true,\"name\":\"reader_v3_actual_file_record_shape_preflight\",\"requirements\":[\"verify exact Reader unit and Python source SHA\",\"bind process environment only to the exact systemd ControlGroup\",\"resolve MANIFEST, RESULTS and RESULT_RE only through a strict assignment evaluator\",\"read only regular bounded files and reject path traversal\",\"require RESULT_RE fullmatch before result-file access\",\"emit only schema, counts, hashes and sanitized guest identifiers\",\"never emit capability, raw paths, filenames, regex text, private addresses or response bodies\",\"perform no network, executor or file mutation\"]},\"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\":10322,\"final_bytes\":10322,\"max_bytes\":30000,\"steps\":[]},\"result_records\":[{\"bytes\":1379,\"exists\":true,\"filename_length\":104,\"filename_sha256\":\"a8c42002c52b93901763464939221a762a78189d682c537c1ad640fe59614b8e\",\"is_file\":true,\"json_error_fingerprint\":\"26ebc3ed1f94f1c3c4a880845ccaeb6847fec166a7004691ef3da99fc1967771\",\"json_error_type\":\"JSONDecodeError\",\"json_parse_ok\":false,\"path_class\":\"/var\",\"path_sha256\":\"b9aed4ae7666278e3435a5787812b8ed36e69352bba8f4d83bd4effb30ce3019\",\"reference_path\":[\"result\",\"name\"],\"safe_child_path\":true,\"sha256\":\"d8c91a0f46d6698733d52aaec15dca8fe79d9a7605693467e1516f05b146e4d8\",\"symlink\":false,\"under_generation\":false}],\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_RESULT_REFERENCE_PROVEN_BUT_FILE_UNREADABLE_OR_INVALID\",\"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_selection\":{\"raw_source_emitted\":false,\"selected_path\":\"/usr/local/sbin/homelab-reader-server-v3\",\"systemd_unit_excluded_from_ast\":true},\"source_state\":\"MATCH\",\"static_file_record_contract\":{\"file_read_call_count\":2,\"file_read_methods\":[\"read_bytes\"],\"global_reads\":[\"MANIFEST\",\"RESULTS\",\"RESULT_RE\"],\"literal_key_count\":1,\"literal_keys\":[\"generation\"],\"method_calls\":[\"decode\",\"end_headers\",\"fullmatch\",\"get\",\"handle_reader\",\"hexdigest\",\"is_file\",\"loads\",\"read_bytes\",\"reply\",\"rsplit\",\"send_header\",\"send_response\",\"sha256\",\"split\",\"startswith\",\"write\"],\"path_join_count\":1,\"raw_source_emitted\":false,\"reachable_handler_count\":4,\"regex_fullmatch_count\":1,\"type_expectations\":[\"mapping\"]},\"status\":\"OK\",\"systemd_identity\":{\"identity_valid\":true,\"pid_count\":1,\"probe\":{\"duration_seconds\":0.006,\"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" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z\",\"command_rc\":1,\"error\":\"Extra data: line 1 column 11968 (char 11967)\",\"error_type\":\"JSONDecodeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 4e47156..80242d8 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z -STATUS=OK -RC=0 +COMMAND_ID=HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z +STATUS=FAIL +RC=1 HOST=pve01 MODE=verify -COMPONENT=cluster-knowledge-base-error-system +COMPONENT=skladchik-reauth-preflight-exact-summary-read-only REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=6d5aaf507166c95cecf3344b5ab6edd6334797e9db22c6feb7165cc592f30616 +COMMAND_SHA256=7c16017547469ba98b98c4ab54b0fec2ebc4fb661e0e7b259565b56f8664f635 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=0 +COMMAND_RC=1 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=1ee62d6e2d54d20d0cc830fec35b1566f3019f4dbf50be2d8d0b97710f0848a8 -SANITIZED_OUTPUT_SHA256=1ee62d6e2d54d20d0cc830fec35b1566f3019f4dbf50be2d8d0b97710f0848a8 +RAW_EVIDENCE_SHA256=8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c +SANITIZED_OUTPUT_SHA256=8ec4a73bb21a9c8d73938e6a2728e9f14c442cd67b1fe90c252969fd7b3bef4c OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z","command_rc":0,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -{"authoritative_inventory":{"gitea_bearing_record_count":0,"gitea_candidate_count":0,"gitea_candidates":[],"guest_bearing_record_count":0,"guest_row_count":0,"readable_result_record_count":0,"two_file_read_proven":false},"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-SANITIZED-FILE-RECORD-SHAPE-TRACE-READ-ONLY-20260805T111000Z","command_rc":0,"correction_of_previous_logic_gap":{"exact_fix":"resolve MANIFEST, RESULTS and RESULT_RE only from the exact SHA-verified source, read the actual manifest and referenced result file read-only, and emit only bounded structural schemas, hashes and sanitized guest identifiers","proven_gap":"synthetic manifest profiles represented generation as a scalar or list, while the exact Reader called mapping methods on the generation record and raised AttributeError before reading the result file","regression_test":"a synthetic generation mapping containing a RESULT_RE-matched file reference must be discovered at generation/file without emitting the filename or any scalar value"},"error_fingerprint":"1d1efb809c676989a56fdfc9b0ad714f67f8ed0801c74f06a0f3a6c379130d08","exact_assignment_contract":{"paths":{"MANIFEST":{"absolute":true,"exists":true,"is_dir":false,"is_file":true,"path_class":"/var","path_sha256":"e3e86f7cca26be90bb29b569ebbc865b3b544ad6f47fb1e976afae301aa02aca","resolved":true,"symlink":false},"RESULTS":{"absolute":true,"exists":true,"is_dir":true,"is_file":false,"path_class":"/var","path_sha256":"74cd1e8e797b2ff05f182b259b1bc3112755d6750af049a3a593e9d039645cf0","resolved":true,"symlink":false},"RESULT_RE":{"pattern_sha256":"cc0d3d6eeabb57c6262c3e83d6561e587ad62b5f370dab9cbf080b67c533b47c","pattern_text_emitted":false,"resolved":true}},"types":{"CAPABILITY":"str","MANIFEST":"path","PORT":"int","RESULTS":"path","RESULT_RE":"compiled-regex","ROOT":"path"}},"latest_exact_result_basis":{"capsule_sha256":"e7b4e21c9e5ba536dbfd7fb5dec1862701f6a619f538fd6e3120bfb669bb8c45","changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-OUTPUT-PROJECTION-FIX-READ-ONLY-20260805T105900Z","command_rc":0,"control_plane_error":null,"error_fingerprint":"a8c139677a8214774c4c524617a42d990ad206b317a432ea3cac1b625b34346e","mutation_outcome":"NO_MUTATION","next_action":"RUN_ONE_READ_ONLY_READER_V3_SANITIZED_FILE_RECORD_SHAPE_TRACE","output_complete":true,"output_sha256":"cebadd10d38e334596c9f8dff3e1945161f681afd8af6f23bdcb79084c415b29","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"root_cause_classification":"READER_V3_FEED_CAUGHT_EXCEPTION_ORIGIN_PROVEN","runner_document_rc":0,"runner_json_sha256":"dafc60d8ed2dafd7eb92b4bca74430f74d1ad2245296472572c9badfddeb3589","runner_rc":0,"runner_text_sha256":"4c110854804cffb5c5f8043b92881c39646ec998f9c82d675aa269b3a728c75a","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},"manifest_record_shape":{"full_shape":{"private_address_value_count":0,"raw_values_emitted":false,"secret_named_key_count":1,"shape":{"children":{"":{"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","","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},"generation":{"length":19,"present":true,"sha256":"4d5f52090512f5eafebcde7196ef5eab52f532d870a2ecc7b444154860c60244","type":"str"},"json_type":"dict","result_reference_count":1,"result_reference_paths":[["result","name"]],"top_keys":["schema_version","generation","","source_of_truth","command_id","status","rc","changes_made","commit_sha","immutable_result_url","published_at_utc","result"]},"mutation_outcome":"NO_MUTATION","next_action":"RUN_ONE_READ_ONLY_READER_V3_FILE_BACKED_FEED_CONTRACT_TRACE","output_truncated_in_json":false,"pre_command_known_error_gate":{"checked":true,"count":21,"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"]},"prevention_test":{"must_run_before_future_cluster_or_gitea_commands":true,"name":"reader_v3_actual_file_record_shape_preflight","requirements":["verify exact Reader unit and Python source SHA","bind process environment only to the exact systemd ControlGroup","resolve MANIFEST, RESULTS and RESULT_RE only through a strict assignment evaluator","read only regular bounded files and reject path traversal","require RESULT_RE fullmatch before result-file access","emit only schema, counts, hashes and sanitized guest identifiers","never emit capability, raw paths, filenames, regex text, private addresses or response bodies","perform no network, executor or file mutation"]},"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":10322,"final_bytes":10322,"max_bytes":30000,"steps":[]},"result_records":[{"bytes":1379,"exists":true,"filename_length":104,"filename_sha256":"a8c42002c52b93901763464939221a762a78189d682c537c1ad640fe59614b8e","is_file":true,"json_error_fingerprint":"26ebc3ed1f94f1c3c4a880845ccaeb6847fec166a7004691ef3da99fc1967771","json_error_type":"JSONDecodeError","json_parse_ok":false,"path_class":"/var","path_sha256":"b9aed4ae7666278e3435a5787812b8ed36e69352bba8f4d83bd4effb30ce3019","reference_path":["result","name"],"safe_child_path":true,"sha256":"d8c91a0f46d6698733d52aaec15dca8fe79d9a7605693467e1516f05b146e4d8","symlink":false,"under_generation":false}],"rollback_restored":null,"rollback_started":false,"root_cause_classification":"READER_V3_RESULT_REFERENCE_PROVEN_BUT_FILE_UNREADABLE_OR_INVALID","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_selection":{"raw_source_emitted":false,"selected_path":"/usr/local/sbin/homelab-reader-server-v3","systemd_unit_excluded_from_ast":true},"source_state":"MATCH","static_file_record_contract":{"file_read_call_count":2,"file_read_methods":["read_bytes"],"global_reads":["MANIFEST","RESULTS","RESULT_RE"],"literal_key_count":1,"literal_keys":["generation"],"method_calls":["decode","end_headers","fullmatch","get","handle_reader","hexdigest","is_file","loads","read_bytes","reply","rsplit","send_header","send_response","sha256","split","startswith","write"],"path_join_count":1,"raw_source_emitted":false,"reachable_handler_count":4,"regex_fullmatch_count":1,"type_expectations":["mapping"]},"status":"OK","systemd_identity":{"identity_valid":true,"pid_count":1,"probe":{"duration_seconds":0.006,"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"}}} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} +{"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-20260805T111040Z","command_rc":1,"error":"Extra data: line 1 column 11968 (char 11967)","error_type":"JSONDecodeError","mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"read_only":true,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"} OUTPUT_END CHAT_OUTPUT_END