Skip to content

feat: describe photos via claude-code worksheet track + render descriptions in notes (searchable) #52

Description

@VGonPa

Avanza #33/#34. Hoy xbrain describe (LLM de visión) es API-only y su descripción no se muestra en la nota (solo alimenta enrich/topics). Objetivo: (1) track worksheet claude-code para describe (sin API key, como enrich/topics), y (2) renderizar la descripción bajo la foto en la nota → buscable en Obsidian.

Qué

  • describe --executor claude-code exporta data/describe-worksheet.json (fotos elegibles: item_id, index, local_path, image_path abs, texto del post + rúbrica). Un workflow de agentes (uno por post, contexto limpio) lee cada imagen y rellena judgments:[{item_id,index,is_decorative,description}].
  • describe --apply <file> transiciona las fotos a MediaPhotoDescribed (reusa _apply_judgment). Sin API key.
  • generate renderiza la descripción como caption bajo la foto (espejo de los frames de vídeo Long-form media digest: transcribe + summarize bookmarked videos (and podcasts) into the vault #44): > {description}. Decorativas (is_decorative) no muestran caption.

Integración

  • Reusa describe._iter_eligible_candidates + _apply_judgment. Nuevo describe_worksheet.py (espejo de worksheet.py).
  • Ejecutor claude-code/manual en el comando describe (hoy solo API).

Criterios

  • describe --executor claude-code exporta worksheet; --apply transiciona a MediaPhotoDescribed sin key.
  • generate muestra la descripción bajo la foto (no en decorativas).
  • Tests de export/apply/render; poe check verde; panel review + PR a develop.

Nota

700 posts con foto (830 fotos). La población se hará con un workflow de ~700 agentes (uno por post) leyendo las imágenes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions