Skip to content

Update Codex sub-agent model assignments#72

Open
lodyai[bot] wants to merge 4 commits into
mainfrom
update-sub-agent-specs
Open

Update Codex sub-agent model assignments#72
lodyai[bot] wants to merge 4 commits into
mainfrom
update-sub-agent-specs

Conversation

@lodyai

@lodyai lodyai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Summary

This branch updates the Codex-specific model assignments for the managed
sub-agents so that each role uses the requested GPT-5.6 model and reasoning
effort. It keeps the declarative manifest, direct installer output, and
regression contracts aligned.

Wyvern and Scribe now use gpt-5.6-luna with high reasoning effort,
Scrutineer uses gpt-5.6-luna with medium effort, and Alchemist uses
gpt-5.6-terra with medium effort. Claude Code and Goose configurations are
unchanged.

Review walkthrough

Validation

  • make all: passed; 187 tests and three snapshots passed, together with formatting, lint, typecheck, and spelling gates.
  • git diff --check origin/main...HEAD: passed.

References

@sourcery-ai sourcery-ai 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.

Sorry @LodyAI[bot], you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Changes

Update Codex model selections for four subagents, raise Wyvern and Scribe reasoning effort to high, synchronize installer output, and revise tests to assert the new configuration contracts.

Codex configuration refresh

Layer / File(s) Summary
Update managed Codex settings
agents/subagents.yml, install-sub-agents
Set Wyvern and Scribe to Luna with high reasoning effort, Alchemist to Terra, and Scrutineer to Luna.
Align deployment contract tests
tests/test_subagent_definitions.py, tests/test_rust_entrypoints.py
Pin the updated models, reasoning effort, sandbox modes, provider assertions, MCP wiring, and installer-written TOML profiles.

Suggested reviewers: leynos

Poem

Set Luna bright, let Terra gleam,
Raise reasoning through the stream.
Pin each agent, precise and true,
Let tests confirm what settings do.
Configuration winds now neatly flow.

🚥 Pre-merge checks | ✅ 20
✅ Passed checks (20 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarises the Codex sub-agent model assignment updates across the manifest, installer output, and tests.
Description check ✅ Passed The description matches the changeset and accurately describes the updated Codex model and reasoning-effort assignments.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Testing (Overall) ✅ Passed Hard-coded assertions cover the changed manifest, installer TOML, and all affected Codex agents; each fails on wrong model, effort, or sandbox values.
User-Facing Documentation ✅ Passed The users guide already covers sub-agent definitions and install-sub-agents; this PR only retunes internal Codex model settings, not the documented user workflow.
Developer Documentation ✅ Passed No new API, architecture, or build boundary change appears in the diff; only subagent model config and tests changed, and no roadmap or execplan updates were required.
Module-Level Documentation ✅ Passed PASS: Every touched module has top-level documentation: YAML header comments, Bash script header comments, and Python module docstrings explain purpose and relationships.
Testing (Unit And Behavioural) ✅ Passed PASS: The new manifest tests pin the updated provider contracts, and the installer test exercises the real file-generation boundary via parsed TOML outputs.
Testing (Property / Proof) ✅ Passed Do not add property or proof tests; the diff only rewrites fixed agent config and example-based regression assertions.
Testing (Compile-Time / Ui) ✅ Passed No Rust/TS compile-time path was touched; the change is covered by focused YAML/TOML assertions and an existing snapshot for rewritten user config.
Unit Architecture ✅ Passed Changes only update manifest/config literals and boundary tests; no new query/command coupling, hidden state, or extra side-effects were introduced.
Domain Architecture ✅ Passed The diff only changes agent config, installer output, and tests; no domain code or boundary logic was introduced or violated.
Observability ✅ Passed Only Codex model config and matching tests changed; no runtime path, metric, trace, alert, or log boundary was introduced.
Security And Privacy ✅ Passed Only model/reasoning values and test assertions changed; no secrets, auth logic, broader permissions, or unsafe parsing/sinks were introduced.
Performance And Resource Use ✅ Passed PASS: The only code change adds bounded TOML reads in a test; no new production loops, unbounded collections, or hot-path I/O.
Concurrency And State ✅ Passed Accept it: changes are static config/tests; no shared mutable state, async lifetimes, locks, or ordering semantics were introduced.
Architectural Complexity And Maintainability ✅ Passed The PR only updates manifest values, installer literals, and regression assertions; it introduces no new abstraction, layer, registry, or dependency edge.
Rust Compiler Lint Integrity ✅ Passed No Rust sources or Cargo files changed; the diff adds no lint suppressions, fake usage anchors, or suspicious clone workarounds.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-sub-agent-specs

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

@leynos
leynos marked this pull request as ready for review July 21, 2026 18:27
@buzzybee-df12

Copy link
Copy Markdown
Collaborator

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tests/test_subagent_definitions.py (1)

41-68: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Parameterise the duplicate Codex contract tests. Collapse the Wyvern and Scribe checks into one pytest.mark.parametrize case; only the subagent name and sandbox mode differ.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/test_subagent_definitions.py` around lines 41 - 68, Replace the
duplicate tests test_wyvern_codex_subagent_uses_luna_model and
test_scribe_codex_subagent_uses_luna_model with one
pytest.mark.parametrize-driven test covering each subagent name and its expected
sandbox mode. Keep the shared model and reasoning_effort assertions, and
parameterize only the differing subagent name and sandbox_mode values.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@tests/test_subagent_definitions.py`:
- Around line 41-68: Replace the duplicate tests
test_wyvern_codex_subagent_uses_luna_model and
test_scribe_codex_subagent_uses_luna_model with one
pytest.mark.parametrize-driven test covering each subagent name and its expected
sandbox mode. Keep the shared model and reasoning_effort assertions, and
parameterize only the differing subagent name and sandbox_mode values.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a099b4a4-ee23-4c7a-8fb8-4f7d7e9a83a4

📥 Commits

Reviewing files that changed from the base of the PR and between b1d393b and 64c3e28.

📒 Files selected for processing (3)
  • agents/subagents.yml
  • install-sub-agents
  • tests/test_subagent_definitions.py

@pandalump

Copy link
Copy Markdown
Collaborator

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/test_subagent_definitions.py`:
- Around line 41-64: Replace the duplicate test functions
test_wyvern_codex_subagent_uses_luna_model and
test_scribe_codex_subagent_uses_luna_model with one `@pytest.mark.parametrize`
test, supplying each agent name and expected sandbox mode as parameters. Reuse
the shared load_provider lookup and Luna model, reasoning_effort, and
sandbox_mode assertions while preserving each agent’s existing expectations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: eb72a6b2-7ba4-45ed-bc29-4308107cf577

📥 Commits

Reviewing files that changed from the base of the PR and between b1d393b and 64c3e28.

📒 Files selected for processing (3)
  • agents/subagents.yml
  • install-sub-agents
  • tests/test_subagent_definitions.py

Comment thread tests/test_subagent_definitions.py Outdated
leynos added 3 commits July 22, 2026 13:14
Move Wyvern, Scribe, and Scrutineer to `gpt-5.6-luna` with their
role-specific reasoning effort. Move Alchemist to `gpt-5.6-terra` with
medium effort, and pin all four contracts in regression tests.
Consolidate the duplicate Wyvern and Scribe checks while preserving each
agent's sandbox-mode contract.
Parse the Wyvern and Scribe TOML emitted by `install-sub-agents` and pin
their Luna model and high reasoning-effort settings.
@lodyai
lodyai Bot force-pushed the update-sub-agent-specs branch from 812664f to eb667a2 Compare July 22, 2026 11:15
@pandalump

Copy link
Copy Markdown
Collaborator

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/test_subagent_definitions.py`:
- Around line 41-44: Update the values container in the pytest.mark.parametrize
decorator to use a list of tuples instead of a tuple of tuples, while preserving
the existing test cases and parameter names.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6976f63a-d609-4d68-aedb-af0f87dec54c

📥 Commits

Reviewing files that changed from the base of the PR and between 64c3e28 and eb667a2.

📒 Files selected for processing (4)
  • agents/subagents.yml
  • install-sub-agents
  • tests/test_rust_entrypoints.py
  • tests/test_subagent_definitions.py

Comment thread tests/test_subagent_definitions.py
Match the pytest parametrization style required by Ruff PT007 while
preserving the existing agent cases and sandbox expectations.
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