Skip to content

fix(ai): reconcile adaptive judge default with contract-v1 - #953

Merged
seonghobae merged 7 commits into
mainfrom
fix/llm-judge-auto-default-v2
Aug 17, 2026
Merged

fix(ai): reconcile adaptive judge default with contract-v1#953
seonghobae merged 7 commits into
mainfrom
fix/llm-judge-auto-default-v2

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Scope

Rebuild #931 on the current protected-main LLM-judge contract after #816 integrated contextual-orchestrator-contract-v1 enforcement.

Ordinary ContextualOrchestratorJudge calls now delegate execution topology to contextual-orchestrator auto; explicit route and conduct remain controlled overrides. This does not move psychometric arithmetic out of Rust, change provider implementations or credentials, or add a reverse source dependency.

Test-first lineage

  • 3f750c4f3e2857077f282c567b49af806b16c84f adds contract-v1-compatible tests requiring the default mode to reach the injected orchestrator as auto and preserving explicit route / conduct propagation. Against the then-current main implementation, whose constructor default was route, the new default-mode assertion is the RED regression; its initial hosted run was superseded before it produced passing/failing evidence, so predecessor run state is not treated as proof.
  • e4aaf9637c2680de9077b36b71d52957c69cd4a6 changes the marked adapter's ordinary constructor default to auto while preserving explicit mode validation and the fail-closed contextual-orchestrator-contract-v1 boundary.
  • 1dd04530aa0891f2841c426683d6e0a0c5649e0b records the compatibility policy and APA 7 evidence basis in ADR-0100.
  • 04bec302b70f76ae6e07d43c1d1d8101b5cfe5b7 adds the release-note fragment.

Compatibility reconciliation

#931 predates the #816 integration on the same python/fast_mlsirm/llm_judge.py artifact. This successor starts from current protected main rather than overwriting #816.

The live upstream contract currently publishes the adapter marker but not a mandatory provider/model/result-version response surface or immutable request/result digest. This consumer therefore keeps construction fail-closed on contextual-orchestrator-contract-v1 and does not fabricate response fields that the owning repository has not published. ADR-0100 requires a new compatibility update here when contextual-orchestrator publishes a stronger result schema or immutable artifact digest.

Current state

  • Base at branch creation and current PR base tip when last refetched: 1f63c2b3003b3a8e72976a8859ff0867642ae294.
  • Exact current source head when last refetched: 04bec302b70f76ae6e07d43c1d1d8101b5cfe5b7.
  • GitHub reports the PR open, Draft, and mergeable.
  • Exact-head CI/Security/Semgrep evidence is still being computed; no predecessor-head result is transferred.

This PR is the current-main successor for #931. It remains Draft until exact-current-head required evidence and current review/thread requirements are satisfied.

@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 11 minutes

Limit details: You’ve used all 1 included review currently available under your plan.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ae3477c8-6827-4dfa-b141-f8329743bee7

📥 Commits

Reviewing files that changed from the base of the PR and between b1d45a4 and 09cd1ed.

📒 Files selected for processing (5)
  • docs/adr/0100-adaptive-contextual-orchestrator-default.md
  • docs/changelog.d/953-adaptive-judge-default.md
  • python/fast_mlsirm/llm_judge.py
  • tests/test_llm_judge.py
  • tests/test_llm_judge_modes.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae marked this pull request as ready for review August 17, 2026 00:14
@cursor

cursor Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@seonghobae
seonghobae enabled auto-merge (squash) August 17, 2026 00:14
@seonghobae
seonghobae merged commit f230fba into main Aug 17, 2026
35 checks passed
@seonghobae
seonghobae deleted the fix/llm-judge-auto-default-v2 branch August 17, 2026 02:03
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