nc_program_manager/.paul/PROJECT.md

2.8 KiB

FanucProgramManager

What This Is

Console EXE (C# .NET 4.7.2) for upload/download of CNC programs to/from machine controllers. Targets any CN manufacturer, not Fanuc-only. Runs on Windows, distributed to licensed machine operators and integrators.

Core Value

Machinists and operators transfer CNC programs to/from any controller without manual intervention or internet access.

Current State

Attribute Value
Type Application
Version 0.0.0
Status In development
Last Updated 2026-05-13

Requirements

Core Features

  • Upload programs to CNC controller
  • Download programs from CNC controller
  • Local file management (organize/store programs on disk)
  • Multi-CN brand support (Fanuc + others)

Validated (Shipped)

  • Fanuc FOCAS upload/download — initial
  • AES encryption for program files
  • CLI argument parsing
  • Machine-bound license check (hardcoded)

Active (In Progress)

  • 3-file management mode — branch 3FilesManagement

Planned (Next)

  • To be defined during /paul:plan

Out of Scope

  • Cloud sync
  • Web UI
  • Internet-dependent license validation

Constraints

Technical Constraints

  • .NET Framework 4.7.2 — max compatibility, no upgrade
  • Fanuc FOCAS via fwlib32 (32-bit DLL, Windows-only)
  • Must run offline — no internet dependency at runtime
  • License validation must work without network

Business Constraints

  • Software must be license-protected (offline, machine-bound)
  • Current approach: hardcoded machine check — needs improvement
  • Target: hardware fingerprint + encrypted license file

Key Decisions

Decision Rationale Date Status
.NET 4.7.2 Max compatibility with operator machines 2026-05-13 Active
Console EXE output Simple deployment, scriptable 2026-05-13 Active
Offline license only Operators may have no internet on shop floor 2026-05-13 Active

Success Metrics

Metric Target Current Status
Program transfer correctness 100% (byte-verified) Unknown Not measured
License validation (offline) Works without network Hardcoded At risk
Multi-CN support ≥2 manufacturers Fanuc only In progress

Tech Stack / Tools

Layer Technology Notes
Language C# .NET Framework 4.7.2
UI Console EXE CLI args via InputArgs.cs
CN Protocol (Fanuc) FOCAS fwlib32 32-bit DLL
CN Protocol (others) To be defined Multi-CN expansion
Encryption AES (AesCrypt.cs) Program file protection
Licensing Machine fingerprint Hardcoded now, needs design

PROJECT.md — Updated when requirements or context change Last updated: 2026-05-13