circuitforge-core/tests
pyr0ball cd9864b5e8 feat: hardware detection, cf-docuvision service, documents ingestion pipeline
Closes #5, #7, #8, #13

## hardware module (closes #5)
- HardwareSpec, LLMBackendConfig, LLMConfig dataclasses
- VramTier ladder (CPU / 2 / 4 / 6 / 8 / 16 / 24 GB) with select_tier()
- generate_profile() maps HardwareSpec → LLMConfig for llm.yaml generation
- detect_hardware() with nvidia-smi / rocm-smi / system_profiler / cpu fallback
- 31 tests across tiers, generator, and detect

## cf-docuvision service (closes #8)
- FastAPI service wrapping ByteDance/Dolphin-v2 (Qwen2.5-VL backbone)
- POST /extract: image_b64 or image_path + hint → ExtractResponse
- Lazy model loading; JSON-structured output with plain-text fallback
- ProcessSpec managed blocks added to all four GPU profiles (6/8/16/24 GB)
- 14 tests

## documents module (closes #7)
- StructuredDocument, Element, ParsedTable dataclasses (frozen, composable)
- DocuvisionClient: thin HTTP client for cf-docuvision POST /extract
- ingest(): primary cf-docuvision path → LLMRouter vision fallback → empty doc
- CF_DOCUVISION_URL env var for URL override
- 22 tests

## coordinator probe loop (closes #13)
- _run_instance_probe_loop: starting → running on 200; starting → stopped on timeout
- 4 async tests with CancelledError-based tick control
2026-04-02 18:53:25 -07:00
..
test_documents feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_hardware feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_resources feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_tasks fix(tasks): fix VRAM accounting race, lock scope, type annotations 2026-03-31 09:15:09 -07:00
__init__.py feat: scaffold circuitforge-core package 2026-03-25 11:02:26 -07:00
test_config.py feat: add config module and vision router stub 2026-03-25 11:08:03 -07:00
test_db.py feat: add db base connection and migration runner 2026-03-25 11:03:35 -07:00
test_llm_router.py feat: add LLM router (extracted from Peregrine) 2026-03-25 11:06:29 -07:00
test_stubs.py feat: add wizard and pipeline stubs 2026-03-25 11:09:40 -07:00
test_tiers.py feat: add generalised tier system with BYOK and local vision unlocks 2026-03-25 11:04:55 -07:00