Files
gadfly/examples
steve 9a6c662615
Build & push image / build-and-push (pull_request) Successful in 21s
Adversarial Review (Gadfly) / review (pull_request) Successful in 7m37s
feat: claude-code backends, llamaswap provider, dogfood the CC engine
Phase 2 of the gadfly-games build.

- Bump majordomo to the latest build and wire its new **llamaswap**
  provider into gadfly's endpoint switches (GADFLY_PROVIDER=llamaswap +
  GADFLY_BASE_URL, and GADFLY_ENDPOINT_<NAME>="llamaswap|url[|key]"),
  mirroring the ollama provider. Wired but untested (no llama-swap here).
- Dogfood the Phase-1 claude-code engine: add `claude-code/sonnet` to
  gadfly's own review swarm as a competitor alongside the 9 cloud models
  + M5, pin the workflow to :sha-86f12c1 (the image that bundles the
  claude CLI), and map CLAUDE_CODE_OAUTH_TOKEN. Its own provider lane
  (claude-code=1), parallel with the cloud and m5 lanes.
- Document the alternate Claude Code backends: Pro/Max (default), and —
  EXAMPLE ONLY, not wired — running Ollama models THROUGH the CC harness
  via ANTHROPIC_BASE_URL pointed at an Anthropic-compatible proxy
  (claude-code-router / LiteLLM). The subprocess env already forwards
  ANTHROPIC_*/CLAUDE_*, so no code change is needed for that path.
- README: llamaswap row in the providers table + a Claude Code
  "alternate backends" note; examples/claude-code.yml shows the proxy env.

gofmt clean, go vet quiet, go build + go test -race green.

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

Example consumer workflows

Each file here is a complete, copy-paste stub workflow. Pick the one that matches your setup, copy it to .gitea/workflows/adversarial-review.yml in the repo you want reviewed, and set the secrets/vars it references. Gadfly is advisory only — it never blocks a merge.

File Backend Needs
adversarial-review.yml Ollama Cloud (default) + inline notes for every provider secret OLLAMA_CLOUD_API_KEY
local-ollama.yml a local/LAN Ollama daemon nothing (or GADFLY_BASE_URL for a remote host)
openai-compatible.yml any OpenAI-compatible endpoint (local Ollama /v1, gateway, vLLM, OpenRouter…) GADFLY_BASE_URL (+ a key for most gateways)
endpoint-aliases.yml several named backends at once (one comment each) repo vars GADFLY_ENDPOINT_<NAME>
claude-code.yml the bundled Claude Code CLI engine (claude-code/<model>) secret CLAUDE_CODE_OAUTH_TOKEN (or ANTHROPIC_API_KEY)
.gadfly.yml per-repo specialist config (not a workflow — goes at your repo root)

Common to all:

  • Triggers: new/reopened/ready non-draft PR (auto), @gadfly review comment (allowed users), or manual workflow_dispatch with a pr_number.
  • GITEA_TOKEN is provided automatically; comments post as gitea-actions.
  • Tested backends are the Ollama ones; OpenAI/Anthropic/Google are wired via majordomo but untested. See the repo README for the full config reference and the honest tested/untested status.

Gitea note: repo vars/secrets are not auto-exposed as env — anything you reference via ${{ vars.X }} / ${{ secrets.X }} must appear in the step's env: block (already wired in these examples).