Implementation Language Selection
Context
The existing implementation is Python 3, packaged as a single self-extracting frozen executable.
The redesigned agent (Note 0002) introduces a requirement the existing implementation does not have: asymmetric cryptographic signing (Ed25519) of requests to the platform server.
Evaluation Axes
Non-Factors
• Concurrency: Neutral. Workload is I/O-bound and low volume per run.
• XML/Data Parsing: Neutral. Malformed control characters in raw exports break standard parsers in both languages, requiring custom tolerant tokenizers.
Decision
```go filename="signer.go"
package agent
import (
"crypto/ed25519"
"encoding/hex"
)
// SignRequest signs an outgoing HTTP request payload using the local private key
func SignRequest(privateKey ed25519.PrivateKey, payload []byte) string {
signature := ed25519.Sign(privateKey, payload)
return hex.EncodeToString(signature)
}
```
Consequences
• Single static binary distribution simplifies deployment and code-signing.
• Zero external native dependencies for Ed25519 request signing.
• Cross-compilation simplicity for target Windows environments.
Alternatives Considered
• Python with PyInstaller / cx_Freeze: Rejected due to native C extension bundling complexity for Ed25519 and antivirus false positives.
• Rust: Rejected as unnecessary overhead for an I/O-bound orchestration client with no zero-cost abstraction needs.
• Go: Accepted for standard library cryptography, static binaries, and clean cross-compilation.