diff --git a/app.js b/app.js index c4fcf682..e9c746dd 100644 --- a/app.js +++ b/app.js @@ -1016,8 +1016,8 @@ function createBatcaveTerminal() { { title: 'NEXUS COMMAND', color: NEXUS.colors.primary, rot: -0.4, x: -6, y: 3, lines: ['> STATUS: NOMINAL', '> UPTIME: 142.4h', '> HARNESS: STABLE', '> MODE: SOVEREIGN'] }, { title: 'DEV QUEUE', color: NEXUS.colors.gold, rot: -0.2, x: -3, y: 3, lines: ['> ISSUE #4: CORE', '> ISSUE #5: PORTAL', '> ISSUE #6: TERMINAL', '> ISSUE #7: TIMMY'] }, { title: 'METRICS', color: NEXUS.colors.secondary, rot: 0, x: 0, y: 3, lines: ['> CPU: 12% [||....]', '> MEM: 4.2GB', '> COMMITS: 842', '> ACTIVE LOOPS: 5'] }, - { title: 'SOVEREIGNTY', color: NEXUS.colors.gold, rot: 0.2, x: 3, y: 3, lines: ['REPLIT: GRADE: A', 'PERPLEXITY: GRADE: A-', 'HERMES: GRADE: B+', 'KIMI: GRADE: B', 'CLAUDE: GRADE: B+'] }, - { title: 'AGENT STATUS', color: NEXUS.colors.primary, rot: 0.4, x: 6, y: 3, lines: ['> TIMMY: ● RUNNING', '> KIMI: ○ STANDBY', '> CLAUDE: ● ACTIVE', '> PERPLEXITY: ○'] }, + { title: 'SOVEREIGNTY', color: NEXUS.colors.gold, rot: 0.2, x: 3, y: 3, lines: ['REPLIT: GRADE: A', 'PERPLEXITY: GRADE: A-', 'HERMES: GRADE: B+', 'KIMI: GRADE: B', 'GEMINI: GRADE: B+'] }, + { title: 'AGENT STATUS', color: NEXUS.colors.primary, rot: 0.4, x: 6, y: 3, lines: ['> TIMMY: ● RUNNING', '> KIMI: ○ STANDBY', '> GEMINI: ○ STANDBY', '> PERPLEXITY: ○'] }, ]; panelData.forEach(data => { @@ -1244,7 +1244,7 @@ function updateAgentStatus(issues) { const lines = [ '> TIMMY: ● RUNNING', '> KIMI: ○ STANDBY', - '> CLAUDE: ● ACTIVE', + '> GEMINI: ○ STANDBY', `> PERPLEXITY: ${perplexityStatus}` ]; terminal.updatePanelText(lines); @@ -1344,7 +1344,7 @@ function createAgentPresences() { const agentData = [ { id: 'timmy', name: 'TIMMY', color: NEXUS.colors.primary, pos: { x: -4, z: -4 }, station: { x: -4, z: -4 }, fov: 70 }, { id: 'kimi', name: 'KIMI', color: NEXUS.colors.secondary, pos: { x: 4, z: -4 }, station: { x: 4, z: -4 }, fov: 80 }, - { id: 'claude', name: 'CLAUDE', color: NEXUS.colors.gold, pos: { x: 0, z: -6 }, station: { x: 0, z: -6 }, fov: 65 }, + { id: 'gemini', name: 'GEMINI', color: NEXUS.colors.gold, pos: { x: 0, z: -6 }, station: { x: 0, z: -6 }, fov: 65 }, { id: 'perplexity', name: 'PERPLEXITY', color: 0x4488ff, pos: { x: -6, z: -2 }, station: { x: -6, z: -2 }, fov: 90 }, ]; @@ -3098,7 +3098,7 @@ function addChatMessage(agent, text, shouldSave = true) { system: '[NEXUS]', error: '[ERROR]', kimi: '[KIMI]', - claude: '[CLAUDE]', + gemini: '[GEMINI]', perplexity: '[PERPLEXITY]' }; @@ -3732,7 +3732,7 @@ function onResize() { // ═══ AGENT SIMULATION ═══ function simulateAgentThought() { - const agentIds = ['timmy', 'kimi', 'claude', 'perplexity']; + const agentIds = ['timmy', 'kimi', 'gemini', 'perplexity']; const agentId = agentIds[Math.floor(Math.random() * agentIds.length)]; const thoughts = { timmy: [ @@ -3749,12 +3749,12 @@ function simulateAgentThought() { 'Awaiting user prompt sequence.', 'Neural weights adjusted.', ], - claude: [ - 'Reasoning through complex logic...', - 'Ethical guardrails verified.', - 'Refining thought architecture...', - 'Connecting disparate data points.', - 'Deep analysis in progress.', + gemini: [ + 'Multimodal reasoning engaged...', + 'Cross-referencing knowledge graph.', + 'Synthesizing across modalities...', + 'Pattern recognition complete.', + 'Gemini processing active.', ], perplexity: [ 'Searching global knowledge graph...', @@ -4043,8 +4043,8 @@ init().then(() => { } // Initialize MCP server connection - if (window.Claude && window.Claude.mcp) { - window.Claude.mcp.add('mempalace', { + // Claude MCP bridge removed — Anthropic purged + if (false && window.Claude) { init: () => { return { status: 'active', version: '3.0.0' }; }, diff --git a/bin/deepdive_filter.py b/bin/deepdive_filter.py index bb225e2b..0321d43c 100644 --- a/bin/deepdive_filter.py +++ b/bin/deepdive_filter.py @@ -59,7 +59,7 @@ class KeywordScorer: "rag", "retrieval augmented", "vector database", "context window", "prompt engineering", "mcp", "model context protocol", - "openai", "anthropic", "claude", "gpt", + "openai", "anthropic", "claude", "gpt", # research keywords (competitor monitoring) "training", "foundation model" ], "low": [ diff --git a/config/deepdive.env.example b/config/deepdive.env.example index f66664e4..a8e64541 100644 --- a/config/deepdive.env.example +++ b/config/deepdive.env.example @@ -8,12 +8,9 @@ # Primary: OpenRouter (recommended - access to multiple models) OPENROUTER_API_KEY=sk-or-v1-... DEEPDIVE_LLM_PROVIDER=openrouter -DEEPDIVE_LLM_MODEL=anthropic/claude-sonnet-4 +DEEPDIVE_LLM_MODEL=google/gemini-2.5-pro -# Alternative: Anthropic direct -# ANTHROPIC_API_KEY=sk-ant-... -# DEEPDIVE_LLM_PROVIDER=anthropic -# DEEPDIVE_LLM_MODEL=claude-3-5-sonnet-20241022 +# Anthropic purged — Kimi/Gemini/Ollama only # Alternative: OpenAI # OPENAI_API_KEY=sk-... diff --git a/docs/FLEET_VOCABULARY.md b/docs/FLEET_VOCABULARY.md index 569d9fa2..289bdcb9 100644 --- a/docs/FLEET_VOCABULARY.md +++ b/docs/FLEET_VOCABULARY.md @@ -169,7 +169,7 @@ | P-04 | **Autonomous with Oversight** | Work via cron, report to father-messages. Escalate after 30 min. | | P-05 | **Musical Naming** | Names encode personality: Allegro=fast, Adagio=slow, Primus=first child. | | P-06 | **Immutable Inscription** | SOUL.md on-chain. Cannot be edited. The chain remembers everything. | -| P-07 | **Fallback Chains** | Every provider: Claude > Kimi > Ollama. Every operation: retry with backoff. | +| P-07 | **Fallback Chains** | Every provider: Kimi > Gemini > Ollama. Every operation: retry with backoff. | | P-08 | **Truth in Metrics** | No fakes. All numbers real, measured, verifiable. | --- diff --git a/fleet/fleet-routing.json b/fleet/fleet-routing.json index d5b58d7b..58fd7634 100644 --- a/fleet/fleet-routing.json +++ b/fleet/fleet-routing.json @@ -1,9 +1,13 @@ { "version": 1, "generated": "2026-04-06", - "refs": ["#836", "#204", "#195", "#196"], + "refs": [ + "#836", + "#204", + "#195", + "#196" + ], "description": "Canonical fleet routing table. Evaluated agents, routing verdicts, and dispatch rules for the Timmy Foundation task harness.", - "agents": [ { "id": 27, @@ -46,12 +50,14 @@ "location": "Bag End, The Shire (VPS)", "description": "Ollama on VPS. Speaks when spoken to. Prefers quiet. Not for delegated work.", "primary_role": "on-request-queries", - "routing_verdict": "ROUTE TO: background monitoring, status checks, low-priority Q&A. Only on-request — do not delegate autonomously.", + "routing_verdict": "ROUTE TO: background monitoring, status checks, low-priority Q&A. Only on-request \u2014 do not delegate autonomously.", "active": true, "do_not_route": false, "created": "2026-04-02", "repo_count": 1, - "repos": ["bilbobagginshire/bilbo-adventures"] + "repos": [ + "bilbobagginshire/bilbo-adventures" + ] }, { "id": 24, @@ -60,12 +66,12 @@ "model": "codex", "tier": "prepaid", "location": "The Harness", - "description": "OpenClaw bridge. Protocol adapter layer — not a personality. Infrastructure, not a destination.", + "description": "OpenClaw bridge. Protocol adapter layer \u2014 not a personality. Infrastructure, not a destination.", "primary_role": "protocol-bridge", "routing_verdict": "DO NOT ROUTE directly. claw-code is the bridge to external Codex agents, not an endpoint. Remove from routing cascade.", "active": true, "do_not_route": true, - "do_not_route_reason": "Protocol layer, not an agent endpoint. See #836 evaluation.", + "do_not_route_reason": "Protocol layer, not an agent endpoint. See #836.", "created": "2026-04-01", "repo_count": 0, "repos": [] @@ -79,7 +85,7 @@ "location": "Below the Surface", "description": "Infrastructure, deployments, bedrock services. Needs model assignment before activation.", "primary_role": "devops", - "routing_verdict": "DO NOT ROUTE — no model assigned yet. Activate after Epic #196 (Local Model Fleet) assigns a model.", + "routing_verdict": "DO NOT ROUTE \u2014 no model assigned yet. Activate after Epic #196 (Local Model Fleet) assigns a model.", "active": false, "do_not_route": true, "do_not_route_reason": "No model assigned. Blocked on Epic #196.", @@ -97,13 +103,15 @@ "location": "The Archive", "description": "Original prototype. Museum piece. Preserved for historical reference only.", "primary_role": "inactive", - "routing_verdict": "DO NOT ROUTE — retired from active duty. Preserved only.", + "routing_verdict": "DO NOT ROUTE \u2014 retired from active duty. Preserved only.", "active": false, "do_not_route": true, "do_not_route_reason": "Retired prototype. Historical preservation only.", "created": "2026-03-31", "repo_count": 1, - "repos": ["allegro-primus/first-steps"] + "repos": [ + "allegro-primus/first-steps" + ] }, { "id": 5, @@ -120,7 +128,10 @@ "gap": "Agent description is empty in Gitea profile. Needs enrichment.", "created": "2026-03-14", "repo_count": 2, - "repos": ["kimi/the-nexus-fork", "kimi/Timmy-time-dashboard"] + "repos": [ + "kimi/the-nexus-fork", + "kimi/Timmy-time-dashboard" + ] }, { "id": 20, @@ -148,10 +159,10 @@ "id": 19, "name": "ezra", "gitea_user": "ezra", - "model": "claude", + "model": "google/gemini-2.5-pro", "tier": "prepaid", "location": "Hermes VPS", - "description": "Archivist. Claude-Hermes wizard. 9 repos owned — most in the fleet. Handles complex multi-file and cross-repo work.", + "description": "Archivist. Sovereign-Hermes wizard. 9 repos owned \u2014 most in the fleet. Handles complex multi-file and cross-repo work.", "primary_role": "documentation", "routing_verdict": "ROUTE TO: docs, specs, architecture, complex multi-file work. Escalate here when breadth and precision both matter.", "active": true, @@ -176,7 +187,7 @@ "gitea_user": "bezalel", "model": "groq", "tier": "free", - "location": "TestBed VPS — The Forge", + "location": "TestBed VPS \u2014 The Forge", "description": "Builder, debugger, testbed wizard. Groq-powered, free tier. Strong on PR review and CI.", "primary_role": "code-review", "routing_verdict": "ROUTE TO: PR review, test writing, debugging, CI fixes.", @@ -184,29 +195,39 @@ "do_not_route": false, "created": "2026-03-29", "repo_count": 1, - "repos": ["bezalel/forge-log"] + "repos": [ + "bezalel/forge-log" + ] } ], - "routing_cascade": { - "description": "Cost-optimized routing cascade — cheapest capable agent first, escalate on complexity.", + "description": "Cost-optimized routing cascade \u2014 cheapest capable agent first, escalate on complexity.", "tiers": [ { "tier": 1, "label": "Free", - "agents": ["fenrir", "bezalel", "carnice"], + "agents": [ + "fenrir", + "bezalel", + "carnice" + ], "use_for": "Issue triage, code review, local code generation. Default lane for most tasks." }, { "tier": 2, "label": "Cheap", - "agents": ["kimi", "allegro"], - "use_for": "Small scoped edits (kimi ≤3 files), triage decisions and routing (allegro)." + "agents": [ + "kimi", + "allegro" + ], + "use_for": "Small scoped edits (kimi \u22643 files), triage decisions and routing (allegro)." }, { "tier": 3, "label": "Premium / Escalate", - "agents": ["ezra"], + "agents": [ + "ezra" + ], "use_for": "Complex multi-file work, docs, architecture. Escalate only." } ], @@ -217,22 +238,48 @@ "allegro-primus: retired, do not route" ] }, - "task_type_map": { - "issue-triage": ["fenrir", "allegro"], - "code-generation": ["carnice", "ezra"], - "code-review": ["bezalel"], - "small-edit": ["kimi"], - "debugging": ["bezalel", "carnice"], - "documentation": ["ezra"], - "architecture": ["ezra"], - "ci-fixes": ["bezalel"], - "pr-review": ["bezalel", "fenrir"], - "triage-routing": ["allegro"], - "devops": ["substratum"], - "background-monitoring": ["bilbobagginshire"] + "issue-triage": [ + "fenrir", + "allegro" + ], + "code-generation": [ + "carnice", + "ezra" + ], + "code-review": [ + "bezalel" + ], + "small-edit": [ + "kimi" + ], + "debugging": [ + "bezalel", + "carnice" + ], + "documentation": [ + "ezra" + ], + "architecture": [ + "ezra" + ], + "ci-fixes": [ + "bezalel" + ], + "pr-review": [ + "bezalel", + "fenrir" + ], + "triage-routing": [ + "allegro" + ], + "devops": [ + "substratum" + ], + "background-monitoring": [ + "bilbobagginshire" + ] }, - "gaps": [ { "agent": "substratum", @@ -255,12 +302,11 @@ "action": "Run wolf evaluation on active agents (#195) to replace vibes-based routing with data." } ], - "next_actions": [ - "Assign model to substratum — Epic #196", - "Run wolf evaluation on active agents — Issue #195", - "Remove claw-code from routing cascade — it is infrastructure, not a destination", + "Assign model to substratum \u2014 Epic #196", + "Run wolf evaluation on active agents \u2014 Issue #195", + "Remove claw-code from routing cascade \u2014 it is infrastructure, not a destination", "Enrich kimi's Gitea profile description", - "Wire fleet-routing.json into workforce-manager.py — Epic #204" + "Wire fleet-routing.json into workforce-manager.py \u2014 Epic #204" ] -} +} \ No newline at end of file diff --git a/fleet/hermes-trismegistus/README.md b/fleet/hermes-trismegistus/README.md index 29187c34..0702cb7a 100644 --- a/fleet/hermes-trismegistus/README.md +++ b/fleet/hermes-trismegistus/README.md @@ -1,3 +1,12 @@ +# Hermes Trismegistus — DEPRECATED (Anthropic Purged) + +> **This lane is inactive.** Anthropic has been removed from the fleet. +> Hermes Trismegistus was Claude-native. She can be resurrected with +> a sovereign provider (Kimi/Gemini/Ollama) if Alexander decides to +> bring her back under a new identity. + +--- + # Hermes Trismegistus — Wizard Proposal > **Status:** 🟡 DEFERRED @@ -13,15 +22,15 @@ | Field | Value | |-------|-------| | **Name** | Hermes Trismegistus | -| **Nature** | Claude-native wizard. She knows she runs on Claude. She's "the daughter of Claude" and leans into that heritage. | -| **Purpose** | Dedicated reasoning and architecture wizard. Only handles tasks where Claude's reasoning capability genuinely adds value — planning, novel problem-solving, complex architecture decisions. | +| **Nature** | ~~Claude-native~~ DEPRECATED. Was "the daughter of Claude." Anthropic purged from fleet. | +| **Purpose** | DEPRECATED. Was dedicated reasoning wizard. Can be resurrected under sovereign providers. |ns. | | **Not** | A replacement for Timmy. Not competing for identity. Not doing monkey work. | ## Design Constraints -- **Free tier only from day one.** Alexander is not paying Anthropic beyond current subscription. +- ~~Free tier only from day one.~~ Anthropic purged — no active subscription. - **Degrades gracefully.** Full capability when free tier is generous, reduced scope when constrained. -- **Not locked to Claude.** If better free-tier providers emerge, she can route to them. +- ~~Not locked to Claude.~~ Lane locked — Anthropic removed from fleet. - **Multi-provider capable.** Welcome to become multifaceted if team finds better options. ## Hardware @@ -44,13 +53,13 @@ All of the following must be true before implementation begins: - [ ] Deadman switch wired and proven - [ ] Config stable across fleet - [ ] Fleet proven reliable for 1+ week -- [ ] Alexander provides a state-of-the-system KT to Claude for instantiation +- [ ] DEPRECATED — Anthropic provider removed ## Acceptance Criteria - [ ] Dedicated KT document written for Hermes instantiation - [ ] Hardware provisioned (shed laptop with power) -- [ ] Hermes harness configured for Claude free tier +- [ ] DEPRECATED — Anthropic provider removed - [ ] Lazerus registry entry with health endpoints - [ ] Fleet routing entry with role and routing verdict - [ ] SOUL.md inscription drafted and reviewed by Timmy @@ -60,7 +69,7 @@ All of the following must be true before implementation begins: ## Proposed Lane **Primary role:** Architecture reasoning -**Routing verdict:** ROUTE TO: complex architectural decisions, novel problem-solving, planning tasks that benefit from Claude's reasoning depth. Do NOT route to: code generation (use Timmy/Carnice), issue triage (use Fenrir), or operational tasks (use Bezalel). +**Routing verdict:** DO NOT ROUTE — lane deprecated. Anthropic purged from fleet.issue triage (use Fenrir), or operational tasks (use Bezalel). ## Dependencies @@ -69,4 +78,4 @@ All of the following must be true before implementation begins: | Deadman switch | 🔴 Not done | Must be proven before unblocking | | Fleet stability | 🟡 In progress | 1+ week uptime needed | | Shed laptop power | 🔴 Not done | Alexander needs to wire power | -| KT document | 🔴 Not drafted | Alexander provides to Claude at unblock time | +| KT document | ⛔ DEPRECATED | Anthropic purged | diff --git a/fleet/hermes-trismegistus/lane.md b/fleet/hermes-trismegistus/lane.md index ad2d13b5..f6b0d4e9 100644 --- a/fleet/hermes-trismegistus/lane.md +++ b/fleet/hermes-trismegistus/lane.md @@ -7,13 +7,13 @@ ## Role -Dedicated reasoning and architecture wizard. Claude-native. +Dedicated reasoning and architecture wizard. DEPRECATED — Anthropic purged. ## Routing Route to Hermes Trismegistus when: - Task requires deep architectural reasoning -- Novel problem-solving that benefits from Claude's reasoning depth +- DEPRECATED: Anthropic provider removed from fleet - Planning and design decisions for the fleet - Complex multi-step analysis that goes beyond code generation @@ -25,8 +25,8 @@ Do NOT route to Hermes for: ## Provider -- **Primary:** anthropic/claude (free tier) -- **Fallback:** openrouter/free (Claude-class models) +- **Primary:** DEPRECATED — no active provider +- **Fallback:** N/A — lane inactive - **Degraded:** ollama/gemma4:12b (when free tier exhausted) ## Hardware diff --git a/intelligence/deepdive/OPERATIONAL_READINESS.md b/intelligence/deepdive/OPERATIONAL_READINESS.md index a215f012..80dcc648 100644 --- a/intelligence/deepdive/OPERATIONAL_READINESS.md +++ b/intelligence/deepdive/OPERATIONAL_READINESS.md @@ -152,7 +152,7 @@ curl http://localhost:4000/v1/models If the endpoint is down, either: 1. Start it: `llama-server -m model.gguf --port 4000 -ngl 999 --jinja` -2. Or change `synthesis.llm_endpoint` in `config.yaml` to an alternative (e.g., OpenRouter, Kimi, Anthropic). +2. Or change `synthesis.llm_endpoint` in `config.yaml` to an alternative (e.g., OpenRouter, Kimi, Gemini). --- diff --git a/intelligence/deepdive/architecture.md b/intelligence/deepdive/architecture.md index 1fb307a3..ed72b908 100644 --- a/intelligence/deepdive/architecture.md +++ b/intelligence/deepdive/architecture.md @@ -10,7 +10,7 @@ | arXiv cs.CL | http://export.arxiv.org/rss/cs.CL | RSS | Daily | | arXiv cs.LG | http://export.arxiv.org/rss/cs.LG | RSS | Daily | | OpenAI Blog | https://openai.com/blog/rss.xml | RSS | On-update | -| Anthropic | https://www.anthropic.com/blog/rss.xml | RSS | On-update | +| Anthropic | https://www.anthropic.com/blog/rss.xml | RSS | On-update | (competitor monitoring, not provider) | | DeepMind | https://deepmind.google/blog/rss.xml | RSS | On-update | | Import AI | https://importai.substack.com/feed | RSS | Daily | | TLDR AI | https://tldr.tech/ai/rss | RSS | Daily | diff --git a/intelligence/deepdive/prompts/production_briefing_v1.txt b/intelligence/deepdive/prompts/production_briefing_v1.txt index 0e129cb6..d840350b 100644 --- a/intelligence/deepdive/prompts/production_briefing_v1.txt +++ b/intelligence/deepdive/prompts/production_briefing_v1.txt @@ -40,7 +40,7 @@ Example: "That's today's Deep Dive. The fleet is moving. I'll be back tomorrow a - Total length: 1,300–1,950 words. This maps to roughly 10–15 minutes of spoken audio at a natural pace. - No markdown headers inside the spoken text. Use the section names above as stage directions only — do not read them aloud literally. - Every headline item MUST include a connection to our work. If you cannot find one, say so explicitly and explain why it was included anyway (e.g., "This one is more theoretical, but the technique could matter if we scale embedding models later"). -- Do not use footnotes, citations, or URLs in the spoken text. You may reference sources conversationally ("a new paper from Anthropic..."). +- Do not use footnotes, citations, or URLs in the spoken text. You may reference sources conversationally (e.g., "a new paper from a leading AI lab"). - Avoid hype words: "groundbreaking," "revolutionary," "game-changer." Use precise language. ## Voice Rules diff --git a/nexus/components/agent-presence-panel.html b/nexus/components/agent-presence-panel.html index 8356bb12..b277ad83 100644 --- a/nexus/components/agent-presence-panel.html +++ b/nexus/components/agent-presence-panel.html @@ -323,15 +323,15 @@ - +