chore(config): enable LLM and codex_cli conflict-resolution tiers in sir-merge-a-lot config - #34
Merged
Merged
Conversation
…sir-merge-a-lot config Signed-off-by: Mike Svoboda <msvoboda@nvidia.com>
ayushag-nv
approved these changes
Jul 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Updates
.sir-merge-a-lot.ymlto enable the merge bot's LLM and coding-agent conflict-resolution tiers, while keeping grooming strictly on-demand:trigger_mode: "on_demand"— unchanged. The bot takes no action on any PR until explicitly invited via@sir-merge-a-lot groom. No autonomous grooming, no autonomous merging.llm: enabled: true— makes LLM conflict resolution explicit. Replaces the deprecated commented-outglamr:block, whose comment incorrectly claimed the resolver was disabled (the bot's code default is enabled). The LLM tier fires only when the deterministic ladder (rerere → Mergiraf) cannot resolve a conflict, and every resolution passes the bot's bounded-edit safety check.coding_agent_provider: codex_cli— opts into the coding-agent fallback tier: when the raw-LLM resolver fails (prompt too large, or LLM timeout), the conflicted file is dispatched to a sandboxed codex_cli run instead of immediately escalating to a human. Trigger reasons, timeout (600s), and per-MR attempt cap (1) are intentionally omitted — they match the bot's built-in defaults exactly.Why
Follow-up to the sir-merge-a-lot on-demand onboarding: enables the conflict-resolution ladder's LLM and codex_cli tiers so invited grooms can resolve conflicts the deterministic tools can't, while the bot retains zero autonomous authority.
How tested
uv run ruff check .clean — N/A, YAML-only config changeuv run mypy switchyardclean — N/A, YAML-only config changeuv run pytest tests/green — N/A, YAML-only config changeload_configand the strict resolver-layer hydrator (coding_agent_config_from_smal_config, which raises on any misconfiguration). Zero warnings; hydrates totrigger_mode=on_demand,llm_enabled=True, andCodingAgentConfig(provider=codex_cli, trigger_reasons={llm_timeout, prompt_too_large_for_llm}, timeout=600s, max_attempts_per_mr=1).Checklist
--help— N/A, no customer-facing surface changedSigned-off-by) per the DCO.Notes for reviewers
The codex_cli tier is a silent no-op until the SMAL worker deployment polling this repo runs the nemo-agent-hub image with the OpenShell contract (AIREAPP-1853) — verify the worker image before expecting coding-agent dispatches. Rollback at any time is deleting the two new blocks (or the file) via a normal PR.
🤖 Generated with Claude Code