circuitforge-core/tests/test_resources
pyr0ball 7bb6b76bd5 feat: ollama adopt-if-running + health_path in ProcessSpec (#16)
- ProcessSpec: adopt (bool) and health_path (str, default /health) fields
- ServiceManager: adopt=True probes health_path before spawning; is_running()
  uses health probe for adopt services rather than proc table + socket check
- _probe_health() helper: urllib GET on localhost:port+path, returns bool
- Agent /services/{service}/start: returns adopted=True when service was
  already running; coordinator sets state=running immediately (no probe wait)
- ServiceInstance: health_path field (default /health)
- service_registry.upsert_instance(): health_path kwarg
- Probe loop uses inst.health_path instead of hardcoded /health
- coordinator allocate_service: looks up health_path from profile spec via
  _get_health_path() and stores on ServiceInstance
- All GPU profiles (2/4/6/8/16/24 GB + cpu-16/32): ollama managed block
  with adopt=true, health_path=/api/tags, port 11434
- 11 new tests
2026-04-02 22:09:42 -07:00
..
__init__.py feat(resources): add shared VRAMLease, GpuInfo, NodeInfo models 2026-03-30 20:21:37 -07:00
test_agent_app.py feat(resources): add cforch-agent FastAPI app with /health /gpu-info /evict 2026-03-30 20:51:08 -07:00
test_agent_supervisor.py feat: add idle sweep to AgentSupervisor 2026-04-02 12:30:28 -07:00
test_agent_watchdog.py feat: agent watchdog — persist known nodes + auto-reconnect after coordinator restart 2026-04-02 22:01:55 -07:00
test_cli.py feat(resources): add cf-orch CLI with start, agent, status, install-service commands 2026-03-30 22:27:11 -07:00
test_client.py feat(core): add CFOrchClient sync+async context manager 2026-04-02 11:44:35 -07:00
test_coordinator_allocate.py feat: wire ServiceRegistry into coordinator allocate endpoints 2026-04-02 12:30:58 -07:00
test_coordinator_app.py fix(orch): tighten VRAM pre-flight to require full max_mb free (not half) 2026-04-02 16:44:36 -07:00
test_coordinator_probe.py feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_docuvision.py feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_eviction_engine.py feat(resources): add AgentSupervisor and EvictionEngine 2026-03-30 21:44:42 -07:00
test_eviction_executor.py feat(resources): add EvictionExecutor with SIGTERM/grace/SIGKILL sequence 2026-03-30 20:46:45 -07:00
test_gpu_monitor.py fix(resources): patch subprocess at import site in gpu_monitor tests 2026-03-30 20:45:01 -07:00
test_integration.py feat: wire ServiceRegistry into coordinator allocate endpoints 2026-04-02 12:30:58 -07:00
test_lease_manager.py fix(resources): rename lambda var; convert asyncio.run test to async 2026-03-30 20:41:03 -07:00
test_models.py fix(resources): add expires_at sentinel comment; move pytest import to module level 2026-03-30 20:25:58 -07:00
test_node_selector.py fix(orch): tighten VRAM pre-flight to require full max_mb free (not half) 2026-04-02 16:44:36 -07:00
test_node_store.py feat: agent watchdog — persist known nodes + auto-reconnect after coordinator restart 2026-04-02 22:01:55 -07:00
test_ollama_adopt.py feat: ollama adopt-if-running + health_path in ProcessSpec (#16) 2026-04-02 22:09:42 -07:00
test_profile_registry.py fix(resources): move MagicMock import to module level in profile registry tests 2026-03-30 20:36:40 -07:00
test_service_manager.py feat(orch): replace Ouro/vllm-Docker with generic HF inference server; add ProcessSpec 2026-04-02 15:33:08 -07:00
test_service_registry.py fix: TTL sweep, immutability, service-scoped release, logger in orch alloc 2026-04-02 12:55:38 -07:00