PAUL bookkeeping per chiusura milestone v0.6 (Phase 16: 16-01 + 16-02): - STATE.md — sezione v0.6 + Phase 16-01 + 16-02 fixup post-review. - ROADMAP.md — Milestone v0.6 + Phase 16 (2 plans). - paul.json — version 0.6.0, milestone Fagor Support, phase 16 fagor-ftp. - phases/16-fagor-ftp/ — 16-01-PLAN.md + 16-01-SUMMARY.md (impl iniziale), 16-02-PLAN.md + 16-02-SUMMARY.md (fix post-review). - ISSUES.md — ISS-012..ISS-017 derivati da code review v0.6: - ISS-012: Fagor ReadActiveProgramAsync/SelectMainProgram non impl - ISS-013: Program.Invia accoppia FanucProgram a tutti i produttori - ISS-014: ResolvePath null-folder NRE pattern (Siemens/Mitsubishi/Fagor) - ISS-015: encoding source-file rischio codepage Windows non-UTF8 - ISS-016: WriteProgramAsync validator riceve path se Name null - ISS-017: FagorFtpClient.Ping swallow senza log Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Phase 16-02 — Summary
Status: Complete Completed: 2026-05-25
Risultato
Critical bug Fagor name validator vs .nc extension risolto. ñ literal escapato. Behavior change Siemens/Heidenhain lockato con 6 test nuovi. Factory test Fagor aggiunto.
Issue identificati ma deferiti (ISS-012..ISS-017)
| ID | Tema | Effort |
|---|---|---|
| ISS-012 | Fagor ReadActiveProgramAsync/SelectMainProgram non implementate |
Substantial |
| ISS-013 | Program.Invia accoppia FanucProgram a tutti i produttori |
Medium 1-2h |
| ISS-014 | ResolvePath null-folder NRE pattern condiviso |
Quick 10min |
| ISS-015 | Source file encoding rischio codepage Windows | Medium |
| ISS-016 | Validator riceve path se program.Name null |
Quick |
| ISS-017 | FagorFtpClient.Ping swallow senza log |
Quick |
Test coverage v0.6 finale
- 12 unit test
FagorMachine(10 mock + 2 validator reale) - 6 integration test Fagor (5 stub + 1 hardware skip)
- 12 nuovi unit test
NcProgramValidatorFagor (8 originali + 4 fixup) - 6 nuovi unit test lock Siemens/Heidenhain
- 1 test factory Fagor
- 3 test pre-existing migrati Siemens→Fanuc (16-01)
Build verification
Non eseguita in ambiente Linux (no dotnet toolchain). Compilazione e run test richiede ambiente Windows con MSBuild/VS o dotnet build. Sintassi C# 7.3 verificata manualmente.
Decisioni chiave
- Nome Fagor: stem alphanumerico + estensione separata. Default
.nccompatibile. ñescape su tutti i sorgenti perñ(codice + test + messaggi)- Behavior change validator gating Siemens/Heidenhain confermato come voluto. Lockato con 6 test esplicit.
- CLI bug Fanuc-parsing (Critical #2) deferito a ISS-013 — pre-existing, non Fagor-specific, fix in phase separata.