Technical Publication

0005 Language Selection

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.