feat: configurable lens fan-out, per-provider like model concurrency
Build & push image / build-and-push (push) Successful in 9s
Build & push image / build-and-push (push) Successful in 9s
Specialist lenses ran strictly sequentially within a model. Add a GADFLY_LENS_CONCURRENCY knob (default 1 = unchanged) that overlaps the independent per-lens review+recheck passes, so a model posts its consolidated comment as soon as its lenses finish. Per-provider configurable, mirroring GADFLY_PROVIDER_CONCURRENCY: GADFLY_PROVIDER_LENS_CONCURRENCY takes a "provider=N,..." map keyed by the same provider lanes (modelProvider() mirrors entrypoint's provider_of; providerOverride() mirrors provider_cap). The override wins for the model's lane, else the scalar default. runSpecialists fans out via a bounded worker pool, order-preserving (results written by index) and keeping each lens's own timeout/recheck. repoFS is immutable + fresh-toolbox-per-pass, so lenses share no mutable state (verified under -race). Docs/examples updated; dropped a duplicate GADFLY_TIMEOUT_SECS README row. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,16 @@ jobs:
|
||||
# csv to choose; "all" for everything; or define custom ones via a repo
|
||||
# .gadfly.yml / GADFLY_SPECIALIST_<NAME>. See README "Specialists".
|
||||
GADFLY_SPECIALISTS: ${{ vars.GADFLY_SPECIALISTS }}
|
||||
# Lens fan-out (optional; default 1 = lenses run sequentially within a
|
||||
# model). Raise it to run a model's lenses concurrently so each model
|
||||
# posts its comment sooner. Total in-flight requests = (models at once)
|
||||
# × (lenses at once), so to fan out without oversubscribing a backend,
|
||||
# keep its model cap low and raise its lens cap. Per-provider configurable
|
||||
# via GADFLY_PROVIDER_LENS_CONCURRENCY (same lanes as the model map):
|
||||
# GADFLY_PROVIDER_CONCURRENCY: "ollama-cloud=1,m1=1"
|
||||
# GADFLY_PROVIDER_LENS_CONCURRENCY: "ollama-cloud=3,m1=1"
|
||||
# GADFLY_LENS_CONCURRENCY: ${{ vars.GADFLY_LENS_CONCURRENCY }}
|
||||
# GADFLY_PROVIDER_LENS_CONCURRENCY: ${{ vars.GADFLY_PROVIDER_LENS_CONCURRENCY }}
|
||||
# --- Models & providers (optional; default = Ollama Cloud) ----------
|
||||
# Gadfly is majordomo-powered, so it can target other backends. Set a
|
||||
# provider for bare model ids; point at a different endpoint with a
|
||||
|
||||
Reference in New Issue
Block a user