)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7ea674b55272ebfb9b2a8de637c845ef86e1a6b8","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Expand the Ruff rule set with G (logging format), LOG (logging"},{"line_number":10,"context_line":"calls), S (bandit security), W (pycodestyle warnings), and C90"},{"line_number":11,"context_line":"(mccabe complexity). Security checks are disabled for test files"},{"line_number":12,"context_line":"via per-file-ignores matching the cyborg convention."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ifbcf9749d0e4b6f0f887f4f2dc2fbdb3692db3c2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fee36723_be1d0ee6","line":11,"range":{"start_line":11,"start_character":1,"end_line":11,"end_character":19},"updated":"2026-06-09 07:43:50.000000000","message":"https://docs.astral.sh/ruff/rules/complex-structure/","commit_id":"63b05ad715db5b7b6ddcfd0714c02f8067ec258d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"322e9c3bb45b6dd15c8777e225f7ba54c90826d5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Expand the Ruff rule set with G (logging format), LOG (logging"},{"line_number":10,"context_line":"calls), S (bandit security), W (pycodestyle warnings), and C90"},{"line_number":11,"context_line":"(mccabe complexity). Security checks are disabled for test files"},{"line_number":12,"context_line":"via per-file-ignores matching the cyborg convention."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ifbcf9749d0e4b6f0f887f4f2dc2fbdb3692db3c2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2fd1cd1c_b57b9251","line":11,"range":{"start_line":11,"start_character":1,"end_line":11,"end_character":19},"in_reply_to":"fee36723_be1d0ee6","updated":"2026-09-18 13:56:10.000000000","message":"Acknowledged","commit_id":"63b05ad715db5b7b6ddcfd0714c02f8067ec258d"},{"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":"6105b9590904efccf5ad0e3b2cb8971d6696dd74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Parent:     f06139f8 (Enable pyupgrade rules and modernize super() calls)"},{"line_number":2,"context_line":"Author:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":3,"context_line":"AuthorDate: 2026-06-08 20:18:39 +0100"},{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"34ce04f2_33540010","line":1,"updated":"2026-09-18 16:37:46.000000000","message":"The commit message states \"Security checks are disabled for test files via per-file-ignores matching the cyborg convention\", but the change contains no per-file-ignores configuration. S101, S104, S105, S106, and S110 are added to the global top-level `ignore` list under `[tool.ruff.lint]`, which disables them for every file in the repository, including non-test code. The permanent change history therefore misdescribes the mechanism and effective scope of the security-rule suppression.\n\n**Severity**: WARNING | **Confidence**: 0.92\n\n**Impact**: Future maintainers reading the merged history will believe S rules still protect non-test code and may rely on that when adding service-client or configuration code. Misdocumented tooling scope also makes later cleanup harder to reason about.\n\n**Suggestion**:\nEither implement the per-file-ignores scoping described in the message (recommended; see the related configuration finding) or reword the commit message to state accurately that the S rules are globally ignored. With the recommended config fix no message reword is needed.","commit_id":"3b99fbdd03b2f75982366aa090478aa944e7bcb0"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7ea674b55272ebfb9b2a8de637c845ef86e1a6b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bcd29c17_e168e2a8","updated":"2026-06-09 07:43:50.000000000","message":"recheck","commit_id":"63b05ad715db5b7b6ddcfd0714c02f8067ec258d"}],"pyproject.toml":[{"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":"3b7de3193ca49bcbdd5f98e8889299e83da30879","unresolved":false,"context_lines":[{"line_number":45,"context_line":"[tool.ruff.lint]"},{"line_number":46,"context_line":"select \u003d [\"E4\", \"E7\", \"E9\", \"F\", \"G\", \"LOG\", \"S\", \"UP\", \"W\", \"C90\"]"},{"line_number":47,"context_line":"external \u003d [\"H\"]"},{"line_number":48,"context_line":"ignore \u003d ["},{"line_number":49,"context_line":"    # S101 assert used for type narrowing"},{"line_number":50,"context_line":"    \"S101\","},{"line_number":51,"context_line":"    # S104 Possible binding to all interfaces"}],"source_content_type":"text/x-toml","patch_set":3,"id":"dc0b684e_19eabebd","line":48,"updated":"2026-07-06 22:59:18.000000000","message":"The commit message states \u0027Security checks are disabled for test files via per-file-ignores matching the cyborg convention,\u0027 but the diff adds no [tool.ruff.lint.per-file-ignores] section. Only global ignore entries for individual S codes (S101, S104, S105, S106, S110) are added. The cyborg main...\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Future test files that trigger S rules outside the global ignore list (e.g., S301, S307, S324, S501, S603) will be flagged even though the commit message indicates security checks should be disabled for test files. Additionally, the globally-ignored S codes are suppressed for all files rather tha...\n\n**Recommendation**:\nEither add a [tool.ruff.lint.per-file-ignores] section (e.g., \"cyborg_tempest_plugin/tests/*\" \u003d [\"S\"]) to match the commit message and cyborg convention, or correct the commit message to accurately describe the global-ignore approach used.","commit_id":"f560004f7f77778f2f7c4f68662f915c8490b76b"},{"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":"6105b9590904efccf5ad0e3b2cb8971d6696dd74","unresolved":false,"context_lines":[{"line_number":46,"context_line":"select \u003d [\"E4\", \"E7\", \"E9\", \"F\", \"G\", \"LOG\", \"S\", \"UP\", \"W\", \"C90\"]"},{"line_number":47,"context_line":"external \u003d [\"H\"]"},{"line_number":48,"context_line":"ignore \u003d ["},{"line_number":49,"context_line":"    # S101 assert used for type narrowing"},{"line_number":50,"context_line":"    \"S101\","},{"line_number":51,"context_line":"    # S104 Possible binding to all interfaces"},{"line_number":52,"context_line":"    \"S104\","}],"source_content_type":"text/x-toml","patch_set":4,"id":"96c818eb_486e1b1b","line":49,"updated":"2026-09-18 16:37:46.000000000","message":"The change enables bandit (S) rules in the ruff `select` list but suppresses S101, S104, S105, S106, and S110 through the global top-level `ignore` list under `[tool.ruff.lint]`. The commit message states these rules are \"disabled for test files via per-file-ignores\", but the repository contains no `[tool.ruff.lint.per-file-ignores]` section. As implemented, the security checks are disabled for the entire repository, including non-test code such as `services/cyborg_rest_client.py`, `services/cyborg_data.py`, `config.py`, and `plugin.py`, not just the test tree.\n\n**Severity**: WARNING | **Confidence**: 0.86\n\n**Impact**: Any future S-rule finding in non-test code - for example a hardcoded password (S105/S106), a bind to all interfaces (S104), or a silently swallowed exception (S110) in the service clients or config module - will pass lint unnoticed. The repo-wide disablement also contradicts the change\u0027s stated goal of keeping security checks active outside tests.\n\n**Suggestion**:\nMove S101, S104, S105, S106, and S110 out of the global `ignore` list into `[tool.ruff.lint.per-file-ignores]` scoped to the test tree, e.g. `\"**/tests/**\" \u003d [\"S101\", \"S104\", \"S105\", \"S106\", \"S110\"]`. This was verified to pass `ruff check` with no new failures. If global suppression is genuinely intended instead, update the commit message to say so (see the related commit-message finding).","commit_id":"3b99fbdd03b2f75982366aa090478aa944e7bcb0"}]}
