Skip to content

chore(config): enable LLM and codex_cli conflict-resolution tiers in sir-merge-a-lot config - #34

Merged
ayushag-nv merged 1 commit into
mainfrom
chore/smal-enable-llm-codex-cli
Jul 8, 2026
Merged

chore(config): enable LLM and codex_cli conflict-resolution tiers in sir-merge-a-lot config#34
ayushag-nv merged 1 commit into
mainfrom
chore/smal-enable-llm-codex-cli

Conversation

@nv-msvoboda

Copy link
Copy Markdown
Contributor

What

Updates .sir-merge-a-lot.yml to 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-out glamr: 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 change
  • uv run mypy switchyard clean — N/A, YAML-only config change
  • uv run pytest tests/ green — N/A, YAML-only config change
  • Manual smoke: parsed this exact file with sir-merge-a-lot's load_config and the strict resolver-layer hydrator (coding_agent_config_from_smal_config, which raises on any misconfiguration). Zero warnings; hydrates to trigger_mode=on_demand, llm_enabled=True, and CodingAgentConfig(provider=codex_cli, trigger_reasons={llm_timeout, prompt_too_large_for_llm}, timeout=600s, max_attempts_per_mr=1).

Checklist

  • One class per file — N/A, no code changed
  • Public symbols exported — N/A, no code changed
  • Unit tests — N/A, no code changed
  • README / --help — N/A, no customer-facing surface changed
  • Commits signed off (Signed-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

…sir-merge-a-lot config

Signed-off-by: Mike Svoboda <msvoboda@nvidia.com>
@nv-msvoboda
nv-msvoboda requested a review from a team as a code owner July 8, 2026 14:14
@ayushag-nv
ayushag-nv merged commit 08490b4 into main Jul 8, 2026
12 checks passed
@ayushag-nv
ayushag-nv deleted the chore/smal-enable-llm-codex-cli branch July 8, 2026 14:37
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.

2 participants