CHAT_OUTPUT_BEGIN
COMMAND_ID=RUNNER-LINKED-REMOVAL-PLAN-FIX1-20260726T201500Z
STATUS=OK
RC=0
HOST=pve01
MODE=verify
COMPONENT=runner
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=1524c3bd78c1ad70a1388eac6823fa70babf465bf01494e8e29b1633eea023ca
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGES_MADE=false
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=28c62a8739557f52c670c53980379fa6bea3b97baf3a90cf44695b75a65e5abf
SANITIZED_OUTPUT_SHA256=28c62a8739557f52c670c53980379fa6bea3b97baf3a90cf44695b75a65e5abf
OUTPUT_BEGIN
RUNNER_LINKED_REMOVAL_PLAN=PASS
PLAN_SHA256=8cb775587817330dd12296c2f17665110353bcd090330d9bef36e4b61a23541e
{"PLAN_SHA256":"8cb775587817330dd12296c2f17665110353bcd090330d9bef36e4b61a23541e","anti_regression":{"status":"PASS","tests":{"canonical_not_linked":true,"exact_linked_token_detected":true,"historical_reference_not_live":true,"redactor_line_boundary":true}},"backup_changed":false,"canonical_callers":{"/usr/local/sbin/homelab-command-adapter":{"references_canonical":true,"references_linked":false,"sha256":"f2410cd328e2837b99e8ce4a28e25cb031a6bdd596d0286ac77a1822ef1cecd0"},"/usr/local/sbin/homelab-context-refresh":{"references_canonical":true,"references_linked":false,"sha256":"98faa546f7a612f0d1f439d637c1293355371592afbcadf6cae0ee05b3552ef8"}},"changes_made":false,"checked_at_utc":"2026-07-26T20:09:58.563384+00:00","cluster_changed":false,"command_id":"RUNNER-LINKED-REMOVAL-PLAN-FIX1-20260726T201500Z","file_state":{"canonical":{"device":64513,"group":"root","inode":5148520,"mode":"0750","nlink":1,"owner":"root","path":"/usr/local/sbin/homelab-chat-run","regular":true,"sha256":"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9","size":11864},"linked":{"device":64513,"group":"root","inode":5148536,"mode":"0755","nlink":1,"owner":"root","path":"/usr/local/sbin/homelab-chat-run-linked","regular":true,"sha256":"5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1","size":1901}},"gitea_changed":false,"historical_references":{"/root/_1":{"errors":0,"matched_files":7,"occurrences":31,"visited":355},"/var/lib/homelab-chat-run":{"errors":0,"matched_files":60,"occurrences":1052,"visited":1922},"/var/lib/homelab-command-adapter/capsules":{"errors":0,"matched_files":4,"occurrences":33,"visited":30},"overflow":false,"total_files":2307},"live_references":{"match_count":0,"matches":[],"overflow":false,"roots":{"/etc/bash.bashrc":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/cron.d":{"errors":0,"matched_files":0,"read":8,"visited":8},"/etc/cron.daily":{"errors":0,"matched_files":0,"read":5,"visited":5},"/etc/cron.hourly":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/cron.monthly":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/cron.weekly":{"errors":0,"matched_files":0,"read":2,"visited":2},"/etc/crontab":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/profile":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/profile.d":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/sudoers":{"errors":0,"matched_files":0,"read":0,"visited":0},"/etc/sudoers.d":{"errors":0,"matched_files":0,"read":1,"visited":1},"/etc/systemd/system":{"errors":0,"matched_files":0,"read":252,"visited":252},"/lib/systemd/system":{"errors":0,"matched_files":0,"read":389,"visited":389},"/opt":{"errors":0,"matched_files":0,"read":294,"visited":294},"/root/.bash_profile":{"errors":0,"matched_files":0,"read":0,"visited":0},"/root/.bashrc":{"errors":0,"matched_files":0,"read":1,"visited":1},"/root/.config/systemd/user":{"errors":0,"matched_files":0,"read":0,"visited":0},"/root/.profile":{"errors":0,"matched_files":0,"read":1,"visited":1},"/run/systemd/system":{"errors":0,"matched_files":0,"read":0,"visited":0},"/usr/lib/systemd/system":{"errors":0,"matched_files":0,"read":389,"visited":389},"/usr/local/bin":{"errors":0,"matched_files":0,"read":1,"visited":1},"/usr/local/sbin":{"errors":0,"matched_files":0,"read":182,"visited":182},"/var/spool/cron/atjobs":{"errors":0,"matched_files":0,"read":0,"visited":0},"/var/spool/cron/crontabs":{"errors":0,"matched_files":0,"read":0,"visited":0}}},"package_state":{"alternative_registered":false,"alternatives_rc":2,"diversion_rc":0,"diverted":false,"package_owned":false,"query_rc":1},"plan":{"acceptance":["static exact live-reference rescan","Adapter and Portal identity self-tests","Portal healthz","separate new-PC .hcmd end-to-end verify through canonical runner","evidence SHA verification"],"anti_regression":["historical evidence and /root/_1 references do not count as live callers","any exact linked-wrapper reference in live roots blocks APPLY","any linked process or open FD blocks APPLY","canonical runner and all current callers must retain exact SHA"],"blocking_preconditions":[],"cleanup":["no temporary executable remains","rollback artifact remains non-executable until final acceptance seal"],"declared_change_flags":{"backup":false,"cluster":false,"gitea":false,"production":true},"exact_diff_scope":{"modify":[],"preserve":["/usr/local/sbin/homelab-chat-run","/usr/local/sbin/homelab-command-adapter","/usr/local/sbin/homelab-command-portal","/usr/local/sbin/homelab-context-refresh"],"remove":["/usr/local/sbin/homelab-chat-run-linked"],"service_restart":false},"expected_postconditions":["/usr/local/sbin/homelab-chat-run-linked is absent","canonical runner SHA remains 2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9","Adapter and Portal remain active/enabled","NRestarts remains 0","zero live references to linked wrapper","no undeclared file changes"],"next_after_seal":"rerun corrected RUN7P2 immutable-result PLAN with fresh source lock","operation":"REMOVE_UNUSED_LINKED_RUNNER_WRAPPER","preconditions":["adapter_active_enabled","adapter_self_test","adapter_uses_canonical","context_refresh_uses_canonical","current_capsule_state","live_reference_scan_complete","no_unresolved_mutating","not_package_managed","portal_active_enabled","portal_identity_self_test","source_lock","wrapper_bash_syntax","wrapper_calls_canonical","zero_linked_open_fds","zero_linked_processes","zero_live_linked_references"],"risk":"LOW: remove one unreferenced wrapper after exact live-caller, process, FD and package checks","rollback":{"before_mutation":"copy exact linked file and metadata to /var/lib/homelab-change-rollback/{APPLY_COMMAND_ID}/","diagnostics_before_rollback":["file state","systemd state","journal hashes","listeners","processes and open FDs","exact return code"],"restore":"atomically restore exact file, root:root 0755, then verify SHA-256","restore_condition":"any failed postcondition or acceptance","verify_copy_sha256":"5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1"},"schema":1,"service_identity_test":["Adapter self-test as root","Portal self-test as homelab-command-portal"],"source":{"capsule_sha256":"89641d4e5131d345ad56b5774e5b16dc05fd27b33f618b2f5c0883ea81839688","command_id":"RUNNER-DUPLICATE-READONLY-DIAG-20260726T195742Z","evidence_sha256":"b9a3eb1b51eb6d93c09ef61afbaeadae5c2bef66857a82b6a22b56d17b78de20","report_sha256":"ae8ce5323776c1647515c7833afd4f4771599824b391b5ff78f1191ea47602ab"},"source_lock":{"/etc/systemd/system/homelab-command-adapter.service":"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7","/etc/systemd/system/homelab-command-portal.service":"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263","/usr/local/sbin/homelab-chat-run":"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9","/usr/local/sbin/homelab-chat-run-linked":"5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1","/usr/local/sbin/homelab-command-adapter":"f2410cd328e2837b99e8ce4a28e25cb031a6bdd596d0286ac77a1822ef1cecd0","/usr/local/sbin/homelab-command-portal":"8056faf4ef6348f0b06319ad3c49fbfeeadf25b6370f857ea19569bd27652ee2","/usr/local/sbin/homelab-context-refresh":"98faa546f7a612f0d1f439d637c1293355371592afbcadf6cae0ee05b3552ef8"},"target_identity":{"component":"runner","node":"pve01","service_group":"root","service_user":"root"}},"preconditions":{"adapter_active_enabled":true,"adapter_self_test":true,"adapter_uses_canonical":true,"context_refresh_uses_canonical":true,"current_capsule_state":true,"live_reference_scan_complete":true,"no_unresolved_mutating":true,"not_package_managed":true,"portal_active_enabled":true,"portal_identity_self_test":true,"source_lock":true,"wrapper_bash_syntax":true,"wrapper_calls_canonical":true,"zero_linked_open_fds":true,"zero_linked_processes":true,"zero_live_linked_references":true},"processes":{"linked_open_fd_count":0,"linked_process_count":0,"process_cmdline_sha256":[]},"production_changed":false,"rollback_started":false,"schema":1,"source":{"capsule_sha256":"89641d4e5131d345ad56b5774e5b16dc05fd27b33f618b2f5c0883ea81839688","command_id":"RUNNER-DUPLICATE-READONLY-DIAG-20260726T195742Z","evidence_sha256":"b9a3eb1b51eb6d93c09ef61afbaeadae5c2bef66857a82b6a22b56d17b78de20","report_sha256":"ae8ce5323776c1647515c7833afd4f4771599824b391b5ff78f1191ea47602ab"},"source_lock_checks":{"/etc/systemd/system/homelab-command-adapter.service":true,"/etc/systemd/system/homelab-command-portal.service":true,"/usr/local/sbin/homelab-chat-run":true,"/usr/local/sbin/homelab-chat-run-linked":true,"/usr/local/sbin/homelab-command-adapter":true,"/usr/local/sbin/homelab-command-portal":true,"/usr/local/sbin/homelab-context-refresh":true},"stage":"RUNNER_LINKED_REMOVAL_PLAN","status":"PASS","units":{"adapter":{"ActiveState":"active","ExecMainStatus":"0","Group":"homelab-command-portal","LoadState":"loaded","NRestarts":"0","Result":"success","SubState":"running","UnitFileState":"enabled","User":"root","show_rc":"0"},"portal":{"ActiveState":"active","ExecMainStatus":"0","Group":"homelab-command-portal","LoadState":"loaded","NRestarts":"0","Result":"success","SubState":"running","UnitFileState":"enabled","User":"homelab-command-portal","show_rc":"0"}},"unresolved_mutating":[],"wrapper_contract":{"bash_syntax_pass":true,"calls_canonical":true,"content_sha256":"5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1","prints_immutable_result_url":true,"publishes_reader_feed":true}}

OUTPUT_END
CHAT_OUTPUT_END
