)]}'
{"id":"openstack%2Fcyborg~992295","triplet_id":"openstack%2Fcyborg~master~Ibf7284db9965274ec179b2e3443e7b18365e3222","project":"openstack/cyborg","branch":"master","topic":"bp/consistent-and-secure-rbac","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-07-21 11:45:31.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-07-21 09:39:07.000000000","reason":"\u003cGERRIT_ACCOUNT_34452\u003e replied on the change","reason_account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-07-21 07:01:25.000000000","reason":"\u003cGERRIT_ACCOUNT_12393\u003e replied on the change","reason_account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"}}},"hashtags":[],"change_id":"Ibf7284db9965274ec179b2e3443e7b18365e3222","subject":"Migrate deployable policies to DocumentedRuleDefault","status":"MERGED","created":"2026-06-08 15:33:48.000000000","updated":"2026-07-21 12:56:05.000000000","submitted":"2026-07-21 12:55:01.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":9,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"992295-bp/consistent-and-secure-rbac","meta_rev_id":"462c94dd4a593576af4b87f222b24b9497e226dd","_number":992295,"virtual_id_number":992295,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-21 12:55:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"recommended":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"all":[{"value":1,"date":"2026-07-21 10:34:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":2,"date":"2026-07-21 11:45:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":1,"date":"2026-07-21 10:34:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":1,"date":"2026-07-21 11:45:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}],"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-08 16:49:44.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-06-22 08:35:34.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-06-29 09:38:14.000000000","updated_by":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"reviewer":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"state":"REVIEWER"},{"updated":"2026-07-01 13:25:19.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"REVIEWER"}],"messages":[{"id":"28418d3a9cdb91c0b186326b31ad884dc558c485","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 15:33:48.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7d4b428dd3dea8264a6f0e0af9c7773657a7b455","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 16:49:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/38064d90ee1543f58bd60163ece7c1fe\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c835e24d0bb5450e8b3c6475051d9437 : SUCCESS in 5m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7833404cecba42ebae506778b01b18a0 : SUCCESS in 4m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b6190a44bacb4746b99c00c9a92b54ce : SUCCESS in 7m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6f010e2e87d04ca890aa8589de597125 : SUCCESS in 2m 59s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a5ddba2268574cb4bd9da4b6610279d1 : SUCCESS in 3m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/319ec16ab52b4f3094ec5ecc2aad22f3 : SUCCESS in 2m 40s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d6e5c3d4b1d149b0aa0873f9a8d67c3e : SUCCESS in 6m 18s (non-voting)\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/598096551a1441f5825e44f84b0e291e : SUCCESS in 33m 54s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/5a2156d391ba47d39377081bf1ba5983 : SUCCESS in 41m 12s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/03706aeceb1946998693ef8562f2ac9d : SUCCESS in 52m 46s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/806124055dfe4687b8e057d9868b4334 : SUCCESS in 42m 20s","accounts_in_message":[],"_revision_number":1},{"id":"14bc14908be2cb7ed9de7238bbdf95780069bce3","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 17:58:50.000000000","message":"Topic set to bp/consistent-and-secure-rbac","accounts_in_message":[],"_revision_number":1},{"id":"2723f3b56ae201032316caa1c3c7a3891eede4b5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 16:55:28.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"1783d1c0e68e2649d909f29033cdff81d92ea6de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 16:57:38.000000000","message":"Uploaded patch set 3: New patch set was added with same tree, parent tree, and commit message as Patch Set 2.","accounts_in_message":[],"_revision_number":3},{"id":"24e518b42944586e7cc8593127f24aefce552aee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 17:06:13.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"9483358e0be3cf95750af931f9f8afef87f51f0e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-10 18:09:23.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a43c0885957e4056999c466616ce1049\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/23d3fd90a659495aa94aa8e45d642128 : SUCCESS in 5m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c60d655027dc430ab64ae96c505ef5e5 : SUCCESS in 3m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c953b75554574656ab2b5d958caa9f89 : SUCCESS in 4m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0eb2f2c9a05149e49adaa841f6a58753 : SUCCESS in 3m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7e9469d8eb9146c29a355020a9c37567 : SUCCESS in 3m 45s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bf36a05445dc4c35afb2e217bb12ed7f : SUCCESS in 4m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/49b333c1cf3046b7864e12fff915fee1 : SUCCESS in 6m 57s (non-voting)\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/a468f470edbd472a9d15b05243ab093a : SUCCESS in 29m 51s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/ba3d812c0dcd4800b8305453c2944ed5 : SUCCESS in 39m 38s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/7bae0d7f692c4233a924f7bd50829d3d : SUCCESS in 25m 08s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/49e41b59679e4209b5059b86acdbe0ab : SUCCESS in 56m 46s","accounts_in_message":[],"_revision_number":4},{"id":"8b93f1968f216ac9138232ba23d07dd8d26bc5e2","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 08:35:20.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"9acb7eb80f2a7bad998ba4e42a4bc1985bf620ab","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 08:35:34.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"3c9050530f6cf716631b262cdfbd0584d872619d","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 10:16:31.000000000","message":"Patch Set 4:\n\nBuild failed (automatic-ci pipeline). To rerun just this ci comment\n\"teim-ci: auto\". To rerun other ci jobs comment \"recheck\".\nNote this ci does run on \"recheck\".\n\nhttps://zuul.teim.app/t/main/buildset/aea2c2f8e3a04167beb025a5d5c84214\n\n- teim-code-review https://zuul.teim.app/t/main/build/21b59e4861104993b91c635893309862 : NODE_FAILURE Node(set) request 300-0000001835 failed in 0s","accounts_in_message":[],"_revision_number":4},{"id":"4b7d53265db051b0fcbdcd1b60fd6a8b75b255a6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 23:45:48.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"13eb079075e9deeda3e7ae5ddc7920a7cdb64203","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 23:46:01.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"277888c1c1e013646a6544f6803ca6ec22280030","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-23 00:42:16.000000000","message":"Patch Set 4:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/945e8e7b0fc9478b99e0feb2f15fc0b9\n\n- teim-code-review https://zuul.teim.app/t/main/build/ef822b0df1f84dedb7147051a3b7c827 : SUCCESS in 14m 29s","accounts_in_message":[],"_revision_number":4},{"id":"5dc19acb193083dde3bb5986242c6108ec63be9e","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-29 09:38:14.000000000","message":"Patch Set 4: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"c8e8f9e14c3668f898d7e52a705a55d95bfd303f","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-29 10:10:17.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"66e3f06645381cafb4d97e47d1c3d95795282468","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-30 11:06:18.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"ace1d93db704d44bbbfa773fcb5de7cdd6df923c","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-30 11:07:28.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"6e91e28f3428da3fbd4b5754d2c4b0941b1c79c6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-30 12:04:52.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/19e26d7640dc41198a16e263ba13ad21\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/227fcaeb02314d0f92b9f04f2562fc5b : SUCCESS in 4m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/53dd14d230854b198265ecd01e3f2880 : SUCCESS in 4m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e7a88b4d93954b8f9ae6020ecabcaca9 : SUCCESS in 4m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/64cb62988cc640c4908d165ed1f413f9 : SUCCESS in 4m 12s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b66d27e8715c4a4f9318ff3566a4d938 : SUCCESS in 5m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/18c07d6b80fc495f9d9c8e73c7f36ebf : SUCCESS in 5m 30s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0e35f01b48c4467bb44652849077cfc4 : SUCCESS in 6m 19s (non-voting)\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/8284247cfc104e0ab7a58b502fbe5c99 : SUCCESS in 22m 13s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/4ae96879dc9a452bba9d31ebc5c37486 : SUCCESS in 29m 30s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/d5d1a07178704e15af5ed914b16614b0 : SUCCESS in 24m 15s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/99768932ed704d82bc2fd3258cab0506 : SUCCESS in 56m 00s","accounts_in_message":[],"_revision_number":5},{"id":"ddf0255354653bcc8470a74b44cf4704ea4fe18f","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-30 12:50:42.000000000","message":"Patch Set 5:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/a0bbfaf11be6456b9b0182a26d6f5cd5\n\n- teim-code-review https://zuul.teim.app/t/main/build/5dadf3de5c124155b2b692563b59e77f : SUCCESS in 22m 00s","accounts_in_message":[],"_revision_number":5},{"id":"bd27cdaf72335195c4bbd36d5785a54e5bd6c90c","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-01 13:25:19.000000000","message":"Patch Set 5: Code-Review+1","accounts_in_message":[],"_revision_number":5},{"id":"e4f921c1c91092a1019b018ec3e6732f549aaf0c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 14:41:16.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"a7eff91e11978b99edd2ac81b0bb789cbf70b5fd","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-20 14:42:01.000000000","message":"Patch Set 6:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":6},{"id":"83b2e5195dadbc44dd36b4a1ac7b4fdf26edd570","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 15:45:34.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2a83d59030f04eee8c7be260061004e7\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9f9de8dcc8d6439bb04a586878253666 : SUCCESS in 4m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b925b9144f6e49dab230c09e175b8ad9 : SUCCESS in 4m 03s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/856603f0b6ac4d8a87fff4ee4883e52d : SUCCESS in 9m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bc9014cfbecf476fadf66a4d22c1305f : SUCCESS in 3m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/07899c72d7ab438e82b717384d150484 : SUCCESS in 3m 52s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5751dd61aa9c4c60a42fb32fc82636d5 : SUCCESS in 4m 44s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/14b9e603d9cc4a47b6ad178775b80632 : SUCCESS in 6m 00s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/15ee2b0f63964da289e751d7993a0f7e : SUCCESS in 4m 00s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/371ca44a0b9e4ae58f825c29b2f32ac6 : SUCCESS in 42m 24s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/c4ea59a31fe9442eaec76378a98f8c4a : SUCCESS in 41m 22s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/a30cc073754d4f64a31f76cf247b2eab : SUCCESS in 54m 33s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5662513884e54a0c9f3b6613f2cdf3ed : SUCCESS in 57m 49s","accounts_in_message":[],"_revision_number":6},{"id":"3697e591915cf13f3c13a3a43027bafa343ab537","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-20 16:20:38.000000000","message":"Patch Set 6:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/255c5d41b906465f914c01e24502fa51\n\n- teim-code-review https://zuul.teim.app/t/main/build/ad6ea98a608c46a6812b3f8ad11b0f0e : SUCCESS in 7m 04s","accounts_in_message":[],"_revision_number":6},{"id":"60a917f8b283fd3ab69031206db94fa23bb8ff05","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 21:15:58.000000000","message":"Patch Set 6: Code-Review+2","accounts_in_message":[],"_revision_number":6},{"id":"9ddca52579a92c7d7736162f0a22372a1ddea221","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-07-21 07:01:25.000000000","message":"Patch Set 6: Code-Review+1","accounts_in_message":[],"_revision_number":6},{"id":"10eba440f5aab54221e9640719b39db1195bdddb","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-21 09:39:07.000000000","message":"Patch Set 6: Code-Review+1","accounts_in_message":[],"_revision_number":6},{"id":"f00aa2200f5c2bc33212fd5b95dcedf0774dff52","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 10:34:26.000000000","message":"Uploaded patch set 7: Patch Set 6 was rebased.\n\nCopied Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"ea06ddd1818053741fcfb594b66d0490a80dc0f8","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-21 10:35:14.000000000","message":"Patch Set 7:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":7},{"id":"b98b807acc70198330f9e097640235b35f02afc9","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-21 11:32:50.000000000","message":"Patch Set 7:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/a0327ad6732f4b26ae15146eb758e5ab\n\n- teim-code-review https://zuul.teim.app/t/main/build/e450376419cc4337b5cb5ccaab8c2857 : SUCCESS in 9m 29s","accounts_in_message":[],"_revision_number":7},{"id":"3bd2f42a3eba9d555d18ffcb14ff690c18e747aa","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 11:34:57.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/341d26e3f593499cbf6749fb71559c4c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/24a80da9f7aa44e292a5fa7af46a12bd : SUCCESS in 4m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/19f8fe15a4724c00abc4eaed0d42d4a1 : SUCCESS in 4m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5a2c61ad64d64234876a6bf79a6629c2 : SUCCESS in 8m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7d4449b115e843399ac3ce36c7111ebb : SUCCESS in 5m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e9ba6367ae8042908ba21ac295799fdc : SUCCESS in 5m 32s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7717cefbf8f2496d918a4a576cbcd0e8 : SUCCESS in 4m 21s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ab5ed0d7901c43e39e2cf2043421bc62 : SUCCESS in 7m 05s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/a915253c693c4c9583674e32708373bf : SUCCESS in 5m 30s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/ddcf59f10e0d40aca811799cb43521a9 : SUCCESS in 52m 20s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/faa6dcd4b6254a318ff52afa53885921 : SUCCESS in 40m 39s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/2c976d08c5614494ad23e6d5db0f384b : SUCCESS in 55m 09s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7984e517086f4e4690bb1526e2b30482 : SUCCESS in 53m 10s","accounts_in_message":[],"_revision_number":7},{"id":"c947a62abe6f3ebcdee059961e1f932915ad6021","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 11:45:31.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"68712d503722164fabea82e4f44cd0f425a6d6a9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 11:46:12.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"60e5a194e040d2fd34b64b3ed1ed2471ddca9e61","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:55:01.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c0e872651822408fa92163c5e63ef98e\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0732dc79dbb348999a9b76be41dc6816 : SUCCESS in 3m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/00b3ccd386c1435e8a5eca7898345d8b : SUCCESS in 7m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f9b336b0f9b34401a5afec6374311bf8 : SUCCESS in 3m 42s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/db3dc5f228174d5e8e2a6b8fb0bfd8e4 : SUCCESS in 3m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/40cf602f81434564b7d893bbcbb47f6c : SUCCESS in 3m 58s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/fc3386daef0142ac915bd11f87f0a24a : SUCCESS in 5m 33s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/919aabe8256a4be581a19f796ac7db4c : SUCCESS in 1h 00m 37s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/14f311b2e49440d09fe02e79db417a50 : SUCCESS in 43m 47s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/458dc720ab8442c8a9dc26052676405e : SUCCESS in 1h 03m 19s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8fbce5b78de241a69b036b28e4e35484 : SUCCESS in 42m 09s","accounts_in_message":[],"_revision_number":7},{"id":"c44b956e3cb0fd1af9ae4a77a681af4d18d8eebb","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:55:01.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":7},{"id":"462c94dd4a593576af4b87f222b24b9497e226dd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:56:05.000000000","message":"Patch Set 7:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b858242b5b034783825dd8f25620b283\n\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8a9c3736f70446f49885d13fd147980e : SUCCESS in 50s\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/90dc9d5e46d94428a988c90bf5b7b41b : SUCCESS in 43s","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"06d95fcd1f2def9b45b5527109f85d4f394adc68","revisions":{"be82603c5f2cc06059c329515ba59ac236bdbcac":{"kind":"REWORK","_number":1,"created":"2026-06-08 15:33:48.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/1"}}},"commit":{"parents":[{"commit":"c05027f228bda26556be58e039bf1a54ae595857","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/c05027f228bda26556be58e039bf1a54ae595857"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 15:33:11.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/be82603c5f2cc06059c329515ba59ac236bdbcac"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/be82603c5f2cc06059c329515ba59ac236bdbcac"}]},"branch":"refs/heads/master"},"d8c3c99d6524fe2463e838dcf05c0df38493143b":{"kind":"REWORK","_number":2,"created":"2026-06-10 16:55:28.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/2"}}},"commit":{"parents":[{"commit":"0eeba13d30ce4f111157c0b07ca8a36f31a7f130","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/0eeba13d30ce4f111157c0b07ca8a36f31a7f130"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 16:50:17.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/d8c3c99d6524fe2463e838dcf05c0df38493143b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/d8c3c99d6524fe2463e838dcf05c0df38493143b"}]},"branch":"refs/heads/master"},"21498cb3eedbf9bc03777d6fda9655ef46500d6d":{"kind":"NO_CHANGE","_number":3,"created":"2026-06-10 16:57:38.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/3"}}},"commit":{"parents":[{"commit":"aa0db467949188d941eb5440478dd9eb2cc06641","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/aa0db467949188d941eb5440478dd9eb2cc06641"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 16:57:22.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/21498cb3eedbf9bc03777d6fda9655ef46500d6d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/21498cb3eedbf9bc03777d6fda9655ef46500d6d"}]},"branch":"refs/heads/master"},"5422d1ca421b2ce779f6707dfec44970c1d5515e":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-06-10 17:06:13.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/4"}}},"commit":{"parents":[{"commit":"a64a3a88ca6adf2abc3112b8e22fe7e39c5a69ae","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a64a3a88ca6adf2abc3112b8e22fe7e39c5a69ae"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 17:03:36.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5422d1ca421b2ce779f6707dfec44970c1d5515e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5422d1ca421b2ce779f6707dfec44970c1d5515e"}]},"branch":"refs/heads/master"},"f6401c96823cb9e6ce19eeac3a8d55b154859539":{"kind":"REWORK","_number":5,"created":"2026-06-30 11:06:18.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/5"}}},"commit":{"parents":[{"commit":"d84b6ad47faebd1bc0c810574dd9e5b3e69a3bb9","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/d84b6ad47faebd1bc0c810574dd9e5b3e69a3bb9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-29 17:36:05.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/f6401c96823cb9e6ce19eeac3a8d55b154859539"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/f6401c96823cb9e6ce19eeac3a8d55b154859539"}]},"branch":"refs/heads/master"},"9b30b75ff67f24444925eb8dab96374afbc9aad4":{"kind":"REWORK","_number":6,"created":"2026-07-20 14:41:16.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/6"}}},"commit":{"parents":[{"commit":"4ae887c29ab4d89cc519548a103c889045731624","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/4ae887c29ab4d89cc519548a103c889045731624"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-20 13:07:39.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9b30b75ff67f24444925eb8dab96374afbc9aad4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9b30b75ff67f24444925eb8dab96374afbc9aad4"}]},"branch":"refs/heads/master"},"06d95fcd1f2def9b45b5527109f85d4f394adc68":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2026-07-21 10:34:26.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/95/992295/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/95/992295/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/95/992295/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/95/992295/7"}}},"commit":{"parents":[{"commit":"1ddb15cdcadfceac30cdff52f37185736688b8bc","subject":"Migrate device policies to DocumentedRuleDefault","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/1ddb15cdcadfceac30cdff52f37185736688b8bc"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 11:31:23.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-21 10:31:49.000000000","tz":60},"subject":"Migrate deployable policies to DocumentedRuleDefault","message":"Migrate deployable policies to DocumentedRuleDefault\n\nCreate cyborg/policies/deployables.py with DocumentedRuleDefault\nentries for all three deployable operations: get_one, get_all, and\nprogram.\n\nRead operations use project_manager_or_admin, granting the manager\npersona visibility into logical accelerator units for capacity\nplanning. The program operation (FPGA bitstream reprogramming via\nRPC to cyborg-agent) remains restricted to cloud admins as it\naffects shared physical infrastructure.\n\nEach new policy includes a deprecated_rule bridge matching the\ncurrent legacy check string (rule:admin_api) so that existing\ndeployments continue to work with enforce_new_defaults\u003dFalse.\n\nUpdate cyborg/policies/__init__.py to load the new deployable\npolicies and stop loading the legacy deployable_policies list from\ncyborg/common/policy.py.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: Ibf7284db9965274ec179b2e3443e7b18365e3222\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/06d95fcd1f2def9b45b5527109f85d4f394adc68"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/06d95fcd1f2def9b45b5527109f85d4f394adc68"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
