)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"fcaa99f5dc14eab2705888b9266fe9cc0e6abef2","unresolved":true,"context_lines":[{"line_number":25,"context_line":"detailed guidance that belongs in human-readable contributor docs."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"These documents are adapted from the conventions established in Nova\u0027s"},{"line_number":28,"context_line":"agentic coding documentation."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Assisted-by: Claude Sonnet 4.5"},{"line_number":31,"context_line":"Change-Id: Ie39407c1bf250ecb90333f12dbe58341f39a5200"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5738e4af_0e40d014","line":28,"updated":"2026-08-24 06:11:48.000000000","message":"Would reference https://review.opendev.org/c/openstack/agentic-workflows/+/1001811/ if merged prior to documentation review","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"4e222238e8cb07cf8f35d6e0818f7b4e6571c85d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"detailed guidance that belongs in human-readable contributor docs."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"These documents are adapted from the conventions established in Nova\u0027s"},{"line_number":28,"context_line":"agentic coding documentation."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Assisted-by: Claude Sonnet 4.5"},{"line_number":31,"context_line":"Change-Id: Ie39407c1bf250ecb90333f12dbe58341f39a5200"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1b48fefc_a5978984","line":28,"in_reply_to":"5738e4af_0e40d014","updated":"2026-08-27 06:30:18.000000000","message":"Done","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"16517a634a0c6c0948bac7d6d2a94aa2af7a19eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"fa239da1_bd496a71","updated":"2026-09-01 17:54:00.000000000","message":"lgtm, thanks","commit_id":"d5e9ceab2f02f828110b5c97d57c30dce4402601"}],"doc/source/contributor/commit-messages.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e0fae3f1b6589f3d41296be8e267f0b1028a1021","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Notation: ``\u003cx\u003e`` \u003d required, ``[x]`` \u003d optional. Do not include the brackets"},{"line_number":58,"context_line":"or angle brackets in the final trailer."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"``Generated-By: \u003ctool-name\u003e [model-version]``"},{"line_number":61,"context_line":"    Use when the commit is mostly machine-authored with minimal human revision."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"``Assisted-By: \u003ctool-name\u003e [model-version]``"},{"line_number":64,"context_line":"    Use when a human materially revised, amended, or curated the AI-generated"}],"source_content_type":"text/x-rst","patch_set":15,"id":"6da95160_34ad4388","line":61,"range":{"start_line":59,"start_character":1,"end_line":61,"end_character":79},"updated":"2026-09-01 18:07:06.000000000","message":"this is fine for now as it matches\nhttps://openinfra.org/legal/ai-policy quite well although that recomendation in the future will evelve to jsut alwasy use `Assisted-By`\n\nin an effort to simplfy the wording going forward.","commit_id":"d5e9ceab2f02f828110b5c97d57c30dce4402601"}],"doc/source/contributor/driver-development-guide.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":"59c493627f778f769cb46b655c5b9372bab1d461","unresolved":false,"context_lines":[{"line_number":14,"context_line":"programming or binding."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"See :doc:`/contributor/repo-overview` for repository structure and"},{"line_number":17,"context_line":":doc:`/admin/support-matrix` for the current driver support status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Before You Start"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"80786d5b_d13d9a66","line":17,"updated":"2026-08-21 07:56:39.000000000","message":"The rewritten driver development guide references the driver support matrix as :doc:`/admin/support-matrix` in two places (the Overview section and step 7 of the manual process). No document exists at doc/source/admin/support-matrix.rst; the actual support matrix is doc/source/reference/support-matrix.rst, as referenced by doc/source/index.rst (\u0027:doc:`reference/support-matrix`\u0027) and doc/source/contributor/releasenotes.rst (\u0027:doc:`DriversSupportMatrix \u003c/reference/support-matrix\u003e`\u0027). Sphinx emits an \u0027unknown document\u0027 warning for these references, and the project\u0027s docs environment runs \u0027sphinx-build -W --keep-going\u0027 (tox.ini lines 87/95), which turns warnings into errors, so the openstack-tox-docs job will fail on this patch.\n\n**Severity**: HIGH | **Confidence**: 0.95\n\n**Impact**: The documentation build job fails (warnings-as-errors), blocking merge until fixed; even if warnings were ignored, readers following the link would get a dead reference.\n\n**Priority**: Before merge\n**Recommendation**:\nChange both occurrences of :doc:`/admin/support-matrix` to :doc:`/reference/support-matrix` in doc/source/contributor/driver-development-guide.rst (lines 17 and 110), matching how doc/source/index.rst and releasenotes.rst reference the support matrix.","commit_id":"0eb71861e3b5ac049fd91d1eb3c6fba337d69988"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d8a61f7241b1adf282e3132a2fa322a0e9c3dbf","unresolved":true,"context_lines":[{"line_number":14,"context_line":"programming or binding."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"See :doc:`/contributor/repo-overview` for repository structure and"},{"line_number":17,"context_line":":doc:`/admin/support-matrix` for the current driver support status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Before You Start"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c0647578_49bd9255","line":17,"in_reply_to":"41876097_5510166d","updated":"2026-08-26 19:51:57.000000000","message":"yep teim is unhappy becaue you have not rebase this since you pudated the patch\nso its seeing the older state.","commit_id":"0eb71861e3b5ac049fd91d1eb3c6fba337d69988"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"9683a029c3cac648f8cb4e779b6dbfe046b814dd","unresolved":true,"context_lines":[{"line_number":14,"context_line":"programming or binding."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"See :doc:`/contributor/repo-overview` for repository structure and"},{"line_number":17,"context_line":":doc:`/admin/support-matrix` for the current driver support status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Before You Start"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"41876097_5510166d","line":17,"in_reply_to":"80786d5b_d13d9a66","updated":"2026-08-21 07:59:17.000000000","message":"This references the changes in https://review.opendev.org/c/openstack/cyborg/+/1001755","commit_id":"0eb71861e3b5ac049fd91d1eb3c6fba337d69988"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"6a8004a0d4b17f2f3e7992dcbd512edbbf641eae","unresolved":false,"context_lines":[{"line_number":14,"context_line":"programming or binding."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"See :doc:`/contributor/repo-overview` for repository structure and"},{"line_number":17,"context_line":":doc:`/admin/support-matrix` for the current driver support status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Before You Start"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"283b90ee_5e572dda","line":17,"in_reply_to":"c0647578_49bd9255","updated":"2026-08-27 06:29:57.000000000","message":"Acknowledged","commit_id":"0eb71861e3b5ac049fd91d1eb3c6fba337d69988"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"51be26ffd2f359266fbe4f2260b65834c864084a","unresolved":true,"context_lines":[{"line_number":43,"context_line":".. note::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   **For AI coding assistants:** Future commits will add skill definitions"},{"line_number":46,"context_line":"   that automate common driver development tasks. These skills will:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   * Scaffold a new driver from templates with proper entry points"},{"line_number":49,"context_line":"   * Generate discover() methods based on device enumeration strategy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a051c116_f4f83e0a","line":46,"updated":"2026-08-24 06:09:13.000000000","message":"https://review.opendev.org/c/openstack/agentic-workflows/+/1001812/ is a kernel development skill but could relate to the driver development. Note references to pci-sim.  If the skill is merge prior to the documentation review, we should point to this skill.","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"6a8004a0d4b17f2f3e7992dcbd512edbbf641eae","unresolved":false,"context_lines":[{"line_number":43,"context_line":".. note::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   **For AI coding assistants:** Future commits will add skill definitions"},{"line_number":46,"context_line":"   that automate common driver development tasks. These skills will:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   * Scaffold a new driver from templates with proper entry points"},{"line_number":49,"context_line":"   * Generate discover() methods based on device enumeration strategy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"eda1e9cc_45d4219c","line":46,"in_reply_to":"21f3f949_4393ed34","updated":"2026-08-27 06:29:57.000000000","message":"Done","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d8a61f7241b1adf282e3132a2fa322a0e9c3dbf","unresolved":true,"context_lines":[{"line_number":43,"context_line":".. note::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   **For AI coding assistants:** Future commits will add skill definitions"},{"line_number":46,"context_line":"   that automate common driver development tasks. These skills will:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   * Scaffold a new driver from templates with proper entry points"},{"line_number":49,"context_line":"   * Generate discover() methods based on device enumeration strategy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"21f3f949_4393ed34","line":46,"in_reply_to":"a051c116_f4f83e0a","updated":"2026-08-26 19:51:57.000000000","message":"maybe\n\ncurrently we are not commiting skills to any proejct repos so we may never end up doing that\n\nwe might create a seprate git repo for the skills or we may decied to relax the curent approcoe of no skills in this repo.\n\nregardles of the approch skills, hooks, mcp servier or other ai tools weill never be required to contibute and only ever optional assitive tools.\n\nthis is perhaps the only part that im not sure we shoudl procee with\n\nthe tow issue i see are 1 we do not want ot have seperte doc for AIs and humans and two we have not agreed to add skils in teh future so this shoudl not suggest that.\n\nthis is also in conclift with \n\nhttps://review.opendev.org/c/openstack/cyborg/+/1001767/5/doc/source/contributor/agentic-coding.rst#14\n\n```\nif a convention must be followed it is documented in human-readable\nprose that agents can find via normal file exploration.\n```\nand  https://review.opendev.org/c/openstack/cyborg/+/1001767/5/doc/source/contributor/agentic-coding.rst#34\n\n```\nAvoid adding agent-only project\nrules. If a rule matters for the project, document it where contributors can\nfind it and let agents discover the same source.\n```\n\nthat guidance exits to avoid having \n\n`**For AI coding assistants:**` and `**For human contributors:**`\n\ndocs that is an expict anti pattern","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"},{"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":"5fb393fa284b2b856802f440bd68ece1ec7543c7","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"     from cyborg.accelerator.drivers.driver import GenericDriver"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"     class NewAcceleratorDriver(GenericDriver):"},{"line_number":56,"context_line":"         \"\"\"Driver for \u003cvendor\u003e \u003cdevice type\u003e accelerators.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"         def discover(self):"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aeb0e2e_0bc18f9c","line":55,"updated":"2026-08-27 06:50:42.000000000","message":"Step 1 of the rewritten driver development guide says \u0027Implement the driver interface\u0027 and shows a NewAcceleratorDriver(GenericDriver) example defining only discover(). GenericDriver in cyborg/accelerator/drivers/driver.py declares three abstractmethods: discover, update, and get_stats. A subclass implementing only discover() is still abstract and raises TypeError on instantiation; both in-tree GenericDriver subclasses (FakeDriver and AscendDriver) implement all three methods.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: A contributor following the guide verbatim will register a driver whose class cannot be instantiated (TypeError: abstract methods get_stats, update) and will not learn that update() and get_stats() must be overridden; diagnosing that failure requires reading the base class the guide summarized incorrectly.\n\n**Suggestion**:\nAdd update() and get_stats() stubs (e.g., raising NotImplementedError) to the example and state that GenericDriver requires all three abstract methods to be overridden before the class can be instantiated.","commit_id":"91815c43286a7bfb1af29317c350d99b6b69d8a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b2b605c089d63a2f7f78282f52447b9479ecc0db","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    configuration"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"**Understand the Placement Integration:**"},{"line_number":37,"context_line":"  Drivers report inventory to Nova Placement and must follow the resource"},{"line_number":38,"context_line":"  class and trait conventions documented in the admin guide."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Driver Development Process"}],"source_content_type":"text/x-rst","patch_set":12,"id":"6ec5ba92_1166214b","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":34},"updated":"2026-08-27 12:02:14.000000000","message":"delete nova\n\nplacement is a seprate top level service that was split out of nova and while the nova team now maintian it again that is only becuase the placment team  disbanded adn the remaining member were nova cores so placement is not part of nova even\nif its a delvierable of the upstream compute team.\n\ncybrog only calls nova to notify it when an ARQ is bound outersie it does not interact with nova. inventory is report to placment and nova talks to placemnt to schdule worklaod agaisnt those inventories rather then talkign to cybrog directly","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"07a1651641645f477e447fcbfe217a4586d923d5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    configuration"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"**Understand the Placement Integration:**"},{"line_number":37,"context_line":"  Drivers report inventory to Nova Placement and must follow the resource"},{"line_number":38,"context_line":"  class and trait conventions documented in the admin guide."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Driver Development Process"}],"source_content_type":"text/x-rst","patch_set":12,"id":"e021f493_7c43c543","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":34},"in_reply_to":"6ec5ba92_1166214b","updated":"2026-08-31 07:27:40.000000000","message":"Done","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b2b605c089d63a2f7f78282f52447b9479ecc0db","unresolved":true,"context_lines":[{"line_number":47,"context_line":"1. **Derive a Driver Class**"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"   Implement the driver interface in ``cyborg/accelerator/drivers/\u003ctype\u003e/``."},{"line_number":50,"context_line":"   ``GenericDriver`` requires three abstract methods to be overridden:"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   .. code-block:: python"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"36b8d4a1_a3d26029","line":50,"updated":"2026-08-27 12:02:14.000000000","message":"that is this https://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/driver.py GenericDriver \n\nwhich si diffent thsns this \n\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/modules/generic.py\ngeneric driver\n\nwhich has \n\n```\n    def get_properties(self):\n        \"\"\"Return the properties of the generic driver.\n\n        :returns: dictionary of \u003cproperty name\u003e:\u003cproperty description\u003e entries.\n        \"\"\"\n        return COMMON_PROPERTIES\n\n    def attach(self, accelerator, instance):\n        def install(self, accelerator):\n            pass\n\n    def detach(self, accelerator, instance):\n        def uninstall(self, accelerator):\n            pass\n\n        def delete(self):\n            pass\n\n    def discover(self):\n        pass\n\n    def list(self):\n        pass\n\n    def update(self, accelerator, **kwargs):\n```\n\nwhich is why the nvidia driver does nto iherit form iether\n\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/gpu/base.py#L30\n\nnor does the fpga driver\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/fpga/base.py#L26\nor basiclly any of them\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/pci/base.py#L21\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/nic/base.py\n\n\nthe fake driver and Ascend Driver are the only ones that actully use the correct base class\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/fake.py#L30\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/aichip/huawei/ascend.py#L24\n\n\nbut nothing uses get_stats so really only discover adn update are used form that today\n\n\nthis is the main techinal debt item that i want to adress next cycle follwo by some rest api change potically after that.\n\ni think we can docuemtn this as this is morestly correct\n\n\nhttps://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/driver.py  will be the base class of all drivers in the future but the detail of which method shoudl be implemtied ectra are likely to change.\n\nwe might want to add a note stating that existing driver do not inherit form the correct class.","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"07a1651641645f477e447fcbfe217a4586d923d5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"1. **Derive a Driver Class**"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"   Implement the driver interface in ``cyborg/accelerator/drivers/\u003ctype\u003e/``."},{"line_number":50,"context_line":"   ``GenericDriver`` requires three abstract methods to be overridden:"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   .. code-block:: python"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ab406bc5_fe5940ff","line":50,"in_reply_to":"36b8d4a1_a3d26029","updated":"2026-08-31 07:27:40.000000000","message":"Done","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b2b605c089d63a2f7f78282f52447b9479ecc0db","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"95b1336d_2ef0933b","line":127,"updated":"2026-08-27 12:02:14.000000000","message":"the rest looks fine","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"3afb107f406dd8e1ce0bebc52f6d8575a4ecc797","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4a01b145_d1cd475c","line":127,"in_reply_to":"95b1336d_2ef0933b","updated":"2026-09-01 14:47:10.000000000","message":"Acknowledged","commit_id":"97c1177db578ef5765e18d0d458e27c5e47f22d7"},{"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":"4bacb9db42827bf51416f5f732e2dbb3ae1d0082","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   drivers in the future, but the details of which methods should be"},{"line_number":51,"context_line":"   implemented may change."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"   Note that currently, some of existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"05d58b61_eda4a9b4","line":53,"updated":"2026-08-31 07:42:39.000000000","message":"The rewritten guide states \u0027Note that currently, some of existing drivers do not inherit from the correct class.\u0027 The phrase \u0027some of existing drivers\u0027 is missing an article/needs rewording to \u0027some existing drivers\u0027 or \u0027some of the existing drivers\u0027.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Impact**: Minor reduction in polish and readability of published documentation; meaning remains understandable.\n\n**Recommendation**:\nReword to \u0027Note that currently some existing drivers do not inherit from the correct class.\u0027","commit_id":"67caf438d65ab3df66fa2183fd2e4d04416907f4"},{"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":"4bacb9db42827bf51416f5f732e2dbb3ae1d0082","unresolved":false,"context_lines":[{"line_number":53,"context_line":"   Note that currently, some of existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Add an entry point in ``pyproject.toml``:"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"a242685b_03265fe9","line":56,"updated":"2026-08-31 07:42:39.000000000","message":"The rewritten driver development guide tells authors to register their driver by adding an entry point to pyproject.toml (step 2), but the previous \u0027Reinstall and Test\u0027 section that ran `python setup.py develop` (re-register entry points) and restarted cyborg-agent has been removed and not replaced. Entry points are only read when the package metadata is regenerated, and cyborg-agent only picks up new drivers on restart, so following the guide as written leaves a correctly implemented driver undiscovered.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: A contributor following the new guide verbatim can complete every step, have correct driver code and tests, and still see no driver discovered by cyborg-agent, with no documented step left to explain why.\n\n**Suggestion**:\nAdd a short step after \u0027Register the Driver\u0027 (or fold it into step 2) covering activation, e.g. reinstall the package so entry points regenerate (`pip install -e .` in the DevStack venv) and restart the agent (`sudo systemctl restart devstack@cyborg-agent`), matching the instructions the rewrite removed.","commit_id":"67caf438d65ab3df66fa2183fd2e4d04416907f4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e0fae3f1b6589f3d41296be8e267f0b1028a1021","unresolved":false,"context_lines":[{"line_number":53,"context_line":"   Note that currently, some of existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Add an entry point in ``pyproject.toml``:"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"43950004_6a607047","line":56,"in_reply_to":"48a9c965_7fe86b76","updated":"2026-09-01 18:07:06.000000000","message":"ya this is also a temperal thing\n\nduring tdevelopemtn you amy need to do pip install -e . and restart the agent for it to take effect but that nto really part of what this section is intended to capture it ment to be docuemtnign the change you need to make to the code rather then how to activate that code in yoru dev envionmtn\n\nfor unit test for exampe thise isnt needed and devstack already uses -e so all you need in that case is a restart.\n\ni think this is fine as is.","commit_id":"67caf438d65ab3df66fa2183fd2e4d04416907f4"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"cc37d9049153f34eaacfb38d88c2360486518daf","unresolved":true,"context_lines":[{"line_number":53,"context_line":"   Note that currently, some of existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Add an entry point in ``pyproject.toml``:"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"e3c13757_d3f14c66","line":56,"in_reply_to":"a242685b_03265fe9","updated":"2026-08-31 08:11:09.000000000","message":"Question for reviewers if this is needed.","commit_id":"67caf438d65ab3df66fa2183fd2e4d04416907f4"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"16517a634a0c6c0948bac7d6d2a94aa2af7a19eb","unresolved":true,"context_lines":[{"line_number":53,"context_line":"   Note that currently, some of existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Add an entry point in ``pyproject.toml``:"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"48a9c965_7fe86b76","line":56,"in_reply_to":"e3c13757_d3f14c66","updated":"2026-09-01 17:54:00.000000000","message":"I think it\u0027s fine as is, the information is included in the devstack setup guide that is linked in the `Next Steps` section anyway","commit_id":"67caf438d65ab3df66fa2183fd2e4d04416907f4"},{"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":"5eb27be6793e747841b16dde79ea2b868e731cec","unresolved":false,"context_lines":[{"line_number":53,"context_line":"   Note that currently, some existing drivers do not inherit from"},{"line_number":54,"context_line":"   the correct class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"2. ``Register the Driver``"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Add an entry point in ``pyproject.toml``:"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"6bb6741a_af11a92b","line":56,"updated":"2026-08-31 08:32:50.000000000","message":"The rewritten driver development guide says it \u0027documents the complete workflow for developing a new driver\u0027 and step 2 instructs developers to add an entry point in pyproject.toml, but the guide no longer contains any step to make that entry point visible to the running agent. The previous version of this document had an explicit \u0027Reinstall and Test\u0027 section (python setup.py develop, then systemctl restart devstack@cyborg-agent) that this change removes.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: A contributor following the new guide registers the driver, writes tests (which pass because unit tests do not use the installed entry points), and then finds the driver silently absent from the running agent because stevedore still reads the previously installed metadata. The old doc\u0027s workaround commands are gone, so there is no in-repo guidance for the activation step.\n\n**Suggestion**:\nRestore an activation step after step 2, e.g. \u0027Reinstall the package so the entry point is registered (pip install -e . or re-run stack.sh on a DevStack host) and restart cyborg-agent (sudo systemctl restart devstack@cyborg-agent)\u0027. A single sentence plus the restart command keeps the guide terse.","commit_id":"d5e9ceab2f02f828110b5c97d57c30dce4402601"}],"doc/source/contributor/repo-overview.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":"417aeca791433f1bd6528d3d06aae761d77ee843","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    Operator guides: deployment, configuration, driver support matrix."},{"line_number":61,"context_line":"``doc/source/contributor/``"},{"line_number":62,"context_line":"    Developer guides: process, testing, driver development, agentic coding."},{"line_number":63,"context_line":"``doc/source/reference/``"},{"line_number":64,"context_line":"    Internal reference: REST API microversion history."},{"line_number":65,"context_line":"``doc/source/user/``"},{"line_number":66,"context_line":"    End-user guides: using Cyborg with device profiles and ARQs."}],"source_content_type":"text/x-rst","patch_set":5,"id":"4d88d4ba_6126285b","line":63,"updated":"2026-08-21 11:07:32.000000000","message":"The new repository overview lists doc/source/reference/ as \u0027Internal reference: REST API microversion history\u0027, but that directory does not exist at the review head. It contained support-matrix.rst and driver-table.rst and was removed by the parent commit 8f6081a (\u0027Move support matrix to admin docs\u0027), which moved support-matrix.rst to doc/source/admin/. The REST API version history actually lives at doc/source/contributor/rest_api_version_history.rst. The same \u0027doc/ Structure\u0027 section also places releasenotes/ (a repository-root directory) under a heading that describes doc/ contents.\n\n**Severity**: WARNING | **Confidence**: 0.97\n\n**Impact**: The document\u0027s sole purpose is contributor/AI-agent orientation, so a mapping to a nonexistent directory sends new contributors (and agents routed to this file) looking for API microversion history in the wrong place; the apparent staleness relative to the parent commit also erodes trust in the rest of the map.\n\n**Suggestion**:\nRemove the doc/source/reference/ entry (or replace it with the real location, e.g. note that REST API version history lives at doc/source/contributor/rest_api_version_history.rst), and either move releasenotes/ to the \u0027Root Files\u0027 list or rename the section so root-level directories are not presented as doc/ contents.","commit_id":"e6a059b2f7d9019afadfc12022c7f41a07f5ec28"},{"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":"5fb393fa284b2b856802f440bd68ece1ec7543c7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    Operator guides: deployment, configuration, driver support matrix."},{"line_number":61,"context_line":"``doc/source/contributor/``"},{"line_number":62,"context_line":"    Developer guides: process, testing, driver development, agentic coding."},{"line_number":63,"context_line":"``doc/source/reference/``"},{"line_number":64,"context_line":"    Internal reference: REST API microversion history."},{"line_number":65,"context_line":"``doc/source/user/``"},{"line_number":66,"context_line":"    End-user guides: using Cyborg with device profiles and ARQs."}],"source_content_type":"text/x-rst","patch_set":7,"id":"73eedc93_313efc01","line":63,"updated":"2026-08-27 06:50:42.000000000","message":"The new repository overview lists `doc/source/reference/` as \u0027Internal reference: REST API microversion history\u0027, but that directory does not exist: doc/source contains only admin, cli, configuration, contributor, figures, install, and user. The REST API version history actually lives at doc/source/contributor/rest_api_version_history.rst. The same \u0027doc/ Structure\u0027 section also places `releasenotes/` under doc/, although it lives at the repository root.\n\n**Severity**: WARNING | **Confidence**: 0.95\n\n**Impact**: Contributors and agents using the overview as an orientation map will look for a doc/source/reference/ tree that does not exist and will not find the microversion history where the doc points, defeating the document\u0027s stated purpose.\n\n**Suggestion**:\nDelete the doc/source/reference/ entry or correct it to point to doc/source/contributor/rest_api_version_history.rst, and move the releasenotes/ entry out of the \u0027doc/ Structure\u0027 section (or note it lives at the repository root).","commit_id":"91815c43286a7bfb1af29317c350d99b6b69d8a3"},{"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":"bb4e25158de65a10c4d663bad111e1e8f9fe8cc0","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    Operator guides: deployment, configuration, driver support matrix."},{"line_number":61,"context_line":"``doc/source/contributor/``"},{"line_number":62,"context_line":"    Developer guides: process, testing, driver development, agentic coding."},{"line_number":63,"context_line":"    Also contains REST API microversion history (``rest_api_version_history.rst``)"},{"line_number":64,"context_line":"    and release notes documentation (``releasenotes.rst``)."},{"line_number":65,"context_line":"``doc/source/user/``"},{"line_number":66,"context_line":"    End-user guides: using Cyborg with device profiles and ARQs."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7cd5d78d_d66f7e78","line":63,"updated":"2026-08-27 09:05:50.000000000","message":"doc/source/contributor/repo-overview.rst line 63 (\u0027Also contains REST API microversion history (``rest_api_version_history.rst``)\u0027) is 82 characters, exceeding doc8\u0027s default 79-character limit (D001). The project\u0027s [testenv:pep8] runs `pre-commit run -a`, which includes the doc8 v1.1.2 hook with no arguments, and the [doc8] section in tox.ini only sets ignore-path. Running doc8 v1.1.2 over doc/source/ reproduces exactly one error: this line. It is the only doc8 violation in the whole documentation tree, so it is newly introduced by this change and will fail the openstack-tox-pep8 gate job.\n\n**Severity**: HIGH | **Confidence**: 0.97\n\n**Impact**: The voting openstack-tox-pep8 (pre-commit doc8 D001) check fails, blocking merge of the change until the line is rewrapped. It also leaves the branch red for any dependent series.\n\n**Priority**: Before merge\n**Recommendation**:\nRewrap the definition-list entry, for example: \u0027Also contains REST API microversion history\n    (``rest_api_version_history.rst``) and release notes documentation\n    (``releasenotes.rst``).\u0027 keeping each line at or below 79 characters, then rerun `tox -e pep8` (or `python -m doc8 doc/source`) to confirm zero D001 errors.","commit_id":"f01974033ed03cf7f06b3f1291de5626888390ca"},{"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":"41fc28764bd3e83504aae025940238292089c5f8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"``cyborg/tests/``"},{"line_number":54,"context_line":"    Unit (``unit/``) and functional (``functional/``) test suites."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"doc/ Structure"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"``doc/source/admin/``"}],"source_content_type":"text/x-rst","patch_set":13,"id":"e57787f4_f38a78ba","line":56,"updated":"2026-08-31 06:48:40.000000000","message":"The new repository orientation map lists only five doc/source subdirectories (admin, contributor, user, cli, configuration) and describes doc/source/cli/ as only the \u0027cyborg-status CLI reference\u0027. doc/source/install/ is a top-level published section (Installation Guide: install/index.rst, install-from-source.rst, install-from-pip.rst) and doc/source/cli/ also documents cyborg-dbsync (cyborg-dbsync.rst). The install guide is a section new contributors are explicitly routed to from doc/source/index.rst.\n\n**Severity**: SUGGESTION | **Confidence**: 0.85\n\n**Impact**: A contributor using this map as the entry point will not learn that the install guide exists or that the DB sync CLI is documented, weakening the orientation value of the new document. Documentation-only; no runtime behavior is affected.\n\n**Recommendation**:\nAdd a \u0027``doc/source/install/``\u0027 entry (e.g. \u0027Installation guide: source and pip installs, prerequisites, verification\u0027) to the doc/ Structure section and extend the cli/ entry to cover both cyborg-status and cyborg-dbsync CLI references.","commit_id":"3f3ec4e2063eebedde04428cc6131e1dcefcd3b2"}]}
