Skip to content

Chorus v0.1.0 MVP + CI/CD#1

Merged
Amayyas merged 12 commits into
mainfrom
feat/mvp-and-cicd
Jul 9, 2026
Merged

Chorus v0.1.0 MVP + CI/CD#1
Amayyas merged 12 commits into
mainfrom
feat/mvp-and-cicd

Conversation

@Amayyas

@Amayyas Amayyas commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Multi-agent LLM orchestration MVP: Client, Agent base class, CoderAgent/ResearchAgent, Context (per-agent context slicing), keyword-based Router, and Orchestrator entry point.
  • Full RSpec suite (30 examples), no network calls — Client is always mocked.
  • examples/demo.rb runs a real 5-message conversation against the Anthropic API.
  • CI: RSpec across Ruby 3.2/3.3/3.4, RuboCop, bundler-audit, gem build check.
  • Automated releases: release-please (Conventional Commits) + RubyGems Trusted Publishing (OIDC, no stored API key).

Test plan

  • bundle exec rspec — 30/30 passing
  • gem build chorus-llm.gemspec — builds cleanly
  • bundle-audit check — no known vulnerabilities
  • CI green on this PR (tests, RuboCop, bundler-audit, build)

@Amayyas Amayyas self-assigned this Jul 9, 2026
Amayyas added 2 commits July 9, 2026 18:27
- Move dev dependencies from gemspec to Gemfile (Gemspec/DevelopmentDependencies)
- Use ENV.fetch instead of ENV[] in Client (Style/FetchEnvVar)
- Split Client#post_message into post_message/build_request to reduce
  method length and ABC size
- Extract other_agent_response?/preceding_user_message helpers in Context
  to reduce complexity of other_agents_summary, and reuse the latter in
  own_history_for
- Translate the last remaining French string in Context's other-agents
  summary label
- Disable Style/ArrayIntersect in Router with an explanatory comment: the
  suggested autocorrect (Array#intersect?) does not apply here since the
  receiver is a String, not an Array, and would raise a TypeError
- Add blank line after the last let before subject
  (RSpec/EmptyLineAfterFinalLet)
- Replace the CASES constant with a local variable in router_spec
  (Lint/ConstantDefinitionInBlock, RSpec/LeakyConstantDeclaration)
- Translate the last remaining French string in context_spec assertions
@Amayyas
Amayyas merged commit 4394f63 into main Jul 9, 2026
6 checks passed
@Amayyas
Amayyas deleted the feat/mvp-and-cicd branch July 9, 2026 16:30
@Amayyas Amayyas mentioned this pull request Jul 11, 2026
1 task
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