nc_program_manager/.paul/phases/16-fagor-ftp/16-02-SUMMARY.md
dtrentin 68c5a555f3 chore(paul): close v0.6 Fagor Support milestone, log ISS-012..017
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>
2026-05-25 20:27:44 +02:00

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 NcProgramValidator Fagor (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

  1. Nome Fagor: stem alphanumerico + estensione separata. Default .nc compatibile.
  2. ñ escape su tutti i sorgenti per ñ (codice + test + messaggi)
  3. Behavior change validator gating Siemens/Heidenhain confermato come voluto. Lockato con 6 test esplicit.
  4. CLI bug Fanuc-parsing (Critical #2) deferito a ISS-013 — pre-existing, non Fagor-specific, fix in phase separata.