Skip to content

chore: thread-tools follow-ups — PROTO §3 inventory, plain import re - #37

Merged
mabry1985 merged 1 commit into
mainfrom
chore/thread-tools-followup
Sep 28, 2026
Merged

mabry1985 merged 1 commit into
mainfrom
chore/thread-tools-followup

Conversation

@mabry1985

Copy link
Copy Markdown
Member

Vera's two carried findings on #36:

  • minor PROTO.md:43: the §3 file inventory still said 15 read / 8 write. It now says 16 / 10 and names the review-thread tools.
  • nit write_tools.py:53: __import__("re") is now a top-level import re.

No behavior change. The suite passes and ruff is clean.

🤖 Generated with Claude Code

… plain import re

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA panel review — WARN

code-review · head 492a1410eea4 · formal

Low-risk documentation-hygiene PR: the code change is sound, but the PR's own §3 inventory update ("16 read tools") now contradicts two stale enumerations it didn't touch. Fix first: update the read_tools.py module docstring to say "Sixteen" and add github_review_threads to its listing — it's the code file, so it's the one a reader hits first. The panel agreed on both findings; verification confirmed both with no disputes. No coverage gaps: the cross-file angle caught both stale spots in one pass.

Findings

Severity Location Finding Verified
🟡 minor read_tools.py:3 The module docstring says 'Fifteen tools' and enumerates 15, but the file now registers 16 — github_review_threads is missing from the docstring's listing. confirmed
🟡 minor PROTO.md:104 PROTO.md §5's heading says '16 read / 10 write / 3 review = 29' but the body's detailed listing names only 15 read tools (missing github_review_threads) and … confirmed
findings JSON (machine-readable)
[
  {
    "file": "read_tools.py",
    "line": 3,
    "severity": "minor",
    "category": "cross-file",
    "claim": "The module docstring says 'Fifteen tools' and enumerates 15, but the file now registers 16 \u2014 `github_review_threads` is missing from the docstring's listing.",
    "evidence": "Fifteen tools, all implemented: six ported from protoAgent's tools/github_tools.py\n(PRs, issues, diffs, CI), the repo-content readers (`github_read_file`,\n`github_read_pr_file`, `github_repo_contents`, `github_path_exists`), `github_pr_diff`,\n`github_status` (the self-diagnosis probe \u2014 is `gh` installed / authenticated), and the\nPM verbs (v0.7.0): `github_list_prs` (the PR board: draft / review decision / merge\nstate), `github_issue_comments` (the thread on an issue or PR), and\n`github_search_issues` (dedupe BEFORE filing).",
    "verdict": "confirmed",
    "note": "Re-read read_tools.py at PR head: docstring literally says 'Fifteen tools' and lists 15; PR's own diff bumps \u00a73 to '16 read tools' naming review_threads as the 16th."
  },
  {
    "file": "PROTO.md",
    "line": 104,
    "severity": "minor",
    "category": "cross-file",
    "claim": "PROTO.md \u00a75's heading says '16 read / 10 write / 3 review = 29' but the body's detailed listing names only 15 read tools (missing `github_review_threads`) and 8 write tools (missing `github_reply_thread` and `github_resolve_thread`), contradicting both the heading and the \u00a73 inventory this PR just updated.",
    "evidence": "**Read (always on)** \u2014 6 ported core tools (`github_get_pr`, `github_get_issue`,\n`github_list_issues`, `github_get_commit_diff`, `github_ci_runs`, `github_run_failure`),\n`github_pr_diff`, the content readers (`github_read_file` \u2014 raw file; `github_read_pr_file`\n\u2014 a file at a PR's head; `github_repo_contents` \u2014 directory listing, says \"is a file \u2014\nuse github_read_file\" on a file; `github_path_exists` \u2014 the EXISTS/MISSING probe), and\n`github_status` \u2014 is `gh` installed / authenticated / as whom / which default repo, the\nself-diagnosis tool the model calls when another tool errors (no `write` gate), and the\nPM verbs (v0.7.0): `github_list_prs` (reuses `api.fetch_prs`, so the tool and the board\ncan't disagree \u2014 draft / review decision / merge state per row), `github_issue_comments`\n(`gh issue view --json comments`; works on PRs; newest `limit` in chronological order,\nbodies \u2264 1000 chars), `github_search_issues` (`gh search issues --repo \u2026 -- <query>`: flags first, the query\nLAST after `--` so a leading qualifier like `-label:bug` isn't read as a flag; `state:\nall` = no `--state` flag, gh only knows open|closed \u2014 documented as \"dedupe before\nfiling\").",
    "verdict": "confirmed",
    "note": "Re-read PROTO.md at PR head: \u00a75 heading (line 90) says '16 read / 10 write / 3 review = 29'; read listing names 15 (no review_threads); write listing names 8 (no reply_thread/resolve_thread). \u00a73 (updated by this PR) says 16/10."
  }
]

1 finding(s) excluded from the verdict by in-diff confinement (file not among this PR's changed paths):

  • read_tools.py (minor) — The module docstring says 'Fifteen tools' and enumerates 15, but the file now registers 16 — github_review_threads is missing from the docstring's listing.

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Promoting the WARN verdict for head 492a1410eea4: all checks terminal-green, zero unresolved review threads. (approve-on-green)

Open findings carried by this approval — non-blocking, but they did not go away:

  • minor read_tools.py:3 — The module docstring says 'Fifteen tools' and enumerates 15, but the file now registers 16 — github_review_threads is missing from the docstring's listing.
  • minor PROTO.md:104 — PROTO.md §5's heading says '16 read / 10 write / 3 review = 29' but the body's detailed listing names only 15 read tools (missing github_review_threads) and 8 write tools (missing `github_reply_thre

Approving a WARN does not resolve its findings (issue #22).

@mabry1985
mabry1985 merged commit ebc8d78 into main Sep 28, 2026
3 checks passed
@mabry1985 mabry1985 mentioned this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant