1
0

runtime: publish GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z

This commit is contained in:
homelab-runtime-publisher
2026-07-27 19:36:23 +00:00
parent 43bdbbce2c
commit 6e894d9e92
4 changed files with 93 additions and 21 deletions
@@ -0,0 +1,38 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "gitea-write-path-diagnostic",
"started_at_utc": "2026-07-27T19:36:23Z",
"finished_at_utc": "2026-07-27T19:36:23Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "e525480bdd9fde90f31cc8c1d25ebd353166445ae0922e63a1fdc532d4f8248f",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd",
"sanitized_output_sha256": "ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"checks\":{\"target_is_pve01\":true,\"uid_is_root\":true,\"worktree_exists\":true},\"command_id\":\"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z\",\"credential_metadata\":[{\"directory\":false,\"executable\":false,\"exists\":true,\"gid\":990,\"mode\":\"0600\",\"path\":\"/root/.git-credentials\",\"regular\":true,\"size\":139,\"symlink\":false,\"uid\":0},{\"exists\":false,\"path\":\"/root/.netrc\"},{\"exists\":false,\"path\":\"/root/.config/git/credentials\"},{\"exists\":false,\"path\":\"/etc/gitconfig\"},{\"directory\":false,\"executable\":false,\"exists\":true,\"gid\":0,\"mode\":\"0600\",\"path\":\"/root/.gitconfig\",\"regular\":true,\"size\":59,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0750\",\"path\":\"/usr/local/libexec\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/bin\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/sbin\",\"regular\":false,\"size\":16384,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/etc/homelab-admin\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0}],\"diagnosis\":[\"EXPLICIT_PUSH_DRY_RUN_FAILED\"],\"git\":{\"branch\":\"main\",\"config_sanitized\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"global\\tfile:/root/.gitconfig\\tcredential.helper store --file /root/.git-credentials\\nlocal\\tfile:.git/config\\tremote.origin.url https://git.gram1.ru/homelab-admin/homelab-ops.git\\nlocal\\tfile:.git/config\\tremote.origin.fetch +refs/heads/*:refs/remotes/origin/*\\nlocal\\tfile:.git/config\\tremote.origin.pushurl DISABLED\\nlocal\\tfile:.git/config\\tuser.name homelab-ops-bootstrap\\nlocal\\tfile:.git/config\\tuser.email root@pve01.gram1.ru\\n\",\"stdout_sha256\":\"2f4d107ff7d0526cdd2a2c876fcaa6d282e21961bff3ddb2df24a760b8e608be\"},\"credential_helpers_sanitized\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"global\\tfile:/root/.gitconfig\\tstore --file /root/.git-credentials\\n\",\"stdout_sha256\":\"6880ed4459b4eed6b2ba994467b13e92a901324941a5b8178375ee93f935523e\"},\"local_head\":null,\"local_is_ancestor_of_remote\":null,\"ls_remote\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"[LONG_TOKEN_REDACTED]\\trefs/heads/main\\n\",\"stdout_sha256\":\"8917a58bcaa5b50146be32125c4eff50eacd9035f041807184acbdef2c0194ec\"},\"merge_base\":null,\"origin_fetch\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"origin_main_tracking\":null,\"origin_push\":\"DISABLED\",\"push_dry_run\":{\"rc\":1,\"stderr\":\"To https://git.gram1.ru/homelab-admin/homelab-ops.git\\n ! [rejected] HEAD -> main (fetch first)\\nerror: failed to push some refs to 'https://git.gram1.ru/homelab-admin/homelab-ops.git'\\nhint: Updates were rejected because the remote contains work that you do not\\nhint: have locally. This is usually caused by another repository pushing to\\nhint: the same ref. If you want to integrate the remote changes, use\\nhint: 'git pull' before pushing again.\\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\\n\",\"stderr_sha256\":\"5a959f777afea5682e288bc1d86fe9e7aeaa90b2911bb9ce6e42bb57e07aee6b\",\"stdout\":\"\",\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"remote_is_ancestor_of_local\":null,\"remote_main_head\":null,\"remote_object_known_locally\":false,\"worktree_status\":\"\"},\"helper_candidates_metadata\":[{\"directory\":false,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/sbin/homelab-backup-gitea\",\"regular\":true,\"size\":2217,\"symlink\":false,\"uid\":0},{\"directory\":false,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0750\",\"path\":\"/usr/local/sbin/homelab-gitea-secondary-backup\",\"regular\":true,\"size\":3867,\"symlink\":false,\"uid\":0}],\"read_only\":true,\"rollback_started\":false,\"safe_next_action\":\"DESIGN_WRITE_PATH_FROM_OBSERVED_AUTH_AND_REMOTE_STATE\",\"schema\":1,\"status\":\"OK\",\"target_plan\":{\"capsule_sha256\":\"d63cd79ae8186b3c05dbcb154ce16fea9293d3b7cfd81feb334cf5377a175d23\",\"command_id\":\"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z\"}}\n"
}
@@ -0,0 +1,34 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z
STATUS=OK
RC=0
HOST=pve01
MODE=verify
COMPONENT=gitea-write-path-diagnostic
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=e525480bdd9fde90f31cc8c1d25ebd353166445ae0922e63a1fdc532d4f8248f
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=ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd
SANITIZED_OUTPUT_SHA256=ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd
OUTPUT_BEGIN
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
{"changes_made":false,"checks":{"target_is_pve01":true,"uid_is_root":true,"worktree_exists":true},"command_id":"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z","credential_metadata":[{"directory":false,"executable":false,"exists":true,"gid":990,"mode":"0600","path":"/root/.git-credentials","regular":true,"size":139,"symlink":false,"uid":0},{"exists":false,"path":"/root/.netrc"},{"exists":false,"path":"/root/.config/git/credentials"},{"exists":false,"path":"/etc/gitconfig"},{"directory":false,"executable":false,"exists":true,"gid":0,"mode":"0600","path":"/root/.gitconfig","regular":true,"size":59,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0750","path":"/usr/local/libexec","regular":false,"size":4096,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/bin","regular":false,"size":4096,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/sbin","regular":false,"size":16384,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/etc/homelab-admin","regular":false,"size":4096,"symlink":false,"uid":0}],"diagnosis":["EXPLICIT_PUSH_DRY_RUN_FAILED"],"git":{"branch":"main","config_sanitized":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"global\tfile:/root/.gitconfig\tcredential.helper store --file /root/.git-credentials\nlocal\tfile:.git/config\tremote.origin.url https://git.gram1.ru/homelab-admin/homelab-ops.git\nlocal\tfile:.git/config\tremote.origin.fetch +refs/heads/*:refs/remotes/origin/*\nlocal\tfile:.git/config\tremote.origin.pushurl DISABLED\nlocal\tfile:.git/config\tuser.name homelab-ops-bootstrap\nlocal\tfile:.git/config\tuser.email root@pve01.gram1.ru\n","stdout_sha256":"2f4d107ff7d0526cdd2a2c876fcaa6d282e21961bff3ddb2df24a760b8e608be"},"credential_helpers_sanitized":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"global\tfile:/root/.gitconfig\tstore --file /root/.git-credentials\n","stdout_sha256":"6880ed4459b4eed6b2ba994467b13e92a901324941a5b8178375ee93f935523e"},"local_head":null,"local_is_ancestor_of_remote":null,"ls_remote":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"[LONG_TOKEN_REDACTED]\trefs/heads/main\n","stdout_sha256":"8917a58bcaa5b50146be32125c4eff50eacd9035f041807184acbdef2c0194ec"},"merge_base":null,"origin_fetch":"https://git.gram1.ru/homelab-admin/homelab-ops.git","origin_main_tracking":null,"origin_push":"DISABLED","push_dry_run":{"rc":1,"stderr":"To https://git.gram1.ru/homelab-admin/homelab-ops.git\n ! [rejected] HEAD -> main (fetch first)\nerror: failed to push some refs to 'https://git.gram1.ru/homelab-admin/homelab-ops.git'\nhint: Updates were rejected because the remote contains work that you do not\nhint: have locally. This is usually caused by another repository pushing to\nhint: the same ref. If you want to integrate the remote changes, use\nhint: 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n","stderr_sha256":"5a959f777afea5682e288bc1d86fe9e7aeaa90b2911bb9ce6e42bb57e07aee6b","stdout":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"remote_is_ancestor_of_local":null,"remote_main_head":null,"remote_object_known_locally":false,"worktree_status":""},"helper_candidates_metadata":[{"directory":false,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/sbin/homelab-backup-gitea","regular":true,"size":2217,"symlink":false,"uid":0},{"directory":false,"executable":true,"exists":true,"gid":0,"mode":"0750","path":"/usr/local/sbin/homelab-gitea-secondary-backup","regular":true,"size":3867,"symlink":false,"uid":0}],"read_only":true,"rollback_started":false,"safe_next_action":"DESIGN_WRITE_PATH_FROM_OBSERVED_AUTH_AND_REMOTE_STATE","schema":1,"status":"OK","target_plan":{"capsule_sha256":"d63cd79ae8186b3c05dbcb154ce16fea9293d3b7cfd81feb334cf5377a175d23","command_id":"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z"}}
OUTPUT_END
CHAT_OUTPUT_END
+11 -11
View File
@@ -1,19 +1,19 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z",
"status": "FAIL",
"rc": 1,
"command_id": "GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "skladchik-moderator-gitea-snapshot-plan-v2",
"started_at_utc": "2026-07-27T19:32:06Z",
"finished_at_utc": "2026-07-27T19:32:07Z",
"component": "gitea-write-path-diagnostic",
"started_at_utc": "2026-07-27T19:36:23Z",
"finished_at_utc": "2026-07-27T19:36:23Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "d1b2e451209100b7f9f01a1c93f5e67eb01d41c45e1472a646a0ddf83dbd493f",
"command_sha256": "e525480bdd9fde90f31cc8c1d25ebd353166445ae0922e63a1fdc532d4f8248f",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
@@ -21,7 +21,7 @@
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 1,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
@@ -30,9 +30,9 @@
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "1d8d48b799ec4c394d433f71bbd996dc7a783aaed55f02b086bd4c16acf11442",
"sanitized_output_sha256": "1d8d48b799ec4c394d433f71bbd996dc7a783aaed55f02b086bd4c16acf11442",
"raw_evidence_sha256": "ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd",
"sanitized_output_sha256": "ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n{\"PLAN_SHA256\":null,\"changes_made\":false,\"checks\":{\"branch_main\":true,\"credential_file_safe\":false,\"credential_helper_safe\":false,\"destination_absent_filesystem\":true,\"destination_absent_git_tree\":true,\"documents_exact_count\":true,\"documents_sha_exact\":true,\"exact_manifest_count\":true,\"explicit_url_push_dry_run_allowed\":false,\"linked_runner_absent\":true,\"local_head_valid\":true,\"local_matches_remote_main\":false,\"origin_fetch_url_exact\":true,\"origin_push_url_disabled\":true,\"remote_head_valid\":true,\"safe_path:01-current-system-and-gap-analysis.md\":true,\"safe_path:02-moderator-console-specification.md\":true,\"safe_path:03-data-model-and-workflows.md\":true,\"safe_path:04-security-and-safety.md\":true,\"safe_path:05-implementation-roadmap.md\":true,\"safe_path:06-open-questions-and-evidence-gaps.md\":true,\"safe_path:HANDOFF.md\":true,\"safe_path:README.md\":true,\"source_lock:/usr/local/sbin/homelab-chat-run\":true,\"source_lock:/usr/local/sbin/homelab-command-adapter\":true,\"source_lock:/usr/local/sbin/homelab-command-portal\":true,\"source_lock:/usr/local/sbin/homelab-result-lookup\":true,\"target_is_pve01\":true,\"uid_is_root\":true,\"worktree_clean\":true,\"worktree_exists\":true},\"command_id\":\"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z\",\"failed_checks\":[\"credential_file_safe\",\"credential_helper_safe\",\"explicit_url_push_dry_run_allowed\",\"local_matches_remote_main\"],\"kind\":\"homelab-change-plan\",\"observations\":{\"branch\":\"main\",\"destination\":\"docs/projects/skladchik-moderator-assistant\",\"files\":[{\"bytes\":3585,\"path\":\"docs/projects/skladchik-moderator-assistant/01-current-system-and-gap-analysis.md\",\"sha256\":\"80393add0657b1622290e8f6d7ce871a38c88662afb13a269b0d024c429f52b4\"},{\"bytes\":4777,\"path\":\"docs/projects/skladchik-moderator-assistant/02-moderator-console-specification.md\",\"sha256\":\"73cd17fed76bbf93425bf3cef5a2fe54d81a784f8b72471b0cb4b386a5f2b256\"},{\"bytes\":2744,\"path\":\"docs/projects/skladchik-moderator-assistant/03-data-model-and-workflows.md\",\"sha256\":\"a9e88f904087525fec23d4ed8d3622e0bb5fbedd96304c2155b499b310edd585\"},{\"bytes\":2374,\"path\":\"docs/projects/skladchik-moderator-assistant/04-security-and-safety.md\",\"sha256\":\"d9cf5957de7f071d855e89a0b562b24bd32f0b9742706cc69ca60703b26e9c15\"},{\"bytes\":2870,\"path\":\"docs/projects/skladchik-moderator-assistant/05-implementation-roadmap.md\",\"sha256\":\"62f1650fafe09a42e803cedc08b177502fd50c057294fff0f0ebf6e92b07b96d\"},{\"bytes\":1908,\"path\":\"docs/projects/skladchik-moderator-assistant/06-open-questions-and-evidence-gaps.md\",\"sha256\":\"c1aed9b0c89a4cb4f3e86f09ce6f04536235490e866097e06c81078f519bde10\"},{\"bytes\":1386,\"path\":\"docs/projects/skladchik-moderator-assistant/HANDOFF.md\",\"sha256\":\"0510650416c1d08a5b9b51cc7f1e564b46b982e74fe074f31fb19f0ccb454a0e\"},{\"bytes\":4543,\"path\":\"docs/projects/skladchik-moderator-assistant/README.md\",\"sha256\":\"bbf0c7fb8fc0d7a595aa1421790470dc719aef4ee7c2d8608e80d7fbebd7ed27\"}],\"local_head\":\"25b275f96b54551e26f07516c72651d85f235ad0\",\"origin_push_url\":\"DISABLED\",\"push_dry_run_rc\":1,\"push_dry_run_stderr_sha256\":\"772f198df7a83fbe967a5772031fbb802c090e929e9af4af07ba00bc8b3ce2a4\",\"remote_main_head\":\"feea9370499998e7a742e8f12644d80b1c4bfe57\",\"remote_url\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"repository\":\"homelab-admin/homelab-ops\"},\"read_only\":true,\"rollback_started\":false,\"schema\":1,\"status\":\"BLOCKED\"}\n"
"output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"checks\":{\"target_is_pve01\":true,\"uid_is_root\":true,\"worktree_exists\":true},\"command_id\":\"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z\",\"credential_metadata\":[{\"directory\":false,\"executable\":false,\"exists\":true,\"gid\":990,\"mode\":\"0600\",\"path\":\"/root/.git-credentials\",\"regular\":true,\"size\":139,\"symlink\":false,\"uid\":0},{\"exists\":false,\"path\":\"/root/.netrc\"},{\"exists\":false,\"path\":\"/root/.config/git/credentials\"},{\"exists\":false,\"path\":\"/etc/gitconfig\"},{\"directory\":false,\"executable\":false,\"exists\":true,\"gid\":0,\"mode\":\"0600\",\"path\":\"/root/.gitconfig\",\"regular\":true,\"size\":59,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0750\",\"path\":\"/usr/local/libexec\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/bin\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/sbin\",\"regular\":false,\"size\":16384,\"symlink\":false,\"uid\":0},{\"directory\":true,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/etc/homelab-admin\",\"regular\":false,\"size\":4096,\"symlink\":false,\"uid\":0}],\"diagnosis\":[\"EXPLICIT_PUSH_DRY_RUN_FAILED\"],\"git\":{\"branch\":\"main\",\"config_sanitized\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"global\\tfile:/root/.gitconfig\\tcredential.helper store --file /root/.git-credentials\\nlocal\\tfile:.git/config\\tremote.origin.url https://git.gram1.ru/homelab-admin/homelab-ops.git\\nlocal\\tfile:.git/config\\tremote.origin.fetch +refs/heads/*:refs/remotes/origin/*\\nlocal\\tfile:.git/config\\tremote.origin.pushurl DISABLED\\nlocal\\tfile:.git/config\\tuser.name homelab-ops-bootstrap\\nlocal\\tfile:.git/config\\tuser.email root@pve01.gram1.ru\\n\",\"stdout_sha256\":\"2f4d107ff7d0526cdd2a2c876fcaa6d282e21961bff3ddb2df24a760b8e608be\"},\"credential_helpers_sanitized\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"global\\tfile:/root/.gitconfig\\tstore --file /root/.git-credentials\\n\",\"stdout_sha256\":\"6880ed4459b4eed6b2ba994467b13e92a901324941a5b8178375ee93f935523e\"},\"local_head\":null,\"local_is_ancestor_of_remote\":null,\"ls_remote\":{\"rc\":0,\"stderr\":\"\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout\":\"[LONG_TOKEN_REDACTED]\\trefs/heads/main\\n\",\"stdout_sha256\":\"8917a58bcaa5b50146be32125c4eff50eacd9035f041807184acbdef2c0194ec\"},\"merge_base\":null,\"origin_fetch\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"origin_main_tracking\":null,\"origin_push\":\"DISABLED\",\"push_dry_run\":{\"rc\":1,\"stderr\":\"To https://git.gram1.ru/homelab-admin/homelab-ops.git\\n ! [rejected] HEAD -> main (fetch first)\\nerror: failed to push some refs to 'https://git.gram1.ru/homelab-admin/homelab-ops.git'\\nhint: Updates were rejected because the remote contains work that you do not\\nhint: have locally. This is usually caused by another repository pushing to\\nhint: the same ref. If you want to integrate the remote changes, use\\nhint: 'git pull' before pushing again.\\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\\n\",\"stderr_sha256\":\"5a959f777afea5682e288bc1d86fe9e7aeaa90b2911bb9ce6e42bb57e07aee6b\",\"stdout\":\"\",\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"remote_is_ancestor_of_local\":null,\"remote_main_head\":null,\"remote_object_known_locally\":false,\"worktree_status\":\"\"},\"helper_candidates_metadata\":[{\"directory\":false,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0755\",\"path\":\"/usr/local/sbin/homelab-backup-gitea\",\"regular\":true,\"size\":2217,\"symlink\":false,\"uid\":0},{\"directory\":false,\"executable\":true,\"exists\":true,\"gid\":0,\"mode\":\"0750\",\"path\":\"/usr/local/sbin/homelab-gitea-secondary-backup\",\"regular\":true,\"size\":3867,\"symlink\":false,\"uid\":0}],\"read_only\":true,\"rollback_started\":false,\"safe_next_action\":\"DESIGN_WRITE_PATH_FROM_OBSERVED_AUTH_AND_REMOTE_STATE\",\"schema\":1,\"status\":\"OK\",\"target_plan\":{\"capsule_sha256\":\"d63cd79ae8186b3c05dbcb154ce16fea9293d3b7cfd81feb334cf5377a175d23\",\"command_id\":\"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z\"}}\n"
}
+10 -10
View File
@@ -1,22 +1,22 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z
STATUS=FAIL
RC=1
COMMAND_ID=GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z
STATUS=OK
RC=0
HOST=pve01
MODE=verify
COMPONENT=skladchik-moderator-gitea-snapshot-plan-v2
COMPONENT=gitea-write-path-diagnostic
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=d1b2e451209100b7f9f01a1c93f5e67eb01d41c45e1472a646a0ddf83dbd493f
COMMAND_SHA256=e525480bdd9fde90f31cc8c1d25ebd353166445ae0922e63a1fdc532d4f8248f
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=1
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
@@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=1d8d48b799ec4c394d433f71bbd996dc7a783aaed55f02b086bd4c16acf11442
SANITIZED_OUTPUT_SHA256=1d8d48b799ec4c394d433f71bbd996dc7a783aaed55f02b086bd4c16acf11442
RAW_EVIDENCE_SHA256=ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd
SANITIZED_OUTPUT_SHA256=ad16151f993c3c737e82cac13f1664543993d06eb20e0e26a1367439c3682acd
OUTPUT_BEGIN
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
{"PLAN_SHA256":null,"changes_made":false,"checks":{"branch_main":true,"credential_file_safe":false,"credential_helper_safe":false,"destination_absent_filesystem":true,"destination_absent_git_tree":true,"documents_exact_count":true,"documents_sha_exact":true,"exact_manifest_count":true,"explicit_url_push_dry_run_allowed":false,"linked_runner_absent":true,"local_head_valid":true,"local_matches_remote_main":false,"origin_fetch_url_exact":true,"origin_push_url_disabled":true,"remote_head_valid":true,"safe_path:01-current-system-and-gap-analysis.md":true,"safe_path:02-moderator-console-specification.md":true,"safe_path:03-data-model-and-workflows.md":true,"safe_path:04-security-and-safety.md":true,"safe_path:05-implementation-roadmap.md":true,"safe_path:06-open-questions-and-evidence-gaps.md":true,"safe_path:HANDOFF.md":true,"safe_path:README.md":true,"source_lock:/usr/local/sbin/homelab-chat-run":true,"source_lock:/usr/local/sbin/homelab-command-adapter":true,"source_lock:/usr/local/sbin/homelab-command-portal":true,"source_lock:/usr/local/sbin/homelab-result-lookup":true,"target_is_pve01":true,"uid_is_root":true,"worktree_clean":true,"worktree_exists":true},"command_id":"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z","failed_checks":["credential_file_safe","credential_helper_safe","explicit_url_push_dry_run_allowed","local_matches_remote_main"],"kind":"homelab-change-plan","observations":{"branch":"main","destination":"docs/projects/skladchik-moderator-assistant","files":[{"bytes":3585,"path":"docs/projects/skladchik-moderator-assistant/01-current-system-and-gap-analysis.md","sha256":"80393add0657b1622290e8f6d7ce871a38c88662afb13a269b0d024c429f52b4"},{"bytes":4777,"path":"docs/projects/skladchik-moderator-assistant/02-moderator-console-specification.md","sha256":"73cd17fed76bbf93425bf3cef5a2fe54d81a784f8b72471b0cb4b386a5f2b256"},{"bytes":2744,"path":"docs/projects/skladchik-moderator-assistant/03-data-model-and-workflows.md","sha256":"a9e88f904087525fec23d4ed8d3622e0bb5fbedd96304c2155b499b310edd585"},{"bytes":2374,"path":"docs/projects/skladchik-moderator-assistant/04-security-and-safety.md","sha256":"d9cf5957de7f071d855e89a0b562b24bd32f0b9742706cc69ca60703b26e9c15"},{"bytes":2870,"path":"docs/projects/skladchik-moderator-assistant/05-implementation-roadmap.md","sha256":"62f1650fafe09a42e803cedc08b177502fd50c057294fff0f0ebf6e92b07b96d"},{"bytes":1908,"path":"docs/projects/skladchik-moderator-assistant/06-open-questions-and-evidence-gaps.md","sha256":"c1aed9b0c89a4cb4f3e86f09ce6f04536235490e866097e06c81078f519bde10"},{"bytes":1386,"path":"docs/projects/skladchik-moderator-assistant/HANDOFF.md","sha256":"0510650416c1d08a5b9b51cc7f1e564b46b982e74fe074f31fb19f0ccb454a0e"},{"bytes":4543,"path":"docs/projects/skladchik-moderator-assistant/README.md","sha256":"bbf0c7fb8fc0d7a595aa1421790470dc719aef4ee7c2d8608e80d7fbebd7ed27"}],"local_head":"25b275f96b54551e26f07516c72651d85f235ad0","origin_push_url":"DISABLED","push_dry_run_rc":1,"push_dry_run_stderr_sha256":"772f198df7a83fbe967a5772031fbb802c090e929e9af4af07ba00bc8b3ce2a4","remote_main_head":"feea9370499998e7a742e8f12644d80b1c4bfe57","remote_url":"https://git.gram1.ru/homelab-admin/homelab-ops.git","repository":"homelab-admin/homelab-ops"},"read_only":true,"rollback_started":false,"schema":1,"status":"BLOCKED"}
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
{"changes_made":false,"checks":{"target_is_pve01":true,"uid_is_root":true,"worktree_exists":true},"command_id":"GITEA-WRITE-PATH-READONLY-DIAG-20260727T193539Z","credential_metadata":[{"directory":false,"executable":false,"exists":true,"gid":990,"mode":"0600","path":"/root/.git-credentials","regular":true,"size":139,"symlink":false,"uid":0},{"exists":false,"path":"/root/.netrc"},{"exists":false,"path":"/root/.config/git/credentials"},{"exists":false,"path":"/etc/gitconfig"},{"directory":false,"executable":false,"exists":true,"gid":0,"mode":"0600","path":"/root/.gitconfig","regular":true,"size":59,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0750","path":"/usr/local/libexec","regular":false,"size":4096,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/bin","regular":false,"size":4096,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/sbin","regular":false,"size":16384,"symlink":false,"uid":0},{"directory":true,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/etc/homelab-admin","regular":false,"size":4096,"symlink":false,"uid":0}],"diagnosis":["EXPLICIT_PUSH_DRY_RUN_FAILED"],"git":{"branch":"main","config_sanitized":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"global\tfile:/root/.gitconfig\tcredential.helper store --file /root/.git-credentials\nlocal\tfile:.git/config\tremote.origin.url https://git.gram1.ru/homelab-admin/homelab-ops.git\nlocal\tfile:.git/config\tremote.origin.fetch +refs/heads/*:refs/remotes/origin/*\nlocal\tfile:.git/config\tremote.origin.pushurl DISABLED\nlocal\tfile:.git/config\tuser.name homelab-ops-bootstrap\nlocal\tfile:.git/config\tuser.email root@pve01.gram1.ru\n","stdout_sha256":"2f4d107ff7d0526cdd2a2c876fcaa6d282e21961bff3ddb2df24a760b8e608be"},"credential_helpers_sanitized":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"global\tfile:/root/.gitconfig\tstore --file /root/.git-credentials\n","stdout_sha256":"6880ed4459b4eed6b2ba994467b13e92a901324941a5b8178375ee93f935523e"},"local_head":null,"local_is_ancestor_of_remote":null,"ls_remote":{"rc":0,"stderr":"","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"[LONG_TOKEN_REDACTED]\trefs/heads/main\n","stdout_sha256":"8917a58bcaa5b50146be32125c4eff50eacd9035f041807184acbdef2c0194ec"},"merge_base":null,"origin_fetch":"https://git.gram1.ru/homelab-admin/homelab-ops.git","origin_main_tracking":null,"origin_push":"DISABLED","push_dry_run":{"rc":1,"stderr":"To https://git.gram1.ru/homelab-admin/homelab-ops.git\n ! [rejected] HEAD -> main (fetch first)\nerror: failed to push some refs to 'https://git.gram1.ru/homelab-admin/homelab-ops.git'\nhint: Updates were rejected because the remote contains work that you do not\nhint: have locally. This is usually caused by another repository pushing to\nhint: the same ref. If you want to integrate the remote changes, use\nhint: 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n","stderr_sha256":"5a959f777afea5682e288bc1d86fe9e7aeaa90b2911bb9ce6e42bb57e07aee6b","stdout":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"remote_is_ancestor_of_local":null,"remote_main_head":null,"remote_object_known_locally":false,"worktree_status":""},"helper_candidates_metadata":[{"directory":false,"executable":true,"exists":true,"gid":0,"mode":"0755","path":"/usr/local/sbin/homelab-backup-gitea","regular":true,"size":2217,"symlink":false,"uid":0},{"directory":false,"executable":true,"exists":true,"gid":0,"mode":"0750","path":"/usr/local/sbin/homelab-gitea-secondary-backup","regular":true,"size":3867,"symlink":false,"uid":0}],"read_only":true,"rollback_started":false,"safe_next_action":"DESIGN_WRITE_PATH_FROM_OBSERVED_AUTH_AND_REMOTE_STATE","schema":1,"status":"OK","target_plan":{"capsule_sha256":"d63cd79ae8186b3c05dbcb154ce16fea9293d3b7cfd81feb334cf5377a175d23","command_id":"SKLADCHIK-MODERATOR-GITEA-SNAPSHOT-PLAN-V2-20260727T183508Z"}}
OUTPUT_END
CHAT_OUTPUT_END