From 227cef42ef87fb3bc68396c5a57327bd31dd84de Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 29 Jul 2026 09:25:03 +0000 Subject: [PATCH] runtime: publish SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z --- ...ADCHIK-GITEA-PR-PLAN-20260729T092420Z.json | 38 +++++++++++++++++++ ...LADCHIK-GITEA-PR-PLAN-20260729T092420Z.txt | 34 +++++++++++++++++ runtime/latest.json | 16 ++++---- runtime/latest.txt | 14 +++---- 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.json create mode 100644 runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.txt diff --git a/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.json b/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.json new file mode 100644 index 0000000..d69b44b --- /dev/null +++ b/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "skladchik-gitea-pr-plan", + "started_at_utc": "2026-07-29T09:24:59Z", + "finished_at_utc": "2026-07-29T09:25:02Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "d8788508d561376ade3638e23959de5ff7a4ec3809721724ef41fa1bcc2497bb", + "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": "f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d", + "sanitized_output_sha256": "f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d", + "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-GITEA-PR-PLAN-20260729T092420Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"a64cdeb23e1f5f4e43a245619cef1ff59da90d4e801912ddf1536354c69250bf\",\"action\":\"CREATE\",\"api\":{\"direct_push_enabled\":false,\"endpoint_checks\":{\"create_pr\":true,\"delete_branch\":true,\"edit_pr\":true,\"get_pr\":true,\"merge_pr\":true},\"merge_whitelist_enabled\":true,\"merge_whitelist_teams\":[],\"merge_whitelist_usernames\":[\"homelab-admin\"],\"permission\":\"owner\",\"swagger_attempts\":[{\"body_sha256\":\"5cf3d367ba1e073177421344d82490f226e044999c90e5b336d5ccdf21c9b027\",\"http\":200,\"url_sha256\":\"f50ad8b7492b55f4cf274a0e386fb57f70885d90eae64718e54f5ed1c8b423f8\"}],\"user_login_sha256\":\"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7\"},\"backup_changed\":false,\"base_branch\":\"main\",\"base_head\":\"feea9370499998e7a742e8f12644d80b1c4bfe57\",\"candidate_commit\":\"443bf03f602a25527281945bc61324f5a2b70777\",\"changes_made\":false,\"command_id\":\"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z\",\"dry_run\":{\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_sha256\":\"ce5760c5345770915a74889ef66230c025562add3b4073cfe4de3f4c09f049f2\"},\"gitea_changed\":false,\"merge_style\":\"squash\",\"mutation_outcome\":\"NO_MUTATION\",\"private_addresses_included\":false,\"production_changed\":false,\"repository\":\"homelab-admin/homelab-ops\",\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"services_changed\":false,\"status\":\"PLAN_READY\",\"target_path\":\"docs/planned/skladchik-moderator-assistant.md\",\"temp_branch\":\"automation/skladchik-planned-e74454f528cd-20260729t092420z\"}\n" +} diff --git a/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.txt b/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.txt new file mode 100644 index 0000000..fb0d5d8 --- /dev/null +++ b/runtime/history/SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=skladchik-gitea-pr-plan +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=d8788508d561376ade3638e23959de5ff7a4ec3809721724ef41fa1bcc2497bb +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=f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d +SANITIZED_OUTPUT_SHA256=f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"a64cdeb23e1f5f4e43a245619cef1ff59da90d4e801912ddf1536354c69250bf","action":"CREATE","api":{"direct_push_enabled":false,"endpoint_checks":{"create_pr":true,"delete_branch":true,"edit_pr":true,"get_pr":true,"merge_pr":true},"merge_whitelist_enabled":true,"merge_whitelist_teams":[],"merge_whitelist_usernames":["homelab-admin"],"permission":"owner","swagger_attempts":[{"body_sha256":"5cf3d367ba1e073177421344d82490f226e044999c90e5b336d5ccdf21c9b027","http":200,"url_sha256":"f50ad8b7492b55f4cf274a0e386fb57f70885d90eae64718e54f5ed1c8b423f8"}],"user_login_sha256":"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7"},"backup_changed":false,"base_branch":"main","base_head":"feea9370499998e7a742e8f12644d80b1c4bfe57","candidate_commit":"443bf03f602a25527281945bc61324f5a2b70777","changes_made":false,"command_id":"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z","dry_run":{"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"ce5760c5345770915a74889ef66230c025562add3b4073cfe4de3f4c09f049f2"},"gitea_changed":false,"merge_style":"squash","mutation_outcome":"NO_MUTATION","private_addresses_included":false,"production_changed":false,"repository":"homelab-admin/homelab-ops","rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"services_changed":false,"status":"PLAN_READY","target_path":"docs/planned/skladchik-moderator-assistant.md","temp_branch":"automation/skladchik-planned-e74454f528cd-20260729t092420z"} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index c5b5177..d69b44b 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SKLADCHIK-GITEA-PUSH-DIAG-PLAN-20260729T091746Z", + "command_id": "SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", - "component": "skladchik-gitea-push-diagnostic-plan", - "started_at_utc": "2026-07-29T09:18:38Z", - "finished_at_utc": "2026-07-29T09:18:41Z", + "component": "skladchik-gitea-pr-plan", + "started_at_utc": "2026-07-29T09:24:59Z", + "finished_at_utc": "2026-07-29T09:25:02Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "272371709bb35b5880026d4e4070a373667548b12996b9dfec3e656095198a5a", + "command_sha256": "d8788508d561376ade3638e23959de5ff7a4ec3809721724ef41fa1bcc2497bb", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "d3f695fef362404a34519926c26842e88ff37d5b3d3c8aef4a0e53413c0cf182", - "sanitized_output_sha256": "d3f695fef362404a34519926c26842e88ff37d5b3d3c8aef4a0e53413c0cf182", + "raw_evidence_sha256": "f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d", + "sanitized_output_sha256": "f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d", "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-GITEA-PUSH-DIAG-PLAN-20260729T091746Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"e0c2040e9251aef79c9203040d53b669723984dff770f17b96ce0c6b35d3aff3\",\"action\":\"CREATE\",\"api\":{\"permission\":\"owner\",\"permission_http\":200,\"protection\":{\"block_on_outdated_branch\":false,\"block_on_rejected_reviews\":true,\"branch_name\":\"main\",\"dismiss_stale_approvals\":true,\"enable_approvals_whitelist\":false,\"enable_merge_whitelist\":true,\"enable_push\":false,\"enable_push_whitelist\":false,\"enable_status_check\":false,\"protected_file_patterns\":\"\",\"push_whitelist_deploy_keys\":false,\"push_whitelist_teams\":[],\"push_whitelist_usernames\":[],\"require_signed_commits\":false,\"required_approvals\":0,\"status_check_contexts\":[],\"unprotected_file_patterns\":\"\"},\"protection_http\":200,\"protections_body_sha256\":\"063eb028bbb24c2e93f71369bd0d6f1ec420eccf996788e441bd5d8a1a4cce83\",\"protections_http\":200,\"repository_http\":200,\"user_http\":200,\"user_login_sha256\":\"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7\"},\"backup_changed\":false,\"base_head\":\"feea9370499998e7a742e8f12644d80b1c4bfe57\",\"branch\":\"main\",\"candidate_commit\":\"6f3e4ae0527ec157581293536ea66483d42f8389\",\"changes_made\":false,\"command_id\":\"SKLADCHIK-GITEA-PUSH-DIAG-PLAN-20260729T091746Z\",\"diagnosis\":\"DIRECT_PUSH_DISABLED\",\"dry_run\":{\"classes\":[],\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_sha256\":\"cf514fe1969371732b259c4bd96b8b516429fb9a6f7d91be6f02eebc932b89df\"},\"failed_command_id\":\"SKLADCHIK-PLANNED-GITEA-APPLY-FINAL-FIX1-20260729T075315Z\",\"failed_runner_rc\":1,\"gitea_changed\":false,\"mutation_outcome\":\"NO_MUTATION\",\"private_addresses_included\":false,\"production_changed\":false,\"repository\":\"homelab-admin/homelab-ops\",\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"services_changed\":false,\"status\":\"DIAGNOSIS_READY\",\"target_path\":\"docs/planned/skladchik-moderator-assistant.md\"}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"a64cdeb23e1f5f4e43a245619cef1ff59da90d4e801912ddf1536354c69250bf\",\"action\":\"CREATE\",\"api\":{\"direct_push_enabled\":false,\"endpoint_checks\":{\"create_pr\":true,\"delete_branch\":true,\"edit_pr\":true,\"get_pr\":true,\"merge_pr\":true},\"merge_whitelist_enabled\":true,\"merge_whitelist_teams\":[],\"merge_whitelist_usernames\":[\"homelab-admin\"],\"permission\":\"owner\",\"swagger_attempts\":[{\"body_sha256\":\"5cf3d367ba1e073177421344d82490f226e044999c90e5b336d5ccdf21c9b027\",\"http\":200,\"url_sha256\":\"f50ad8b7492b55f4cf274a0e386fb57f70885d90eae64718e54f5ed1c8b423f8\"}],\"user_login_sha256\":\"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7\"},\"backup_changed\":false,\"base_branch\":\"main\",\"base_head\":\"feea9370499998e7a742e8f12644d80b1c4bfe57\",\"candidate_commit\":\"443bf03f602a25527281945bc61324f5a2b70777\",\"changes_made\":false,\"command_id\":\"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z\",\"dry_run\":{\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_sha256\":\"ce5760c5345770915a74889ef66230c025562add3b4073cfe4de3f4c09f049f2\"},\"gitea_changed\":false,\"merge_style\":\"squash\",\"mutation_outcome\":\"NO_MUTATION\",\"private_addresses_included\":false,\"production_changed\":false,\"repository\":\"homelab-admin/homelab-ops\",\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"services_changed\":false,\"status\":\"PLAN_READY\",\"target_path\":\"docs/planned/skladchik-moderator-assistant.md\",\"temp_branch\":\"automation/skladchik-planned-e74454f528cd-20260729t092420z\"}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 7f43f42..fb0d5d8 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SKLADCHIK-GITEA-PUSH-DIAG-PLAN-20260729T091746Z +COMMAND_ID=SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z STATUS=OK RC=0 HOST=pve01 MODE=verify -COMPONENT=skladchik-gitea-push-diagnostic-plan +COMPONENT=skladchik-gitea-pr-plan REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=272371709bb35b5880026d4e4070a373667548b12996b9dfec3e656095198a5a +COMMAND_SHA256=d8788508d561376ade3638e23959de5ff7a4ec3809721724ef41fa1bcc2497bb DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=d3f695fef362404a34519926c26842e88ff37d5b3d3c8aef4a0e53413c0cf182 -SANITIZED_OUTPUT_SHA256=d3f695fef362404a34519926c26842e88ff37d5b3d3c8aef4a0e53413c0cf182 +RAW_EVIDENCE_SHA256=f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d +SANITIZED_OUTPUT_SHA256=f552adb91f3a8f22f4ee9b18ffb37b6fd80e34d5b452ba8d8b8e42c0edaac26d OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SKLADCHIK-GITEA-PUSH-DIAG-PLAN-20260729T091746Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -{"PLAN_SHA256":"e0c2040e9251aef79c9203040d53b669723984dff770f17b96ce0c6b35d3aff3","action":"CREATE","api":{"permission":"owner","permission_http":200,"protection":{"block_on_outdated_branch":false,"block_on_rejected_reviews":true,"branch_name":"main","dismiss_stale_approvals":true,"enable_approvals_whitelist":false,"enable_merge_whitelist":true,"enable_push":false,"enable_push_whitelist":false,"enable_status_check":false,"protected_file_patterns":"","push_whitelist_deploy_keys":false,"push_whitelist_teams":[],"push_whitelist_usernames":[],"require_signed_commits":false,"required_approvals":0,"status_check_contexts":[],"unprotected_file_patterns":""},"protection_http":200,"protections_body_sha256":"063eb028bbb24c2e93f71369bd0d6f1ec420eccf996788e441bd5d8a1a4cce83","protections_http":200,"repository_http":200,"user_http":200,"user_login_sha256":"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7"},"backup_changed":false,"base_head":"feea9370499998e7a742e8f12644d80b1c4bfe57","branch":"main","candidate_commit":"6f3e4ae0527ec157581293536ea66483d42f8389","changes_made":false,"command_id":"SKLADCHIK-GITEA-PUSH-DIAG-PLAN-20260729T091746Z","diagnosis":"DIRECT_PUSH_DISABLED","dry_run":{"classes":[],"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"cf514fe1969371732b259c4bd96b8b516429fb9a6f7d91be6f02eebc932b89df"},"failed_command_id":"SKLADCHIK-PLANNED-GITEA-APPLY-FINAL-FIX1-20260729T075315Z","failed_runner_rc":1,"gitea_changed":false,"mutation_outcome":"NO_MUTATION","private_addresses_included":false,"production_changed":false,"repository":"homelab-admin/homelab-ops","rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"services_changed":false,"status":"DIAGNOSIS_READY","target_path":"docs/planned/skladchik-moderator-assistant.md"} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"a64cdeb23e1f5f4e43a245619cef1ff59da90d4e801912ddf1536354c69250bf","action":"CREATE","api":{"direct_push_enabled":false,"endpoint_checks":{"create_pr":true,"delete_branch":true,"edit_pr":true,"get_pr":true,"merge_pr":true},"merge_whitelist_enabled":true,"merge_whitelist_teams":[],"merge_whitelist_usernames":["homelab-admin"],"permission":"owner","swagger_attempts":[{"body_sha256":"5cf3d367ba1e073177421344d82490f226e044999c90e5b336d5ccdf21c9b027","http":200,"url_sha256":"f50ad8b7492b55f4cf274a0e386fb57f70885d90eae64718e54f5ed1c8b423f8"}],"user_login_sha256":"17be8cd40a805524484650e38ba17226d72606f6868226bfc7ddadcd407344a7"},"backup_changed":false,"base_branch":"main","base_head":"feea9370499998e7a742e8f12644d80b1c4bfe57","candidate_commit":"443bf03f602a25527281945bc61324f5a2b70777","changes_made":false,"command_id":"SKLADCHIK-GITEA-PR-PLAN-20260729T092420Z","dry_run":{"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"ce5760c5345770915a74889ef66230c025562add3b4073cfe4de3f4c09f049f2"},"gitea_changed":false,"merge_style":"squash","mutation_outcome":"NO_MUTATION","private_addresses_included":false,"production_changed":false,"repository":"homelab-admin/homelab-ops","rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"services_changed":false,"status":"PLAN_READY","target_path":"docs/planned/skladchik-moderator-assistant.md","temp_branch":"automation/skladchik-planned-e74454f528cd-20260729t092420z"} OUTPUT_END CHAT_OUTPUT_END