Skip to content

fix(review): include changed features regardless of status - #173

Merged
steipete merged 1 commit into
mainfrom
codex/fix-scoped-review-status
Aug 2, 2026
Merged

fix(review): include changed features regardless of status#173
steipete merged 1 commit into
mainfrom
codex/fix-scoped-review-status

Conversation

@steipete

@steipete steipete commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make review --since and review --include-dirty select touched features regardless of prior review status
  • allow those diff-scoped selections through the claim boundary
  • cover direct dry-run selection and the warm-state ci --since workflow

Closes #167

Root cause

Diff-scoped review first applied the normal pending/error backlog filter, so touched features in reviewed, needs-fix, fixed, or other states never reached changed-file matching. Even after selecting them, the feature-claim path still rejected non-pending records. Together these could let a warm-state CI gate exit successfully without reviewing changed code.

Proof

  • pnpm test — 896 passed, 1 skipped
  • pnpm typecheck
  • pnpm lint
  • pnpm format:check
  • pnpm build
  • built CLI live run: a feature was moved to reviewed, then node dist/cli.js ... review --include-dirty --dry-run --json selected that exact changed feature
  • black-box behavior contract: scoped selection included the reviewed feature; unscoped selection excluded it; review --since HEAD --dry-run returned no features touched by diff
  • autoreview: clean, no accepted/actionable findings
  • public model identifier gate: PASS; the candidate does not add model-bearing code or artifacts

@steipete
steipete requested a review from a team as a code owner August 2, 2026 05:24
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P1 Urgent regression or broken agent/channel workflow affecting real users now. labels Aug 2, 2026
@clawsweeper

clawsweeper Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed August 2, 2026, 1:28 AM ET / 05:28 UTC.

ClawSweeper review

What this changes

The PR changes diff-scoped review and ci runs to review changed features regardless of their prior review status, with regression tests for direct review and the CI workflow.

Merge readiness

Blocked until real behavior proof is added - 3 items remain

This PR remains necessary: current main still applies the pending/error status filter before intersecting features with changed files, so a warm-state diff-scoped review can skip changed code. The patch narrowly changes both selection and claim handling, and the added workflow coverage matches the linked bug; it needs inspectable after-fix terminal evidence before merge.

