- Rename user-facing env var CF_ORCH_URL → GPU_SERVER_URL with full
backward-compat alias (closes#116). Priority chain: GPU_SERVER_URL
→ CF_ORCH_URL → orch.circuitforge.tech when CF_LICENSE_KEY present.
Write-back to os.environ[CF_ORCH_URL] keeps all downstream callers
unchanged.
- Add four task-routed llm.yaml backends (cf_cover_letter, cf_ats_rewrite,
cf_job_research, cf_interview_prep) using cf_orch.product + cf_orch.task.
Coordinator resolves model/node from assignments.yaml (closes#115).
- Update compose.yml, compose.cloud.yml, compose.test-cfcore.yml,
.env.example to use GPU_SERVER_URL as primary documented var.
Documents the cf-orch allocation pattern for cf-text and cf-voice as
openai_compat backends with a cf_orch block. Products enable these when
CF_ORCH_URL is set; the router allocates via the broker and calls the
managed service directly. No catalog or leaf details here — those live
in cf-orch node profiles (The Orchard trunk/leaf split).
- llm.yaml + example: replace localhost URLs with Docker service names
(ollama:11434, vllm:8000, vision:8002); replace personal model names
(alex-cover-writer, llama3.1:8b) with llama3.2:3b
- user.yaml.example: update service hosts to Docker names (ollama, vllm,
searxng) and searxng port from 8888 (host-mapped) to 8080 (internal)
- wizard step 5: fix hardcoded localhost defaults — wizard runs inside
Docker, so service name defaults are required for connection tests to pass
- scrapers/companyScraper.py: bundle scraper so Dockerfile COPY succeeds
- setup.sh: remove host Ollama install (conflicts with Docker Ollama on
port 11434); Docker entrypoint handles model download automatically
- README + setup.sh banner: add Circuit Forge mission statement