Add /api/library datasheet import and component GET/PUT with no exam. Reorganize pytest into datasheet, library, schematic, PCB, and AF+AI. Document Rust criteria (none chosen; no rustup) and coding conformity.
1.1 KiB
1.1 KiB
Libreria componenti — porta prodotto
La libreria non vive dentro l’esame. È una porta a sé: pagina /library + API /api/library. L’analisi (preliminare datasheet, schematico, PCB) usa la libreria; non è l’unico modo per riempirla.
Flusso
PDF + MPN
↓
POST /api/library/datasheets
↓
blob MD5 + ref MPN
↓
catalogo (tab Datasheets)
Nessun progetto, nessun MODE=run / MODE=pcb. Stesso store library/datasheets/{blobs,refs}.
Aggiornare una scheda già estratta:
GET /api/library/components/{ic|passive|passive_part|simple}/{mpn}
PUT stesso path (JSON)
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 estrae da sola il pintable (LLM = preliminare datasheet nell’analisi, o un job futuro). Il PDF c’è comunque.
- Non sostituisce
library_has_*usati dalla pipeline.
Test
tests/library/ — catalogo, alias MPN, import PDF senza progetto, GET/PUT scheda, rifiuto PDF non valido.