5.4 KiB
Development state
Checkpoint: 2026-09-14, end of day. Development is paused at a compilable checkpoint; no commit was made.
Branch and worktree
- Branch:
main. git status --shortreports the project files as untracked, includingCargo.toml,Cargo.lock,src/,tests/, documentation, examples, and packaging files. There is no useful committed baseline to compare against in this checkout.- Multiple agents have been working in the shared directory. Review all diffs and ownership boundaries before committing; in particular, do not assume an untracked file was created by this task or that a concurrent edit is final.
Implemented and wired behavior
The current tree contains the following work, subject to integration review:
- Operational assets: MIT
LICENSE, Linux-focusedREADME.md,.gitignore, client/server TOML examples, architecture/protocol/security/operations/ troubleshooting documents, an implementation checklist, and systemd client and server templates. - TLS/TCP transport primitives in
src/transport/tls_tcp.rs: bounded incremental/coalesced u16-big-endian framing, truncated/oversized-frame handling, PEM/DER certificate and private-key loading, challenge-response authentication, authenticated data/heartbeat/close framing, idle timeout, and bounded shutdown. - HTTP/3 support primitives in
src/transport/http3.rs: CONNECT-UDP request validation, QUIC varints, RFC 9297 HTTP Datagram context encoding, capsule encoding, and project authentication messages. The module does not fake CONNECT-UDP with POST or ordinary streams. - Runtime orchestration in
src/transport/mod.rs,src/client/mod.rs, andsrc/server/mod.rsinstantiates direct UDP, QUIC, and TLS/TCP connectors or listeners. TLS backend creation occurs after the authenticated session is established. HTTP/3 currently returns an explicitUnsupportedresult from runtime selection because the actual h3 datagram adapter is not complete. - The client and server start the Unix control server. Client reconnect and reload commands currently cause a reconnect attempt; server shutdown is handled by the encrypted listener paths, while direct-UDP/control lifecycle still needs review.
h3-quinnwas enabled with itsdatagramfeature;tokio-rustlsandrustls-native-certswere added for TLS runtime integration.
Files changed in this work
Primary files touched by the operations/integration work are:
Cargo.toml,Cargo.locksrc/transport/mod.rssrc/transport/tls_tcp.rssrc/transport/http3.rssrc/client/mod.rssrc/server/mod.rstests/tls_tcp.rs,tests/http3.rs,tests/integration_transports.rs.gitignore,LICENSE,README.mdexamples/*,packaging/systemd/*, and the other files underdocs/
src/transport/quic.rs was edited by another concurrent agent and is outside
the TLS/integration ownership listed above. Preserve that ownership boundary
when resolving conflicts.
Verification and current failures
-
TOML examples were parsed successfully with Python
tomllib. -
TLS/TCP focused tests passed:
cargo test --test tls_tcp --quiet(7 tests). -
HTTP/3 focused tests passed:
cargo test --test http3 --quiet(4 tests). -
cargo checkpassed after the transport integration edits. -
The TLS loopback integration test compiles but currently panics while constructing a rustls configuration because no process-level crypto provider is installed:
Could not automatically determine process-level CryptoProvider from Rustls crate features.The runtime/test setup must explicitly install the
ringprovider (or enable exactly one provider feature) before building rustls configurations. -
The supervisor's latest failure reprobe reports that the QUIC focused tests now pass. Run the complete suite again after fixing the rustls provider; the earlier complete-suite run had QUIC handshake-timeout failures before the concurrent QUIC-agent fixes landed.
-
Clippy has not reached a clean result. Existing included test/source modules produce many dead-code and lint diagnostics, and integration code also needs a final lint pass after the provider fix.
Remaining gaps, prioritized
- Fix and verify explicit rustls crypto-provider initialization, then run the TLS loopback test and the complete test suite.
- Finish a real h3 0.0.8/h3-quinn 0.0.10 HTTP/3 CONNECT-UDP datagram adapter,
or retain the explicit
Unsupportedpath with a precise documented dependency/API blocker. Do not substitute POST, capsules-only streams, or ordinary HTTP request bodies for HTTP Datagrams. - Review runtime lifecycle semantics: direct-UDP control shutdown wiring, actual file-backed config reload, client TLS heartbeat scheduling, and authentication-error mapping so auto fallback stops on rejected credentials.
- Run repository-wide formatting, tests, and clippy; inspect the shared
untracked tree and reconcile concurrent
quic.rschanges before any commit.
First three tasks tomorrow
- Install/select the rustls
ringprovider once at runtime and in the integration test setup; rerun TLS loopback pluscargo test. - Inspect the enabled h3-quinn datagram API and implement/test the smallest standards-correct CONNECT-UDP client/server adapter; otherwise record the exact unsupported API/dependency condition in the public docs.
- Perform an end-to-end lifecycle review and repository-wide
fmt, check, test, and clippy pass, resolving only changes within each agent's ownership.