arch: extract vision stub to standalone cf-vision repo #36

Closed
opened 2026-04-06 13:43:00 -07:00 by pyr0ball · 0 comments
Owner

Decision

The vision module currently stubs in circuitforge-core should be extracted to a standalone cf-vision repo, following the same pattern as cf-voice.

Rationale

  • cf-core should stay lightweight; vision brings heavy deps (Dolphin-v2 ~8GB VRAM, barcode OCR, camera pipelines)
  • Multiple products need vision: Kiwi (barcode/receipt OCR), Peregrine (resume document parsing), Falcon (form scan), Godwit (camera fingerprint), Nightjar (specimen photography)
  • Vision and audio are both PII-heavy domains that deserve their own release cadence and security boundary

Scope for new cf-vision repo

  • cf_vision.ocr -- Dolphin-v2 document parser (21 element types, images to structured content)
  • cf_vision.barcode -- barcode and QR scanning (Kiwi path)
  • cf_vision.receipt -- receipt line-item extraction (Kiwi Phase 2)
  • cf_vision.camera -- camera capture + preprocessing (Godwit path)
  • ImageFrame output type -- shared integration surface

Action items

  • Remove the vision stub from circuitforge-core (circuitforge_core/vision/)
  • Create Circuit-Forge/cf-vision repo
  • Define ImageFrame type as the primary API surface
  • Wire into Kiwi Phase 2 as first consumer (barcode/receipt OCR)

Priority

Lower urgency than cf-voice -- Kiwi Phase 2 is the first real consumer. cf-voice blocks Linnet Notation which is higher priority.

## Decision The `vision` module currently stubs in circuitforge-core should be extracted to a standalone `cf-vision` repo, following the same pattern as `cf-voice`. ## Rationale - cf-core should stay lightweight; vision brings heavy deps (Dolphin-v2 ~8GB VRAM, barcode OCR, camera pipelines) - Multiple products need vision: Kiwi (barcode/receipt OCR), Peregrine (resume document parsing), Falcon (form scan), Godwit (camera fingerprint), Nightjar (specimen photography) - Vision and audio are both PII-heavy domains that deserve their own release cadence and security boundary ## Scope for new `cf-vision` repo - `cf_vision.ocr` -- Dolphin-v2 document parser (21 element types, images to structured content) - `cf_vision.barcode` -- barcode and QR scanning (Kiwi path) - `cf_vision.receipt` -- receipt line-item extraction (Kiwi Phase 2) - `cf_vision.camera` -- camera capture + preprocessing (Godwit path) - `ImageFrame` output type -- shared integration surface ## Action items - [ ] Remove the vision stub from circuitforge-core (`circuitforge_core/vision/`) - [ ] Create `Circuit-Forge/cf-vision` repo - [ ] Define `ImageFrame` type as the primary API surface - [ ] Wire into Kiwi Phase 2 as first consumer (barcode/receipt OCR) ## Priority Lower urgency than cf-voice -- Kiwi Phase 2 is the first real consumer. cf-voice blocks Linnet Notation which is higher priority.
pyr0ball added the
priority:backlog
architecture
labels 2026-04-06 13:43:00 -07:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/circuitforge-core#36
No description provided.