# 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) - [x] Fanuc FOCAS upload/download — initial - [x] AES encryption for program files - [x] CLI argument parsing - [x] 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*