CHAT_OUTPUT_BEGIN
COMMAND_ID=RUN7P1-IMMUTABLE-RESULT-PLAN-20260726T154634Z
STATUS=FAIL
RC=2
HOST=pve01
MODE=verify
COMPONENT=evidence-delivery
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=317b507e77cebd2da1bfa6929e277df3bc09ecfd115d5b15d32b9705445d03ee
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGES_MADE=false
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=3e4c291c2612a19e2f249cc30480639c87a6d497643f07022f10dcec1ebe9800
SANITIZED_OUTPUT_SHA256=3e4c291c2612a19e2f249cc30480639c87a6d497643f07022f10dcec1ebe9800
OUTPUT_BEGIN
RUN7P1_IMMUTABLE_RESULT_PLAN=BLOCKED
PLAN_SHA256=40dee3f5a655b78fb38477b146c651f0c9a46a56111211876f56df41538c74ca
{"PLAN_SHA256":"40dee3f5a655b78fb38477b146c651f0c9a46a56111211876f56df41538c74ca","acceptance_requires_separate_capsule":true,"anti_regression":["AR-P1-001 stale latest cannot satisfy runner","AR-P1-002 exact command_id and command_sha256 required","AR-P1-003 exact command TXT SHA required","AR-P1-004 context-auto cannot overwrite by-command result","AR-P1-005 same ID same payload is idempotent","AR-P1-006 same ID different payload is rejected","AR-P1-007 JSON is readiness marker published after TXT","AR-P1-008 sanitizer does not cross line boundaries","AR-P1-009 public payload remains sanitized and address-free","AR-P1-010 temporary files are cleaned"],"backup":{"core_apps":"/var/lib/homelab-runtime-receive/backups/homelab-runtime-receive.25b1d3ddb71ea76fa8a067c4ab97e5f2a17c6dd7657440e74517647ab25ae72c","exact_sha_required":true,"pve01":"/var/lib/homelab-chat-run/state/backups/homelab-chat-run.2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9"},"blockers":["REMOTE_RECEIVER_SHA_DISAGREEMENT","REMOTE_SOURCE_LOCK_MISMATCH:receiver","TRANSFORMATION_FAILED:RuntimeError"],"cleanup":["remove all remote /tmp rehearsal and apply staging files","retain verified rollback copies until phase seal","do not remove historical runtime results"],"component":"evidence-delivery","created_at_utc":"2026-07-26T15:54:52.541976+00:00","declared_change_flags_for_apply":{"backup":false,"cluster":false,"gitea":true,"production":true},"exact_diff":["add immutable .well-known/by-command/<COMMAND_ID>.json and .txt","write TXT first and JSON last as readiness marker","idempotent same COMMAND_ID with identical JSON/TXT","fail closed on same COMMAND_ID with differing JSON/TXT","prevent Git history overwrite on COMMAND_ID conflict","retain latest.json/latest.txt as non-authoritative convenience","runner publishes own immutable TXT URL","runner polls exact immutable JSON and TXT","runner verifies command_id, command_sha256 and sanitized flags","fix multiline sanitizer false-positive with horizontal whitespace","add persistent --self-test anti-regression entrypoints"],"gates":{"G0_context_lock":{"source_evidence_sha256":"844bd57846acb2dcb939392fd22eeae005b348bd346f3aace0bc219f6bafa38a","source_preplan_basis_sha256":"6ae59d4b7877710758ecb8e315a8322e71c475b6dcda680864eff8c1f7e7e0d9","status":"FAIL"},"G1_read_only_discovery":{"source_hashes":{"adapter":"f2410cd328e2837b99e8ce4a28e25cb031a6bdd596d0286ac77a1822ef1cecd0","adapter_unit":"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7","portal":"8056faf4ef6348f0b06319ad3c49fbfeeadf25b6370f857ea19569bd27652ee2","portal_unit":"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263","receiver":"25b1d3ddb71ea76fa8a067c4ab97e5f2a17c6dd7657440e74517647ab25ae72c","runner":"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9"},"status":"PASS","units":{"adapter":{"active":"active","enabled":"enabled","group":"homelab-command-portal","restarts":"0","user":"root"},"portal":{"active":"active","enabled":"enabled","group":"homelab-command-portal","restarts":"0","user":"homelab-command-portal"}}},"G2_static_validation":{"status":"FAIL","target_hashes":{}},"G3_identity_equivalent":{"current_receiver_sudo_contract_rc":64,"remote_install_available":true,"remote_mkdir_available":true,"status":"PASS"},"G4_integration_rehearsal":{"production_mutation":false,"results":{"remote_cleanup_rc":0},"status":"PASS"}},"kind":"homelab-change-plan","mutation_journal":{"core_apps":"/var/lib/homelab-runtime-receive/RUN7P1-immutable-result-mutation.json","pve01":"/var/lib/homelab-chat-run/state/RUN7P1-immutable-result-mutation.json"},"plan_id":"RUN7P1-IMMUTABLE-PUBLIC-RESULT","postconditions":["installed files match planned target SHA-256","installed runner --self-test returns PASS","installed receiver --self-test via sudo returns PASS","APPLY itself completes through backward-compatible latest channel","separate acceptance capsule is fetched by exact by-command URL","context-auto overwrite of latest does not change acceptance result","same-ID same-content receiver test is idempotent","same-ID different-content receiver test fails closed"],"preconditions":["all source SHA-256 values exactly match this plan","Portal and Adapter remain active/enabled with NRestarts=0","no unresolved mutating failure or rollback","exact PLAN_SHA256 is embedded in APPLY capsule","APPLY capsule source evidence SHA matches RUN7P1 evidence"],"risk":{"backup_subsystem_touched":false,"level":"MEDIUM","reason":"changes public sanitized-result transport on two hosts","second_runner_created":false},"rollback":["capture diagnostics before rollback","record file SHA/mode/owner, runner and receiver self-tests","record exact by-command HTTP status and response SHA","restore both exact source files from verified backups","verify restored SHA/mode/owner","do not restart unrelated services"],"schema":1,"scope":[{"group":"root","host":"pve01","mode":"0750","owner":"root","path":"/usr/local/sbin/homelab-chat-run","source_sha256":"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9","target_sha256":null},{"group":"root","host":"core-apps","mode":"0750","owner":"root","path":"/usr/local/sbin/homelab-runtime-receive","source_sha256":"25b1d3ddb71ea76fa8a067c4ab97e5f2a17c6dd7657440e74517647ab25ae72c","target_sha256":null}],"service_identity_test":{"proposed_receiver_self_test":"PASS","proposed_runner_self_test":"PASS","receiver_current_sudo_usage_rc":64},"source":{"live_source_hashes":{"core_apps_receiver":"25b1d3ddb71ea76fa8a067c4ab97e5f2a17c6dd7657440e74517647ab25ae72c","pve01_runner":"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9"},"run7a_capsule_sha256":"b45c17b1b5f4ac00868c84dd66ef8b59a6033b92c9886f7f3e6c5b48ea5da5a8","run7a_evidence_sha256":"844bd57846acb2dcb939392fd22eeae005b348bd346f3aace0bc219f6bafa38a","run7a_preplan_basis_sha256":"6ae59d4b7877710758ecb8e315a8322e71c475b6dcda680864eff8c1f7e7e0d9","run7a_runner_json_sha256":"7c77a1aa9f229e7d67ab7a74769bcf4dee22b2fbd474c9c909fb796123b5a7bb"},"target":{"core_apps_receiver_sha256":null,"pve01_runner_sha256":null},"warnings":[]}

OUTPUT_END
CHAT_OUTPUT_END
