{
  "schema_version": 1,
  "channel": "homelab-runtime",
  "command_id": "RUNNER-LINKED-REMOVAL-PLAN-FIX1-20260726T201500Z",
  "status": "OK",
  "rc": 0,
  "host": "pve01",
  "mode": "verify",
  "component": "runner",
  "started_at_utc": "2026-07-26T20:09:58Z",
  "finished_at_utc": "2026-07-26T20:09:58Z",
  "reference_register_checked": true,
  "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
  "error_register_checked": true,
  "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
  "command_sha256": "1524c3bd78c1ad70a1388eac6823fa70babf465bf01494e8e29b1633eea023ca",
  "duplicate_failed_command_blocked": false,
  "block_reason": null,
  "execution_started": true,
  "changes_made": false,
  "sanitized": true,
  "secrets_included": false,
  "private_addresses_included": false,
  "raw_evidence_retained_locally": true,
  "raw_evidence_sha256": "28c62a8739557f52c670c53980379fa6bea3b97baf3a90cf44695b75a65e5abf",
  "sanitized_output_sha256": "28c62a8739557f52c670c53980379fa6bea3b97baf3a90cf44695b75a65e5abf",
  "output_truncated_in_json": false,
  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
  "output": "RUNNER_LINKED_REMOVAL_PLAN=PASS\nPLAN_SHA256=8cb775587817330dd12296c2f17665110353bcd090330d9bef36e4b61a23541e\n{\"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}}\n"
}
