circuitforge-core/tests
pyr0ball 9f7fb45071
Some checks are pending
CI / test (push) Waiting to run
Mirror / mirror (push) Waiting to run
feat(video): add cf-video module — Marlin-2B FastAPI service + mock backend + tests
Add the circuitforge_core.video package implementing the cf-video inference
service managed by cf-orch.

Service endpoints:
  GET  /health     — liveness check; model name + VRAM
  POST /caption    — dense scene description + timestamped event list
  POST /find       — temporal grounding of a natural-language event query

Backend hierarchy:
  VideoBackend (Protocol)
    MarlinBackend  — NemoStation/Marlin-2B via transformers>=5.7.0
    MockVideoBackend — deterministic stub; no GPU required

Pydantic request/response models enforce parameter bounds at the API
boundary (max_new_tokens ge/le, event min_length=1).  Span is serialized
as list[float] | None for JSON compatibility.

MarlinBackend loads eagerly in __init__ so cf-orch's 2-second liveness
poll catches load failures immediately.  FORCE_QWENVL_VIDEO_READER env var
defaults to torchcodec (faster than av path) before transformers import.

pyproject.toml extras:
  video-marlin   — torch, transformers, torchcodec, qwen-vl-utils, av, Pillow
  video-service  — video-marlin + fastapi + uvicorn

Test coverage: 46 tests across test_mock_backend.py and test_app.py.
All passing without GPU or real video file.

Closes: #71
2026-05-25 20:00:37 -07:00
..
community feat(community): add SharedStore base class with typed pg read/write methods 2026-04-12 22:03:27 -07:00
test_activitypub feat: add activitypub module — actor, objects, signing, delivery, Lemmy, inbox (closes #51) 2026-04-20 13:18:03 -07:00
test_affiliates test: affiliates integration tests — full wrap_url round-trip 2026-04-04 18:28:27 -07:00
test_api fix: raise 502 on label creation failure; narrow subprocess exception scope 2026-04-05 17:36:52 -07:00
test_audio feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_config feat: add CF_LICENSE_KEY validation via Heimdall (closes #26) 2026-04-05 21:16:57 -07:00
test_documents test(documents): add OCR fallback and edge case tests for PDFExtractor 2026-05-04 08:45:53 -07:00
test_hardware feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_input fix(input/gestures): enforce numpy array immutability in HandLandmarks; add CameraCapture tests 2026-04-26 20:48:02 -07:00
test_job_quality feat: add job_quality deterministic trust scorer (closes #48) 2026-04-20 13:02:57 -07:00
test_manage feat: manage.py cross-platform product manager (closes #6) 2026-04-02 23:04:35 -07:00
test_musicgen feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_pipeline feat: v0.9.0 — cf-text, pipeline crystallization engine, multimodal pipeline, a11y preferences 2026-04-08 23:17:18 -07:00
test_reranker feat(reranker): full adapter suite + cf-orch auto-routing (closes #54) 2026-04-26 09:04:39 -07:00
test_tasks refactor: replace coordinator-aware TaskScheduler with Protocol + LocalScheduler (MIT); update LLMRouter import path 2026-04-04 22:26:06 -07:00
test_text feat(text): add OpenAI-compat /v1/chat/completions endpoint 2026-04-12 17:04:58 -07:00
test_vector fix(vector): explicit rollback, table identifier guard, query scope fix 2026-05-04 15:55:05 -07:00
test_video feat(video): add cf-video module — Marlin-2B FastAPI service + mock backend + tests 2026-05-25 20:00:37 -07:00
test_vision feat: cf-vision managed service (#43) 2026-04-09 06:53:43 -07:00
__init__.py feat: scaffold circuitforge-core package 2026-03-25 11:02:26 -07:00
test_db.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_llm_router.py feat(llm): v0.20.0 — LLMRouter dict init + Ollama embed preflight (closes #59, #60) 2026-05-05 14:59:49 -07:00
test_preferences.py feat: add currency_code preference + format_currency utility (closes #52) 2026-04-20 13:06:04 -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