tune(reusable): claude-code=3 models × 5 lenses (claude was the bottleneck) #11
@@ -13,7 +13,7 @@
|
|||||||
# with: { allowed_users: "..." } # config inputs are optional (see below)
|
# with: { allowed_users: "..." } # config inputs are optional (see below)
|
||||||
#
|
#
|
||||||
# Inputs ship the DEFAULT swarm (see the inputs block): 3 cloud models + the
|
# Inputs ship the DEFAULT swarm (see the inputs block): 3 cloud models + the
|
||||||
# Claude Code engine, 5-lens suite (claude models serial, 5 lenses each). A consumer
|
# Claude Code engine, 5-lens suite (3 claude models concurrent, 5 lenses each). A consumer
|
||||||
# inherits it by omitting `with:` entirely, or overrides any field (e.g.
|
# inherits it by omitting `with:` entirely, or overrides any field (e.g.
|
||||||
# `models:` for a cloud-only / different-provider setup; "" falls back to the
|
# `models:` for a cloud-only / different-provider setup; "" falls back to the
|
||||||
# image's built-in default). Secrets are DECLARED below (workflow_call.secrets) so a
|
# image's built-in default). Secrets are DECLARED below (workflow_call.secrets) so a
|
||||||
@@ -35,21 +35,21 @@ on:
|
|||||||
# Inputs ship the DEFAULT Gadfly swarm so a consumer can just call this
|
# Inputs ship the DEFAULT Gadfly swarm so a consumer can just call this
|
||||||
# workflow (no `with:` block) and inherit it. The default is opinionated —
|
# workflow (no `with:` block) and inherit it. The default is opinionated —
|
||||||
# 3 strong cloud models + the Claude Code engine (sonnet/opus/opus:max), the
|
# 3 strong cloud models + the Claude Code engine (sonnet/opus/opus:max), the
|
||||||
# 5-lens suite. Claude models run ONE at a time, but each runs all 5 lenses at
|
# 5-lens suite, with all 3 claude models concurrent and each running its 5
|
||||||
# once. It needs OLLAMA_CLOUD_API_KEY and CLAUDE_CODE_OAUTH_TOKEN; a consumer
|
# lenses at once. It needs OLLAMA_CLOUD_API_KEY and CLAUDE_CODE_OAUTH_TOKEN; a consumer
|
||||||
# with only one (or a different provider) overrides `models:` (and forwards
|
# with only one (or a different provider) overrides `models:` (and forwards
|
||||||
# just the secrets it uses). Set any input to "" to fall back to the
|
# just the secrets it uses). Set any input to "" to fall back to the
|
||||||
# image/entrypoint built-in default.
|
# image/entrypoint built-in default.
|
||||||
#
|
#
|
||||||
# Peak claude concurrency = provider_concurrency × provider_lens_concurrency
|
# Peak claude concurrency = provider_concurrency × provider_lens_concurrency
|
||||||
# (1 model × 5 lenses = up to 5 concurrent `claude -p` per pass) — friendly to
|
# (3 models × 5 lenses = up to 15 concurrent `claude -p` per pass). If you hit
|
||||||
# a single subscription. Raise claude-code in either knob for more parallelism.
|
# subscription rate limits or runner load, dial claude-code down in either knob.
|
||||||
inputs:
|
inputs:
|
||||||
models: { type: string, default: "minimax-m3:cloud,glm-5.2:cloud,deepseek-v4-pro:cloud,claude-code/sonnet,claude-code/opus,claude-code/opus:max" } # GADFLY_MODELS (csv)
|
models: { type: string, default: "minimax-m3:cloud,glm-5.2:cloud,deepseek-v4-pro:cloud,claude-code/sonnet,claude-code/opus,claude-code/opus:max" } # GADFLY_MODELS (csv)
|
||||||
specialists: { type: string, default: "security,correctness,maintainability,performance,error-handling" } # GADFLY_SPECIALISTS (5-lens default suite)
|
specialists: { type: string, default: "security,correctness,maintainability,performance,error-handling" } # GADFLY_SPECIALISTS (5-lens default suite)
|
||||||
provider: { type: string, default: "" } # GADFLY_PROVIDER
|
provider: { type: string, default: "" } # GADFLY_PROVIDER
|
||||||
base_url: { type: string, default: "" } # GADFLY_BASE_URL
|
base_url: { type: string, default: "" } # GADFLY_BASE_URL
|
||||||
provider_concurrency: { type: string, default: "ollama-cloud=3,claude-code=1" } # GADFLY_PROVIDER_CONCURRENCY (claude models one at a time)
|
provider_concurrency: { type: string, default: "ollama-cloud=3,claude-code=3" } # GADFLY_PROVIDER_CONCURRENCY (all 3 claude models at once)
|
||||||
provider_lens_concurrency: { type: string, default: "ollama-cloud=3,claude-code=5" } # GADFLY_PROVIDER_LENS_CONCURRENCY (each claude runs all 5 lenses at once)
|
provider_lens_concurrency: { type: string, default: "ollama-cloud=3,claude-code=5" } # GADFLY_PROVIDER_LENS_CONCURRENCY (each claude runs all 5 lenses at once)
|
||||||
timeout_secs: { type: string, default: "600" } # GADFLY_TIMEOUT_SECS (per lens)
|
timeout_secs: { type: string, default: "600" } # GADFLY_TIMEOUT_SECS (per lens)
|
||||||
max_steps: { type: string, default: "14" } # GADFLY_MAX_STEPS
|
max_steps: { type: string, default: "14" } # GADFLY_MAX_STEPS
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ Dockerfile multi-stage; private-module creds via BuildKit secrets ne
|
|||||||
.gitea/workflows/build-image.yml push main → :latest; tag v* → :<tag>+:latest; PR → build-only
|
.gitea/workflows/build-image.yml push main → :latest; tag v* → :<tag>+:latest; PR → build-only
|
||||||
.gitea/workflows/review-reusable.yml reusable (workflow_call) review job; ships the DEFAULT swarm as
|
.gitea/workflows/review-reusable.yml reusable (workflow_call) review job; ships the DEFAULT swarm as
|
||||||
input defaults (3 cloud + Claude Code sonnet/opus/opus:max, 5-lens suite;
|
input defaults (3 cloud + Claude Code sonnet/opus/opus:max, 5-lens suite;
|
||||||
claude models serial, 5 lenses each) so consumers inherit it by omitting `with:`. Consumers subscribe
|
3 claude models concurrent, 5 lenses each) so consumers inherit it by omitting `with:`. Consumers subscribe
|
||||||
with an ~8-line caller forwarding only the secrets the reviewer needs (Phase 4);
|
with an ~8-line caller forwarding only the secrets the reviewer needs (Phase 4);
|
||||||
gadfly's own adversarial-review.yml is a thin caller of it (dogfoods the path).
|
gadfly's own adversarial-review.yml is a thin caller of it (dogfoods the path).
|
||||||
examples/ copy-paste consumer stub workflows for different providers
|
examples/ copy-paste consumer stub workflows for different providers
|
||||||
|
|||||||
Reference in New Issue
Block a user