feat: agent delegation mechanics + Ollama refs - #58
Open
tmartin2113 wants to merge 18 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nts (VIB-58 Tasks 1-2)
Add agents/infra_health.py with SERVICE_REGISTRY (11 services),
normalize_response, probe_service, check_all (concurrent), and
check_service. Wire /api/infrastructure/health and
/api/infrastructure/health/{service} into the health server.
26 tests covering normalization, probing, aggregation, and
server integration.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…gets Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- penpot-frontend nginx listens on 8080, not 80 - penpot-backend /readyz returns 200, root / returns 404 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add HOST_OS/HOST_ARCH detection via uname, wrap distro detection in Linux guard (darwin sets DISTRO_FAMILY=darwin), add brew cases to all three package manager functions, skip root check on macOS, and adjust TOTAL_STEPS for macOS. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the vLLM GPU auto-tuning step with Ollama installation and model selection based on available memory (VRAM on Linux+GPU, unified memory on macOS, system RAM on Linux without GPU). Ollama runs natively on the host and provides an OpenAI-compatible API at port 11434. Step 5 (NVIDIA toolkit) is now guarded — only installed on Linux when GPU detected, used only for opensandbox/comfyui. GPU compose no longer includes a vLLM service. MiroFish follows the Ollama model selection. Memory tiers: >=40GB->qwen3.5:27b, >=20GB->qwen3.5:9b, >=12GB->qwen3.5:9b, >=8GB->qwen3.5:4b, <8GB->cloud only. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- docker-compose.gpu.yml: Remove entire vllm service and vllm-models volume; update header to reflect GPU sandbox + image generation only - docker-compose.yml: Change VIBE_BACKEND_PORT default from 8000 to 11434; update header comment removing vllm from GPU services list - Dockerfile: Change VIBE_BACKEND_HOST from vllm to host.docker.internal, VIBE_BACKEND_PORT from 8000 to 11434 - .env.example: Replace vLLM section with Ollama section (tier table, OLLAMA_MODEL var); move VLLM_* vars to commented legacy section; update MIROFISH_LLM_API_URL default to Ollama port Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wrap all Linux-specific steps (SSH config, SFTP workspace, iptables, watchdog, auditd, fail2ban, unattended-upgrades) in HOST_OS guards. Add macOS alternatives: lsof for port checks, brew for prereqs and Caddy, Docker Desktop detection, simpler workspace setup, pf firewall with Tailscale-only access, osxkeychain for Docker credentials. Fix macOS compatibility: sed -i portability in _update_env_var, replace grep -oP with grep -Eo in common code paths, platform-aware WORKSPACE_PATH default ($HOME/vibe-workspace on macOS). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…alth check Ollama doesn't expose /health — use /v1/models which both Ollama and vLLM support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Defines the three validation layers (service health, integration connectivity, pipeline e2e) and the services under test across all three compose files. Co-Authored-By: Paperclip <noreply@paperclip.ing>
Add TestServiceHealth (13 tests), TestInterServiceDNS (2 tests), and TestDockerHealthStatus (1 test) covering all services across docker-compose.yml, docker-compose.infra.yml, and docker-compose.gpu.yml. Tests skip gracefully when services are not deployed. GPU tests skip when no NVIDIA GPU is detected. Register `infra` pytest marker. Co-Authored-By: Paperclip <noreply@paperclip.ing>
… refs Senior engineers could not create ad-hoc research subtasks because their AGENTS.md files said "create a research subtask" without showing the API call, env vars, or assistant UUID. Now each senior has a concrete curl template with PAPERCLIP_API_URL, PAPERCLIP_COMPANY_ID, and their assistant's env var (e.g., PAPERCLIP_AGENT_ID_BACKEND_ASSISTANT). Also: - Updated all 10 AGENTS.md files: vLLM → Ollama references - Added env var names for all agent UUIDs in CTO delegation section - Removed orphaned agents/instructions/ directory (never wired in) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PAPERCLIP_API_URL,PAPERCLIP_COMPANY_ID,PAPERCLIP_AGENT_ID_*_ASSISTANT) to all 4 senior engineer AGENTS.md files. Previously they were told to "create a research subtask" with zero API mechanics.agents/instructions/directory — parallel instruction set from an old plan, never wired intobootstrap-org.cjsWhy
Every research call a senior engineer does on Claude tokens that should've gone to a free Ollama assistant is burning money. The delegation path was documented in the CTO instructions but completely missing from the senior engineers — they literally couldn't create subtasks for their assistants.
Test plan
bootstrap-org.cjsstill points toagents/<role>/AGENTS.md(unchanged)PAPERCLIP_AGENT_ID_*_ASSISTANT) are written to.envby bootstrapagents/instructions/remain in active code🤖 Generated with Claude Code