tane/packages/commons_core/test
vjrj 516f1f50bc feat(plantare): PlantareTransport foundation in commons_core
The bilateral signed Plantaré's transport layer — the "formulario
bilateral firmado" from plantare-bilateral.md — as a new interface
alongside the other *Transport contracts, on the shared NostrConnection.

- PlantarePledge: the canonical, byte-stable core (debtor/creditor keys,
  seed label, return kind, dates) plus the two Schnorr stubs. Any edit
  changes the signing hash, so an accept is always over an immutable
  payload.
- PlantareCrypto: BIP-340 signing/verification over SHA-256 of the core,
  reusing the same primitive Nostr uses for events — a pubkey both
  identifies a party and verifies their stub.
- PlantareTransport + NostrPlantareTransport: propose → accept →
  counter-sign (and decline), private end-to-end. Rides the existing
  NIP-17 gift wrap carrying a tagged JSON payload, so the relay sees only
  ciphertext and an ephemeral author. Offline QR/NFC is the same payload
  without a relay.
- Message transport skips Plantaré payloads on the shared kind-1059
  channel (and vice-versa), so moves never surface as chat.

Tests: pure pledge/crypto + full handshake over a hermetic relay,
including no-leak and no-chat-bleed. commons_core 101/101 green.
2026-07-14 11:21:46 +02:00
..
clock feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
crypto feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
identity feat(identity): switch social identity, all from the one backup 2026-07-10 20:22:24 +02:00
ids feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
social feat(plantare): PlantareTransport foundation in commons_core 2026-07-14 11:21:46 +02:00
support feat(block2): Nostr transport backend in commons_core (all 3 contracts) 2026-07-10 02:38:50 +02:00
value feat(inventory): informal quantity scale (number + unit) + seed/plant lots 2026-07-08 10:51:02 +02:00