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.8 KiB
1.8 KiB
Phase 16-02 — Fagor Fixup (Post-Review)
Origine
Code review post-implementazione v0.6 Fagor Support ha identificato:
Critical:
NcProgramValidatorcase Fagor rifiuta.nel nome → defaultProgramExtension = ".nc"contraddice regola validator- (Pre-existing, deferito)
Program.InviaaccoppiaFanucProgramparsing a tutti i produttori
Major:
- (Deferito)
ResolvePathNRE su null folder - (Deferito) Validator riceve
pathseprogram.Namenull CncMachineFactoryTestsmanca case Fagor- Behavior change Heidenhain/Siemens (esenzione check generic) non lockato in test
- Letterali
ñinNcProgramValidator.csrischio codepage Windows non-UTF8
Scope
Fix immediato per:
- Critical #1 — bug introdotto v0.6
- Major #3 — test mancante
- Major #4 — lock comportamento con test
- Major #5 — escape
ñ→ñ
Deferiti a ISS:
- Critical #2 → ISS-013
- Major #1 → ISS-014
- Major #2 → ISS-016
Tasks
- Riscrittura case Fagor in
ValidateName: split stem/extension, whitelist su stem - Escape
'ñ'→'ñ'(codice + messaggio errore) - 4 nuovi test Fagor coverage estensioni
- 6 nuovi test lock Siemens/Heidenhain
Create_Fagor_ReturnsFagorMachineinCncMachineFactoryTests- ISSUES.md updated con ISS-012..ISS-017
Files modificati
Cnc/NcProgramValidator.csNcProgramManager.Tests/Unit/NcProgramValidatorTests.csNcProgramManager.Tests/Unit/CncMachineFactoryTests.cs.paul/ISSUES.md.paul/STATE.md.paul/ROADMAP.md.paul/paul.json.paul/phases/16-fagor-ftp/16-02-PLAN.md(questo file).paul/phases/16-fagor-ftp/16-02-SUMMARY.md
Vincoli
- Nessuna modifica
.csproj(file già listati in v0.6 16-01) - Pattern Siemens preservato come reference (no cross-impact)
- Tests esistenti pre-refactor preservati o migrati esplicitamente