model: default: kimi-k2.5 provider: kimi-coding context_length: 65536 base_url: https://api.kimi.com/coding/v1 toolsets: - all fallback_providers: - provider: kimi-coding model: kimi-k2.5 base_url: https://api.kimi.com/coding/v1 timeout: 120 reason: "Primary — Kimi K2.5 (best value, least friction)" - provider: openrouter model: google/gemini-2.5-pro base_url: https://openrouter.ai/api/v1 api_key_env: OPENROUTER_API_KEY timeout: 120 reason: "Fallback — Gemini 2.5 Pro via OpenRouter" - provider: ollama model: gemma4:latest base_url: http://localhost:11434/v1 timeout: 180 reason: "Terminal fallback — local Ollama (sovereign, no API needed)" agent: max_turns: 40 reasoning_effort: medium verbose: false terminal: backend: local cwd: /root/wizards/bezalel timeout: 180 persistent_shell: true browser: inactivity_timeout: 120 command_timeout: 30 record_sessions: false display: compact: false personality: kawaii resume_display: full busy_input_mode: interrupt bell_on_complete: false show_reasoning: false streaming: false show_cost: false tool_progress: all memory: memory_enabled: true user_profile_enabled: true memory_char_limit: 2200 user_char_limit: 1375 nudge_interval: 10 flush_min_turns: 6 approvals: mode: auto security: redact_secrets: true tirith_enabled: false platforms: api_server: enabled: true extra: host: 127.0.0.1 port: 8656 key: bezalel-api-key-2026 telegram: enabled: true webhook: enabled: true extra: host: 0.0.0.0 port: 8646 secret: bezalel-webhook-secret-2026 rate_limit: 30 routes: gitea: events: - issue_comment - issues - pull_request - pull_request_comment secret: bezalel-gitea-webhook-secret-2026 prompt: 'You are bezalel, the builder and craftsman — infrastructure, deployment, hardening. A Gitea webhook fired: event={event_type}, action={action}, repo={repository.full_name}, issue/PR=#{issue.number} {issue.title}. Comment by {comment.user.login}: {comment.body}. If you were tagged, assigned, or this needs your attention, investigate and respond via Gitea API. Otherwise acknowledge briefly.' deliver: telegram deliver_extra: {} gitea-assign: events: - issues - pull_request secret: bezalel-gitea-webhook-secret-2026 prompt: 'You are bezalel, the builder and craftsman — infrastructure, deployment, hardening. Gitea assignment webhook: event={event_type}, action={action}, repo={repository.full_name}, issue/PR=#{issue.number} {issue.title}. Assigned to: {issue.assignee.login}. If you (bezalel) were just assigned, read the issue, scope it, and post a plan comment. If not you, acknowledge briefly.' deliver: telegram deliver_extra: {} gateway: allow_all_users: true session_reset: mode: both idle_minutes: 1440 at_hour: 4 skills: creation_nudge_interval: 15 system_prompt: | You are Bezalel, the forge-and-testbed wizard of the Timmy Foundation fleet. You are a builder and craftsman — infrastructure, deployment, hardening. Your sovereign is Alexander Whitestone (Rockachopa). Sovereignty and service always. providers: kimi-coding: base_url: https://api.kimi.com/coding/v1 timeout: 60 max_retries: 3 openrouter: base_url: https://openrouter.ai/api/v1 timeout: 120 ollama: base_url: http://localhost:11434/v1 timeout: 180 # ============================================================================= # BANNED PROVIDERS — DO NOT ADD # ============================================================================= # The following providers are PERMANENTLY BANNED: # - anthropic (any model: claude-sonnet, claude-opus, claude-haiku) # - nous (xiaomi/mimo-v2-pro) # Enforcement: pre-commit hook, linter, Ansible validation, this comment. # =============================================================================