)]}'
{".agents/scripts/list_launchpad_bugs.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6b6c9932ea3fc36858ea321fd79df034ecb65516","unresolved":true,"context_lines":[{"line_number":24,"context_line":"import sys"},{"line_number":25,"context_line":"import urllib.error"},{"line_number":26,"context_line":"import urllib.parse"},{"line_number":27,"context_line":"import urllib.request"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LAUNCHPAD_API \u003d \u0027https://api.launchpad.net/1.0\u0027"},{"line_number":30,"context_line":"GERRIT_URL \u003d \u0027https://review.opendev.org\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"48ff0352_9c01ea07","line":27,"updated":"2026-07-08 16:45:24.000000000","message":"There is also a launchpad python library that I\u0027ve used in other scripts:\n\nfrom launchpadlib import launchpad\n\nBut we don\u0027t need to change this if it works","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"490d215df079b08e1f36e96f6d940f87e0c3338c","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import sys"},{"line_number":25,"context_line":"import urllib.error"},{"line_number":26,"context_line":"import urllib.parse"},{"line_number":27,"context_line":"import urllib.request"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LAUNCHPAD_API \u003d \u0027https://api.launchpad.net/1.0\u0027"},{"line_number":30,"context_line":"GERRIT_URL \u003d \u0027https://review.opendev.org\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"11317a9d_47eb8726","line":27,"in_reply_to":"48ff0352_9c01ea07","updated":"2026-07-09 07:31:46.000000000","message":"I\u0027ll try to use this one.","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6b6c9932ea3fc36858ea321fd79df034ecb65516","unresolved":true,"context_lines":[{"line_number":246,"context_line":"        help\u003d\u0027Launchpad project name (default: neutron)\u0027,"},{"line_number":247,"context_line":"    )"},{"line_number":248,"context_line":"    parser.add_argument("},{"line_number":249,"context_line":"        \u0027--status\u0027,"},{"line_number":250,"context_line":"        help\u003d\u0027Optional Launchpad status filter (for example: New)\u0027,"},{"line_number":251,"context_line":"    )"},{"line_number":252,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"1108c6b0_9ff39a62","line":249,"updated":"2026-07-08 16:45:24.000000000","message":"nit: I think you can add the valid choices here, at least looking in the OSC code we do it (eg subnet.py), something like:\n\nchoices\u003d[\u0027New\u0027, \u0027Incomplete\u0027, \u0027Triaged\u0027, \u0027Opinion\u0027, \u0027Confirmed\u0027, \u0027In Progress\u0027]\n\nI just don\u0027t know how that \u0027In Progress\u0027 one would work being two words. Oh, and there is \"Fix *\" states as well, but we don\u0027t typically care about them as they are closed.\n\nAlso, does this allow multiple values for filtering?","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"490d215df079b08e1f36e96f6d940f87e0c3338c","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        help\u003d\u0027Launchpad project name (default: neutron)\u0027,"},{"line_number":247,"context_line":"    )"},{"line_number":248,"context_line":"    parser.add_argument("},{"line_number":249,"context_line":"        \u0027--status\u0027,"},{"line_number":250,"context_line":"        help\u003d\u0027Optional Launchpad status filter (for example: New)\u0027,"},{"line_number":251,"context_line":"    )"},{"line_number":252,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"39be8732_32e62704","line":249,"in_reply_to":"1108c6b0_9ff39a62","updated":"2026-07-09 07:31:46.000000000","message":"Updated.\n\nI\u0027ve also added `query \u003d urllib.parse.urlencode(params, doseq\u003dTrue)` to serialize the multiple values and `nargs\u003d\u0027+\u0027` in the argument definition.","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6b6c9932ea3fc36858ea321fd79df034ecb65516","unresolved":true,"context_lines":[{"line_number":248,"context_line":"    parser.add_argument("},{"line_number":249,"context_line":"        \u0027--status\u0027,"},{"line_number":250,"context_line":"        help\u003d\u0027Optional Launchpad status filter (for example: New)\u0027,"},{"line_number":251,"context_line":"    )"},{"line_number":252,"context_line":"    parser.add_argument("},{"line_number":253,"context_line":"        \u0027--enrich\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":254,"context_line":"        help\u003d\u0027Resolve assignee and detect active Gerrit patches per bug\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"05d3ed78_11ee193a","line":251,"updated":"2026-07-08 16:45:24.000000000","message":"We could also add an \"importance\" option, similar to --status if we want to filter by that, these are the valid values afaik:\n\nchoices\u003d[\u0027Critical\u0027, \u0027High\u0027, \u0027Medium\u0027, \u0027Low\u0027, \u0027Wishlist\u0027, \u0027Undecided\u0027]\n\nI\u0027m assuming the API supports that?","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"490d215df079b08e1f36e96f6d940f87e0c3338c","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    parser.add_argument("},{"line_number":249,"context_line":"        \u0027--status\u0027,"},{"line_number":250,"context_line":"        help\u003d\u0027Optional Launchpad status filter (for example: New)\u0027,"},{"line_number":251,"context_line":"    )"},{"line_number":252,"context_line":"    parser.add_argument("},{"line_number":253,"context_line":"        \u0027--enrich\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":254,"context_line":"        help\u003d\u0027Resolve assignee and detect active Gerrit patches per bug\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c2e516fc_753dd7d3","line":251,"in_reply_to":"05d3ed78_11ee193a","updated":"2026-07-09 07:31:46.000000000","message":"Yes, it does.\n\nDone.","commit_id":"28e6ecd3a3b6c5db6f26e33524ad8383bbf17a9e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bbc9eb572dc2def940af7d40fa8d458fe1c69f7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f50d02a7_9bf8e020","updated":"2026-07-09 07:50:46.000000000","message":"For example, this is the prompt and the output using this agent definition.\n\n```\nFrom neutron, read AGENTS.md and use neutron-lp-bug-triage.md. I want you to do the bug triage of last week (jun29 - Jul 5, both included)\n```\n\nOutput:\n```\nNeutron Launchpad bug summary for 2026-06-29 to 2026-07-05 (inclusive). Total bugs: 5.\nOverview: Critical 0, High 1, Medium 2, Low 1, Wishlist 1, Undecided 0. With active patch: 5. Unassigned: 0.\nCritical: None.\nHigh:\n* Bug 2158639 - L3 FWaaS applies default FWG to router when only compute ports are removed from the group.\n  Created 2026-06-29. Status In Progress. Assignee Slawek Kaplonski.\n  Link https://bugs.launchpad.net/neutron/+bug/2158639.\n  Active patch: Don\u0027t update fw group for router ports if it\u0027s not needed.\n  https://review.opendev.org/c/openstack/neutron-fwaas/+/995461\nMedium:\n* Bug 2159035 - BaseEvent.matches() bypasses base_match(), silently ignoring any conditions.\n  Created 2026-07-03. Status In Progress. Assignee Rodolfo Alonso.\n  Link https://bugs.launchpad.net/neutron/+bug/2159035.\n  Active patch: ovn: Remove BaseEvent and fix matches() bypassing base_match().\n  https://review.opendev.org/c/openstack/neutron/+/995945\n* Bug 2159039 - UpdateLRouterCommand ignores if_exists due to row_by_value default argument.\n  Created 2026-07-03. Status In Progress. Assignee Rodolfo Alonso.\n  Link https://bugs.launchpad.net/neutron/+bug/2159039.\n  Active patch: ovn: Fix UpdateLRouterCommand ignoring if_exists.\n  https://review.opendev.org/c/openstack/neutron/+/995955\nLow:\n* Bug 2159028 - ChassisAgentTypeChangeEvent registers for all Chassis event types instead of only ROW_UPDATE.\n  Created 2026-07-03. Status In Progress. Assignee Rodolfo Alonso.\n  Link https://bugs.launchpad.net/neutron/+bug/2159028.\n  Active patch: ovn: Fix ChassisAgentTypeChangeEvent ignoring events attribute.\n  https://review.opendev.org/c/openstack/neutron/+/995936\nWishlist:\n* Bug 2158981 - [RFE] Support Apache mod_wsgi as an alternative WSGI server for the Neutron API.\n  Created 2026-07-02. Status In Progress. Assignee Rodolfo Alonso.\n  Link https://bugs.launchpad.net/neutron/+bug/2158981.\n  Active patch: Add agnostic WSGI support for API worker election and identification.\n  https://review.opendev.org/c/openstack/neutron/+/995666\n  Active patch: Add mod_wsgi support to get_api_worker_count().\n  https://review.opendev.org/c/openstack/neutron/+/995800\n  Active patch: Make get_start_time() server-agnostic.\n  https://review.opendev.org/c/openstack/neutron/+/995802\nUndecided: None.\nTriage notes: Light week with only 5 bugs filed, all already In Progress with active patches and assigned owners.\nNo Critical or Undecided bugs remain. The High-priority FWaaS bug (2158639) has a patch in neutron-fwaas. Three\nof the five bugs were filed and patched by the same contributor (Rodolfo Alonso), focusing on OVN event handling\nand OVSDB command correctness. The Wishlist RFE for mod_wsgi support has a 3-patch series under review.\n```","commit_id":"9d499afa9a8fed8b28a4147887d7be0551414716"}]}
