nc_program_manager/.paul/phases/16-fagor-ftp/16-01-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.5 KiB

Phase 16-01 — Summary

Status: Complete Completed: 2026-05-25

Risultato

Supporto Fagor CNC via FTP integrato in NcProgramManager. Pattern Siemens/Mitsubishi riutilizzato 1:1 con adattamenti per ProgramExtension configurabile. Validator refactored con IsRestrictiveDialect() helper per gating per-produttore.

Decisioni chiave

  1. Check generic (block 80, tab, lowercase, nested parens, comment 32) applicati solo a Fanuc+Mitsubishi. Heidenhain/Siemens/Fagor esentati. Refactor immediato.
  2. Modelli 8025-8050 e 8055 base esclusi (solo RS232, modulo seriale non implementato). Documentato in README.
  3. Default ProgramDirectory = /Users/Prg/, ProgramExtension = .nc per Fagor 8060/8065/8070. Configurabili tramite FagorConnectionConfig.
  4. Nessun FagorFtpStub dedicato — riusato FtpServerStub generico esistente per round-trip integration test.
  5. Validator nome Fagor: max 24 char, no ñ, solo lettere/cifre/spazi (verificato da manuali Fagor online).

Test coverage

  • 12 unit test su FagorMachine (10 con mock + 2 con validator reale)
  • 5 integration test stub-based + 1 hardware skip
  • 8 unit test nuovi su validator Fagor
  • 3 test esistenti aggiornati per refactor gating (Siemens → Fanuc)

Issue follow-up potenziali

  • ISS-009 candidate: monitoraggio falsi positivi validator su produttori esentati (Heidenhain/Siemens/Fagor). Da aprire se field reports si lamentano.
  • ISS-010 candidate: ProgramExtension .nc non verificato vs .pim/.pit su tutti i firmware Fagor 8055/8060.