dtrentin
|
32f68c5ed5
|
feat(14-test-hardening): env-var hardware test scaffolding + LicenseFile edge cases
Phase 14 complete — v0.4 Robustness milestone closed:
- HardwareTestHelper.GetIpOrSkip: Assert.Ignore when HEIDENHAIN/SIEMENS/MITSUBISHI_IP not set (ISS-007)
- Hardware_ConnectAsync_RealMachine [Category("Hardware")] added to all 3 integration test files
- LicenseFileTests: 4 tests covering empty, whitespace, valid base64, nonexistent path
- Validate_EmptyFingerprint_ReturnsFalse: confirms validator safe against empty input (ISS-008 scaffold)
- NcProgramManager.Tests.csproj: <Compile> entries for 2 new files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-18 23:24:58 +02:00 |
|
dtrentin
|
f55d0b313b
|
docs(12-docs-cli): complete CLI reference in README — all 16 args + 12 error codes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-18 22:37:58 +02:00 |
|
dtrentin
|
bd17ea46e5
|
feat(11-refactor): extract ArgParser, fix error handling, remove dead code
Phase 11 complete:
- ArgParser.cs: CLI parsing extracted from Program.cs (pure static method)
- Program.cs: no static state; Scarica/Invia take explicit InputArgs param
- Program.cs: try/finally with connected flag — fixes connection leak on exception
- Program.cs: PrintErrors helper surfaces CncResult.Errors on every failure
- AesCrypt.cs: deleted (dead code, zero references)
- NcProgramManager.csproj: AesCrypt.cs → ArgParser.cs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-18 00:01:32 +02:00 |
|
dtrentin
|
15644cfdf8
|
feat(09-license-generator): standalone LicenseGenerator tool + real RSA key pair
Phase 09 complete — v0.2 NcProgramManager milestone done:
- LicenseGenerator standalone console EXE (separate repo: license-generator.git)
- keygen: RSA 2048-bit key pair generation
- fingerprint: WMI machine fingerprint (Windows)
- sign: RSA-SHA256 sign fingerprint -> .lic file
- LicenseValidator.cs: PublicKeyXml PLACEHOLDER replaced with real vendor public key
- Offline license system now production-ready end-to-end
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-17 23:37:49 +02:00 |
|
dtrentin
|
39a9566858
|
feat(07-license-core): RSA offline license core
Phase 07 complete:
- IMachineFingerprint + ILicenseValidator interfaces
- MachineFingerprint: WMI CPU ProcessorID + BaseBoard SerialNumber
- LicenseValidator: RSACryptoServiceProvider + SHA256, injectable public key
- LicenseFile.TryRead: out-param bool, no exceptions from file I/O
- 6 NUnit tests (valid/wrong-machine/tampered/empty/not-base64/missing-file)
- 118 tests total, 116 pass, 2 Fanuc FOCAS ignored (Windows DLL)
- Fix: missing 'using System' in CncMachineFactoryTests.cs
- Fix: Dockerfile.test updated for NcProgramManager rename
PublicKeyXml = PLACEHOLDER until Phase 09 generates real key pair.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-17 22:58:14 +02:00 |
|
dtrentin
|
a5d73db69a
|
refactor(rename): FanucProgramManager → NcProgramManager
Phase 06 complete:
- Namespace renamed in 62 .cs files (namespace + using directives)
- AssemblyName + RootNamespace updated in csproj files
- FanucProgramManager.csproj → NcProgramManager.csproj
- FanucProgramManager.sln → NcProgramManager.sln
- FanucProgramManager.Tests/ → NcProgramManager.Tests/
- FANUCMachine.cs deleted (dead code, zero references)
Fanuc-prefixed class names kept (FanucMachine, FanucProgram,
IFanucMachine) — manufacturer identifiers, not project names.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-17 22:31:36 +02:00 |
|
dtrentin
|
9bb65c4748
|
docs(paul): unify phase 5 and close v0.1 milestone
Phase 5 (NC Validator) UNIFY complete.
v0.1 Multi-CN Release milestone closed — all 5 phases done.
- 05-01-SUMMARY.md: NcProgramValidator + 30+ tests documented
- ROADMAP.md: all phases marked complete, v0.2 scope drafted
- PROJECT.md: requirements evolved, tech stack updated to 4 manufacturers
- STATE.md: milestone 100%, loop closed, next action documented
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-17 22:19:50 +02:00 |
|
dtrentin
|
f3f895df82
|
Initial commit: migrate from FanucProgramManager
|
2026-05-17 22:10:30 +02:00 |
|