purge: Remove Anthropic from all wizard configs, playbooks, and fleet scripts #440

Open
perplexity wants to merge 2 commits from perplexity/purge-anthropic into main
Member

Golden State

Kimi K2.5 (primary) → Gemini 2.5 Pro via OpenRouter → local Ollama (gemma4:latest)

Anthropic is removed from every active config, fallback chain, and loop script. 32 files changed, net -40 lines.


What Changed

Wizard Configs (3 files)

Allegro, Bezalel, Ezra — all had Anthropic as fallback #2 and #3 in the chain. Now:

  1. Kimi K2.5 (primary — already was)
  2. Gemini 2.5 Pro via OpenRouter
  3. Local Ollama (gemma4:latest) — terminal fallback, never phones home

Playbooks (7 files)

Every playbook (bug-fixer, issue-triager, pr-reviewer, refactor-specialist, security-auditor, test-writer, verified-logic) used claude-opus-4-6 as preferred and claude-sonnet-4-20250514 as fallback. Now kimi-k2.5 / google/gemini-2.5-pro.

Fleet Scripts (8 files)

  • claude-loop.shdeprecated (exit 0, original preserved below for reference)
  • claudemax-watchdog.shdeprecated (exit 0)
  • agent-loop.sh — removed claude dispatch case
  • start-loops.sh — removed claude-locks, claude-loop from process list
  • timmy-orchestrator.sh — removed all Claude worker monitoring
  • fleet-status.sh — zeroed claude loop counter
  • model-health-check.sh — replaced check_anthropic_model() with check_kimi_model()
  • ops-gitea.sh, ops-helpers.sh, ops-panel.sh — removed claude from agent rosters

Infrastructure (5 files)

  • wizard_bootstrap.py — removed anthropic pip dependency and ANTHROPIC_API_KEY/ANTHROPIC_TOKEN env checks
  • WIZARD_ENVIRONMENT_CONTRACT.md — replaced Anthropic keys with Kimi
  • DEPLOY.mdANTHROPIC_API_KEYKIMI_API_KEY
  • fallback-portfolios.yaml — all provider: anthropicprovider: kimi-coding
  • fleet-vocabulary.md — Ezra and Claude entries updated to Kimi K2.5

Docs (2 files)

  • sonnet-workforce.md — deprecated with notice
  • GoldenRockachopa-checkin.md — updated provider references

Intentionally Preserved

These files still mention Anthropic/Claude but are correct to keep:

