fix(pr-queue-inventory): address REQUEST_CHANGES on #165

- Inventory report now includes 'Repository: org/repo' name
- Inventory failure path redacts exception via _redact() per project pattern; no raw exception text leaked
- Added/updated tests covering:
  * repository name present in inventory output
  * inventory failure output is redacted
  * raw exception text does not leak
  * author profiles can perform read-only PR inventory
  * author profiles still cannot approve/request_changes/merge or bypass gates

Preserves all hard gates and author restrictions. No other scope.

Refs #164
This commit is contained in:
2026-07-05 12:29:53 -04:00
parent 485ba22c8f
commit 88296f0262
2 changed files with 88 additions and 1 deletions
+2 -1
View File
@@ -1407,13 +1407,14 @@ def gitea_review_pr(
"requires_non_author_reviewer": req_non_author
})
except Exception as e:
inventory_msg = f"PR inventory failed: {str(e)}"
inventory_msg = f"PR inventory failed: {_redact(str(e))}"
else:
inventory_msg = "PR inventory not attempted"
# Build inventory report string
report_lines = []
if inventory_attempted:
report_lines.append(f"Repository: {o}/{r}")
if pr_details_list:
report_lines.append(f"Open PRs found: {prs_found_count}")
for item in pr_details_list: