diff --git a/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.json b/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.json new file mode 100644 index 0000000..7cda5c4 --- /dev/null +++ b/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "automatic-result-slot-directory-plan-fix3", + "started_at_utc": "2026-07-29T07:12:54Z", + "finished_at_utc": "2026-07-29T07:13:00Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "903320b8489f9acafdf80a0092d58b3818312efc0a21a139531dc8c5ee3d05bc", + "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": "77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d", + "sanitized_output_sha256": "77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d", + "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\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"4c54e5100700a1c495f3a30ff6807a8e91929f31f93adf713777370ecf71b215\",\"adapter_changed\":false,\"backup_changed\":false,\"changes_made\":false,\"cluster_changed\":false,\"command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z\",\"current_lookup_sha256\":\"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e\",\"current_unit_sha256\":\"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a\",\"edge_changed\":false,\"gitea_changed\":false,\"minio_changed\":false,\"plan\":{\"acceptance_tests\":[\"every directory page exposes exactly 16 ordered relative links\",\"all 12 key levels and the final lane level are traversable\",\"two lanes for one capsule return the same exact result and different probes\",\"an older capsule-bound result remains readable after a newer unrelated result appears\",\"a new terminal fixture becomes visible without Lookup restart\",\"corrupting a matching result makes its capsule-bound slot return HTTP 409\",\"restoring the matching result restores its capsule-bound slot\",\"two terminal results sharing the 48-bit prefix return HTTP 409 ambiguous\",\"following the exact link returns full sanitized output and a valid contract\",\"candidate passes read-only against real production state\",\"local latest JSON identifies initial and dynamically newer fixture results\",\"local latest JSON returns 409 for corrupt newest and recovers after restoration\",\"real production latest identity uses local JSON without redirect regex\"],\"anti_regression\":{\"identity_endpoint\":\"/.well-known/homelab-runtime/latest.json\",\"observed_failure\":\"LATEST_POINTER_PATH\",\"redirect_regex_used\":false},\"apply_scope\":{\"forbidden\":[\"modify Adapter\",\"modify Portal\",\"modify edge Nginx\",\"modify Gitea\",\"modify MinIO\",\"modify backups\",\"create second runner\"],\"modify\":[\"/usr/local/sbin/homelab-result-lookup\"],\"restart_only\":[\"homelab-result-lookup.service\"],\"unit_change_expected\":false},\"bootstrap_url\":\"https://git.gram1.ru/.well-known/homelab-runtime/result/0000000000000000000000000000000000000000000000000000000000000000/slots/index.html\",\"current_lookup_sha256\":\"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e\",\"current_unit_sha256\":\"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a\",\"objective\":\"Provide a cache-independent and capsule-bound assistant readback path. The verifier obtains real latest identity from the local JSON latest endpoint and does not parse redirect paths.\",\"operation\":\"AUTOMATIC_RESULT_SLOT_DIRECTORY_FIX3\",\"read_only_plan\":true,\"schema\":1,\"selection_contract\":{\"global_newer_unrelated_result\":\"does not affect the capsule-bound slot\",\"matching_result_corrupt\":\"HTTP 409\",\"multiple_results_with_same_48bit_prefix\":\"HTTP 409\",\"no_matching_terminal_result\":\"HTTP 404\",\"one_valid_matching_result\":\"HTTP 200 slot page\"},\"slot_derivation\":{\"branching\":16,\"capsule_key\":\"first 12 hexadecimal characters of expected capsule_sha256\",\"capsule_prefix_bits\":48,\"independent_lanes_per_result\":16,\"key_levels\":12,\"lane\":\"13th capsule character by default; choose another lane if the browser has already opened that final URL\",\"lane_levels\":1,\"total_clicks_after_bootstrap\":13},\"target_lookup_sha256\":\"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30\"},\"portal_changed\":false,\"private_addresses_included\":false,\"real_state\":{\"exact_http\":200,\"fresh_lane_probe\":true,\"full_output_present\":true,\"latest_capsule_sha256\":\"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5\",\"latest_command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"latest_runner_json_sha256\":\"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b\",\"slot_capsule_sha256\":\"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5\",\"slot_command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"slot_runner_json_sha256\":\"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b\"},\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_READY\",\"target_lookup_sha256\":\"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30\"}\n" +} diff --git a/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.txt b/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.txt new file mode 100644 index 0000000..1271a5a --- /dev/null +++ b/runtime/history/AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=automatic-result-slot-directory-plan-fix3 +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=903320b8489f9acafdf80a0092d58b3818312efc0a21a139531dc8c5ee3d05bc +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=77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d +SANITIZED_OUTPUT_SHA256=77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"4c54e5100700a1c495f3a30ff6807a8e91929f31f93adf713777370ecf71b215","adapter_changed":false,"backup_changed":false,"changes_made":false,"cluster_changed":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z","current_lookup_sha256":"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e","current_unit_sha256":"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a","edge_changed":false,"gitea_changed":false,"minio_changed":false,"plan":{"acceptance_tests":["every directory page exposes exactly 16 ordered relative links","all 12 key levels and the final lane level are traversable","two lanes for one capsule return the same exact result and different probes","an older capsule-bound result remains readable after a newer unrelated result appears","a new terminal fixture becomes visible without Lookup restart","corrupting a matching result makes its capsule-bound slot return HTTP 409","restoring the matching result restores its capsule-bound slot","two terminal results sharing the 48-bit prefix return HTTP 409 ambiguous","following the exact link returns full sanitized output and a valid contract","candidate passes read-only against real production state","local latest JSON identifies initial and dynamically newer fixture results","local latest JSON returns 409 for corrupt newest and recovers after restoration","real production latest identity uses local JSON without redirect regex"],"anti_regression":{"identity_endpoint":"/.well-known/homelab-runtime/latest.json","observed_failure":"LATEST_POINTER_PATH","redirect_regex_used":false},"apply_scope":{"forbidden":["modify Adapter","modify Portal","modify edge Nginx","modify Gitea","modify MinIO","modify backups","create second runner"],"modify":["/usr/local/sbin/homelab-result-lookup"],"restart_only":["homelab-result-lookup.service"],"unit_change_expected":false},"bootstrap_url":"https://git.gram1.ru/.well-known/homelab-runtime/result/0000000000000000000000000000000000000000000000000000000000000000/slots/index.html","current_lookup_sha256":"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e","current_unit_sha256":"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a","objective":"Provide a cache-independent and capsule-bound assistant readback path. The verifier obtains real latest identity from the local JSON latest endpoint and does not parse redirect paths.","operation":"AUTOMATIC_RESULT_SLOT_DIRECTORY_FIX3","read_only_plan":true,"schema":1,"selection_contract":{"global_newer_unrelated_result":"does not affect the capsule-bound slot","matching_result_corrupt":"HTTP 409","multiple_results_with_same_48bit_prefix":"HTTP 409","no_matching_terminal_result":"HTTP 404","one_valid_matching_result":"HTTP 200 slot page"},"slot_derivation":{"branching":16,"capsule_key":"first 12 hexadecimal characters of expected capsule_sha256","capsule_prefix_bits":48,"independent_lanes_per_result":16,"key_levels":12,"lane":"13th capsule character by default; choose another lane if the browser has already opened that final URL","lane_levels":1,"total_clicks_after_bootstrap":13},"target_lookup_sha256":"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30"},"portal_changed":false,"private_addresses_included":false,"real_state":{"exact_http":200,"fresh_lane_probe":true,"full_output_present":true,"latest_capsule_sha256":"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5","latest_command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","latest_runner_json_sha256":"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b","slot_capsule_sha256":"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5","slot_command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","slot_runner_json_sha256":"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b"},"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"PLAN_READY","target_lookup_sha256":"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30"} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 032fd4e..7cda5c4 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z", - "status": "FAIL", - "rc": 1, + "command_id": "AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z", + "status": "OK", + "rc": 0, "host": "pve01", "mode": "verify", - "component": "automatic-result-slot-directory-plan-fix2", - "started_at_utc": "2026-07-29T07:04:01Z", - "finished_at_utc": "2026-07-29T07:04:07Z", + "component": "automatic-result-slot-directory-plan-fix3", + "started_at_utc": "2026-07-29T07:12:54Z", + "finished_at_utc": "2026-07-29T07:13:00Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "1e6413773c3ef41281180bb279afcd6df84c521785f86fcb394cd6b4235133e5", + "command_sha256": "903320b8489f9acafdf80a0092d58b3818312efc0a21a139531dc8c5ee3d05bc", "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": "c4f44f0545ea900e73a8bfb8970344dfa5ebc1f16f797b4cdd84ce0403a3660e", - "sanitized_output_sha256": "c4f44f0545ea900e73a8bfb8970344dfa5ebc1f16f797b4cdd84ce0403a3660e", + "raw_evidence_sha256": "77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d", + "sanitized_output_sha256": "77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d", "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\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n{\"PLAN_SHA256\":\"8da8e53bd1e26a3a310031272a260bc6e1d6ad3a4f40013a2aa521c13774d010\",\"adapter_changed\":false,\"backup_changed\":false,\"changes_made\":false,\"cluster_changed\":false,\"command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"edge_changed\":false,\"failure\":\"LATEST_POINTER_PATH\",\"failure_type\":\"PlanError\",\"gitea_changed\":false,\"minio_changed\":false,\"portal_changed\":false,\"private_addresses_included\":false,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"BLOCKED\"}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"4c54e5100700a1c495f3a30ff6807a8e91929f31f93adf713777370ecf71b215\",\"adapter_changed\":false,\"backup_changed\":false,\"changes_made\":false,\"cluster_changed\":false,\"command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z\",\"current_lookup_sha256\":\"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e\",\"current_unit_sha256\":\"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a\",\"edge_changed\":false,\"gitea_changed\":false,\"minio_changed\":false,\"plan\":{\"acceptance_tests\":[\"every directory page exposes exactly 16 ordered relative links\",\"all 12 key levels and the final lane level are traversable\",\"two lanes for one capsule return the same exact result and different probes\",\"an older capsule-bound result remains readable after a newer unrelated result appears\",\"a new terminal fixture becomes visible without Lookup restart\",\"corrupting a matching result makes its capsule-bound slot return HTTP 409\",\"restoring the matching result restores its capsule-bound slot\",\"two terminal results sharing the 48-bit prefix return HTTP 409 ambiguous\",\"following the exact link returns full sanitized output and a valid contract\",\"candidate passes read-only against real production state\",\"local latest JSON identifies initial and dynamically newer fixture results\",\"local latest JSON returns 409 for corrupt newest and recovers after restoration\",\"real production latest identity uses local JSON without redirect regex\"],\"anti_regression\":{\"identity_endpoint\":\"/.well-known/homelab-runtime/latest.json\",\"observed_failure\":\"LATEST_POINTER_PATH\",\"redirect_regex_used\":false},\"apply_scope\":{\"forbidden\":[\"modify Adapter\",\"modify Portal\",\"modify edge Nginx\",\"modify Gitea\",\"modify MinIO\",\"modify backups\",\"create second runner\"],\"modify\":[\"/usr/local/sbin/homelab-result-lookup\"],\"restart_only\":[\"homelab-result-lookup.service\"],\"unit_change_expected\":false},\"bootstrap_url\":\"https://git.gram1.ru/.well-known/homelab-runtime/result/0000000000000000000000000000000000000000000000000000000000000000/slots/index.html\",\"current_lookup_sha256\":\"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e\",\"current_unit_sha256\":\"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a\",\"objective\":\"Provide a cache-independent and capsule-bound assistant readback path. The verifier obtains real latest identity from the local JSON latest endpoint and does not parse redirect paths.\",\"operation\":\"AUTOMATIC_RESULT_SLOT_DIRECTORY_FIX3\",\"read_only_plan\":true,\"schema\":1,\"selection_contract\":{\"global_newer_unrelated_result\":\"does not affect the capsule-bound slot\",\"matching_result_corrupt\":\"HTTP 409\",\"multiple_results_with_same_48bit_prefix\":\"HTTP 409\",\"no_matching_terminal_result\":\"HTTP 404\",\"one_valid_matching_result\":\"HTTP 200 slot page\"},\"slot_derivation\":{\"branching\":16,\"capsule_key\":\"first 12 hexadecimal characters of expected capsule_sha256\",\"capsule_prefix_bits\":48,\"independent_lanes_per_result\":16,\"key_levels\":12,\"lane\":\"13th capsule character by default; choose another lane if the browser has already opened that final URL\",\"lane_levels\":1,\"total_clicks_after_bootstrap\":13},\"target_lookup_sha256\":\"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30\"},\"portal_changed\":false,\"private_addresses_included\":false,\"real_state\":{\"exact_http\":200,\"fresh_lane_probe\":true,\"full_output_present\":true,\"latest_capsule_sha256\":\"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5\",\"latest_command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"latest_runner_json_sha256\":\"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b\",\"slot_capsule_sha256\":\"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5\",\"slot_command_id\":\"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z\",\"slot_runner_json_sha256\":\"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b\"},\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_READY\",\"target_lookup_sha256\":\"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30\"}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 790b9b6..1271a5a 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z -STATUS=FAIL -RC=1 +COMMAND_ID=AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z +STATUS=OK +RC=0 HOST=pve01 MODE=verify -COMPONENT=automatic-result-slot-directory-plan-fix2 +COMPONENT=automatic-result-slot-directory-plan-fix3 REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=1e6413773c3ef41281180bb279afcd6df84c521785f86fcb394cd6b4235133e5 +COMMAND_SHA256=903320b8489f9acafdf80a0092d58b3818312efc0a21a139531dc8c5ee3d05bc 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=c4f44f0545ea900e73a8bfb8970344dfa5ebc1f16f797b4cdd84ce0403a3660e -SANITIZED_OUTPUT_SHA256=c4f44f0545ea900e73a8bfb8970344dfa5ebc1f16f797b4cdd84ce0403a3660e +RAW_EVIDENCE_SHA256=77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d +SANITIZED_OUTPUT_SHA256=77b4952e1bd4b713401cd59adb3c395abc756e6e6c3c43e7f23e1fd79b4e4a3d OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} -{"PLAN_SHA256":"8da8e53bd1e26a3a310031272a260bc6e1d6ad3a4f40013a2aa521c13774d010","adapter_changed":false,"backup_changed":false,"changes_made":false,"cluster_changed":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","edge_changed":false,"failure":"LATEST_POINTER_PATH","failure_type":"PlanError","gitea_changed":false,"minio_changed":false,"portal_changed":false,"private_addresses_included":false,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"BLOCKED"} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"4c54e5100700a1c495f3a30ff6807a8e91929f31f93adf713777370ecf71b215","adapter_changed":false,"backup_changed":false,"changes_made":false,"cluster_changed":false,"command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX3-20260729T071133Z","current_lookup_sha256":"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e","current_unit_sha256":"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a","edge_changed":false,"gitea_changed":false,"minio_changed":false,"plan":{"acceptance_tests":["every directory page exposes exactly 16 ordered relative links","all 12 key levels and the final lane level are traversable","two lanes for one capsule return the same exact result and different probes","an older capsule-bound result remains readable after a newer unrelated result appears","a new terminal fixture becomes visible without Lookup restart","corrupting a matching result makes its capsule-bound slot return HTTP 409","restoring the matching result restores its capsule-bound slot","two terminal results sharing the 48-bit prefix return HTTP 409 ambiguous","following the exact link returns full sanitized output and a valid contract","candidate passes read-only against real production state","local latest JSON identifies initial and dynamically newer fixture results","local latest JSON returns 409 for corrupt newest and recovers after restoration","real production latest identity uses local JSON without redirect regex"],"anti_regression":{"identity_endpoint":"/.well-known/homelab-runtime/latest.json","observed_failure":"LATEST_POINTER_PATH","redirect_regex_used":false},"apply_scope":{"forbidden":["modify Adapter","modify Portal","modify edge Nginx","modify Gitea","modify MinIO","modify backups","create second runner"],"modify":["/usr/local/sbin/homelab-result-lookup"],"restart_only":["homelab-result-lookup.service"],"unit_change_expected":false},"bootstrap_url":"https://git.gram1.ru/.well-known/homelab-runtime/result/0000000000000000000000000000000000000000000000000000000000000000/slots/index.html","current_lookup_sha256":"7b54030bf2c77dfe97e2751ed725c9a5ba4829e079d78a7ddd31afb04f879d2e","current_unit_sha256":"4a2da42926ff1f8b9ce0d87ff037d2d02ecc9db0e896ef63150e96b6a2edd44a","objective":"Provide a cache-independent and capsule-bound assistant readback path. The verifier obtains real latest identity from the local JSON latest endpoint and does not parse redirect paths.","operation":"AUTOMATIC_RESULT_SLOT_DIRECTORY_FIX3","read_only_plan":true,"schema":1,"selection_contract":{"global_newer_unrelated_result":"does not affect the capsule-bound slot","matching_result_corrupt":"HTTP 409","multiple_results_with_same_48bit_prefix":"HTTP 409","no_matching_terminal_result":"HTTP 404","one_valid_matching_result":"HTTP 200 slot page"},"slot_derivation":{"branching":16,"capsule_key":"first 12 hexadecimal characters of expected capsule_sha256","capsule_prefix_bits":48,"independent_lanes_per_result":16,"key_levels":12,"lane":"13th capsule character by default; choose another lane if the browser has already opened that final URL","lane_levels":1,"total_clicks_after_bootstrap":13},"target_lookup_sha256":"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30"},"portal_changed":false,"private_addresses_included":false,"real_state":{"exact_http":200,"fresh_lane_probe":true,"full_output_present":true,"latest_capsule_sha256":"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5","latest_command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","latest_runner_json_sha256":"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b","slot_capsule_sha256":"1b881bebb959a4a852635db0f47bad770b780152f6815cfc41af8502e3a2b6a5","slot_command_id":"AUTOMATIC-RESULT-SLOT-DIRECTORY-PLAN-FIX2-20260729T070228Z","slot_runner_json_sha256":"c3128d56e321f0365ff2af80ddf3e985a752f52714ef847107c519b1b587e00b"},"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"PLAN_READY","target_lookup_sha256":"a14bea457cf474e8aae85f4b9785531373e93ae9363eb3c0bbabe65dedd75e30"} OUTPUT_END CHAT_OUTPUT_END