You are browsing as a guest. Sign up (or log in) to start making projects!

4h 23m 27s logged

The error module in pwr-core defines PwrError as a comprehensive thiserror
enum covering I/O failures, TOML and bincode serialization errors,
protocol framing violations, cryptographic operation failures,
authentication rejections, network connectivity issues, storage-layer
problems like missing or corrupted projects, and timeouts. Each variant
carries contextual information: the TOML parse error includes the file
path, protocol errors carry descriptive strings, and storage errors
distinguish between not-found, already-exists, and corrupted states.

Client configuration (PwrConfig) is rewritten with fields for server
hostname, port, hex-encoded pre-shared key, optional TLS certificate
fingerprint for pinning, local project root path, and configurable
connect and transfer timeouts. The old rsync-oriented fields (NAS host,
SSH user, rsync options) are removed. Server configuration is deferred to
the pwr-server crate for a later commit.

Stub modules for protocol message types, frame encoding, cryptographic
key management, archive packaging, and integrity verification are placed
in pwr-core so subsequent commits can fill them in without structural
changes. Both binaries compile as minimal stubs printing their version.
Ten tests pass covering config serialization, metadata state transitions,
project file round-trips, transaction log JSONL format, and SHA-256 hash
verification of known inputs.

0
2

Comments 0

No comments yet. Be the first!