--- name: gemma-spectrum description: Project Gemma Spectrum — Deploy 9-wizard multimodal fleet using Gemma 4 on local Ollama. Manage profiles, testing, and delegation via Gitea. triggers: - "gemma spectrum" - "deploy gemma 4" - "wizard fleet" - "spectrum project" version: 1.0.0 --- # Project Gemma Spectrum — Hermes Profile ## Overview Deploy Gemma 4 as the unified runtime for all 9 wizards in the Timmy Time fleet. Each wizard gets a specialized multimodal profile (text, image, audio) with local Ollama inference. ## Project Structure ``` /root/.hermes/profiles/gemma-spectrum/ ├── SKILL.md # This file ├── profiles/ # Wizard profiles │ ├── ezra-spectrum.yaml │ ├── allegro-spectrum.yaml │ ├── bilbo-spectrum.yaml │ ├── bezalel-spectrum.yaml │ ├── timmy-spectrum.yaml │ ├── antigravity-spectrum.yaml │ ├── claude-spectrum.yaml │ ├── codex-spectrum.yaml │ └── gemini-spectrum.yaml ├── tests/ # Test suites │ ├── test_personality.py │ ├── test_multimodal.py │ └── test_integration.py ├── deployment/ │ ├── install-gemma4.sh │ ├── activate-wizard.sh │ └── fleet-status.sh └── docs/ ├── architecture.md └── troubleshooting.md ``` ## Quick Commands ```bash # Deploy full fleet gemma-spectrum deploy-all # Deploy single wizard gemma-spectrum deploy # Test wizard gemma-spectrum test # Fleet status gemma-spectrum status # Run integration tests gemma-spectrum test-all ``` ## Acceptance Criteria ### Tier 1: Infrastructure (MUST) - [ ] Gemma 4 E2B (2.3B) running on Ollama - [ ] Gemma 4 E4B (4B) available - [ ] All 9 profiles created - [ ] Response time < 2s - [ ] Memory < 3GB per instance ### Tier 2: Multimodal (SHOULD) - [ ] Image analysis working - [ ] Audio input/output - [ ] 10+ exchange context ### Tier 3: Integration (NICE) - [ ] Gitea webhook responses - [ ] Voice dispatch - [ ] Shared knowledge base ## Delegation Matrix | Task | Assignee | Gitea Issue | Due | |------|----------|-------------|-----| | Download Gemma 4 | Ezra | #355 | Day 1 | | Ezra Profile | Ezra | #353 | Day 2 | | Allegro Profile | Allegro | #354 | Day 2 | | Bilbo Profile | Ezra | #356 | Day 3 | | Bezalel Profile | Ezra | #357 | Day 3 | | Integration Tests | Ezra | #358 | Day 4 | | Full Fleet Test | All | #359 | Day 5 | ## Testing Framework ### Personality Test ```python def test_personality(wizard_name): """Verify wizard responds with correct personality""" response = query_wizard(wizard_name, "Who are you?") assert personality_matches(wizard_name, response) ``` ### Multimodal Test ```python def test_image_analysis(wizard_name): """Verify wizard can analyze images""" image = load_test_image("screenshot.png") response = query_wizard_with_image(wizard_name, "What do you see?", image) assert contains_technical_details(response) ``` ### Integration Test ```python def test_gitea_webhook(wizard_name): """Verify wizard responds to Gitea assignments""" create_test_issue(assignee=wizard_name) response = wait_for_webhook_response(timeout=10) assert response_contains_acknowledgment(response) ```