Vision: foundations

accepted

Vision — foundations RFC

Status

*ccepted*— ratificada 20260509 (mesmo dia da abertura) como parte da onda piloto de bootstrap servicesai. Implementação iniciada em `servicesaivision; tickets em servicesaivisionbacklogpending/{001..005}`.

Summary

Foundation service para análise de imagem e VLM (visionlanguage models) — OCR serverside, image captioning, object detection, document layout, e roteamento pra modelos multimodais (ClaudeGeminiGPT-4V) via gateway.

Motivation

Modelos flagship em 2026 são todos multimodais. Koder Stack tem foundation só pra áudio (voice/); vision está espalhada (kode/app OCR, eye ondevice OCR, document analysis adhoc no kode). Sem service-foundation, cada produto reinventa a roda.

Scope

In

  • Server-side OCR
  • Image captioning
  • Object detection
  • Doc layout (PDF + tabelas)
  • Proxy pra VLMs externos via gateway
  • Kit Dart/JS no SDK

Out (yet)

  • Image generation (vai pra imaging)
  • Video (vai pra video)
  • 3D (vai pra scene3d)
  • Eyestyle ondevice (já existe em products/dev/eye)

Initial design

Surfaces

  • backend/ — Go API service exposto via gateway
  • app/ — não aplicável v1 (consumido via SDK)

Key APIs

  • POST /v1/vision/ocr — extrai texto de imagem/PDF
  • POST /v1/vision/caption — gera descrição textual de imagem
  • POST /v1/vision/detect — bounding boxes + labels
  • POST /v1/vision/layout — estrutura de documento (heading, body, table, figure)

Dependencies

  • services/ai/gateway — provider routing pra VLMs externos
  • services/ai/runtime — modelos locais (Florence-2, CLIP)
  • infra/data/kdb-blob — armazenamento de imagens/resultados

Relation to existing sectors

  • Complementa voice/ (audio) cobrindo a outra metade da modalidade humana
  • Sobrepõe parcialmente com products/dev/eye (ondevice); este service cobre casos serveronly

Selfhostedfirst analysis (5 gates)

  • *1 Feature parity* zero impl
  • *2 Performance* N/A (não há baseline self-hosted)
  • *3 Stability* N/A
  • *4 Capability* cobertura inicial OCR + caption viável local (Tesseract + Florence-2)
  • *5 Critical-path readiness* bloqueia kodeagentseye unification

Open questions

  • Q1: Quais modelos VLM rodar self-hosted vs apenas proxy?
  • Q2: Sobreposição com products/dev/eye (ondevice) — service serve casos serveronly?

Next steps

  1. Ratificar esta RFC (1 round de comments).
  2. Criar sector dir services/ai/vision/ com koder.toml, README.md, skeleton.
  3. Abrir tickets de implementação em services/ai/vision/backlog/pending/.
  4. Registrar em meta/docs/stack/registries/self-hosted-pairs.md se substituir externo.

Source: ../home/koder/dev/koder/meta/docs/stack/rfcs/vision-RFC-001-foundations.kmd