docs: update status with production infrastructure sprint
This commit is contained in:
@@ -1,5 +1,63 @@
|
||||
# Status Log
|
||||
|
||||
## 2026-04-01 — Production Infrastructure Sprint
|
||||
|
||||
### Completed
|
||||
- **Error handling** — `error.rs`: Structured error types with context for all subsystems
|
||||
- MeshError, TransportError, RoutingError, CryptoError, ProtocolError, StoreError, ConfigError
|
||||
- ErrorContext trait for chaining errors with context
|
||||
- Helper methods for common error construction
|
||||
|
||||
- **Configuration** — `config.rs`: Runtime config with TOML parsing
|
||||
- MeshConfig, IdentityConfig, AnnounceConfig, RoutingConfig, StoreConfig
|
||||
- TransportConfig (QUIC/TCP/LoRa), CryptoConfig, RateLimitConfig, LoggingConfig
|
||||
- Validation with meaningful error messages
|
||||
- MeshConfig::constrained() preset for low-resource devices
|
||||
|
||||
- **Metrics/Observability** — `metrics.rs`: Counter/Gauge/Histogram primitives
|
||||
- Per-transport metrics (sent/received/errors/bytes)
|
||||
- Routing metrics (table size, lookups, misses)
|
||||
- Store metrics (stored/delivered/expired)
|
||||
- Crypto metrics (encryptions, failures, replay detections)
|
||||
- JSON-serializable MetricsSnapshot for export
|
||||
|
||||
- **Rate limiting** — `rate_limit.rs`: DoS protection
|
||||
- TokenBucket with configurable refill rate
|
||||
- Per-peer limiters for messages, announces, KeyPackage requests
|
||||
- DutyCycleTracker for LoRa EU868 compliance
|
||||
- BackpressureController with priority-based shedding
|
||||
|
||||
- **Persistence** — `persistence.rs`: Durable storage
|
||||
- AppendLog with JSON entries and compaction
|
||||
- PersistentRoutingTable with TTL-based expiry
|
||||
- PersistentMessageStore for offline delivery
|
||||
- Atomic file operations with fsync
|
||||
|
||||
- **Graceful shutdown** — `shutdown.rs`: Coordinated termination
|
||||
- ShutdownCoordinator with phase transitions (Draining → Persisting → Cleanup → Complete)
|
||||
- TaskGuard RAII for tracking active tasks
|
||||
- ConnectionDrainer for clean connection teardown
|
||||
- ShutdownHooks for persist/cleanup callbacks
|
||||
|
||||
- **Integration tests** — `tests/multi_node.rs`: 16 production scenarios
|
||||
- Rate limiting per-peer isolation
|
||||
- Store-and-forward, message dedup, GC
|
||||
- Envelope V2 signatures, forwarding, broadcast
|
||||
- Config validation, TOML roundtrip
|
||||
- Shutdown coordination, concurrent access
|
||||
|
||||
### Test Coverage
|
||||
- 189 unit tests + 16 integration tests = **205 total**
|
||||
- All passing
|
||||
|
||||
### What's Next
|
||||
1. Wire new modules into P2pNode startup
|
||||
2. Add tracing spans for distributed tracing
|
||||
3. Health check HTTP endpoint
|
||||
4. Prometheus metrics export
|
||||
|
||||
---
|
||||
|
||||
## 2026-03-31 — FAPP: Free Appointment Propagation Protocol
|
||||
|
||||
### Completed
|
||||
|
||||
Reference in New Issue
Block a user