feat(block2): commons_core social foundation — derivation, types, interfaces, WoT
First production slice of Block 2 (transport foundation), on the vetted
pure-Dart nostr package (LGPL-3.0, AGPL-compatible, Flutter-free):
- NostrKeyDerivation: seed -> secp256k1 Nostr identity via domain-separated
HKDF (reuses cryptography's Hkdf like BackupBox), one-way, versioned. Wraps
nostr's Keys for signing. Tested (reproducible, avalanche, one-way, integrates
with IdentityService seed).
- Agnostic value types: Offer/OfferType/OfferStatus/DiscoveryQuery/PublishResult,
Certification.
- Transport interfaces: OfferTransport, MessageTransport (+PrivateMessage),
TrustTransport — the three sibling contracts.
- WebOfTrust: pure Duniter membership rule (threshold + distance, fixpoint).
Promoted from the spike; TDD (7 cases).
No network yet (that's the next slice). commons_core: 50 tests green, analyzer
clean. Block 1 APIs unchanged.