nc_program_manager/.paul/PROJECT.md

88 lines
2.8 KiB
Markdown

# 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*