feat(reusable): ship the curated swarm as the default config consumers inherit #10

Merged
steve merged 4 commits from feat/default-swarm-config into main 2026-06-28 02:23:40 +00:00

4 Commits

Author SHA1 Message Date
Steve Dudenhoeffer 4654036dea docs: reconcile examples/README + CLAUDE.md with the heavier reusable default
Build & push image / build-and-push (pull_request) Successful in 6s
From PR #10's own review (maintainability/perf lenses): examples/README.md
hadn't been updated for the default swarm, and CLAUDE.md's 'keep the default
model count low' cost guidance read as contradicting the new heavy default.
Clarify that the IMAGE default stays minimal while the REUSABLE ships an
opinionated heavier default consumers inherit/override.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:18:43 -04:00
Steve Dudenhoeffer f882b006d1 tune(reusable): claude-code=1 model x 5 lenses (cap peak at 5 concurrent)
Build & push image / build-and-push (pull_request) Successful in 7s
Run claude models one at a time (provider_concurrency claude-code=1) but each
with all 5 lenses concurrent (provider_lens_concurrency claude-code=5) — peak 5
concurrent claude -p per pass instead of 15, friendlier to one subscription.
Updated all the 'three claudes at once' wording across the workflow + docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:12:17 -04:00
Steve Dudenhoeffer 6407c0defe feat(reusable): run claude lenses concurrently too (claude-code=5)
Build & push image / build-and-push (pull_request) Successful in 6s
provider_lens_concurrency default adds claude-code=5 so each claude model
runs all 5 lenses at once (was serial — defaultLensConcurrency=1). The engine
already supports it: each lens is an independent read-only 'claude -p' (plan
mode) in its own process group; no shared mutable state beyond ~/.claude + the
API. Peak claude concurrency is now 3 models x 5 lenses = up to 15 concurrent
claude -p per pass — documented, dial back either knob if rate-limited.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:08:47 -04:00
Steve Dudenhoeffer 79da1bfde3 feat(reusable): ship the curated swarm as the default config consumers inherit
Build & push image / build-and-push (pull_request) Successful in 8s
Adversarial Review (Gadfly) / review (pull_request) Successful in 14m47s
Make the reusable workflow's input defaults BE the standard Gadfly swarm so a
consumer subscribes by just calling it (no `with:` block) and inherits:
- models: 3 strong cloud (minimax-m3, glm-5.2, deepseek-v4-pro) + Claude Code
  (sonnet, opus, opus:max)
- specialists: the 5-lens default suite (security, correctness, maintainability,
  performance, error-handling)
- provider_concurrency: ollama-cloud=3,claude-code=3 (all three claudes at once)
- timeout_minutes default 45 -> 90 (5 lenses x 2 passes over a slow lane)

The default is opinionated (needs OLLAMA_CLOUD_API_KEY + CLAUDE_CODE_OAUTH_TOKEN);
consumers override `models:` for cloud-only / other providers. gadfly's own
caller is slimmed to inherit (only allowed_users remains). examples/reusable.yml
keeps a cloud-only `models:` override so a public copy works with just the
Ollama key. README/CLAUDE.md updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:05:31 -04:00