Priority: P1
Reviewed head: 2f0999c93856cfb5ff240037a416868ffa5e4556

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The code and focused regression tests are strong, but the required real after-fix behavior proof is not yet inspectable.
Proof confidence 🧂 unranked krab (1/6) Needs real behavior proof before merge: The PR body asserts a built CLI live run, but it provides no inspectable terminal output, recording, redacted log, or linked artifact showing the after-fix selection; add that proof before merge and redact private paths, endpoints, and credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🦞 diamond lobster (5/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: The PR body asserts a built CLI live run, but it provides no inspectable terminal output, recording, redacted log, or linked artifact showing the after-fix selection; add that proof before merge and redact private paths, endpoints, and credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 4 items Current-main defect remains: Current main calls selectReviewCandidates before filterFeaturesByFilesSince; the candidate selector keeps only pending and error records when no explicit feature is supplied, so changed reviewed/fixed records cannot reach diff matching.
Patch covers selection and claiming: The branch disables status narrowing only when --since or --include-dirty scopes review by files, and passes the same condition to the claim boundary so selected non-pending features are not rejected later.
Regression coverage matches the reported workflows: Two added workflow tests set changed features to non-pending statuses, then verify direct review --since selection and the warm-state ci --since path.
Findings None None.
Security None None.

How this fits together

Clawpatch maps a repository into persisted feature records, then review selects features and sends each claimed feature to a review provider. Diff-scoped review uses Git changes to narrow that set, and ci runs mapping, review, and reporting as one gate.

flowchart LR
  A[Repository changes] --> B[Feature map and saved statuses]
  B --> C[Review selection]
  A --> D[Diff file filter]
  C --> E[Selected changed features]
  D --> E
  E --> F[Feature claim]
  F --> G[Review provider]
  G --> H[CI report]
Loading

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: The PR body asserts a built CLI live run, but it provides no inspectable terminal output, recording, redacted log, or linked artifact showing the after-fix selection; add that proof before merge and redact private paths, endpoints, and credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - The PR body describes a live CLI run but does not include inspectable terminal output, a recording, logs, or an artifact that demonstrates the changed non-pending feature was actually selected after the fix.
  • Complete next step (P2) - The remaining merge gate is contributor-supplied real behavior proof, not a mechanical code repair; likely related people: steipete (high confidence).
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Regression coverage 2 workflow tests added The tests cover both direct diff-scoped review selection and the warm-state CI route that could previously pass without reviewing changed code.
Patch scope 4 files affected; 72 additions, 4 deletions The implementation is focused on selection, claiming, tests, and a release-note entry.

Root-cause cluster

Relationship: fixed_by_candidate
Canonical: #167
Summary: This PR is a concrete candidate fix for the linked canonical report about status filtering preceding diff-scoped feature selection.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge-risk options

Maintainer options:

  1. Decide the mitigation before merge
    Merge this narrow selection-and-claim repair after adding a redacted terminal transcript or recording that shows a changed reviewed/needs-fix/fixed feature is selected by a real diff-scoped command.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Technical review

Best possible solution:

Merge this narrow selection-and-claim repair after adding a redacted terminal transcript or recording that shows a changed reviewed/needs-fix/fixed feature is selected by a real diff-scoped command.

Do we have a high-confidence way to reproduce the issue?

Yes—current main has a high-confidence source reproduction: diff-scoped selection first filters to pending/error records, then filters by changed files. The linked report also supplies a concrete command sequence; no local execution was performed because review commands create fixture and state files.

Is this the best way to solve the issue?

Yes—the PR is the narrowest maintainable repair because it preserves status filtering for ordinary backlog review while making file-scoped review authoritative at both selection and claim boundaries.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 4a5028c27f01.

Labels

Label changes:

  • add P1: Without this repair, a diff-scoped CI gate can silently skip changed code once its owning feature has left pending/error status.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🧂 unranked krab and patch quality is 🦞 diamond lobster.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body asserts a built CLI live run, but it provides no inspectable terminal output, recording, redacted log, or linked artifact showing the after-fix selection; add that proof before merge and redact private paths, endpoints, and credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Label justifications:

  • P1: Without this repair, a diff-scoped CI gate can silently skip changed code once its owning feature has left pending/error status.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🧂 unranked krab and patch quality is 🦞 diamond lobster.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body asserts a built CLI live run, but it provides no inspectable terminal output, recording, redacted log, or linked artifact showing the after-fix selection; add that proof before merge and redact private paths, endpoints, and credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

  • Current-main defect remains: Current main calls selectReviewCandidates before filterFeaturesByFilesSince; the candidate selector keeps only pending and error records when no explicit feature is supplied, so changed reviewed/fixed records cannot reach diff matching. (src/review.ts:548, 4a5028c27f01)
  • Patch covers selection and claiming: The branch disables status narrowing only when --since or --include-dirty scopes review by files, and passes the same condition to the claim boundary so selected non-pending features are not rejected later. (src/review.ts:125, 2f0999c93856)
  • Regression coverage matches the reported workflows: Two added workflow tests set changed features to non-pending statuses, then verify direct review --since selection and the warm-state ci --since path. (src/workflow.test.ts:857, 2f0999c93856)
  • Feature provenance and likely owner: The current-main selection and claim setup traces to the v0.7.1 source import/release commit authored by Peter Steinberger; the new PR is not yet reachable from current main. (src/review.ts:125, f6e00010cc2a)

Likely related people:

  • steipete: Peter Steinberger authored the current-main lines that establish both status-gated selection and non-pending claim handling, and has substantial history across the affected review and workflow files. (role: current implementation author and recent area contributor; confidence: high; commits: f6e00010cc2a; files: src/review.ts, src/selection.ts, src/workflow.test.ts)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Add a redacted terminal transcript or recording showing a changed non-pending feature selected by review --since or review --include-dirty.
  • After updating the PR body with proof, request a fresh review if one is not triggered automatically.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@steipete
steipete merged commit baddbd6 into main Aug 2, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P1 Urgent regression or broken agent/channel workflow affecting real users now. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

review --since filters by feature status before intersecting with the diff, silently skipping changed code

1 participant