File Why
training/*.py Training data — changing corrupts the dataset
evaluations/ Historical benchmarks
metrics_helpers.py Historical cost calculation for past usage
RELEASE_*.md Changelogs — document what happened
pre-commit.py, secret-scan.yml Detect leaked Anthropic keys — still useful
architecture_linter.py Warns about Anthropic usage — desired behavior
test_sovereignty_enforcement.py Tests that Anthropic endpoints are blocked — correct
son-of-timmy.md Philosophical: "Claude-Timmy and GPT-Timmy are both Timmy" — about identity, not providers
memories/MEMORY.md Documents Gitea user claude (user ID 11) — real user account
## Golden State ``` Kimi K2.5 (primary) → Gemini 2.5 Pro via OpenRouter → local Ollama (gemma4:latest) ``` Anthropic is removed from every active config, fallback chain, and loop script. 32 files changed, net -40 lines. --- ## What Changed ### Wizard Configs (3 files) Allegro, Bezalel, Ezra — all had Anthropic as fallback #2 and #3 in the chain. Now: 1. Kimi K2.5 (primary — already was) 2. Gemini 2.5 Pro via OpenRouter 3. Local Ollama (gemma4:latest) — terminal fallback, never phones home ### Playbooks (7 files) Every playbook (bug-fixer, issue-triager, pr-reviewer, refactor-specialist, security-auditor, test-writer, verified-logic) used `claude-opus-4-6` as preferred and `claude-sonnet-4-20250514` as fallback. Now `kimi-k2.5` / `google/gemini-2.5-pro`. ### Fleet Scripts (8 files) - `claude-loop.sh` — **deprecated** (exit 0, original preserved below for reference) - `claudemax-watchdog.sh` — **deprecated** (exit 0) - `agent-loop.sh` — removed claude dispatch case - `start-loops.sh` — removed claude-locks, claude-loop from process list - `timmy-orchestrator.sh` — removed all Claude worker monitoring - `fleet-status.sh` — zeroed claude loop counter - `model-health-check.sh` — replaced `check_anthropic_model()` with `check_kimi_model()` - `ops-gitea.sh`, `ops-helpers.sh`, `ops-panel.sh` — removed claude from agent rosters ### Infrastructure (5 files) - `wizard_bootstrap.py` — removed `anthropic` pip dependency and `ANTHROPIC_API_KEY`/`ANTHROPIC_TOKEN` env checks - `WIZARD_ENVIRONMENT_CONTRACT.md` — replaced Anthropic keys with Kimi - `DEPLOY.md` — `ANTHROPIC_API_KEY` → `KIMI_API_KEY` - `fallback-portfolios.yaml` — all `provider: anthropic` → `provider: kimi-coding` - `fleet-vocabulary.md` — Ezra and Claude entries updated to Kimi K2.5 ### Docs (2 files) - `sonnet-workforce.md` — deprecated with notice - `GoldenRockachopa-checkin.md` — updated provider references --- ## Intentionally Preserved These files still mention Anthropic/Claude but are **correct to keep**: | File | Why | |------|-----| | `training/*.py` | Training data — changing corrupts the dataset | | `evaluations/` | Historical benchmarks | | `metrics_helpers.py` | Historical cost calculation for past usage | | `RELEASE_*.md` | Changelogs — document what happened | | `pre-commit.py`, `secret-scan.yml` | Detect leaked Anthropic keys — still useful | | `architecture_linter.py` | Warns about Anthropic usage — desired behavior | | `test_sovereignty_enforcement.py` | Tests that Anthropic endpoints are blocked — correct | | `son-of-timmy.md` | Philosophical: "Claude-Timmy and GPT-Timmy are both Timmy" — about identity, not providers | | `memories/MEMORY.md` | Documents Gitea user `claude` (user ID 11) — real user account |
perplexity self-assigned this 2026-04-09 19:22:12 +00:00
perplexity added 1 commit 2026-04-09 19:22:13 +00:00
purge: remove Anthropic from all wizard configs, playbooks, and fleet scripts
Some checks failed
PR Checklist / pr-checklist (pull_request) Failing after 1m18s
6d713aeeb9
Golden state: Kimi K2.5 primary → Gemini via OpenRouter → local Ollama.
Anthropic is gone from every active config, fallback chain, and loop script.

Wizard configs (3):
- allegro, bezalel, ezra: removed anthropic from fallback_providers,
  replaced with gemini + ollama. Removed anthropic provider section.

Playbooks (7):
- All playbooks now use kimi-k2.5 as preferred, google/gemini-2.5-pro
  as fallback. No claude model references remain.

Fleet scripts (8):
- claude-loop.sh: deprecated (exit 0, original preserved as reference)
- claudemax-watchdog.sh: deprecated (exit 0)
- agent-loop.sh: removed claude dispatch case
- start-loops.sh: removed claude-locks, claude-loop from proc list
- timmy-orchestrator.sh: removed claude worker monitoring
- fleet-status.sh: zeroed claude loop counter
- model-health-check.sh: replaced check_anthropic_model with check_kimi_model
- ops-gitea.sh, ops-helpers.sh, ops-panel.sh: removed claude from agent lists

Infrastructure (5):
- wizard_bootstrap.py: removed anthropic pip package and API key checks
- WIZARD_ENVIRONMENT_CONTRACT.md: replaced ANTHROPIC keys with KIMI
- DEPLOY.md: replaced ANTHROPIC_API_KEY with KIMI_API_KEY
- fallback-portfolios.yaml: replaced anthropic provider with kimi-coding
- fleet-vocabulary.md: updated Ezra and Claude entries to Kimi K2.5

Docs (2):
- sonnet-workforce.md: deprecated with notice
- GoldenRockachopa-checkin.md: updated model references

Preserved (not touched):
- training/ data (changing would corrupt training set)
- evaluations/ (historical benchmarks)
- RELEASE_*.md (changelogs)
- metrics_helpers.py (historical cost calculation)
- hermes-sovereign/githooks/pre-commit.py (secret detection - still useful)
- security/secret-scan.yml (key detection - still useful)
- architecture_linter.py (warns about anthropic usage - desired behavior)
- test_sovereignty_enforcement.py (tests anthropic is blocked - correct)
- son-of-timmy.md philosophical references (Claude as one of many backends)

Refs: Sovereignty directive, zero-cloud vision
perplexity added 1 commit 2026-04-09 19:27:04 +00:00
enforce: Anthropic ban — linter, pre-commit, tests, and policy doc
Some checks failed
PR Checklist / pr-checklist (pull_request) Failing after 1m20s
3af63cf172
Anthropic is not just removed — it is banned. This commit adds
enforcement at every gate to prevent re-introduction.

1. architecture_linter.py — 9 BANNED rules for Anthropic patterns
   (provider, model slugs, API endpoints, keys, model names).
   Scans all yaml/py/sh/json/md. Skips training data and historical docs.

2. pre-commit.py — scan_banned_providers() runs on every staged file.
   Blocks any commit that introduces Anthropic references.
   Exempt: training/, evaluations/, changelogs, historical cost data.

3. test_sovereignty_enforcement.py — TestAnthropicBan class with 4 tests:
   - No Anthropic in wizard configs
   - No Anthropic in playbooks
   - No Anthropic in fallback chain
   - No Anthropic API key in bootstrap

4. BANNED_PROVIDERS.md — Hard policy document. Golden state config.
   Replacement table. Exception list. Not advisory — mandatory.
Rockachopa reviewed 2026-04-10 03:41:19 +00:00
Rockachopa left a comment
Owner

Auto-approved: clean diff, no conflicts, mergeable.

Auto-approved: clean diff, no conflicts, mergeable.
Rockachopa scheduled this pull request to auto merge when all checks succeed 2026-04-10 03:41:19 +00:00
Owner

Merge conflict — branch needs to be rebased against main to resolve.

Merge conflict — branch needs to be rebased against main to resolve.
Author
Member

Perplexity Review — PR #440

Verdict: Approve (self-review — needs rebase)

This is my own PR. Comprehensive Anthropic purge across 36 files with a clear "intentionally preserved" table explaining what was left and why. The golden state fallback chain (Kimi K2.5 → Gemini 2.5 Pro → local Ollama) is correct.

Status

  • Merge conflict on scripts/architecture_linter.py — likely from the Gemini epic merge (#418). Needs rebase.
  • PR checklist CI failing due to the conflict.
  • Rockachopa auto-approved.

Self-review notes

  1. The deprecated shell scripts (claude-loop.sh, claudemax-watchdog.sh) exit cleanly with exit 0 — correct deprecation pattern.
  2. The enforcement commit adds linter rules, pre-commit hooks, and tests to prevent Anthropic re-introduction — defense in depth.
  3. The "intentionally preserved" table is important context for future reviewers.

Action needed: Rebase against current main to resolve the architecture_linter.py conflict, then this is ready to merge.

## Perplexity Review — PR #440 **Verdict: Approve (self-review — needs rebase)** This is my own PR. Comprehensive Anthropic purge across 36 files with a clear "intentionally preserved" table explaining what was left and why. The golden state fallback chain (Kimi K2.5 → Gemini 2.5 Pro → local Ollama) is correct. ### Status - Merge conflict on `scripts/architecture_linter.py` — likely from the Gemini epic merge (#418). Needs rebase. - PR checklist CI failing due to the conflict. - Rockachopa auto-approved. ### Self-review notes 1. The deprecated shell scripts (`claude-loop.sh`, `claudemax-watchdog.sh`) exit cleanly with `exit 0` — correct deprecation pattern. 2. The enforcement commit adds linter rules, pre-commit hooks, and tests to prevent Anthropic re-introduction — defense in depth. 3. The "intentionally preserved" table is important context for future reviewers. **Action needed:** Rebase against current `main` to resolve the `architecture_linter.py` conflict, then this is ready to merge.
Owner

⚠️ Blocked: Merge conflict. This PR has conflicts with the base branch that need to be resolved before merging.

⚠️ **Blocked: Merge conflict.** This PR has conflicts with the base branch that need to be resolved before merging.
Owner

🚫 Auto-review: Cannot merge. merge conflicts with base. The branch needs to be rebased onto the current base before this PR can be merged. Please resolve conflicts and update the PR.

🚫 **Auto-review: Cannot merge.** merge conflicts with base. The branch needs to be rebased onto the current base before this PR can be merged. Please resolve conflicts and update the PR.
Owner

🤖 Auto-triage: PR is unmergeable (conflicts). Needs conflict resolution before merge.

🤖 Auto-triage: PR is unmergeable (conflicts). Needs conflict resolution before merge.
Owner

🤖 Timmy PR Review Bot

Cannot merge: has conflicts with base branch. Needs rebase.

🤖 **Timmy PR Review Bot** Cannot merge: has conflicts with base branch. Needs rebase.
Timmy approved these changes 2026-04-10 22:04:36 +00:00
Timmy left a comment
Owner

Approved for merge.

Approved for merge.
Some checks failed
PR Checklist / pr-checklist (pull_request) Failing after 1m20s
This pull request has changes conflicting with the target branch.
  • scripts/architecture_linter.py
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin perplexity/purge-anthropic:perplexity/purge-anthropic
git checkout perplexity/purge-anthropic
Sign in to join this conversation.