)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"1edee80fd84be09dcd61d3eb752d67f899f6ae46","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5d31b457_498685b2","updated":"2025-10-06 19:38:45.000000000","message":"should be fixed running pre-commit","commit_id":"93933d77c1897615397b7182f9610e73356bcb0d"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"919dae60d73a76e49d468be198074bd5ff84355e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"53e99809_9ac03d65","in_reply_to":"5d31b457_498685b2","updated":"2025-10-07 14:07:05.000000000","message":"Done","commit_id":"93933d77c1897615397b7182f9610e73356bcb0d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d6f52acc530bc40568c2dfbcf97bd81a03aa0df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a03700b5_9d6c3b73","updated":"2025-10-16 15:51:22.000000000","message":"I\u0027m not blocking on it since the whole file is like that... but we should really define enums for things that are enums in the standard - 3 examples inline.","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"87f4b19797274435490454f6eb674b8b56f0f853","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9d2e60c9_a74e7247","updated":"2025-10-31 12:31:00.000000000","message":"Changing types of existing fields is technically a breaking change, but given the state of sushy, I won\u0027t bother with it.","commit_id":"ecdc7559d036452a8893e3ff1a0c0ffa82534dd3"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0cab17a2d4a82d3de6b1af6f835000b51a6251de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3b4c7eda_f6e5d170","updated":"2025-10-17 23:08:35.000000000","message":"thanks for the quick update @nidhi.rai94@gmail.com. @dtantsur@protonmail.com she’s addressed your feedback.","commit_id":"ecdc7559d036452a8893e3ff1a0c0ffa82534dd3"}],"sushy/resources/system/pcie_device.py":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"ede26d0a158e660d5892784c3ee465c67bf7cb4b","unresolved":true,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"class PCIeFunction(base.ResourceBase):"},{"line_number":66,"context_line":"    \"\"\"Represents a PCIe function associated with a PCIe device.\"\"\""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":69,"context_line":"    \"\"\"The PCIe function identity string\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"71ef54e2_6c5eafbc","line":66,"updated":"2025-10-05 20:22:11.000000000","message":"```suggestion\n    \"\"\"Represents a PCIe function associated within a PCIe device.\"\"\"\n```","commit_id":"bfe46aa448f4266697e8019b4f17c92cf3ce0ab5"},{"author":{"_account_id":38370,"name":"nidhi","display_name":"Nidhi Rai","email":"nidhi.rai94@gmail.com","username":"nidsrai"},"change_message_id":"85c1f6e276e3934997c7162ba26e20f251337c64","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"class PCIeFunction(base.ResourceBase):"},{"line_number":66,"context_line":"    \"\"\"Represents a PCIe function associated with a PCIe device.\"\"\""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":69,"context_line":"    \"\"\"The PCIe function identity string\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"8af2ef79_aef5abca","line":66,"in_reply_to":"71ef54e2_6c5eafbc","updated":"2025-10-06 09:03:25.000000000","message":"Done","commit_id":"bfe46aa448f4266697e8019b4f17c92cf3ce0ab5"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d6f52acc530bc40568c2dfbcf97bd81a03aa0df","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    function_id \u003d base.Field(\u0027FunctionId\u0027, adapter\u003dutils.int_or_none)"},{"line_number":78,"context_line":"    \"\"\"The PCIe function number within a given PCIe device.\"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    function_type \u003d base.Field(\u0027FunctionType\u0027)"},{"line_number":81,"context_line":"    \"\"\"The type of the PCIe function (Physical or Virtual).\"\"\""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"96e4a31b_78fb8787","line":80,"updated":"2025-10-16 15:51:22.000000000","message":"This is actually an enum, why not create it as such?","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0cab17a2d4a82d3de6b1af6f835000b51a6251de","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    function_id \u003d base.Field(\u0027FunctionId\u0027, adapter\u003dutils.int_or_none)"},{"line_number":78,"context_line":"    \"\"\"The PCIe function number within a given PCIe device.\"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    function_type \u003d base.Field(\u0027FunctionType\u0027)"},{"line_number":81,"context_line":"    \"\"\"The type of the PCIe function (Physical or Virtual).\"\"\""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"83c63e70_09a610cb","line":80,"in_reply_to":"96e4a31b_78fb8787","updated":"2025-10-17 23:08:35.000000000","message":"Done","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d6f52acc530bc40568c2dfbcf97bd81a03aa0df","unresolved":true,"context_lines":[{"line_number":80,"context_line":"    function_type \u003d base.Field(\u0027FunctionType\u0027)"},{"line_number":81,"context_line":"    \"\"\"The type of the PCIe function (Physical or Virtual).\"\"\""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"},{"line_number":84,"context_line":"    \"\"\"The PCIe function protocol (PCIe or CXL).\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    device_class \u003d base.Field(\u0027DeviceClass\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"86991299_e4b979eb","line":83,"updated":"2025-10-16 15:51:22.000000000","message":"ditto","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0cab17a2d4a82d3de6b1af6f835000b51a6251de","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    function_type \u003d base.Field(\u0027FunctionType\u0027)"},{"line_number":81,"context_line":"    \"\"\"The type of the PCIe function (Physical or Virtual).\"\"\""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"},{"line_number":84,"context_line":"    \"\"\"The PCIe function protocol (PCIe or CXL).\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    device_class \u003d base.Field(\u0027DeviceClass\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f16c1b89_7b0bf94f","line":83,"in_reply_to":"86991299_e4b979eb","updated":"2025-10-17 23:08:35.000000000","message":"Done","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d6f52acc530bc40568c2dfbcf97bd81a03aa0df","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"},{"line_number":84,"context_line":"    \"\"\"The PCIe function protocol (PCIe or CXL).\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    device_class \u003d base.Field(\u0027DeviceClass\u0027)"},{"line_number":87,"context_line":"    \"\"\"The class for this PCIe function"},{"line_number":88,"context_line":"    (NetworkController, MassStorageController, etc.).\"\"\""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"06cf1b59_46b40db4","line":86,"updated":"2025-10-16 15:51:22.000000000","message":"ditto","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0cab17a2d4a82d3de6b1af6f835000b51a6251de","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    function_protocol \u003d base.Field(\u0027FunctionProtocol\u0027)"},{"line_number":84,"context_line":"    \"\"\"The PCIe function protocol (PCIe or CXL).\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    device_class \u003d base.Field(\u0027DeviceClass\u0027)"},{"line_number":87,"context_line":"    \"\"\"The class for this PCIe function"},{"line_number":88,"context_line":"    (NetworkController, MassStorageController, etc.).\"\"\""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a55f4ab_348f0abd","line":86,"in_reply_to":"06cf1b59_46b40db4","updated":"2025-10-17 23:08:35.000000000","message":"Done","commit_id":"60f0086ad78b8f91db04170d174567b7acd4ecbb"}]}
