Skip to content

feat!: selector mode becomes the default review dispatcher#54

Merged
bborbe merged 1 commit into
masterfrom
feature/selector-default-flip
Jun 11, 2026
Merged

feat!: selector mode becomes the default review dispatcher#54
bborbe merged 1 commit into
masterfrom
feature/selector-default-flip

Conversation

@bborbe

@bborbe bborbe commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Completes the AI-Selector migration (Steps 4+7, bake deliberately collapsed):

  • Default flip: no mode token (incl. standard) → selector mode (in-session classify + adjudicate, zero spawns). short and full unchanged — full mode remains the per-owner deep-sweep escape hatch.
  • Dead code removed: standard-mode per-owner Task dispatch (4b-ii) + REVIEW_TIMING instrumentation (−134 lines). The jq glob match stays as the classify candidate source.
  • Scenarios 002/004 retired (status: outdated, superseded by 005/006 per their own footers); acceptance checks updated to the new dispatch reality (30/30).

BREAKING-ish: callers passing standard now get selector behavior.

Verification

Tokenless /coding:pr-review master on the bborbe/maintainer#2 fixture (isolated config, plugin pinned to this branch): selector path taken (GUIDE_OK), 2m36s, 19 turns, zero sub-agent spawns, all 5 seeded violations found, traceability 32 candidates → 7 applicable → 25 skipped-with-reasons. make precommit 30/30.

Bake-collapse rationale: 9 validation runs across 4 backends + an organic prod review since yesterday; full mode retained as the per-owner fallback; prod bot already runs selector explicitly via REVIEW_MODE (unaffected by this flip).

🤖 Generated with Claude Code

…per-owner dispatch (full mode remains the deep sweep)
@bborbe bborbe marked this pull request as ready for review June 11, 2026 22:03

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer 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.

{
  "verdict": "approve",
  "summary": "The selector-mode-as-default flip is correctly implemented across both dispatcher commands. Standard-mode per-owner Task dispatch has been properly removed, selector mode is now the default routing for all non-explicit tokens, the breaking change is clearly documented in CHANGELOG.md, acceptance.sh assertions have been updated to match the post-flip reality, and both retired scenarios correctly reference their superseding siblings.",
  "comments": [
    {
      "file": "commands/pr-review.md",
      "line": 112,
      "severity": "nit",
      "message": "Early exit message ('Step 4 skipped: no rule-relevant files changed') is now mode-agnostic since early exit applies to all modes, not just standard. Consider appending '(all modes)' for diagnostic clarity, though the current text is technically correct."
    }
  ],
  "concerns_addressed": [
    "correctness: argument hint removes 'standard' but callers passing 'standard' now silently get selector behavior — addressed by CHANGELOG.md documenting this as a breaking change",
    "correctness: Step 4d citation validation is now 'Full mode only'; selector mode's citation call lives in the external guide — verified: docs/selector-mode-guide.md lines 65-69 contain citation validation",
    "security: Selector mode guide path resolved from CLAUDE_PLUGIN_ROOT/CLAUDE_CONFIG_DIR env vars — verified: GUIDE_MISSING fail-fast truly blocks and STOPS (reports 'selector guide unavailable' as Must Fix toolchain failure)",
    "correctness: Early exit section no longer labeled 'standard mode' — verified: applies to all modes correctly",
    "correctness: Same argument hint and mode routing changes as code-review.md — verified: both commands have consistent changes",
    "correctness: acceptance.sh assertions updated for new routing — verified: new routing check and tightened per-owner block assertions present",
    "tests: Scenario 002 marked 'outdated' — verified: scenarios/005-selector-clean-short-circuit.md exists with status:active, supersession reference accurate",
    "tests: Scenario 004 marked 'outdated' — verified: scenarios/006-selector-findings-path.md exists with status:active, supersession reference accurate"
  ]
}

@bborbe bborbe merged commit affac3b into master Jun 11, 2026
1 check passed
@bborbe bborbe deleted the feature/selector-default-flip branch June 11, 2026 22:13
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