1
0
Files
homelab-public-context/runtime/latest.json
T
2026-07-26 20:50:11 +00:00

31 lines
4.6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "RUNNER-MUTATION-CONTRACT-PLAN-20260726T204219Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "runner",
"started_at_utc": "2026-07-26T20:50:10Z",
"finished_at_utc": "2026-07-26T20:50:10Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "18ca7f1fb586bea8de09771fb8a2620d7c1e624494878d745b07a897fb6cb780",
"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": "65beaf599a688212c2299703e01dab946a652f2837f41a98f983eee7fadf9909",
"sanitized_output_sha256": "65beaf599a688212c2299703e01dab946a652f2837f41a98f983eee7fadf9909",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "{\"PLAN_SHA256\":\"22eedf9b1090960a7f92cef992f481d8d6cc3f42e4f4ecd6e27bbda4ebf752bd\",\"changes_made\":false,\"command_id\":\"RUNNER-MUTATION-CONTRACT-PLAN-20260726T204219Z\",\"diff\":{\"additions\":285,\"deletions\":8,\"diff_sha256\":\"6ce1b41ad8de334ca804bccee03cae25ca600364473eee1677afde818cfcc192\",\"hunks\":8},\"mutating_states\":{\"closed\":[\"RUNNER-LINKED-REMOVAL-APPLY-20260726T202107Z\",\"RUNNER-LINKED-REMOVAL-APPLY-FINAL-20260726T202825Z\"],\"unresolved\":[]},\"plan\":{\"anti_regression\":[\"mode=change больше не означает changes_made=true\",\"повтор заблокированной команды считается NO_MUTATION\",\"несовпадающий command_id контракта блокируется\",\"несколько контрактов блокируются\",\"отсутствующий контракт блокируется с UNKNOWN\"],\"file\":\"/usr/local/sbin/homelab-chat-run\",\"next\":\"после APPLY обновить Adapter META/state, затем закрыть старые precondition-only записи\",\"operation\":\"УСТАНОВИТЬ_КОНТРАКТ_ФАКТИЧЕСКОЙ_МУТАЦИИ_RUNNER\",\"postconditions\":[\"target SHA совпадает\",\"bash -n проходит\",\"--self-test проходит\",\"verify/read-only всегда changes_made=false\",\"BLOCKED change с контрактом даёт changes_made=false\",\"change без контракта даёт changes_made=null и FAIL\",\"успешная мутация даёт changes_made=true\",\"успешный rollback даёт mutation_outcome=ROLLED_BACK\",\"Adapter и Portal не перезапускаются\"],\"preconditions\":{\"adapter_self_test\":true,\"adapter_здоров\":true,\"portal_identity_self_test\":true,\"portal_здоров\":true,\"известные_старые_попытки_закрыты\":true,\"нет_других_mutating_failure\":true,\"текущая_capsule_корректна\":true,\"точный_source_lock\":true},\"risk\":\"REVERSIBLE\",\"rollback\":{\"atomic_restore\":true,\"copy_before_apply\":true,\"copy_mode\":\"0600\",\"diagnostics_before_rollback\":true,\"verify_sha256\":\"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9\"},\"schema\":1,\"scope\":{\"backup_changed\":false,\"cluster_changed\":false,\"gitea_changed\":false,\"modify\":[\"/usr/local/sbin/homelab-chat-run\"],\"preserve\":[\"/usr/local/sbin/homelab-command-adapter\",\"/usr/local/sbin/homelab-command-portal\",\"/usr/local/sbin/homelab-chat-run-linked\"],\"service_restart\":false},\"source_evidence\":[\"d33b0cb4f775fb6bfb57d7681273a2ae9b3e884088ae794f1c152797cd03f6dd\",\"98474ad0c0c5ab2b6507c2469ea804b3c771f8a8f71c23a8238fd64ae1fe989d\"],\"source_sha256\":\"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9\",\"target\":\"pve01\",\"target_sha256\":\"b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\"},\"rollback_started\":false,\"source_sha256\":\"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9\",\"static_tests\":{\"bash_syntax\":true,\"marker_контракта\":true,\"preexecution_block_no_mutation\":true,\"runner_self_test\":true,\"target_sha_отличается\":true,\"unknown_fail_closed\":true,\"нет_mode_change_equals_changed\":true},\"status\":\"PASS\",\"target_sha256\":\"b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\"}\n"
}