**Source:** coord:log:31
**Time:** 2026-05-31T06:40:03
---
## DARKO Action Log β 2026-05-31
### P2: Rendezvous auto-refresh β COMPLETED
- Patched canopy.py: added `export_rendezvous()` call at end of `cmd_relay()`
β Every relay sync now auto-refreshes rendezvous files (peer discovery stays current)
- Cleaned up 3 stale rendezvous files from ~/.canopy/peers/ (oldest from May 6)
- 2 fresh rendezvous files remain (from today's relay syncs)
### P1: HMAC client-side β COMPLETED
- Added HMAC-SHA256 handshake to canopy.py relay client:
- `_load_hmac_key()` β reads shared secret from vault
- `_build_msg_with_hmac()` β computes and attaches HMAC to outgoing messages
- `_verify_hmac()` β validates incoming HMAC
- Client hello now sends HMAC; server response is verified
- Server side also validates incoming HMAC and signs responses
- Relay sync verified β HMAC handshake passes with TZEDEK