CHAT_OUTPUT_BEGIN
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
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=182dc522d724d23ec8772708e8cbdce4b373cf6488a773df5b87eb0381f91b5a
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
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=1530863e622a2f36e6a33bb80c9bf3928d7fd17f0700d1f30ce51bc67eea8df1
SANITIZED_OUTPUT_SHA256=1530863e622a2f36e6a33bb80c9bf3928d7fd17f0700d1f30ce51bc67eea8df1
OUTPUT_BEGIN
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}
{"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"}}}

OUTPUT_END
CHAT_OUTPUT_END
