)]}'
{"id":"openstack%2Fcyborg~995533","triplet_id":"openstack%2Fcyborg~master~Iaf9e68cf7174bf9993cef034e07d78f532d1077a","project":"openstack/cyborg","branch":"master","topic":"bug/2158759","attention_set":{},"removed_from_attention_set":{"4690":{"account":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"last_update":"2026-07-16 13:36:34.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Iaf9e68cf7174bf9993cef034e07d78f532d1077a","subject":"Fix api-ref inaccuracies and add missing program endpoint","status":"MERGED","created":"2026-06-30 16:02:17.000000000","updated":"2026-07-16 13:39:41.000000000","submitted":"2026-07-16 13:36:34.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":14,"unresolved_comment_count":4,"has_review_started":true,"submission_id":"995533-bug/2158759","meta_rev_id":"baacf508f01da2b1ab44b8b5f566f4337f8dc40d","_number":995533,"virtual_id_number":995533,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-16 13:36:34.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"},"all":[{"value":2,"date":"2026-07-16 12:14:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":1,"date":"2026-07-16 12:14:59.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":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"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}],"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-30 16:02:27.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-30 16:14:08.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-07-07 09:46:00.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":"CC"},{"updated":"2026-07-07 14:43:01.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"CC"},{"updated":"2026-07-16 12:14:59.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"}],"messages":[{"id":"27fdd1dda1ca6786fd002c65b8387357ddec19fb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-06-30 16:02:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e232e83dd945c307841ed3306421f18a147c01d1","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 16:02:27.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"11388fb60478674e9703874d511717a3438c43a7","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-06-30 16:02:44.000000000","message":"Topic set to bug/2158759","accounts_in_message":[],"_revision_number":1},{"id":"c1ae23d669fd6a62a7cb003d9fa1cf3f9d8eeb9f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-30 16:14:08.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/13466ce51497408d87dc059597b0ac09\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/8ae5d1049eef431a97ca56a3e3173e33 : SUCCESS in 3m 22s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e405e590b5294eb48874c6745a531d85 : SUCCESS in 5m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3f5b2108bb034811a32a4cb0f3fbd5cd : SUCCESS in 4m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/065bfff591644066b1991591244d9fa3 : SUCCESS in 6m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/84aee5ce2faa4041b6301843bd1eff0b : SUCCESS in 5m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bc2c8172b95e427d955cc4234752edc8 : SUCCESS in 4m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c1a58c20be1c49f097ac2eb5ca94fbae : SUCCESS in 3m 58s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/386680c688fc439b8244df5b7ff5bbc9 : SUCCESS in 5m 56s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"f6c0114ee89ba80f50214b40c38003544f1b7b17","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 16:21:20.000000000","message":"Patch Set 1:\n\n(5 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/a13dc640bdb54b50bc53afa737bc398c\n\n- teim-code-review https://zuul.teim.app/t/main/build/0a27f978dcee4d45832b0b129bf43f2b : SUCCESS in 16m 46s\n\nWarning:\n  The new functional test for the program endpoint relies on structural comparison only (keys and types), so it cannot detect the bitstream_id value-accuracy problem or a field the API omits versus the sample. The test passes even though the response sample\u0027s bitstream_id is not real API output. Impact: Because the whole point of the api_samples test harness is to prevent drift between docs and the API, a sample that is structurally valid but semantically wrong passes CI while still misleading users. This limits how much confidence the green test gives reviewers for this endpoint. Recommendation: Treat the structural test as necessary but not sufficient for value-sensitive fields like bitstream_id. Consider asserting the bitstream_id semantics in a unit test against the controller, or document that GENERATE_SAMPLES regeneration is the canonical way to refresh these samples after any controller behavior change.\n  The change adds a consistent error-response section (badRequest/unauthorized/forbidden/notfound) for the new deployables program endpoint, but the other pre-existing deployable endpoints in the same file omit error-response documentation entirely. Impact: Inconsistent error documentation across the deployables resource can confuse clients implementing error handling, and the new endpoint sets a better standard that the older sections do not meet. Recommendation: Optionally align the other deployable endpoints with the error-response style introduced here in a follow-up patch; not a blocker for this change.","accounts_in_message":[],"_revision_number":1},{"id":"a0237f80cd1efe4601740dcd089e70fe2565924e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-06-30 16:46:44.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"bd40f2c00b3f5202616a47c1da2cba7ba65c22fc","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 16:46:54.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"7c4a63fdee73b553013b9668d66106f2c4b608d5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-30 17:00:04.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/190aa8cbe95a40e6bcbf1eb7769e820a\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/8881c6ff87604f279ce761d41f0683cf : SUCCESS in 3m 47s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0788c1131e0a49f6befd3bb863682bfe : SUCCESS in 3m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/740e040f5baf41aa8fcd8991ee279664 : SUCCESS in 2m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0768003780794512b6917657bc423fa0 : SUCCESS in 9m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b8ca866aaffe45f98440fcbe5a8dc30d : SUCCESS in 6m 05s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3729dfd0b39d430eaaa3370a61689895 : SUCCESS in 3m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f32a2497054d4296bd49337972541f72 : SUCCESS in 6m 21s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0cb25f515e694da09f835576bbdce12a : SUCCESS in 6m 13s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"9d3f27f6f32ab092aff905ad05f2e29a76674cf1","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 17:00:33.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/2c6d412d19c147c196fe693b17d014f6\n\n- teim-code-review https://zuul.teim.app/t/main/build/512b4ae846134c2aadab221813b30cc0 : SUCCESS in 13m 30s","accounts_in_message":[],"_revision_number":2},{"id":"9b31ec0f24ef5fd697ffeb6ace840ed9a45d026f","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-07 09:46:00.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"7a9cf2466a2d58f4d9cb5de99667b52aac454b50","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-07 14:43:01.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"9b1f2c149e15d353b945615f8b2a0e38b8add92e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-07-08 05:39:50.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"7b164d77c57f46e7ceb890400c83ef0dc2c8de4a","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-08 05:40:10.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"0d2183d120d6da4dd81b2f11c52c45a2c9f3c3fd","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-08 05:56:32.000000000","message":"Patch Set 3:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/a8fa455fafb544aa8d6ddc22501935cb\n\n- teim-code-review https://zuul.teim.app/t/main/build/8203f994af9f4d3f82ce2b7739cc9e98 : SUCCESS in 8m 47s","accounts_in_message":[],"_revision_number":3},{"id":"5fa003d8ff71eef37663aafc05c8f6086fc8660a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-08 05:59:04.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7f31662593a64084af9839a332d7eb56\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/281b6fe0dfb842739644d53ffbad8144 : SUCCESS in 3m 42s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/68875dab739d481fb05476d0932e9c5f : SUCCESS in 5m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8a0a1bd95c2348d9aca72729882041b1 : SUCCESS in 4m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/676107fd8f7c42e0866277093bf5bddc : SUCCESS in 7m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a1e0b28604214c229a04543dfd184f8f : SUCCESS in 3m 35s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/57b96f84e5f8414eb3426d8742aa1293 : SUCCESS in 3m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/35e14e4b3d534948a6e8e3cbeb4879e3 : SUCCESS in 3m 42s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/79f2569f274547ef830ce4d4040ed40e : SUCCESS in 6m 09s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/7147e78a9b5f41d3b8486159321d1411 : SUCCESS in 3m 21s","accounts_in_message":[],"_revision_number":3},{"id":"d2c577f7b94bc2fd57d815f7d0955d9125ba6be2","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-16 12:14:59.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"590fc8a428b9e3f677537d92c0b1ade0f8fcdd33","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 12:16:42.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"aca23364e6a268c96eaf0cca05ed8eca1a7331b0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 13:36:34.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5997e42ccead45f6bbf22be57743b1d9\n\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/3807006a00a442679c6830eba4b406e8 : SUCCESS in 3m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/08236662f23b48b2ae4715a23f7de1cc : SUCCESS in 5m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/54a59b72d08940ceb341f63c2f5a2d2f : SUCCESS in 9m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7bb3dcf8ac494d4da2d8d9754f9c24f3 : SUCCESS in 5m 34s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/acc397f5597f4cfd9c20b27e1c4ea23e : SUCCESS in 4m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/eb16b7b4dd2f45f79e567c42da181613 : SUCCESS in 4m 30s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/c38c86a035464d91a98c1b39496bd2e5 : SUCCESS in 4m 19s","accounts_in_message":[],"_revision_number":3},{"id":"0af4f60055f924bc7f045732a41d84e5306e2e3e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 13:36:34.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"baacf508f01da2b1ab44b8b5f566f4337f8dc40d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 13:39:41.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3db56f5e410b44b69c1c82736c904c56\n\n- promote-api-ref https://zuul.opendev.org/t/openstack/build/a0858f78a2174a6c93e32c2abaa0ba9a : SUCCESS in 45s\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/55e82b1879704e29882a68c1b3db875f : SUCCESS in 56s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"8c9cfb527dd3479fafc6e1197089d3a41b7d7274","revisions":{"053b5e3286e3b17cdaccc52860ae51ad64e0abc3":{"kind":"REWORK","_number":1,"created":"2026-06-30 16:02:17.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/33/995533/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/33/995533/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/33/995533/1"}}},"commit":{"parents":[{"commit":"7edf57d8b318bcd45d11ee0fb76d74ba393c8193","subject":"Add API sample structural validation tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/7edf57d8b318bcd45d11ee0fb76d74ba393c8193"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-06-30 16:01:20.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-06-30 16:01:59.000000000","tz":-420},"subject":"Fix api-ref inaccuracies and add missing program endpoint","message":"Fix api-ref inaccuracies and add missing program endpoint\n\nThe ARQ PATCH endpoint was documented with a UUID in the URL path\n(PATCH /v2/accelerator_requests/{uuid}) but the code takes no path\nUUID — ARQ UUIDs are keys in the JSON request body. The docs also\nreferenced a response sample, but the endpoint returns 202 with no\nbody. Fix the URL, remove the orphan response sample, and add the\nstandard \"no body content\" text.\n\nThe deployables program endpoint (PATCH /v2/deployables/{uuid}/program)\nexisted in code but had no api-ref documentation. Add the endpoint\nsection, request/response parameter docs, and sample JSON files.\n\nAdd a functional test for the new program endpoint samples, extending\n_check_sample() to support PATCH requests with a request body.\n\nCloses-Bug: #2158759\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.196\nChange-Id: Iaf9e68cf7174bf9993cef034e07d78f532d1077a\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/053b5e3286e3b17cdaccc52860ae51ad64e0abc3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/053b5e3286e3b17cdaccc52860ae51ad64e0abc3"}]},"branch":"refs/heads/master"},"0cafb7702f231599f2d6772bfc3bdeb9bf6b3223":{"kind":"REWORK","_number":2,"created":"2026-06-30 16:46:44.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/33/995533/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/33/995533/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/33/995533/2"}}},"commit":{"parents":[{"commit":"7edf57d8b318bcd45d11ee0fb76d74ba393c8193","subject":"Add API sample structural validation tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/7edf57d8b318bcd45d11ee0fb76d74ba393c8193"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-06-30 16:01:20.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-06-30 16:45:58.000000000","tz":-420},"subject":"Fix api-ref inaccuracies and add missing program endpoint","message":"Fix api-ref inaccuracies and add missing program endpoint\n\nThe ARQ PATCH endpoint was documented with a UUID in the URL path\n(PATCH /v2/accelerator_requests/{uuid}) but the code takes no path\nUUID — ARQ UUIDs are keys in the JSON request body. The docs also\nreferenced a response sample, but the endpoint returns 202 with no\nbody. Fix the URL, remove the orphan response sample, and add the\nstandard \"no body content\" text. Add prose clarifying the JSON-Patch\nrequest structure for the parameter table.\n\nThe deployables program endpoint (PATCH /v2/deployables/{uuid}/program)\nexisted in code but had no api-ref documentation. Add the endpoint\nsection, request/response parameter docs, and sample JSON files.\nDocument the JSON-Patch envelope in the parameter description and\nset bitstream_id to null in the response sample to match what the\ncontroller actually returns.\n\nAdd a functional test for the new program endpoint samples, extending\n_check_sample() to support PATCH requests with a request body.\n\nCloses-Bug: #2158759\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.196\nChange-Id: Iaf9e68cf7174bf9993cef034e07d78f532d1077a\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/0cafb7702f231599f2d6772bfc3bdeb9bf6b3223"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/0cafb7702f231599f2d6772bfc3bdeb9bf6b3223"}]},"branch":"refs/heads/master"},"8c9cfb527dd3479fafc6e1197089d3a41b7d7274":{"kind":"REWORK","_number":3,"created":"2026-07-08 05:39:50.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/33/995533/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/33/995533/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/33/995533/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/33/995533/3"}}},"commit":{"parents":[{"commit":"18ef09c54916e31b7627fde5927aac5c4abc7155","subject":"Add contributor docs for API sample validation tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/18ef09c54916e31b7627fde5927aac5c4abc7155"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-06-30 16:01:20.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-07-08 05:38:47.000000000","tz":-420},"subject":"Fix api-ref inaccuracies and add missing program endpoint","message":"Fix api-ref inaccuracies and add missing program endpoint\n\nThe ARQ PATCH endpoint was documented with a UUID in the URL path\n(PATCH /v2/accelerator_requests/{uuid}) but the code takes no path\nUUID — ARQ UUIDs are keys in the JSON request body. The docs also\nreferenced a response sample, but the endpoint returns 202 with no\nbody. Fix the URL, remove the orphan response sample, and add the\nstandard \"no body content\" text. Add prose clarifying the JSON-Patch\nrequest structure for the parameter table.\n\nThe deployables program endpoint (PATCH /v2/deployables/{uuid}/program)\nexisted in code but had no api-ref documentation. Add the endpoint\nsection, request/response parameter docs, and sample JSON files.\nDocument the JSON-Patch envelope in the parameter description and\nset bitstream_id to null in the response sample to match what the\ncontroller actually returns.\n\nAdd a functional test for the new program endpoint samples, extending\n_check_sample() to support PATCH requests with a request body.\n\nCloses-Bug: #2158759\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.196\nChange-Id: Iaf9e68cf7174bf9993cef034e07d78f532d1077a\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/8c9cfb527dd3479fafc6e1197089d3a41b7d7274"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/8c9cfb527dd3479fafc6e1197089d3a41b7d7274"}]},"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":""}}}]}
