Rilascia la 1.0.0: licenza, CHANGELOG e documentazione riallineata al codice
Versione portata a 1.0.0 (csproj, CLAUDE.md) e voce [1.0.0] nel CHANGELOG con tutto il lavoro dalla 0.9.0: setup per-utente, nuovo nome "PrepStep - Cevolani", DB fisso nella cartella di installazione, "Elimina CSV delle distinte", guide aggiornate. Nuova LICENSE proprietaria (Davide Grilli, tutti i diritti riservati), riportata anche in <Copyright> dell'exe e AppCopyright del setup. README: sequenza completa di comandi per generare il setup. Documentazione riallineata al codice dopo un controllo file per file: nomi delle fasi come nella UI, "File → Nuovo" che non cancella file, mappa dei file e test nel README, riferimenti ad AssiemeCompleto (non esiste più) e ruolo di CaricaCodiciNoti/CaricaCandidati in fase 4. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
4ae3d0e087
commit
5fac2edf52
12 files changed
+192
-80
No files matched your search
+7
-6
@@ -12,8 +12,8 @@ Un reverse engineering successivo ha decodificato la **struttura a record** del
|
||||
solo pattern testuali): legge esattamente la sezione `members` di un assieme, senza contare
|
||||
occorrenze né rischiare i falsi positivi descritti in questo documento. Implementato in
|
||||
`PrepStep/AsmRecordReader.cs`, documentato in [`formato-asm-record.md`](formato-asm-record.md).
|
||||
È il metodo **preferito** in GUI (fase "Trova componenti referenziati"/"Verifica
|
||||
completezza", `Form1.EstraiCodiciReferenziati`) e nello script `CreoBom.cs`:
|
||||
È il metodo **preferito** in GUI (fase 4 "Trova componenti referenziati",
|
||||
`Form1.EstraiCodiciReferenziati`) e nello script `CreoBom.cs`:
|
||||
`AssemblyComponentScanner` (l'euristica di questo documento) resta come **fallback**, usato
|
||||
solo quando `AsmRecordReader` lancia `InvalidDataException` (file che non rispetta il
|
||||
formato validato dal reverse engineering — copertura limitata agli 8 campioni disponibili al
|
||||
@@ -55,8 +55,9 @@ regex: \b\d{8,12}(?:_[A-Za-z]\d{2,4}|[A-Za-z]{0,2})\b
|
||||
occorrenze: >= 2
|
||||
```
|
||||
|
||||
`scripts/ExtractCreoStrings.cs` ha una versione più raffinata della regex e un filtro
|
||||
aggiuntivo (vedi sotto), non ancora portati in `AssemblyComponentScanner.cs`:
|
||||
La regex effettiva in `AssemblyComponentScanner.cs` (usata anche da
|
||||
`scripts/ExtractCreoStrings.cs` via `#:project`) è una versione più raffinata, con in più il
|
||||
filtro sui falsi positivi descritto sotto:
|
||||
|
||||
```
|
||||
regex: \b\d{8,12}[A-Za-z]{0,2}(?:_[A-Za-z]?\d{2,4})?\b
|
||||
@@ -285,8 +286,8 @@ livello) serve una BFS:
|
||||
Stessa logica di estrazione candidati ed euristica del codice radice (sopra),
|
||||
duplicata in due punti del codice per scopi diversi:
|
||||
|
||||
- [`AssemblyComponentScanner.EstraiCodiciReferenziati`](../PrepStep/AssemblyComponentScanner.cs) + `CodiceRadice` — estrazione dei candidati da un file, usata dalla BFS in [`Form1.RisolviAlberoComponenti`](../PrepStep/Form1.cs) (fase "Trova componenti referenziati") e [`Form1.AssiemeCompleto`](../PrepStep/Form1.cs) (fase "Verifica completezza"). Entrambe seminano l'insieme dei codici visitati con codice + radice di ogni file di partenza, e caricano una volta sola tutti i codici noti all'indice (`Form1.CaricaCodiciNoti`) sia per validare i token generici delle parti commerciali sia per risolvere i percorsi dei componenti trovati, senza una query SQL per candidato.
|
||||
- [`scripts/ExtractCreoStrings.cs`](../scripts/ExtractCreoStrings.cs) e [`scripts/BomViaDb.cs`](../scripts/BomViaDb.cs) — stessa BFS ricorsiva standalone da riga di comando (copia indipendente della stessa euristica, nessun `ProjectReference` verso la GUI). Usati per confrontare l'euristica contro l'albero Creo di un singolo file durante il reverse engineering, senza dover passare dalla UI/dal DB `raw`.
|
||||
- [`AssemblyComponentScanner.EstraiCodiciReferenziati`](../PrepStep/AssemblyComponentScanner.cs) + `CodiceRadice` — estrazione dei candidati da un file, usata come fallback dalla BFS in [`Form1.RisolviAlberoComponenti`](../PrepStep/Form1.cs) (fase 4 "Trova componenti referenziati"). La BFS semina l'insieme dei codici visitati con codice + radice di ogni file di partenza e carica una volta sola i codici noti all'indice (`Form1.CaricaCodiciNoti`, per validare i token generici delle parti commerciali) e tutte le copie di ogni codice (`Form1.CaricaCandidati`, per scegliere il percorso da copiare), senza una query SQL per candidato.
|
||||
- [`scripts/ExtractCreoStrings.cs`](../scripts/ExtractCreoStrings.cs) e [`scripts/BomViaDb.cs`](../scripts/BomViaDb.cs) — stessa BFS ricorsiva standalone da riga di comando, che riusa `AssemblyComponentScanner` del progetto principale via `#:project` (nessuna copia dell'euristica). Usati per confrontare l'euristica contro l'albero Creo di un singolo file durante il reverse engineering, senza dover passare dalla UI/dal DB `raw`.
|
||||
|
||||
Nota: le query contro `files_ultima_versione` filtrano solo per
|
||||
`(cartella_radice, codice, tipo_file)` - se lo stesso codice esiste in più
|
||||
|
||||
Reference in new issue
Block a user