Files
periscope/docs/library.md
T
michele 6d9d21a023 Register library components from a datasheet without an exam (2.63.1).
POST /api/library/datasheets now writes an IC inbox card or a
passive/discrete model. Empty pintables never enter library/extracted.
AF Board+AI runs after unchanged run_pcb_checks (PE-SI / HF line stay).
2026-09-21 22:33:30 +02:00

1.4 KiB
Raw Blame History

Libreria componenti — porta prodotto

La libreria non vive dentro lesame. È una porta a sé: pagina /library + API /api/library. Lanalisi usa la libreria; non è lunico modo per riempirla.

Flusso

PDF + MPN + kind (ic | passive_part | simple)
    ↓
POST /api/library/datasheets
    ↓
blob MD5 + ref MPN
    ↓
scheda componente
    IC            → library/inbox/{mpn}.json   (niente pintable inventata)
    passive_part  → library/passives/{mpn}.json
    simple        → library/models/{mpn}.json

Nessun progetto, nessun MODE=run / MODE=pcb. Stesso store library/datasheets/{blobs,refs}.

library/extracted/ si scrive solo con pintable valida (library_gate: ≥2 pin, almeno un nome). PUT /api/library/components/ic/{mpn} promuove inbox → extracted.

Pintable IC: library_gate rifiuta pintable vuota o senza nomi (niente stub in libreria condivisa).

Cosa non è

  • Non è admin/Clerk/JWT (non si tocca auth).
  • Non è DRC, non è FEM.
  • Non inventa pin dal PDF. LLLM prelim resta un mestiere a parte; la scheda c’è comunque.
  • Non sostituisce library_has_* usati dalla pipeline (library_has_extraction resta falso finché non c’è pintable).

Test

tests/library/ — catalogo, alias MPN, import PDF senza progetto (scheda IC in inbox, passivo in passives), GET/PUT scheda, promozione pintable, rifiuto PDF non valido / kind ignoto.