Skip to content

Default Symphony concurrency to five workers#3

Merged
tianheil3 merged 2 commits into
mainfrom
codex/default-concurrency-five
Apr 29, 2026
Merged

Default Symphony concurrency to five workers#3
tianheil3 merged 2 commits into
mainfrom
codex/default-concurrency-five

Conversation

@tianheil3
Copy link
Copy Markdown
Owner

@tianheil3 tianheil3 commented Apr 29, 2026

Context

The out-of-the-box global concurrency default is currently ten agents, which is higher than the desired default operating posture for normal Symphony runs.

TL;DR

Default standard Symphony concurrency to five agents while keeping conservative onboarding profiles at one.

Summary

  • Lowered the runtime agent.max_concurrent_agents default from 10 to 5.
  • Updated generated custom and symphony-dev workflow defaults to emit five agents.
  • Updated the repo workflow, SPEC, test fixture defaults, and dashboard snapshots to show /5.

Alternatives

  • Change only elixir/WORKFLOW.md; rejected because generated workflows and omitted config would still use ten.
  • Change starter and review-gated profiles to five; rejected because those profiles are intentionally conservative.

Test Plan

  • make -C elixir all
  • mix test test/symphony_elixir/workspace_and_config_test.exs:722 test/symphony_elixir/installer_apply_test.exs:45
  • UPDATE_SNAPSHOTS=1 mix test test/symphony_elixir/status_dashboard_snapshot_test.exs

The previous global default of ten concurrent agents was too aggressive for
the expected out-of-the-box operating profile. Lower the runtime schema,
installer-generated custom and symphony-dev profiles, local workflow contract,
and dashboard snapshots to five while leaving explicitly conservative starter
profiles at one worker.

Constraint: Starter and review-gated onboarding profiles intentionally remain at one concurrent agent for first production-like runs
Rejected: Only change elixir/WORKFLOW.md | generated and schema-default workflows would still produce ten workers
Confidence: high
Scope-risk: narrow
Tested: make -C elixir all
Tested: mix test test/symphony_elixir/workspace_and_config_test.exs:722 test/symphony_elixir/installer_apply_test.exs:45
Tested: UPDATE_SNAPSHOTS=1 mix test test/symphony_elixir/status_dashboard_snapshot_test.exs
Co-authored-by: Codex <codex@openai.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

Warning

Rate limit exceeded

@tianheil3 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 55 minutes and 10 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2acfff97-67df-4d88-b062-440630fd5bef

📥 Commits

Reviewing files that changed from the base of the PR and between c23d794 and 7d5271a.

📒 Files selected for processing (1)
  • SPEC.md
📝 Walkthrough

Walkthrough

The default maximum concurrent agents limit is reduced from 10 to 5 across the codebase, including configuration schemas, workflow profiles, documentation, and corresponding test fixtures and expectations.

Changes

Cohort / File(s) Summary
Configuration & Schema
SPEC.md, elixir/lib/symphony_elixir/config/schema.ex, elixir/lib/symphony_elixir/installer/workflow_profile.ex
Default agent.max_concurrent_agents value reduced from 10 to 5 in schema, core config documentation, and profile defaults for "symphony-dev" and catch-all profiles.
Workflow Documentation
elixir/WORKFLOW.md
Workflow configuration default updated from 10 to 5 agents.
Test Fixtures
elixir/test/fixtures/status_dashboard_snapshots/*
Agent capacity displays updated across all snapshot files (evidence.md and snapshot.txt pairs) from X/10 to X/5 format.
Test Updates
elixir/test/support/test_support.exs, elixir/test/symphony_elixir/workspace_and_config_test.exs, elixir/test/symphony_elixir/installer_apply_test.exs
Test defaults and assertions updated to expect agent.max_concurrent_agents: 5 instead of 10.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Hop, hop, hooray! A change so clean and true,
Concurrency limits trimmed from ten to five—
The agents work with purpose, lean and light,
Resources dance with newfound grace and might,
Five's the magic number, tried and bright! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main change: reducing the default Symphony concurrency from 10 to 5 workers.
Description check ✅ Passed The description fully completes the required template with clear context, a concise TL;DR, detailed summary bullets, considered alternatives with justifications, and comprehensive test plan evidence.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/default-concurrency-five

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
Review rate limit: 0/1 reviews remaining, refill in 55 minutes and 10 seconds.

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 the current code and only fix it if needed.

Inline comments:
In `@SPEC.md`:
- Line 586: The SPEC currently has conflicting defaults for
agent.max_concurrent_agents (Line 586 shows default 5 while Section 5.3.5 shows
default 10); update the document so both occurrences state the same default
value—pick the correct intended default (e.g., 10 or 5) and change the other
occurrence to match; search for the symbol "agent.max_concurrent_agents" and
edit every mention (including the entry at Line 586 and the Section 5.3.5
description) so the default value is consistent across the SPEC.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8a1a6d30-5c59-4a64-82ac-1436b48f90b0

📥 Commits

Reviewing files that changed from the base of the PR and between 6ecf9a4 and c23d794.

📒 Files selected for processing (17)
  • SPEC.md
  • elixir/WORKFLOW.md
  • elixir/lib/symphony_elixir/config/schema.ex
  • elixir/lib/symphony_elixir/installer/workflow_profile.ex
  • elixir/test/fixtures/status_dashboard_snapshots/backoff_queue.evidence.md
  • elixir/test/fixtures/status_dashboard_snapshots/backoff_queue.snapshot.txt
  • elixir/test/fixtures/status_dashboard_snapshots/credits_unlimited.evidence.md
  • elixir/test/fixtures/status_dashboard_snapshots/credits_unlimited.snapshot.txt
  • elixir/test/fixtures/status_dashboard_snapshots/idle.evidence.md
  • elixir/test/fixtures/status_dashboard_snapshots/idle.snapshot.txt
  • elixir/test/fixtures/status_dashboard_snapshots/idle_with_dashboard_url.evidence.md
  • elixir/test/fixtures/status_dashboard_snapshots/idle_with_dashboard_url.snapshot.txt
  • elixir/test/fixtures/status_dashboard_snapshots/super_busy.evidence.md
  • elixir/test/fixtures/status_dashboard_snapshots/super_busy.snapshot.txt
  • elixir/test/support/test_support.exs
  • elixir/test/symphony_elixir/installer_apply_test.exs
  • elixir/test/symphony_elixir/workspace_and_config_test.exs

Comment thread SPEC.md
The first concurrency-default commit updated the cheat sheet entry but missed
the detailed `agent` section. Align both SPEC mentions on the intended
five-agent default so the configuration contract has one answer.

Constraint: CodeRabbit review found the stale second SPEC default before merge
Confidence: high
Scope-risk: narrow
Tested: rg -n 'max_concurrent_agents.*default.*10|Default: `10`|default `10`' SPEC.md
Co-authored-by: Codex <codex@openai.com>
@tianheil3
Copy link
Copy Markdown
Owner Author

[codex] Changes since last review:

  • Updated the second SPEC.md concurrency default mention to 5 so the config contract is consistent.
    Commit: 7d5271a
    Tests: rg for stale SPEC default-10 mentions.

@tianheil3 tianheil3 merged commit 634a36c into main Apr 29, 2026
3 of 4 checks passed
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