From 4654036dea14035fd3a58d1c5927ccb65981f351 Mon Sep 17 00:00:00 2001 From: Steve Dudenhoeffer Date: Sat, 27 Jun 2026 22:18:43 -0400 Subject: [PATCH] docs: reconcile examples/README + CLAUDE.md with the heavier reusable default 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) --- CLAUDE.md | 5 ++++- examples/README.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index e814e3c..7c16db1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -100,7 +100,10 @@ comment with a section each. Default suite = security/correctness/maintainabilit error-handling; opt-in built-ins = tests/docs/conventions/improvements. Select via `GADFLY_SPECIALISTS` (csv or `all`); define/override via `GADFLY_SPECIALIST_` env or a repo `.gadfly.yml` (`specialists:` + `define:`). See `cmd/gadfly/specialists.go`. Cost ≈ -specialists × models × 2 passes — keep the default model count low (entrypoint defaults to one). +specialists × models × 2 passes — the **image/entrypoint** default stays minimal (one model) for +that reason; the **reusable workflow** (`review-reusable.yml`) deliberately ships a heavier +opinionated default swarm (3 cloud + Claude Code, 5 lenses) for steve's own fleet, which consumers +inherit or override per-input. **Dynamic `auto`** (`GADFLY_SPECIALISTS=auto`): a selector (`GADFLY_SELECTOR_MODEL` or the review model) picks lenses per-diff and may invent ad-hoc ones (`cmd/gadfly/auto.go`). **Worker-tier** (`GADFLY_WORKER_MODEL`): a `delegate_investigation` tool offloads grep/read legwork to a cheap diff --git a/examples/README.md b/examples/README.md index 4af343e..22b170c 100644 --- a/examples/README.md +++ b/examples/README.md @@ -6,7 +6,7 @@ set the secrets/vars it references. Gadfly is advisory only — it never blocks | File | Backend | Needs | |------|---------|-------| -| [`reusable.yml`](reusable.yml) | **slimmest stub** — calls Gadfly's reusable workflow, forwarding only the secrets the reviewer needs (least privilege, not `secrets: inherit`); take the defaults or override a few inputs | secret `OLLAMA_CLOUD_API_KEY` | +| [`reusable.yml`](reusable.yml) | **slimmest stub** — calls Gadfly's reusable workflow and inherits its **default swarm** (3 cloud + Claude Code, 5-lens suite), forwarding only the secrets it needs (least privilege, not `secrets: inherit`); the stub keeps a cloud-only `models:` override so it runs with just the Ollama key (drop it + add the Claude token to get the full default) | secret `OLLAMA_CLOUD_API_KEY` | | [`adversarial-review.yml`](adversarial-review.yml) | **Ollama Cloud** (default) + inline notes for every provider; full self-contained stub | secret `OLLAMA_CLOUD_API_KEY` | | [`local-ollama.yml`](local-ollama.yml) | a **local/LAN Ollama** daemon | nothing (or `GADFLY_BASE_URL` for a remote host) | | [`openai-compatible.yml`](openai-compatible.yml) | any **OpenAI-compatible** endpoint (local Ollama `/v1`, gateway, vLLM, OpenRouter…) | `GADFLY_BASE_URL` (+ a key for most gateways) |