Make the component library a standalone product door (2.63.0).
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.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 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
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```text
|
||||
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.
|
||||
Reference in New Issue
Block a user