lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

nostr_exact_delivery.v1.json (2788B)


      1 {
      2   "schema": "radroots.nostr-exact-delivery.v1",
      3   "owner": "radroots_transport_nostr",
      4   "status": "implemented",
      5   "scope": "Existing sealed PreparedDelivery and EventSink publication of a validated SignedEvent.",
      6   "wire": "The EVENT frame contains the byte-identical SignedEvent.raw_json(), including whitespace, key order and admitted extensions. Validate the event conversion and complete frame bound before constructing prepared authority. Never replace retained JSON with an SDK serialization.",
      7   "max_wire_message_bytes": 524288,
      8   "connection": "SDK authentication, subscription requests and exact publication share one serialized writer on the existing DNS-pinned and TLS-verified connection. No second socket engine, executor, adapter task, event rewrite registry, signer or durable journal is introduced.",
      9   "lifetime": "An instance-local registry contains only the configured relay keys and weak connection references. SDK sink destruction or write failure revokes raw send authority. Reconnection installs a distinct writer; an old handle cannot switch to the replacement connection.",
     10   "receipt": "Subscribe to the same relay notification stream before sending. Only a matching event-ID OK may accept or reject this attempt. Other IDs cannot satisfy it. Timeout, disconnect, shutdown, notification loss and missing results cannot invent acceptance.",
     11   "attempt_evidence": "A target that expires while queued or before its publication future enters the remote path remains skipped. Once the path starts, attempted remains true even if connection or acknowledgement fails; it does not prove that bytes reached the wire or a remote effect occurred. A skipped target cannot claim Accepted or Delivered. Missing internal results cannot establish absence of attempted work.",
     12   "quota_evidence": "An explicit quota refusal is a terminal Rejected outcome with stable quota_exceeded code and a redacted message. It suppresses unchanged-request retries; resolving quota and authorizing further work belong to the host. Rate limits, authentication and unknown failures keep their distinct existing classifications. No remote acceptance, rollback or erasure is inferred.",
     13   "cancellation": "Futures are caller-polled. Cancelling a write releases its serialization guard but does not prove that no frame was buffered or published. Durable retry, settlement and late facts remain caller-owned.",
     14   "bounds": "Preserve configured target access, bounded relay inventory, connection concurrency, frame bounds, timeouts and reconnect suppression. Queued relay attempts consume the same frozen operation deadline.",
     15   "compatibility": "Public API, generic transport SPI, dependency versions, persisted event schemas, verification thresholds and release authority remain unchanged."
     16 }