--- name: review-general description: Review the current branch against its merge base for bugs, CPython divergence, sandbox escapes, resource-limit escapes, performance regressions, verbose comments and missing ./limitations/ or docs/ updates. Use for a general pre-merge review of a branch or PR. --- # General branch review ```bash git diff --stat origin/main...HEAD # scope first git diff origin/main...HEAD ``` Read the changed files in full — a hunk is rarely enough to judge correctness. Look for: - **Bugs** — logic errors, `DropWithContext` values not released on every exit path (the fix is `defer_drop!`/`DropGuard`, not more `drop_with` calls), borrow/aliasing mistakes, unhandled error paths. - **CPython divergence** — different results, exception types or messages, missing attributes. Check anything you're unsure of with `python-playground`. - **Sandbox escapes** — sandboxed code reaching the host filesystem, environment, network or subprocesses. - **Resource-limit escapes** — allocations not charged to the tracker (an unbounded or amplifying `String` build without `StringBuilder`), unbounded loops, recursion without a depth guard. - **Performance** — regressions the branch introduces, and improvements you spot. - **Verbose comments** — docstrings and comments should be concise as per `CLAUDE.md`. - **Cleanups** — duplication, misplaced logic, functions grown too complex. - **`./limitations/`** — a new divergence with no entry is a finding. - **Docs parity** — a user-visible change reflected in only one of `README.md`, `docs/`, `limitations/` and the crate READMEs is a finding. `CLAUDE.md` "Documentation surfaces that must stay in sync" has the obligation table. For a full pass, delegate to the `docs-parity-reviewer` subagent. ## Report Concise, most severe first. Per finding: `file:line`, what's wrong, the concrete failure it causes. Don't pad with what the branch got right. Report only, unless the user asks for fixes.