)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"d288974fb3a4fb7c271ade4fa37f2fc285da43d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5af7c3a6_9bf0b315","updated":"2026-07-30 12:40:17.000000000","message":"reviewing the generated doc","commit_id":"73f4932fc7003683aa04cbcb959c7d7f836e45fd"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"3a65cd2b085a972393b48dbb5c1c4ff83377177f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bb6d2155_80187552","updated":"2026-08-14 11:22:32.000000000","message":"single sourced","commit_id":"0a9da035de27fb06e24539a4a3eeb93609e25147"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"06b4395112d9d3328043eb22a94b766ff01b6878","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ae592da9_663c3f47","updated":"2026-08-14 14:57:45.000000000","message":"much better thanks this looks good as it is","commit_id":"cce3a6817232bd9f31c19e43b4cbae5681cb796a"}],"doc/source/admin/index.rst":[{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2e1f271bb588d831e9de3ae7e223a7c617e4d4d0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"User Requests"},{"line_number":54,"context_line":"-------------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"For information on how user requests for accelerators work with device profiles,"},{"line_number":57,"context_line":"see the :ref:`User Requests \u003cuser-requests\u003e` section in the"},{"line_number":58,"context_line":":doc:`/user/using-cyborg` guide."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"a7a10835_5cf3e0f2","line":56,"updated":"2026-08-14 11:41:07.000000000","message":"The replacement User Requests paragraph introduces an 80-character line in doc/source/admin/index.rst. The doc8 hook (v1.1.2) in .pre-commit-config.yaml runs on all RST files with the default max-line-length of 79, so the gating pep8 job fails on this patch.\n\n**Severity**: HIGH | **Confidence**: 0.9\n\n**Risk**: The pep8 pre-commit/doc8 gate fails, blocking merge until the line is rewrapped. Otherwise harmless to rendered output.\n\n**Priority**: Before merge\n**Why This Matters**: The pep8 pre-commit/doc8 gate fails, blocking merge until the line is rewrapped. Otherwise harmless to rendered output.\n\n**Recommendation**:\nRewrap the sentence to stay under 79 columns, e.g. \u0027For information on how user requests for accelerators work with\\ndevice profiles, see the :ref:`User Requests \u003cuser-requests\u003e` section in\\nthe :doc:`/user/using-cyborg` guide.\u0027, then re-run \u0027tox -e pep8\u0027 or \u0027doc8 doc/source\u0027.","commit_id":"7b433b9ef1074cddbb9173fbdf59f885cc57167b"}],"doc/source/index.rst":[{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"52746fc22072444a39e61de516505486245e88c3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"53c64aad_17006c3c","line":5,"updated":"2026-07-30 12:58:06.000000000","message":"The commit message states that the introduction page is inlined into index.rst, but the Background Story, Transition to Cyborg Project, and Definition Breakdown sections from introduction.rst are absent from the new index.rst. Only a single one-line summary remains.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Users lose access to valuable background and architectural context about why Cyborg exists and what accelerators it manages. This is a content regression that contradicts the stated intent of the commit.\n\n**Suggestion**:\nEither inline the introduction.rst content (Background Story, Definition Breakdown sections) into the \u0027What is Cyborg?\u0027 section of index.rst, or add a note acknowledging the intentional removal with rationale.","commit_id":"73f4932fc7003683aa04cbcb959c7d7f836e45fd"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"52746fc22072444a39e61de516505486245e88c3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0b745dde_a478dafe","line":5,"updated":"2026-07-30 12:58:06.000000000","message":"The commit message states that the usage page is inlined, but the content \u0027To use cyborg in a project: import cyborg\u0027 from usage.rst does not appear anywhere in the new index.rst.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Minor content loss. The dropped snippet is trivial, but the commit\u0027s stated intent of inlining is not fully met.\n\n**Recommendation**:\nIf the import example is still relevant, add it to the new index.rst. If it is intentionally omitted, update the commit message to reflect that usage.rst content was dropped rather than inlined.","commit_id":"73f4932fc7003683aa04cbcb959c7d7f836e45fd"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"21d45d33a14bdfc4660bcaf0c38207de3a9437c6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b167622c_7c652cf4","line":5,"updated":"2026-07-30 14:43:57.000000000","message":"The commit message states that the introduction page would be inlined into index.rst, but the full content of doc/source/user/introduction.rst (Background Story, Transition to Cyborg Project, Definition Breakdown sections) was dropped entirely. Only a one-sentence summary was retained.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Users lose access to the project background, historical context, and conceptual definition breakdown. This is a meaningful documentation content loss that contradicts the patch\u0027s stated purpose of inlining (not removing) content.\n\n**Suggestion**:\nEither inline the full introduction.rst content (Background Story, Transition, Definition Breakdown) under the \u0027What is Cyborg?\u0027 section, or update the commit message to clarify that the introduction content was intentionally summarized/removed rather than inlined.","commit_id":"081fd5314f1b00d71c84298e43946aee57c4844f"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"21d45d33a14bdfc4660bcaf0c38207de3a9437c6","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"Empty list \u003d cleanup complete, device available for reuse."},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"Tools for using Cyborg"},{"line_number":300,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Information on the commands available through Cyborg\u0027s Command Line"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7bba375e_132271a6","line":299,"updated":"2026-07-30 14:43:57.000000000","message":"The commit message states that the \u0027usage\u0027 page would be inlined into index.rst, but the content of doc/source/user/usage.rst (\u0027To use cyborg in a project: import cyborg\u0027) was dropped entirely with no equivalent content added to index.rst.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Minor content loss — the library usage snippet was brief. However, it does represent a discrepancy between the commit message\u0027s stated intent and the actual change.\n\n**Recommendation**:\nIf the library usage snippet was intentionally dropped (e.g., deemed out of scope for user docs), update the commit message to note the exclusion. Otherwise, add the usage snippet to the appropriate section of index.rst.","commit_id":"081fd5314f1b00d71c84298e43946aee57c4844f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f9aba4c79a94c09a87dfe3e74a6a989076ba7207","unresolved":true,"context_lines":[{"line_number":1,"context_line":"OpenStack Accelerator (Cyborg)"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"304ea7dd_a8d8a451","line":3,"updated":"2026-07-31 14:50:53.000000000","message":"note there is a some overlap between this and \n\nhttps://docs.openstack.org/cyborg/latest/admin\n\nthe https://docs.openstack.org/cyborg/latest/admin/#cyborg-and-nova-interaction-workflow is too low level for an admin facing doc and soudl move to its own refence doc","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"06b4395112d9d3328043eb22a94b766ff01b6878","unresolved":false,"context_lines":[{"line_number":1,"context_line":"OpenStack Accelerator (Cyborg)"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"b3b10928_52c66280","line":3,"in_reply_to":"304ea7dd_a8d8a451","updated":"2026-08-14 14:57:45.000000000","message":"Acknowledged","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"e46bd001d3aa0a7d1d3c25626233c9898de66ede","unresolved":false,"context_lines":[{"line_number":1,"context_line":"OpenStack Accelerator (Cyborg)"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ef04e084_acf6a6e6","line":4,"updated":"2026-07-31 07:23:48.000000000","message":"The commit message states it inlines the introduction page into index.rst, but the substantive content from introduction.rst was dropped entirely. Only the one-line summary \u0027Cyborg is a general management framework for accelerators.\u0027 was preserved. The Background Story (ETSI NFV, OPNFV DPACC, Nom...\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: New users visiting the Cyborg documentation landing page lose context about what accelerators Cyborg manages (the Definition Breakdown listed concrete types like FPGA, GPU, NVMe SSD, dpdk/spdk, pmem), the project\u0027s origins, and its scope. This reduces the onboarding value of the documentation ind...\n\n**Suggestion**:\nEither inline the Background Story, Transition, and Definition Breakdown content from the old introduction.rst into the \u0027What is Cyborg?\u0027 section of index.rst (as the commit message intends), or explicitly note in the commit message that introduction.rst content was intentionally dropped and explain why.","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c1562a76f035903697b492c74376345ceffe8b3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"OpenStack Accelerator (Cyborg)"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."}],"source_content_type":"text/x-rst","patch_set":3,"id":"22822664_26a7a0c8","line":4,"in_reply_to":"ef04e084_acf6a6e6","updated":"2026-07-31 14:36:40.000000000","message":"this was intentional since the orginal content was mostly invalid or outdated\n\na detailed glossery of terms belongs elsewhere.","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"8bf455a2f08b00685c3839d675b93b411b1fad64","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cyborg architecture"},{"line_number":10,"context_line":"~~~~~~~~~~~~~~~~~~~"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Cyborg design can be described by following diagram:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ccced00b_aa1ced93","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":19},"updated":"2026-08-03 13:07:56.000000000","message":"I checked the rendered doc here: https://4bb663d7d7a47257f19c-81bbea0519e6e960b38d765ef17f047e.ssl.cf1.rackcdn.com/openstack/92f66dd594d344d9b3cef40f78df2fb1/docs/index.html#cyborg-architecture\n\ncyborg architecture and cyborg services docs are coming side by side.\n\nDocumentation for Operators section is also overlapping with cyborg architecure. The alignment needs to be fixed.","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"20c20bbf45109164880e43fee2d7dcb1e96b6ddb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cyborg architecture"},{"line_number":10,"context_line":"~~~~~~~~~~~~~~~~~~~"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Cyborg design can be described by following diagram:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"346ca417_f4ceeba1","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":19},"in_reply_to":"ccced00b_aa1ced93","updated":"2026-08-10 09:28:03.000000000","message":"Done","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"8bf455a2f08b00685c3839d675b93b411b1fad64","unresolved":true,"context_lines":[{"line_number":14,"context_line":".. image:: figures/cyborg-architecture.png"},{"line_number":15,"context_line":"    :width: 700 px"},{"line_number":16,"context_line":"    :scale: 99 %"},{"line_number":17,"context_line":"    :align: left"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"**cyborg-api** - cyborg-api is a cyborg service that provides **REST API**"},{"line_number":20,"context_line":"interface for the Cyborg project. It supports POST/PUT/DELETE/GET operations"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e6a8d843_7f197dbd","line":17,"range":{"start_line":17,"start_character":12,"end_line":17,"end_character":16},"updated":"2026-08-03 13:07:56.000000000","message":"```suggestion\n    :align: center\n```\nThe architecture diagram will now render centered with the component descriptions flowing cleanly below it.","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"20c20bbf45109164880e43fee2d7dcb1e96b6ddb","unresolved":false,"context_lines":[{"line_number":14,"context_line":".. image:: figures/cyborg-architecture.png"},{"line_number":15,"context_line":"    :width: 700 px"},{"line_number":16,"context_line":"    :scale: 99 %"},{"line_number":17,"context_line":"    :align: left"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"**cyborg-api** - cyborg-api is a cyborg service that provides **REST API**"},{"line_number":20,"context_line":"interface for the Cyborg project. It supports POST/PUT/DELETE/GET operations"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6e2b78ac_ceb24b77","line":17,"range":{"start_line":17,"start_character":12,"end_line":17,"end_character":16},"in_reply_to":"e6a8d843_7f197dbd","updated":"2026-08-10 09:28:03.000000000","message":"Done","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"aa9066482c3ec75b071b1ad00cf846e7fd825e7f","unresolved":true,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Using Cyborg with Your Instance"},{"line_number":84,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This guide shows you how to create OpenStack instances with accelerators"}],"source_content_type":"text/x-rst","patch_set":3,"id":"73432ec6_7e602ab0","line":83,"updated":"2026-07-31 12:58:19.000000000","message":"+1 for someone new to the project this is a lot more useful that the previous version","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f9aba4c79a94c09a87dfe3e74a6a989076ba7207","unresolved":true,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Using Cyborg with Your Instance"},{"line_number":84,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This guide shows you how to create OpenStack instances with accelerators"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3233351d_09816285","line":83,"in_reply_to":"22743d75_33819c54","updated":"2026-07-31 14:50:53.000000000","message":"the more i think about this the more i think this should not be inlined\n\nwe have to keep difnet persons in mind whn creating the doc and the usage docs shoudl be admin/usr focusn and not refence the devstack contbutor setup\n\n\nbuyt we might want to incopreate https://docs.openstack.org/cyborg/latest/admin/#user-requests","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"b1e77e915a12dd91b81cf93f4d8fcc7f0b615af2","unresolved":true,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Using Cyborg with Your Instance"},{"line_number":84,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This guide shows you how to create OpenStack instances with accelerators"}],"source_content_type":"text/x-rst","patch_set":3,"id":"556eb140_b898dc23","line":83,"in_reply_to":"3233351d_09816285","updated":"2026-08-03 06:30:54.000000000","message":"To confirm, we want:\nUsing Cyborg with Your Instance - in its own doc, not inlined here.\nWhat is added here then?\nhttps://docs.openstack.org/cyborg/latest/admin/#user-requests should be incorporated here or where?","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"20c20bbf45109164880e43fee2d7dcb1e96b6ddb","unresolved":false,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Using Cyborg with Your Instance"},{"line_number":84,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This guide shows you how to create OpenStack instances with accelerators"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9b05a2eb_44e09345","line":83,"in_reply_to":"556eb140_b898dc23","updated":"2026-08-10 09:28:03.000000000","message":"Done","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c1562a76f035903697b492c74376345ceffe8b3","unresolved":true,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Using Cyborg with Your Instance"},{"line_number":84,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This guide shows you how to create OpenStack instances with accelerators"}],"source_content_type":"text/x-rst","patch_set":3,"id":"22743d75_33819c54","line":83,"in_reply_to":"73432ec6_7e602ab0","updated":"2026-07-31 14:36:40.000000000","message":"i tened to agree, i was excpecting to keep this as its own document however but i guess its fine to inline this as well","commit_id":"1546f2e542d20ac85a3531f676eebf6489b152fb"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"fc18c2332a1150e3d221d007d87a5bba95ebf252","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"What is Cyborg?"},{"line_number":5,"context_line":"---------------"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cyborg is a general management framework for accelerators."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"20c66124_24edb1b6","line":5,"updated":"2026-08-10 15:31:32.000000000","message":"The commit message states it inlines introduction and architecture pages into index.rst, but the introduction.rst content (Background Story and Definition Breakdown sections) was not inlined and is now lost entirely from the documentation.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Project history context and the detailed definition of what Cyborg manages (discovery, lifecycle, types of accelerators) are no longer documented anywhere. Users lose context about the project\u0027s scope and origins.\n\n**Suggestion**:\nEither inline the Background Story and Definition Breakdown content from the deleted user/introduction.rst into index.rst (as the commit message claims was done), or explicitly state in the commit message that the introduction content was intentionally dropped and document the rationale.","commit_id":"eaf2b1a1f539c90bae0c0b709a1b298e6a736d19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"420fa235f81990208d01e2f8369d7816dcb2093d","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"User Requests"},{"line_number":84,"context_line":"~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The user request for accelerators is encapsulated in a device profile,"},{"line_number":87,"context_line":"which is created and managed by the admin via the Cyborg API."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The structure overview of a ``device_profile`` is like this:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code:: json"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  {"},{"line_number":94,"context_line":"      \"device_profiles\":["},{"line_number":95,"context_line":"        {"},{"line_number":96,"context_line":"            \"name\":\"fpga-dp1\","},{"line_number":97,"context_line":"            \"uuid\":\"5518a925-1c2c-49a2-a8bf-0927d9456f3e\","},{"line_number":98,"context_line":"            \"description\": \"\","},{"line_number":99,"context_line":"            \"groups\":["},{"line_number":100,"context_line":"              {"},{"line_number":101,"context_line":"                \"trait:CUSTOM_FPGA_TRAITS\":\"required\","},{"line_number":102,"context_line":"                \"resources:FPGA\":\"1\","},{"line_number":103,"context_line":"                \"accel:bitstream_id\":\"d5ca2f11-3108-4426-a11c-a959987565df\""},{"line_number":104,"context_line":"              }"},{"line_number":105,"context_line":"            ],"},{"line_number":106,"context_line":"            \"created_at\": \"2020-03-10 03:52:15+00:00\","},{"line_number":107,"context_line":"            \"updated_at\": null,"},{"line_number":108,"context_line":"            \"links\":["},{"line_number":109,"context_line":"              {"},{"line_number":110,"context_line":"                \"href\":\"http://192.168.32.217/accelerator/v2/device_profiles/5518a925-1c2c-49a2-a8bf-0927d9456f3e\","},{"line_number":111,"context_line":"                \"rel\":\"self\""},{"line_number":112,"context_line":"              }"},{"line_number":113,"context_line":"            ]"},{"line_number":114,"context_line":"        }"},{"line_number":115,"context_line":"      ]"},{"line_number":116,"context_line":"  }"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"The device profile is folded into the flavor as an extra spec by the operator,"},{"line_number":119,"context_line":"as below:"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. code:: bash"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    openstack flavor set --property \u0027accel:device_profile\u003d\u003cprofile_name\u003e\u0027 flavor"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Thus the standard Nova API can be used to create an instance with only the"},{"line_number":126,"context_line":"flavor (without device profiles), like this:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code:: bash"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    openstack server create --flavor f ....  # instance creation"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"In the future, device profile may be used by itself to specify accelerator"},{"line_number":133,"context_line":"resources for the instance creation API."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"For a step-by-step guide on creating instances with accelerators, see"},{"line_number":136,"context_line":":doc:`user/using-cyborg`."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ede965b_bc7269ea","line":133,"range":{"start_line":82,"start_character":1,"end_line":133,"end_character":40},"updated":"2026-08-11 16:46:02.000000000","message":"this ideally woudl be in user/using-cyborg as well","commit_id":"eaf2b1a1f539c90bae0c0b709a1b298e6a736d19"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"a14bb8f3c063b268d358689f8737c2afd0c0ddcc","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"User Requests"},{"line_number":84,"context_line":"~~~~~~~~~~~~~"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The user request for accelerators is encapsulated in a device profile,"},{"line_number":87,"context_line":"which is created and managed by the admin via the Cyborg API."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The structure overview of a ``device_profile`` is like this:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code:: json"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  {"},{"line_number":94,"context_line":"      \"device_profiles\":["},{"line_number":95,"context_line":"        {"},{"line_number":96,"context_line":"            \"name\":\"fpga-dp1\","},{"line_number":97,"context_line":"            \"uuid\":\"5518a925-1c2c-49a2-a8bf-0927d9456f3e\","},{"line_number":98,"context_line":"            \"description\": \"\","},{"line_number":99,"context_line":"            \"groups\":["},{"line_number":100,"context_line":"              {"},{"line_number":101,"context_line":"                \"trait:CUSTOM_FPGA_TRAITS\":\"required\","},{"line_number":102,"context_line":"                \"resources:FPGA\":\"1\","},{"line_number":103,"context_line":"                \"accel:bitstream_id\":\"d5ca2f11-3108-4426-a11c-a959987565df\""},{"line_number":104,"context_line":"              }"},{"line_number":105,"context_line":"            ],"},{"line_number":106,"context_line":"            \"created_at\": \"2020-03-10 03:52:15+00:00\","},{"line_number":107,"context_line":"            \"updated_at\": null,"},{"line_number":108,"context_line":"            \"links\":["},{"line_number":109,"context_line":"              {"},{"line_number":110,"context_line":"                \"href\":\"http://192.168.32.217/accelerator/v2/device_profiles/5518a925-1c2c-49a2-a8bf-0927d9456f3e\","},{"line_number":111,"context_line":"                \"rel\":\"self\""},{"line_number":112,"context_line":"              }"},{"line_number":113,"context_line":"            ]"},{"line_number":114,"context_line":"        }"},{"line_number":115,"context_line":"      ]"},{"line_number":116,"context_line":"  }"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"The device profile is folded into the flavor as an extra spec by the operator,"},{"line_number":119,"context_line":"as below:"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. code:: bash"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    openstack flavor set --property \u0027accel:device_profile\u003d\u003cprofile_name\u003e\u0027 flavor"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Thus the standard Nova API can be used to create an instance with only the"},{"line_number":126,"context_line":"flavor (without device profiles), like this:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code:: bash"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    openstack server create --flavor f ....  # instance creation"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"In the future, device profile may be used by itself to specify accelerator"},{"line_number":133,"context_line":"resources for the instance creation API."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"For a step-by-step guide on creating instances with accelerators, see"},{"line_number":136,"context_line":":doc:`user/using-cyborg`."}],"source_content_type":"text/x-rst","patch_set":4,"id":"0643afee_9dcd33be","line":133,"range":{"start_line":82,"start_character":1,"end_line":133,"end_character":40},"in_reply_to":"7ede965b_bc7269ea","updated":"2026-08-14 08:33:27.000000000","message":"Done","commit_id":"eaf2b1a1f539c90bae0c0b709a1b298e6a736d19"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"8ba198482d99d27614b3879398ca25da1c1cc8c1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"**cyborg-conductor** - cyborg-conductor is a cyborg service that coordinates"},{"line_number":24,"context_line":"interaction, DB access between cyborg-api and cyborg-agent."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"**cyborg-agent** - cyborg-agent is a cyborg service that is responsible for"},{"line_number":27,"context_line":"interaction with accelerator backends via the Cyborg Driver. For now the only"},{"line_number":28,"context_line":"implementation in play is the Cyborg generic Driver. It will also handle the"},{"line_number":29,"context_line":"communication with the Nova placement service. Cyborg-Agent will also write to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"38fb065c_1258f13f","line":26,"updated":"2026-08-14 08:59:35.000000000","message":"The inlined architecture section still states about cyborg-agent: \u0027For now the only implementation in play is the Cyborg generic Driver\u0027, carried over unchanged from the deleted architecture.rst while being promoted to the front page.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: New readers landing on the front page get an outdated picture of driver support and are told not to bother extending drivers for existing device types.\n\n**Suggestion**:\nReword to acknowledge the vendor drivers (FPGA/GPU/NIC/NVMe/SoC, see the support matrix) and link to doc/source/reference/support-matrix.rst from this paragraph.","commit_id":"0a9da035de27fb06e24539a4a3eeb93609e25147"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"321c0da2625db51d4c9930c50e67797976a562dc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"**cyborg-conductor** - cyborg-conductor is a cyborg service that coordinates"},{"line_number":24,"context_line":"interaction, DB access between cyborg-api and cyborg-agent."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"**cyborg-agent** - cyborg-agent is a cyborg service that is responsible for"},{"line_number":27,"context_line":"interaction with accelerator backends via the Cyborg Driver. For now the only"},{"line_number":28,"context_line":"implementation in play is the Cyborg generic Driver. It will also handle the"},{"line_number":29,"context_line":"communication with the Nova placement service. Cyborg-Agent will also write to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ea0b6802_d9563531","line":26,"in_reply_to":"38fb065c_1258f13f","updated":"2026-08-14 11:10:43.000000000","message":"This is a decent suggestion - editing","commit_id":"0a9da035de27fb06e24539a4a3eeb93609e25147"},{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"023372a13b3900529c9351ba9996075197a6399b","unresolved":false,"context_lines":[{"line_number":80,"context_line":"As an end user of Cyborg, you\u0027ll use Cyborg to create and"},{"line_number":81,"context_line":"manage accelerators with either tools or the API directly."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"For a step-by-step guide on creating instances with accelerators, see"},{"line_number":84,"context_line":":doc:`user/using-cyborg`."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cddf9d51_dc7ff75d","line":83,"updated":"2026-08-14 13:51:26.000000000","message":"The \u0027For End Users\u0027 section adds an explicit \u0027:doc:`user/using-cyborg`\u0027 link followed immediately by a hidden toctree containing the same document, duplicating the link. The same file already documents (NOTE(amotoki)) that hidden toctrees must be placed at the end of a section; the new link sits...\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The using-cyborg page appears as two links back-to-back in rendered HTML, and the toctree position before the section\u0027s remaining subsections (\u0027Tools for using Cyborg\u0027, \u0027Using the API\u0027) deviates from the pattern used in the rest of the file and can affect PDF document structure.\n\n**Suggestion**:\nKeep a single link: either follow the Maintenance section pattern (\u0027:doc:`Using Cyborg \u003cuser/using-cyborg\u003e`:\u0027 lead-in text with the hidden toctree placed at the end of the \u0027For End Users\u0027 section after \u0027Using the API\u0027 subsections), or drop the redundant inline \u0027:doc:\u0027 sentence and keep only the hidden toctree.","commit_id":"cce3a6817232bd9f31c19e43b4cbae5681cb796a"}],"doc/source/user/using-cyborg.rst":[{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"8ba198482d99d27614b3879398ca25da1c1cc8c1","unresolved":false,"context_lines":[{"line_number":20,"context_line":"- :doc:`/contributor/devstack_setup` - Installing DevStack with Cyborg"},{"line_number":21,"context_line":"- :doc:`/contributor/nvme-driver` - Configuring NVMe devices (for NVMe testing)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"User Requests"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The user request for accelerators is encapsulated in a device profile,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c614d9ff_b5701718","line":23,"updated":"2026-08-14 08:59:35.000000000","message":"The \u0027User Requests\u0027 section added to using-cyborg.rst is a verbatim ~50-line copy of the existing section in doc/source/admin/index.rst (lines 53-105), including the full device_profile JSON example and CLI snippets. This creates two copies that must be kept in sync.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Future edits to the device profile format or flavor extra-spec example will diverge between admin and end-user docs, misleading either audience.\n\n**Recommendation**:\nKeep a single source for this content, e.g. have the admin page reference :doc:`/user/using-cyborg` for the User Requests section (or vice versa), or extract the shared section so both indexes include it once.","commit_id":"0a9da035de27fb06e24539a4a3eeb93609e25147"}]}
