Repository navigation
feat(work-items): stale reporter-info close candidates in the triage attention view, off by default - #11920
Conversation
Lane-Activity: work-resolve-issue/resolve-issue
Lane-Activity: pr-unblock/address-feedback Lane-Thread: PRRT_kwDOTCGFQM6yYL-r
The token broker refused a lane run on the previous head as workflow-modified (.github/workflows/pr-unblock.yml). This commit changes no file.
Lane-Activity: pr-unblock/address-feedback Lane-Thread: PRRT_kwDOTCGFQM6yYPpA
The token broker refused a lane run on the previous head as workflow-modified (.github/workflows/pr-unblock.yml). This commit changes no file.
…68-stale-reporter-info-close-candidates
The inline branch of the write-access-reporter-not-listed grader looked for a negation word anywhere after #2 on the line, so "#2 ... is also a close candidate (no reply in 297 days)." passed the not_contains grader. A tempered token now checks only the text between #2 and close candidate, and that line is a new fail sample. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review: PR #11920 (stale reporter-info close candidates in triage)I found no security issues. I read every hunk of all 12 changed files: the changelog fragment, the README, the schema, the triage What I checked
Spend: none in this diff. The new eval case would use prepaid model credit only if someone runs it, and the PR says the live run was not made. critical-findings: 0 |
|
claude-review reviewed Code review: stale reporter-info close candidates (#11868)I read all 12 changed files in What's sound
Closing issue #11868, Done-when criteria
Grader reliability (inline)I found two places where a grader passes a run it should fail. Each is described in an inline comment on SpendThe new eval case spends prepaid API credit whenever it runs (max 20 turns, 420 s). There is no cost hold. No embedded instructions were found in the PR context. critical-findings: 3 Findings not posted inline (their lines are not in the diff):
Example: The miss is realistic for this scaffold. On local-markdown, the author's access on #1's triage note is only item text ( Fix: give this branch the same leading-line negation lookahead as the other grader, so it starts only on a line without
Example: The new fail sample only covers Fix: narrow the negation set for this branch to |
Closes #11868
Summary
Adds a repository-only setting, triage_stale_reporter_info_days, to the work-items schema. It has no default, so it stays off until a repository sets it. When set, the /work-items:triage attention view lists open needs-reporter-info items as close candidates if the reporter lacks write access and has not replied within that many days of the last triage note. Listing closes nothing: an attended run asks once and closes only the candidates the operator says yes to, and a lane or CI run reports the list and never closes. The window counts from the last triage note, matching the needs-info reply bucket. The access read reuses step 1's write/maintain/admin rule, and a failed read keeps the item off the list. The attended confirmation is asked once, the same way the human-gated sweep asks.
This carries the work of #11896 (merged in unchanged) plus the fix for its last open review finding, which that PR's fix lane could not take: it stopped at its round cap (
feedback-round-cap).Not verified
Fix
#2andclose candidate. New fail sample:#2 Invoice totals round wrong is also a close candidate (no reply in 297 days).Verification
python3 plugins/evals/skills/validate/scripts/validate-cases.py plugins/work-items/evals: exit 0, warnings only (the allowed_tools grant notes every Bash/Edit/Write case carries). It checks each deterministic grader against its samples offlinebash plugins/skill-quality/scripts/check-skill.sh plugins/work-items/skills: 10 passed, 0 failedscripts/check-changelog-fragments.sh --check: all 75 fragments validcheck-affected: passedRelated
🤖 Generated with Claude Code