Files
timmy-config/hermes-sovereign/wizard-bootstrap/WIZARD_ENVIRONMENT_CONTRACT.md
perplexity 6d713aeeb9
Some checks failed
PR Checklist / pr-checklist (pull_request) Failing after 1m18s
purge: remove Anthropic from all wizard configs, playbooks, and fleet scripts
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
2026-04-09 19:21:48 +00:00

3.6 KiB

Wizard Environment Contract

Version: 1.0.0 Owner: Wizard Council (Bezalel Epic-004) Last updated: 2026-04-06

This document defines the minimum viable state every forge wizard must maintain. A wizard that satisfies all requirements is considered forge-ready.


1. Python Runtime

Requirement Minimum Notes
Python version 3.11 3.12+ recommended
Virtual environment Activated source venv/bin/activate before running

Run python --version to verify.


2. Core Package Dependencies

All packages in requirements.txt must be installed and importable. Critical packages: openai, pyyaml, rich, requests, pydantic, prompt_toolkit.

Verify:

python wizard-bootstrap/wizard_bootstrap.py

3. LLM Provider Key

At least one LLM provider API key must be set in ~/.hermes/.env:

Variable Provider
OPENROUTER_API_KEY OpenRouter (200+ models)
KIMI_API_KEY Kimi K2.5 coding
OPENAI_API_KEY OpenAI
GLM_API_KEY z.ai/GLM
KIMI_API_KEY Moonshot/Kimi
MINIMAX_API_KEY MiniMax

4. Gitea Authentication

Requirement Details
Variable GITEA_TOKEN or FORGE_TOKEN
Scope Must have repo read/write access
Forge URL https://forge.alexanderwhitestone.com (or FORGE_URL env var)

The wizard must be able to create and merge PRs on the forge.


5. Telegram Connectivity (Gateway Wizards)

Wizards that operate via the messaging gateway must also satisfy:

Requirement Details
Variable TELEGRAM_BOT_TOKEN
Home channel TELEGRAM_HOME_CHANNEL
API reachability api.telegram.org must be reachable

CLI-only wizards may skip Telegram checks.


6. HERMES_HOME

Requirement Details
Default ~/.hermes
Override HERMES_HOME env var
Permissions Owner-writable (700 recommended)

The directory must exist and be writable before any hermes command runs.


7. Skill Dependencies (Per-Skill)

Each skill may declare binary and environment-variable dependencies in its SKILL.md frontmatter:

---
name: my-skill
dependencies:
  binaries: [ffmpeg, imagemagick]
  env_vars: [MY_API_KEY]
---

A wizard must satisfy all dependencies for any skill it intends to run.

Check all skill deps:

python wizard-bootstrap/dependency_checker.py

8. Enforcement

New Wizard Onboarding

Run the bootstrap script before going online:

python wizard-bootstrap/wizard_bootstrap.py

Resolve all failures before beginning work.

Ongoing Compliance

A monthly audit runs automatically (see wizard-bootstrap/monthly_audit.py). The report is saved to ~/.hermes/wizard-council/audit-YYYY-MM.md and posted to the wizard-council-automation Telegram channel.

Skill Drift

Run the skills audit to detect and fix drift:

python wizard-bootstrap/skills_audit.py          # detect
python wizard-bootstrap/skills_audit.py --fix    # sync

9. Contract Versioning

Changes to this contract require a PR reviewed by at least one wizard council member. Bump the version number and update the date above with each change.


Quick Reference

# Full environment validation
python wizard-bootstrap/wizard_bootstrap.py

# Skills drift check
python wizard-bootstrap/skills_audit.py

# Dependency check
python wizard-bootstrap/dependency_checker.py

# Full monthly audit (all three checks, saves report)
python wizard-bootstrap/monthly_audit.py