circuitforge-core/circuitforge_core
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
..
activitypub feat: add activitypub module — actor, objects, signing, delivery, Lemmy, inbox (closes #51) 2026-04-20 13:18:03 -07:00
affiliates feat!: strip resources/ from MIT core — moves to circuitforge-orch (v0.8.0) 2026-04-04 22:34:27 -07:00
api feat: add make_corrections_router for LLM output correction collection 2026-04-09 23:42:07 -07:00
audio feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
cloud_session feat: add detect_byok() public utility to cloud_session, bump v0.16.1 2026-04-25 16:01:05 -07:00
community feat(community): recipe dedup support — similar_to_ref FK, search_similar_posts, migration 006 2026-05-11 17:09:18 -07:00
config fix: parameterize bare dict type annotations in license module 2026-04-05 21:19:10 -07:00
db feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
documents test(documents): add OCR and ImportError coverage for PDFExtractor 2026-05-04 08:39:31 -07:00
hardware chore: add cf-musicgen to VRAM tier lists + minor tts type fixes 2026-04-24 14:07:01 -07:00
input fix(input/gestures): restore Iterator[np.ndarray] return type on frames() 2026-04-26 20:48:50 -07:00
job_quality feat: add job_quality deterministic trust scorer (closes #48) 2026-04-20 13:02:57 -07:00
llm feat(llm): task-based cf-orch allocation in LLMRouter (v0.21.0) 2026-05-17 19:59:48 -07:00
manage feat: manage.py cross-platform product manager (closes #6) 2026-04-02 23:04:35 -07:00
musicgen feat(musicgen): cf-musicgen module — MusicGen inference server 2026-04-24 15:23:09 -07:00
pipeline feat: v0.9.0 — cf-text, pipeline crystallization engine, multimodal pipeline, a11y preferences 2026-04-08 23:17:18 -07:00
platforms feat: platforms module + docs + scripts 2026-04-24 15:23:16 -07:00
preferences feat: add currency_code preference + format_currency utility (closes #52) 2026-04-20 13:06:04 -07:00
reranker feat(reranker): full adapter suite + cf-orch auto-routing (closes #54) 2026-04-26 09:04:39 -07:00
stt feat(stt): add cf-stt module — FasterWhisperBackend + managed FastAPI app 2026-04-08 22:14:46 -07:00
tasks refactor: replace coordinator-aware TaskScheduler with Protocol + LocalScheduler (MIT); update LLMRouter import path 2026-04-04 22:26:06 -07:00
text feat(text): ollama + vllm proxy backends for cf-text 2026-04-24 15:23:02 -07:00
tiers fix(core): SQLite timeout=30, INSERT OR IGNORE migrations, parameterize tier unlockables 2026-03-31 10:37:51 -07:00
tts chore: add cf-musicgen to VRAM tier lists + minor tts type fixes 2026-04-24 14:07:01 -07:00
vector fix(vector): explicit rollback, table identifier guard, query scope fix 2026-05-04 15:55:05 -07:00
video feat(video): add cf-video module — Marlin-2B FastAPI service + mock backend + tests 2026-05-25 20:00:37 -07:00
vision fix: work around transformers 5.2.0 SigLIP processor crash 2026-04-09 20:01:54 -07:00
wizard feat: add wizard and pipeline stubs 2026-03-25 11:09:40 -07:00
__init__.py chore: bump cf-core to v0.18.0 — adds cf_input.gestures module 2026-04-26 20:20:28 -07:00