<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>lib, branch HEAD</title>
<subtitle>Core libraries for Radroots
</subtitle>
<entry>
<id>2d14801834748781ffabcbb0377981d2b7630a01</id>
<published>2026-06-24T23:23:15Z</published>
<updated>2026-06-24T23:23:15Z</updated>
<title>dto: remove legacy trade descriptor names</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2d14801834748781ffabcbb0377981d2b7630a01.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2d14801834748781ffabcbb0377981d2b7630a01
parent 5eb855c6ed9d8bd68ff3e39bca634ffd52d3f904
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 23:23:15 +0000

dto: remove legacy trade descriptor names

</content>
</entry>
<entry>
<id>5eb855c6ed9d8bd68ff3e39bca634ffd52d3f904</id>
<published>2026-06-24T23:13:56Z</published>
<updated>2026-06-24T23:13:56Z</updated>
<title>dto: merge descriptor generation updates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/5eb855c6ed9d8bd68ff3e39bca634ffd52d3f904.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5eb855c6ed9d8bd68ff3e39bca634ffd52d3f904
parent 3b9264644a76602d64b92c7f525769ec530b2faa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 23:13:56 +0000

dto: merge descriptor generation updates

</content>
</entry>
<entry>
<id>bd325cdec369fc0ad356db4894d530be72d8978e</id>
<published>2026-06-24T22:20:19Z</published>
<updated>2026-06-24T22:20:19Z</updated>
<title>replica_db_schema: restore relation find-many dto descriptors</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/bd325cdec369fc0ad356db4894d530be72d8978e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit bd325cdec369fc0ad356db4894d530be72d8978e
parent 24438809cc6af8276fb0bca55bcf87fd5f2b5ca3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 22:20:19 +0000

replica_db_schema: restore relation find-many dto descriptors

</content>
</entry>
<entry>
<id>24438809cc6af8276fb0bca55bcf87fd5f2b5ca3</id>
<published>2026-06-24T09:04:40Z</published>
<updated>2026-06-24T09:04:40Z</updated>
<title>replica_db_schema: add dto registry descriptors</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/24438809cc6af8276fb0bca55bcf87fd5f2b5ca3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 24438809cc6af8276fb0bca55bcf87fd5f2b5ca3
parent 71056fb411855287751e99ee63fb8acd71ce96ac
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 09:04:40 +0000

replica_db_schema: add dto registry descriptors

Add the dto-bindgen feature gate and optional dto_bindgen_core dependency.

Export source-owned replica schema descriptors for the generated model, operation wrappers, JSON partial fields, and nullable find-one results.

Cover the registry inventory, JSON value policy, nullable result wrappers, and large-integer field policy with focused tests.

Validate with cargo fmt/check/test for the gated replica schema DTO path.

</content>
</entry>
<entry>
<id>71056fb411855287751e99ee63fb8acd71ce96ac</id>
<published>2026-06-24T08:42:43Z</published>
<updated>2026-06-24T08:42:43Z</updated>
<title>trade: use manual dto listing descriptors</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/71056fb411855287751e99ee63fb8acd71ce96ac.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 71056fb411855287751e99ee63fb8acd71ce96ac
parent 9364af59dc39a4b25021c0d9fb33da30499ef832
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:42:43 +0000

trade: use manual dto listing descriptors

</content>
</entry>
<entry>
<id>9364af59dc39a4b25021c0d9fb33da30499ef832</id>
<published>2026-06-24T08:30:26Z</published>
<updated>2026-06-24T08:30:26Z</updated>
<title>trade: inventory dto source roots</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/9364af59dc39a4b25021c0d9fb33da30499ef832.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9364af59dc39a4b25021c0d9fb33da30499ef832
parent e3859f4d4b41f1aa3d396f1f378060f704719573
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:30:26 +0000

trade: inventory dto source roots

</content>
</entry>
<entry>
<id>e3859f4d4b41f1aa3d396f1f378060f704719573</id>
<published>2026-06-24T08:21:11Z</published>
<updated>2026-06-24T08:21:11Z</updated>
<title>dto: repair indexed checkpoint descriptors</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e3859f4d4b41f1aa3d396f1f378060f704719573.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e3859f4d4b41f1aa3d396f1f378060f704719573
parent a06255f2a44c5161b3abf4289c91668fd7e2fea4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:21:11 +0000

dto: repair indexed checkpoint descriptors

</content>
</entry>
<entry>
<id>a06255f2a44c5161b3abf4289c91668fd7e2fea4</id>
<published>2026-06-24T07:53:07Z</published>
<updated>2026-06-24T07:53:07Z</updated>
<title>dto: describe indexed event bindings</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/a06255f2a44c5161b3abf4289c91668fd7e2fea4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a06255f2a44c5161b3abf4289c91668fd7e2fea4
parent ec0c52e71c120f75bfe581fb847b611ceb48978b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:53:07 +0000

dto: describe indexed event bindings

- Add an optional dto-bindgen feature for radroots_events_indexed.

- Derive source DTO descriptors for manifest and ID range shapes.

- Add manual checkpoint descriptors for custom epoch-second wire fields.

- Cover indexed registry construction and timestamp field policy with tests.

</content>
</entry>
<entry>
<id>ec0c52e71c120f75bfe581fb847b611ceb48978b</id>
<published>2026-06-24T07:44:46Z</published>
<updated>2026-06-24T07:44:46Z</updated>
<title>events: source package kind aliases</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ec0c52e71c120f75bfe581fb847b611ceb48978b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ec0c52e71c120f75bfe581fb847b611ceb48978b
parent 6148c0d35a84870c6aa9b7a94cee5da780540c16
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:44:46 +0000

events: source package kind aliases

- Add source-owned aliases for SDK event kind package exports.

- Cover trade listing validation, order, discount, fulfillment, and receipt names.

- Preserve existing numeric package values through radroots_events authority.

- Prepare constants and kinds generation to drop binding_model ownership.

</content>
</entry>
<entry>
<id>6148c0d35a84870c6aa9b7a94cee5da780540c16</id>
<published>2026-06-24T07:38:11Z</published>
<updated>2026-06-24T07:38:11Z</updated>
<title>dto: render events package roots</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/6148c0d35a84870c6aa9b7a94cee5da780540c16.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6148c0d35a84870c6aa9b7a94cee5da780540c16
parent 3fe5f98493474202efdf85b81e72d43388e8c1b5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:38:11 +0000

dto: render events package roots

- Add dto_bindgen derives across source-owned event DTO structs and enums.

- Expand the events dto root registry to cover the generated package surface.

- Preserve core decimal and currency aliases through explicit manual descriptors.

- Encode approved optional, tuple, enum, and large-integer policies for events output.

</content>
</entry>
<entry>
<id>3fe5f98493474202efdf85b81e72d43388e8c1b5</id>
<published>2026-06-24T07:05:43Z</published>
<updated>2026-06-24T07:05:43Z</updated>
<title>dto: encode events optional field policy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/3fe5f98493474202efdf85b81e72d43388e8c1b5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3fe5f98493474202efdf85b81e72d43388e8c1b5
parent c811285120427795aa83806d75e260dd3e7de520
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:05:43 +0000

dto: encode events optional field policy

- mark event Option fields as optional nullable in source descriptors
- cover listing product and event reference descriptor presence
- keep the RCLD-04 events migration on the DTO-only lib branch
- validate radroots_events dto descriptor tests

</content>
</entry>
<entry>
<id>c811285120427795aa83806d75e260dd3e7de520</id>
<published>2026-06-24T06:31:26Z</published>
<updated>2026-06-24T06:54:12Z</updated>
<title>dto: include unit dimension root</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/c811285120427795aa83806d75e260dd3e7de520.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c811285120427795aa83806d75e260dd3e7de520
parent e8c3c6c886ce94a8b989b099396b65e57da82e07
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:31:26 +0000

dto: include unit dimension root

</content>
</entry>
<entry>
<id>3b9264644a76602d64b92c7f525769ec530b2faa</id>
<published>2026-06-24T06:31:26Z</published>
<updated>2026-06-24T06:31:26Z</updated>
<title>dto: include unit dimension root</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/3b9264644a76602d64b92c7f525769ec530b2faa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3b9264644a76602d64b92c7f525769ec530b2faa
parent ca63321d970efc08c7a60066862aec1d4beb0a78
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:31:26 +0000

dto: include unit dimension root

</content>
</entry>
<entry>
<id>ca63321d970efc08c7a60066862aec1d4beb0a78</id>
<published>2026-06-24T06:25:46Z</published>
<updated>2026-06-24T06:25:46Z</updated>
<title>nostr_connect: add typed permission matching</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ca63321d970efc08c7a60066862aec1d4beb0a78.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ca63321d970efc08c7a60066862aec1d4beb0a78
parent e8c3c6c886ce94a8b989b099396b65e57da82e07
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:25:46 +0000

nostr_connect: add typed permission matching

- add request-level permission matching helpers
- normalize sign_event numeric and kind-prefixed parameters
- reject nonnumeric sign_event parameters during matching
- cover exact method and sign_event kind readiness cases

</content>
</entry>
<entry>
<id>e8c3c6c886ce94a8b989b099396b65e57da82e07</id>
<published>2026-06-24T06:25:18Z</published>
<updated>2026-06-24T06:25:18Z</updated>
<title>dto: add source descriptor features</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e8c3c6c886ce94a8b989b099396b65e57da82e07.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e8c3c6c886ce94a8b989b099396b65e57da82e07
parent 86dba23e631c9cc50d3cf03785e16cdd14150a4e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:25:18 +0000

dto: add source descriptor features

</content>
</entry>
<entry>
<id>86dba23e631c9cc50d3cf03785e16cdd14150a4e</id>
<published>2026-06-24T00:57:14Z</published>
<updated>2026-06-24T00:57:14Z</updated>
<title>relay_transport: connect write relays before publish</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/86dba23e631c9cc50d3cf03785e16cdd14150a4e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 86dba23e631c9cc50d3cf03785e16cdd14150a4e
parent ec2d26f050a21b4d41de1fe67dca6add9a7d4253
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 00:57:14 +0000

relay_transport: connect write relays before publish

- Connect configured write relays with deterministic try_connect before sending events.
- Publish only to connected targets while preserving connection failure receipts for the full target set.
- Validate with cargo fmt --all --check and cargo test -p radroots_relay_transport.

</content>
</entry>
<entry>
<id>ec2d26f050a21b4d41de1fe67dca6add9a7d4253</id>
<published>2026-06-23T23:10:30Z</published>
<updated>2026-06-23T23:10:30Z</updated>
<title>nostr-connect: add async NIP-46 client substrate</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ec2d26f050a21b4d41de1fe67dca6add9a7d4253.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ec2d26f050a21b4d41de1fe67dca6add9a7d4253
parent a7857a0bde787f477788eefb7cfdf9700f15a125
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 23:10:30 +0000

nostr-connect: add async NIP-46 client substrate

- add transport-neutral client target, request, progress, and async execution primitives
- encrypt and decrypt request and response events with signer/client identity checks
- expose typed protocol, transport, timeout, signing, and crypto errors
- cover connect, capability, sign, auth, timeout, malformed, and unrelated responses

</content>
</entry>
<entry>
<id>a7857a0bde787f477788eefb7cfdf9700f15a125</id>
<published>2026-06-23T22:57:58Z</published>
<updated>2026-06-23T22:57:58Z</updated>
<title>simplex: emit official short-link data</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/a7857a0bde787f477788eefb7cfdf9700f15a125.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a7857a0bde787f477788eefb7cfdf9700f15a125
parent 40acc9c4d65719b16a98c9eeb8ae896b30559db8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 22:57:58 +0000

simplex: emit official short-link data

- replace the generated short invitation fixed data with official SimpleX frames

- add official invitation user-data decoding and runtime verification

- decode Ed25519 public-key blobs for signed short-link payload verification

</content>
</entry>
<entry>
<id>40acc9c4d65719b16a98c9eeb8ae896b30559db8</id>
<published>2026-06-23T20:59:20Z</published>
<updated>2026-06-23T20:59:20Z</updated>
<title>outbox: expose claimed attempt count</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/40acc9c4d65719b16a98c9eeb8ae896b30559db8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 40acc9c4d65719b16a98c9eeb8ae896b30559db8
parent c3b2d8ec0f20c7acc12a6bfc3920aa16b80879fb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 20:59:20 +0000

outbox: expose claimed attempt count

- include attempt_count on claimed outbox events
- return the incremented count from ready claim paths
- assert claim and reclaim attempt counts in store tests
- support attempt-scoped publish proxy idempotency keys

</content>
</entry>
<entry>
<id>c3b2d8ec0f20c7acc12a6bfc3920aa16b80879fb</id>
<published>2026-06-23T20:33:44Z</published>
<updated>2026-06-23T20:33:44Z</updated>
<title>simplex: accept future official messages with skipped keys</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/c3b2d8ec0f20c7acc12a6bfc3920aa16b80879fb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c3b2d8ec0f20c7acc12a6bfc3920aa16b80879fb
parent 607a493d7e3066842327338c0dd4f5c45e285477
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 20:33:44 +0000

simplex: accept future official messages with skipped keys

- continue skipped-key lookup when a retained key has a different message number
- let same-chain future messages decrypt through the current receive chain
- keep replay detection for consumed skipped payloads intact
- cover receiving message three before consuming skipped message one

</content>
</entry>
<entry>
<id>607a493d7e3066842327338c0dd4f5c45e285477</id>
<published>2026-06-23T12:53:19Z</published>
<updated>2026-06-23T12:53:19Z</updated>
<title>simplex: harden live dm interop runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/607a493d7e3066842327338c0dd4f5c45e285477.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 607a493d7e3066842327338c0dd4f5c45e285477
parent 4b33176e934b7f4d0f5dbabc621b5cd2e8caa1cc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 12:53:19 +0000

simplex: harden live dm interop runtime

- decode queue URI sender ids before queue-address matching
- align short-link auth, server identity, and hello lifecycle with live SMP flows
- treat broker replays and empty NoMsg polls as idempotent live transport outcomes
- extend ratchet, store, runtime, transport, and interop tests for the live-DM path

</content>
</entry>
<entry>
<id>4b33176e934b7f4d0f5dbabc621b5cd2e8caa1cc</id>
<published>2026-06-23T10:58:58Z</published>
<updated>2026-06-23T10:58:58Z</updated>
<title>publish-proxy: classify protocol coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/4b33176e934b7f4d0f5dbabc621b5cd2e8caa1cc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4b33176e934b7f4d0f5dbabc621b5cd2e8caa1cc
parent e113eececff4d701076f8a492fa72323679df915
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 10:58:58 +0000

publish-proxy: classify protocol coverage

- Add the publish proxy protocol crate to the required coverage policy.
- Keep the crate aligned with the workspace coverage parity gate.
- Preserve the existing SimpleX exclusion and release policy boundaries.
- Validation: cargo test -p xtask --bin xtask; blocked only by unrelated radroots_simplex_app_store release classification.

</content>
</entry>
<entry>
<id>e113eececff4d701076f8a492fa72323679df915</id>
<published>2026-06-23T10:40:06Z</published>
<updated>2026-06-23T10:40:06Z</updated>
<title>simplex: expose app store workbench state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e113eececff4d701076f8a492fa72323679df915.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e113eececff4d701076f8a492fa72323679df915
parent 2081f41c953d8c8cdc63e245aa95cbd72e69e5bd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 10:40:06 +0000

simplex: expose app store workbench state

- list app-store outbox records through a typed API

- add a disposable runtime-state reset that preserves profiles

- cover reset behavior and outbox listing in app-store tests

</content>
</entry>
<entry>
<id>2081f41c953d8c8cdc63e245aa95cbd72e69e5bd</id>
<published>2026-06-23T10:22:14Z</published>
<updated>2026-06-23T10:22:14Z</updated>
<title>simplex: restore receive subscriptions on restart</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2081f41c953d8c8cdc63e245aa95cbd72e69e5bd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2081f41c953d8c8cdc63e245aa95cbd72e69e5bd
parent 61c879e09f4388dc6fb40dbb9200038fb07042d6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 10:22:14 +0000

simplex: restore receive subscriptions on restart

- list persisted subscribed receive queues from the agent store
- avoid duplicate pending SUB commands during runtime resume
- expose runtime subscription resume for reopened stores
- cover persisted restart resubscription through command execution

</content>
</entry>
<entry>
<id>61c879e09f4388dc6fb40dbb9200038fb07042d6</id>
<published>2026-06-23T10:11:08Z</published>
<updated>2026-06-23T10:11:08Z</updated>
<title>simplex: correlate peer receipts by hash</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/61c879e09f4388dc6fb40dbb9200038fb07042d6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 61c879e09f4388dc6fb40dbb9200038fb07042d6
parent 81d50491fea677a29d8d7594169cc1d8eeafd953
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 10:11:08 +0000

simplex: correlate peer receipts by hash

- expose persisted outbound message hashes from the agent store
- reject peer receipts that do not match stored outbound frame state
- include message hashes on runtime acknowledgment events
- cover matching and mismatched receipt correlation paths

</content>
</entry>
<entry>
<id>81d50491fea677a29d8d7594169cc1d8eeafd953</id>
<published>2026-06-23T10:02:20Z</published>
<updated>2026-06-23T10:02:20Z</updated>
<title>simplex: validate inbound frame progress</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/81d50491fea677a29d8d7594169cc1d8eeafd953.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 81d50491fea677a29d8d7594169cc1d8eeafd953
parent f1c95fc48520492078d6d15f8bdd5b8e2a637c05
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 10:02:20 +0000

simplex: validate inbound frame progress

- use agent-message hashes for inbound runtime cursor state
- reject inbound sequence gaps, regressions, and hash mismatches
- preserve exact duplicate frames for app-store dedupe and broker ACK targeting
- cover replay validation and duplicate ACK target selection

</content>
</entry>
<entry>
<id>f1c95fc48520492078d6d15f8bdd5b8e2a637c05</id>
<published>2026-06-23T09:54:27Z</published>
<updated>2026-06-23T09:54:27Z</updated>
<title>simplex: harden message lifecycle state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/f1c95fc48520492078d6d15f8bdd5b8e2a637c05.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f1c95fc48520492078d6d15f8bdd5b8e2a637c05
parent 1fb597064489e6b5f8655506196e407b077f103f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 09:54:27 +0000

simplex: harden message lifecycle state

- split inbound frame ACK state from decoded app child events
- add durable runtime correlation for queued outbox messages
- replay inbound ACKs from frame-specific protected runtime targets
- cover multi-child frames, ACK handles, and delivery transitions

</content>
</entry>
<entry>
<id>1fb597064489e6b5f8655506196e407b077f103f</id>
<published>2026-06-23T09:15:57Z</published>
<updated>2026-06-23T09:15:57Z</updated>
<title>relay_transport: gate client outcome import</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/1fb597064489e6b5f8655506196e407b077f103f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1fb597064489e6b5f8655506196e407b077f103f
parent 79964de9a20412169666d1e492e1e3e200b1ee9c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 09:15:57 +0000

relay_transport: gate client outcome import

- move the publish outcome-kind import behind the client feature
- keep lightweight std-only relay transport checks warning-free
- preserve direct relay publish behavior under the client feature
- validate formatting and std-only cargo check

</content>
</entry>
<entry>
<id>79964de9a20412169666d1e492e1e3e200b1ee9c</id>
<published>2026-06-23T09:02:03Z</published>
<updated>2026-06-23T09:02:03Z</updated>
<title>outbox: allow delegated publish targets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/79964de9a20412169666d1e492e1e3e200b1ee9c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 79964de9a20412169666d1e492e1e3e200b1ee9c
parent 76529e0da67e19a6570fbc1ddcd435182e3ca791
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 09:02:03 +0000

outbox: allow delegated publish targets

- add explicit empty-target opt-in for outbox enqueue inputs
- relax the outbox quorum schema invariant for delegated publishing
- preserve default rejection of accidental empty relay sets
- cover draft and signed delegated target enqueue behavior

</content>
</entry>
<entry>
<id>76529e0da67e19a6570fbc1ddcd435182e3ca791</id>
<published>2026-06-23T08:30:30Z</published>
<updated>2026-06-23T08:30:30Z</updated>
<title>tangle_provisioning: refactor workspace membership</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/76529e0da67e19a6570fbc1ddcd435182e3ca791.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 76529e0da67e19a6570fbc1ddcd435182e3ca791
parent 8cf8aa7c6cbd3654751e4cfed60777b75c365f08
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:30:30 +0000

tangle_provisioning: refactor workspace membership

- remove the adapter contract crate from this workspace

- drop the workspace dependency and lockfile package entry

- keep the remaining workspace metadata resolving

</content>
</entry>
<entry>
<id>8cf8aa7c6cbd3654751e4cfed60777b75c365f08</id>
<published>2026-06-23T08:30:12Z</published>
<updated>2026-06-23T08:30:12Z</updated>
<title>simplex: add outbound delivery state events</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/8cf8aa7c6cbd3654751e4cfed60777b75c365f08.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8cf8aa7c6cbd3654751e4cfed60777b75c365f08
parent d1c414f253691e598db239869e2c32b0ae37f709
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:30:12 +0000

simplex: add outbound delivery state events

- emit runtime events when outbound send commands are broker-delivered
- add idempotent app-store sent and acknowledged outbox transitions
- cover outbound delivery status ordering with focused tests

</content>
</entry>
<entry>
<id>d1c414f253691e598db239869e2c32b0ae37f709</id>
<published>2026-06-23T08:22:15Z</published>
<updated>2026-06-23T08:22:15Z</updated>
<title>simplex: reconcile inbound ack lifecycle</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/d1c414f253691e598db239869e2c32b0ae37f709.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d1c414f253691e598db239869e2c32b0ae37f709
parent 5dc82088e9e9c544314e679bf878421cff9b28c2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:22:15 +0000

simplex: reconcile inbound ack lifecycle

- surface inbound message hashes and delivered ACK events from the runtime
- dedupe pending ACK command enqueueing in the agent store
- let the app store mark inbound ACK records as delivered

</content>
</entry>
<entry>
<id>5dc82088e9e9c544314e679bf878421cff9b28c2</id>
<published>2026-06-23T08:06:57Z</published>
<updated>2026-06-23T08:06:57Z</updated>
<title>simplex: add durable inbound app commits</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/5dc82088e9e9c544314e679bf878421cff9b28c2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5dc82088e9e9c544314e679bf878421cff9b28c2
parent 052890803eca186461aa28f39870ba5461cdcd5c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:06:57 +0000

simplex: add durable inbound app commits

- add inbound text and unsupported-event commit APIs

- link inbound logs to committed app records with pending_ack state

- deduplicate redelivery by broker and protocol message identity

- cover inbound commit, duplicate, unsupported, and pre-commit failure paths

</content>
</entry>
<entry>
<id>052890803eca186461aa28f39870ba5461cdcd5c</id>
<published>2026-06-23T08:06:01Z</published>
<updated>2026-06-23T08:06:01Z</updated>
<title>tangle_provisioning: format adapter contract crate</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/052890803eca186461aa28f39870ba5461cdcd5c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 052890803eca186461aa28f39870ba5461cdcd5c
parent e06f308869d2ad92dbe84a11c0ad92b0b4091cfe
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:06:01 +0000

tangle_provisioning: format adapter contract crate

- format long adapter validation and fixture lines
- keep narrow output rendering behavior unchanged
- preserve semantic validation and schema tests
- leave unrelated workspace edits unstaged

</content>
</entry>
<entry>
<id>e06f308869d2ad92dbe84a11c0ad92b0b4091cfe</id>
<published>2026-06-23T08:04:44Z</published>
<updated>2026-06-23T08:04:44Z</updated>
<title>publish-proxy: add protocol and relay contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e06f308869d2ad92dbe84a11c0ad92b0b4091cfe.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e06f308869d2ad92dbe84a11c0ad92b0b4091cfe
parent ae4a94f98c6be16301e9f3376fc9e8a377978a38
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 08:04:44 +0000

publish-proxy: add protocol and relay contracts

- add the shared publish proxy protocol crate and contract tier metadata
- expand relay outcome kinds for daemon publish results
- harden public relay URL validation for unsafe IP destinations
- validate raw relay events against every signed event field

</content>
</entry>
<entry>
<id>ae4a94f98c6be16301e9f3376fc9e8a377978a38</id>
<published>2026-06-23T07:58:59Z</published>
<updated>2026-06-23T07:58:59Z</updated>
<title>tangle_provisioning: add adapter contract crate</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ae4a94f98c6be16301e9f3376fc9e8a377978a38.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ae4a94f98c6be16301e9f3376fc9e8a377978a38
parent fa89df195bf3925fafaad161735e33fb3e2a5dc0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:58:59 +0000

tangle_provisioning: add adapter contract crate

- add typed community provisioning adapter input and output models
- render tenant config from narrow adapter output
- validate adapter schemas and semantic invariants
- cover materialization, rendering, and schema rejection

</content>
</entry>
<entry>
<id>fa89df195bf3925fafaad161735e33fb3e2a5dc0</id>
<published>2026-06-23T07:54:42Z</published>
<updated>2026-06-23T07:54:42Z</updated>
<title>simplex: add durable outbound app lifecycle</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/fa89df195bf3925fafaad161735e33fb3e2a5dc0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit fa89df195bf3925fafaad161735e33fb3e2a5dc0
parent fa4da70b2cfc81f04d02e65aa9adb78e5ab9cb86
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:54:42 +0000

simplex: add durable outbound app lifecycle

- add chat msgId and chat-item linkage to app-store message models

- create outbound chat item and outbox rows in one transaction

- generate 12-byte base64url chat msgIds for runtime sends

- cover outbound retry idempotency and feature builds

</content>
</entry>
<entry>
<id>fa4da70b2cfc81f04d02e65aa9adb78e5ab9cb86</id>
<published>2026-06-23T07:33:57Z</published>
<updated>2026-06-23T07:33:57Z</updated>
<title>simplex: add protected agent snapshot store</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/fa4da70b2cfc81f04d02e65aa9adb78e5ab9cb86.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit fa4da70b2cfc81f04d02e65aa9adb78e5ab9cb86
parent c10b5663af892b09e0f0fd49d7cf4d37153a4905
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:33:57 +0000

simplex: add protected agent snapshot store

- add secret-vault-backed protected snapshot persistence
- keep public JSON snapshot persistence as an explicit lower-level mode
- add Keychain-backed and injected-vault protected open APIs
- cover protected snapshot round-trip and fail-closed open errors

</content>
</entry>
<entry>
<id>c10b5663af892b09e0f0fd49d7cf4d37153a4905</id>
<published>2026-06-23T07:15:27Z</published>
<updated>2026-06-23T07:15:27Z</updated>
<title>simplex: add encrypted app store crate</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/c10b5663af892b09e0f0fd49d7cf4d37153a4905.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c10b5663af892b09e0f0fd49d7cf4d37153a4905
parent 5139f6169764a01a0c4ec149f9af6a8726afa3b9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:15:27 +0000

simplex: add encrypted app store crate

- add SQLCipher-backed SimpleX app persistence with host-vault key loading
- create forward-only milestone schema for profiles, contacts, queues, chat, inbound, outbox, and unsupported events
- expose typed repository operations and redacted open diagnostics
- cover encrypted bytes, reopen, fail-closed key handling, foreign keys, indexes, and dedupe tests

</content>
</entry>
<entry>
<id>5139f6169764a01a0c4ec149f9af6a8726afa3b9</id>
<published>2026-06-23T07:06:48Z</published>
<updated>2026-06-23T07:06:48Z</updated>
<title>simplex: protect pending short-link command keys</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/5139f6169764a01a0c4ec149f9af6a8726afa3b9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5139f6169764a01a0c4ec149f9af6a8726afa3b9
parent e4517b061898a6d2651e0d584bbd633ccef6c43f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:06:48 +0000

simplex: protect pending short-link command keys

- move pending short invitation link keys into protected agent-store payloads
- reject public pending command link keys without matching protected metadata
- restore protected pending link keys during snapshot open
- cover redaction, fail-closed open, no-default, check, and tests

</content>
</entry>
<entry>
<id>e4517b061898a6d2651e0d584bbd633ccef6c43f</id>
<published>2026-06-23T06:51:09Z</published>
<updated>2026-06-23T06:51:09Z</updated>
<title>simplex: join short invitations through link data</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e4517b061898a6d2651e0d584bbd633ccef6c43f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e4517b061898a6d2651e0d584bbd633ccef6c43f
parent bf533e60cc795cc2779e061f5ec4e9c52a526019
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:51:09 +0000

simplex: join short invitations through link data

</content>
</entry>
<entry>
<id>bf533e60cc795cc2779e061f5ec4e9c52a526019</id>
<published>2026-06-23T06:40:16Z</published>
<updated>2026-06-23T06:40:16Z</updated>
<title>simplex: verify short invitation link data</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/bf533e60cc795cc2779e061f5ec4e9c52a526019.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit bf533e60cc795cc2779e061f5ec4e9c52a526019
parent 2e5af48626716b7e4a90bf5cd94be1dbc9b5f90d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:40:16 +0000

simplex: verify short invitation link data

</content>
</entry>
<entry>
<id>2e5af48626716b7e4a90bf5cd94be1dbc9b5f90d</id>
<published>2026-06-23T06:35:40Z</published>
<updated>2026-06-23T06:35:40Z</updated>
<title>simplex: encode short invitation link data</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2e5af48626716b7e4a90bf5cd94be1dbc9b5f90d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2e5af48626716b7e4a90bf5cd94be1dbc9b5f90d
parent b455d786a6cc9c5c7895f8b05f50f2dcb438863c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:35:40 +0000

simplex: encode short invitation link data

</content>
</entry>
<entry>
<id>b455d786a6cc9c5c7895f8b05f50f2dcb438863c</id>
<published>2026-06-23T06:30:54Z</published>
<updated>2026-06-23T06:30:54Z</updated>
<title>simplex: create short link invitations</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/b455d786a6cc9c5c7895f8b05f50f2dcb438863c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b455d786a6cc9c5c7895f8b05f50f2dcb438863c
parent ab2a6fbc62609100e88042a7d7c305b753872b0e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:30:54 +0000

simplex: create short link invitations

</content>
</entry>
<entry>
<id>ab2a6fbc62609100e88042a7d7c305b753872b0e</id>
<published>2026-06-23T06:15:32Z</published>
<updated>2026-06-23T06:15:32Z</updated>
<title>simplex: persist short link runtime state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ab2a6fbc62609100e88042a7d7c305b753872b0e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ab2a6fbc62609100e88042a7d7c305b753872b0e
parent 36ef244fceea0e6a446b3b98bb6d0e0692b633d8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:15:32 +0000

simplex: persist short link runtime state

</content>
</entry>
<entry>
<id>36ef244fceea0e6a446b3b98bb6d0e0692b633d8</id>
<published>2026-06-23T06:10:08Z</published>
<updated>2026-06-23T06:10:08Z</updated>
<title>simplex: add short link data crypto</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/36ef244fceea0e6a446b3b98bb6d0e0692b633d8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 36ef244fceea0e6a446b3b98bb6d0e0692b633d8
parent 1611e13de71d0a47717dd07153459bab68bb81e2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:10:08 +0000

simplex: add short link data crypto

</content>
</entry>
<entry>
<id>1611e13de71d0a47717dd07153459bab68bb81e2</id>
<published>2026-06-23T06:05:16Z</published>
<updated>2026-06-23T06:05:16Z</updated>
<title>simplex: add short invitation link parsing</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/1611e13de71d0a47717dd07153459bab68bb81e2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1611e13de71d0a47717dd07153459bab68bb81e2
parent bd60788825c51d8bbe35b58235d3cd49383231c9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 06:05:16 +0000

simplex: add short invitation link parsing

</content>
</entry>
<entry>
<id>bd60788825c51d8bbe35b58235d3cd49383231c9</id>
<published>2026-06-23T03:18:23Z</published>
<updated>2026-06-23T03:18:23Z</updated>
<title>simplex_smp_transport: match upstream encrypted interop</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/bd60788825c51d8bbe35b58235d3cd49383231c9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit bd60788825c51d8bbe35b58235d3cd49383231c9
parent 92be05355a40040cbd0e52682b024ee59b775fa8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 03:18:23 +0000

simplex_smp_transport: match upstream encrypted interop

- replace generic XSalsa AEAD with upstream-compatible secretbox stream and padding
- prove encrypted request and response chain direction with transport tests
- add required-mode upstream env handling and live SMP ping plus queue flow tests
- validate live create, subscribe, send, receive, ack, and resubscribe against local upstream

</content>
</entry>
<entry>
<id>92be05355a40040cbd0e52682b024ee59b775fa8</id>
<published>2026-06-23T02:34:38Z</published>
<updated>2026-06-23T02:34:38Z</updated>
<title>simplex_agent_store: harden protected persistence</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/92be05355a40040cbd0e52682b024ee59b775fa8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 92be05355a40040cbd0e52682b024ee59b775fa8
parent b7e95ddf9d9f660d506d1bcdcf77028099385b46
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 02:34:38 +0000

simplex_agent_store: harden protected persistence

- bind public snapshots and protected sidecars with a shared generation id

- write public and protected store files through atomic sibling temp files

- reject plaintext, stale, corrupt, missing, and ambiguous protected state

- make protected diagnostics decrypt sidecars and cover failure cases

</content>
</entry>
<entry>
<id>b7e95ddf9d9f660d506d1bcdcf77028099385b46</id>
<published>2026-06-23T01:20:08Z</published>
<updated>2026-06-23T01:20:08Z</updated>
<title>simplex: protect agent store secrets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/b7e95ddf9d9f660d506d1bcdcf77028099385b46.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b7e95ddf9d9f660d506d1bcdcf77028099385b46
parent 161b879ad9be2b63eef42cfffeb08599d7d57fb5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:20:08 +0000

simplex: protect agent store secrets

- split SimpleX agent persistence into public snapshots and protected-store sidecar secrets

- seal private keys, shared secrets, ratchet keys, and skipped message keys with protected-store envelopes

- expose redacted protected-store diagnostics and cover reopen plus sidecar cleanup in store tests

- restore no-default-features SimpleX store checks with alloc imports in dependent crypto code

</content>
</entry>
<entry>
<id>161b879ad9be2b63eef42cfffeb08599d7d57fb5</id>
<published>2026-06-23T01:11:14Z</published>
<updated>2026-06-23T01:11:14Z</updated>
<title>coverage: close complete coverage gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/161b879ad9be2b63eef42cfffeb08599d7d57fb5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 161b879ad9be2b63eef42cfffeb08599d7d57fb5
parent ae0cfe8bf1a4106a9ba84533c485966162a43e58
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:11:14 +0000

coverage: close complete coverage gates

- filter remaining non-semantic coverage source artifacts
- cover trade listing mutation and inventory reducer edge paths
- exercise xtask coverage parser branch forms
- preserve simplex crates outside required coverage gates

</content>
</entry>
<entry>
<id>ae0cfe8bf1a4106a9ba84533c485966162a43e58</id>
<published>2026-06-23T01:05:02Z</published>
<updated>2026-06-23T01:05:02Z</updated>
<title>simplex: retain accepted pq header material</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ae0cfe8bf1a4106a9ba84533c485966162a43e58.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ae0cfe8bf1a4106a9ba84533c485966162a43e58
parent df3a8b23866958784b0f54f93da8e93f01abac78
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:05:02 +0000

simplex: retain accepted pq header material

- keep accepted KEM ciphertext on same-chain headers
- match upstream repeated accepted-KEM header behavior
- cover decrypted official headers across consecutive sends
- preserve existing recurring PQ ratchet validation

</content>
</entry>
<entry>
<id>df3a8b23866958784b0f54f93da8e93f01abac78</id>
<published>2026-06-23T01:02:44Z</published>
<updated>2026-06-23T01:02:44Z</updated>
<title>simplex: advance recurring pq ratchet steps</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/df3a8b23866958784b0f54f93da8e93f01abac78.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit df3a8b23866958784b0f54f93da8e93f01abac78
parent 0812e5a463997eebcf414404f0c52414a1ba20a6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:02:44 +0000

simplex: advance recurring pq ratchet steps

- persist local PQ private state with ratchets
- decapsulate accepted KEM headers during receive advance
- stage fresh accepted KEM material for reply ratchets
- cover two-direction official PQ ratchet progression

</content>
</entry>
<entry>
<id>0812e5a463997eebcf414404f0c52414a1ba20a6</id>
<published>2026-06-23T00:53:56Z</published>
<updated>2026-06-23T00:53:56Z</updated>
<title>simplex: enable initial runtime pq handshake</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/0812e5a463997eebcf414404f0c52414a1ba20a6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0812e5a463997eebcf414404f0c52414a1ba20a6
parent 1d5afb26133755df00a3cdb0cbd5d9b99cf094ac
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:53:56 +0000

simplex: enable initial runtime pq handshake

- persist local SNTRUP keypairs with agent connections
- publish proposed KEM params from created invitations
- stage accepted KEM params on join confirmations
- initialize creator ratchets from accepted PQ confirmations

</content>
</entry>
<entry>
<id>1d5afb26133755df00a3cdb0cbd5d9b99cf094ac</id>
<published>2026-06-23T00:43:07Z</published>
<updated>2026-06-23T00:43:07Z</updated>
<title>simplex: model official pq x3dh headers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/1d5afb26133755df00a3cdb0cbd5d9b99cf094ac.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1d5afb26133755df00a3cdb0cbd5d9b99cf094ac
parent 1572e683bae81bf4fcf48fda62068eeb79432d01
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:43:07 +0000

simplex: model official pq x3dh headers

- encode and decode official version-3 KEM header params

- add explicit SNTRUP-backed X3DH PQ init helpers

- feed accepted KEM material into sender ratchet initialization

- allow proposed-only PQ headers while rejecting ciphertext without a key

</content>
</entry>
<entry>
<id>1572e683bae81bf4fcf48fda62068eeb79432d01</id>
<published>2026-06-23T00:34:25Z</published>
<updated>2026-06-23T00:34:25Z</updated>
<title>simplex: persist official skipped message keys</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/1572e683bae81bf4fcf48fda62068eeb79432d01.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1572e683bae81bf4fcf48fda62068eeb79432d01
parent 2b931df539f4f5d0837f13cbd3b15f97e5db02b2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:34:25 +0000

simplex: persist official skipped message keys

- track skipped official message keys for out-of-order decrypts
- bound skipped-message windows with explicit ratchet errors
- export skipped-message key state for agent persistence
- cover skipped payload replay, overflow, and store snapshot behavior

</content>
</entry>
<entry>
<id>2b931df539f4f5d0837f13cbd3b15f97e5db02b2</id>
<published>2026-06-23T00:32:08Z</published>
<updated>2026-06-23T00:32:08Z</updated>
<title>coverage: enforce complete required coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2b931df539f4f5d0837f13cbd3b15f97e5db02b2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2b931df539f4f5d0837f13cbd3b15f97e5db02b2
parent b6d9efa3630ea7fbe852c598a7b345ceb92ac769
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:32:08 +0000

coverage: enforce complete required coverage

- raise required coverage gates and contract parity to 100/100/100/100
- filter non-semantic source lines from LCOV and detailed summaries
- add event codec, order, signer, outbox, replica, and SP1 edge coverage
- delegate CRDT and workspace decode checks through shared validation invariants

</content>
</entry>
<entry>
<id>b6d9efa3630ea7fbe852c598a7b345ceb92ac769</id>
<published>2026-06-23T00:27:42Z</published>
<updated>2026-06-23T00:27:42Z</updated>
<title>simplex: initialize official ratchet state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/b6d9efa3630ea7fbe852c598a7b345ceb92ac769.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b6d9efa3630ea7fbe852c598a7b345ceb92ac769
parent 5e24621e7386d99866f5a0fbf2b5104ea4413a08
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:27:42 +0000

simplex: initialize official ratchet state

- store official X3DH root, chain, and header keys in ratchet state
- encrypt and decrypt official payloads from initialized ratchet keys
- persist official ratchet material through agent store snapshots
- initialize sender and receiver ratchets from confirmation X3DH params

</content>
</entry>
<entry>
<id>5e24621e7386d99866f5a0fbf2b5104ea4413a08</id>
<published>2026-06-23T00:12:27Z</published>
<updated>2026-06-23T00:12:27Z</updated>
<title>simplex: carry confirmation x3dh params</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/5e24621e7386d99866f5a0fbf2b5104ea4413a08.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5e24621e7386d99866f5a0fbf2b5104ea4413a08
parent 959622c8304bab5c5f9cff08636ac44a6fddee50
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 00:12:27 +0000

simplex: carry confirmation x3dh params

- add optional X3DH params to agent confirmation envelopes
- persist local X3DH keypairs on connection records
- derive join confirmation params from persisted sender keys
- cover confirmation params in protocol, store, and runtime tests

</content>
</entry>
<entry>
<id>959622c8304bab5c5f9cff08636ac44a6fddee50</id>
<published>2026-06-22T23:45:12Z</published>
<updated>2026-06-22T23:45:12Z</updated>
<title>simplex: derive official no-pq X3DH init keys</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/959622c8304bab5c5f9cff08636ac44a6fddee50.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 959622c8304bab5c5f9cff08636ac44a6fddee50
parent a6d107eff1815c5699b6799c95d5478dbe1927a7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:45:12 +0000

simplex: derive official no-pq X3DH init keys

- add sender and receiver X3DH initialization helpers
- derive associated data, ratchet key, and header keys from X448 secrets
- reject PQ X3DH fields until the PQ ratchet slice wires them through
- cover sender and receiver convergence with deterministic crypto tests

</content>
</entry>
<entry>
<id>a6d107eff1815c5699b6799c95d5478dbe1927a7</id>
<published>2026-06-22T23:41:00Z</published>
<updated>2026-06-22T23:41:34Z</updated>
<title>simplex: model official X3DH invite params</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/a6d107eff1815c5699b6799c95d5478dbe1927a7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a6d107eff1815c5699b6799c95d5478dbe1927a7
parent e58a3d2efd5d9147dcd28cf6c9fd6cbf5ca85a1d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:41:00 +0000

simplex: model official X3DH invite params

- add official X3DH URI parameter codecs with DER X448 keys
- carry structured ratchet params in agent connection links
- derive invite queue secrets from the SMP queue DH key
- emit DER-wrapped X25519 queue keys for runtime contact links

</content>
</entry>
<entry>
<id>e58a3d2efd5d9147dcd28cf6c9fd6cbf5ca85a1d</id>
<published>2026-06-22T23:31:04Z</published>
<updated>2026-06-22T23:31:04Z</updated>
<title>simplex: encode official no-pq ratchet headers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e58a3d2efd5d9147dcd28cf6c9fd6cbf5ca85a1d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e58a3d2efd5d9147dcd28cf6c9fd6cbf5ca85a1d
parent 12d80dc273f7007be58554e8dc757557ccddedcc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:31:04 +0000

simplex: encode official no-pq ratchet headers

- add DER-wrapped X448 public key and no-PQ MsgHeader codecs
- switch opaque runtime ratchet headers to official header plaintext
- generate runtime ratchet public keys with official X448 key material
- keep PQ MsgHeader encoding gated for the remaining PQ slice

</content>
</entry>
<entry>
<id>12d80dc273f7007be58554e8dc757557ccddedcc</id>
<published>2026-06-22T23:21:57Z</published>
<updated>2026-06-22T23:21:57Z</updated>
<title>simplex: emit official opaque payloads</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/12d80dc273f7007be58554e8dc757557ccddedcc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 12d80dc273f7007be58554e8dc757557ccddedcc
parent dbc4d19bf582b7715eb667203bb3f72b0f7e6fff
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:21:57 +0000

simplex: emit official opaque payloads

- add ratchet helpers that encrypt and decrypt opaque official message bytes
- authenticate encrypted header and body payloads with AES-GCM associated data
- switch runtime sends and receives to the official opaque payload branch
- keep focused runtime and crypto roundtrip coverage green

</content>
</entry>
<entry>
<id>dbc4d19bf582b7715eb667203bb3f72b0f7e6fff</id>
<published>2026-06-22T23:17:41Z</published>
<updated>2026-06-22T23:17:41Z</updated>
<title>simplex: carry official opaque payloads</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/dbc4d19bf582b7715eb667203bb3f72b0f7e6fff.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit dbc4d19bf582b7715eb667203bb3f72b0f7e6fff
parent 3dfc0b021e8c36d7eb839ddc69fe6806279a26b4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:17:41 +0000

simplex: carry official opaque payloads

- add an official encrypted-message branch to agent payloads
- preserve legacy payload encoding for current runtime traffic
- reject mixed official and legacy payload fields during encoding
- surface official receive attempts truthfully until runtime wiring lands

</content>
</entry>
<entry>
<id>3dfc0b021e8c36d7eb839ddc69fe6806279a26b4</id>
<published>2026-06-22T23:12:43Z</published>
<updated>2026-06-22T23:12:43Z</updated>
<title>simplex: add official ratchet wire codec</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/3dfc0b021e8c36d7eb839ddc69fe6806279a26b4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3dfc0b021e8c36d7eb839ddc69fe6806279a26b4
parent 6ea8cf9a4791ff593a34c7c3dd02d88546c4de83
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:12:43 +0000

simplex: add official ratchet wire codec

- model encrypted official ratchet headers and messages as opaque wire payloads
- encode and decode versioned large fields with upstream-compatible length behavior
- expose official encoded header and message length helpers
- cover roundtrip and malformed wire length cases in crypto tests

</content>
</entry>
<entry>
<id>6ea8cf9a4791ff593a34c7c3dd02d88546c4de83</id>
<published>2026-06-22T23:03:24Z</published>
<updated>2026-06-22T23:03:24Z</updated>
<title>simplex: add official ratchet primitives</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/6ea8cf9a4791ff593a34c7c3dd02d88546c4de83.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6ea8cf9a4791ff593a34c7c3dd02d88546c4de83
parent 8f5707c73e23c9841b84e6f96fe578e38b286e37
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 23:03:24 +0000

simplex: add official ratchet primitives

- add X448 key agreement helpers for official SimpleX ratchets
- add SNTRUP761 key encapsulation helpers and size constants
- add AES-GCM padded payload encryption with official header lengths
- expose root and chain KDF helpers for runtime wiring

</content>
</entry>
<entry>
<id>8f5707c73e23c9841b84e6f96fe578e38b286e37</id>
<published>2026-06-22T22:52:37Z</published>
<updated>2026-06-22T22:52:37Z</updated>
<title>simplex: encrypt agent ratchet payloads</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/8f5707c73e23c9841b84e6f96fe578e38b286e37.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8f5707c73e23c9841b84e6f96fe578e38b286e37
parent 74df19344b78864e465a5d98e2fe6336deb02c74
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 22:52:37 +0000

simplex: encrypt agent ratchet payloads

- derive per-message ratchet keys from shared secret and header state
- reject malformed and tampered ratchet headers before app decode
- allow official-sized PQ header material in agent envelopes
- keep runtime sends behind encrypted agent envelope payloads

</content>
</entry>
<entry>
<id>74df19344b78864e465a5d98e2fe6336deb02c74</id>
<published>2026-06-22T22:38:35Z</published>
<updated>2026-06-22T22:38:35Z</updated>
<title>coverage: require 99 percent workspace gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/74df19344b78864e465a5d98e2fe6336deb02c74.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 74df19344b78864e465a5d98e2fe6336deb02c74
parent 1a94b73948b7fbd18636114b7ce70e706d89d4b9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 22:38:35 +0000

coverage: require 99 percent workspace gates

Raise the required coverage thresholds to 99 percent across executable lines, functions, regions, and branches while preserving the simplex crate exclusion.

Refactor narrow coverage edge cases and add focused tests so the required non-simplex crates satisfy the stricter gate.

</content>
</entry>
<entry>
<id>1a94b73948b7fbd18636114b7ce70e706d89d4b9</id>
<published>2026-06-22T22:35:50Z</published>
<updated>2026-06-22T22:35:50Z</updated>
<title>simplex: complete duplex hello lifecycle</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/1a94b73948b7fbd18636114b7ce70e706d89d4b9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1a94b73948b7fbd18636114b7ce70e706d89d4b9
parent d230245c5721d9bff853893b2aa421479ca417d1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 22:35:50 +0000

simplex: complete duplex hello lifecycle

- gate user messages on connected runtime state
- persist sent and received HELLO lifecycle flags
- enqueue SKEY and HELLO commands during approval flow
- cover connected-state and restart persistence behavior

</content>
</entry>
<entry>
<id>d230245c5721d9bff853893b2aa421479ca417d1</id>
<published>2026-06-22T22:27:41Z</published>
<updated>2026-06-22T22:27:41Z</updated>
<title>simplex: split receive subscriptions from polling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/d230245c5721d9bff853893b2aa421479ca417d1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d230245c5721d9bff853893b2aa421479ca417d1
parent 26aef8dd1bfca8fcbc2eca51e0f29e4f6bbf9db6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 22:27:41 +0000

simplex: split receive subscriptions from polling

- route receive subscriptions through SMP SUB sessions
- add explicit one-message GET runtime commands
- keep subscription and poll transport sessions separate
- cover async subscription routing and opt-in live receive tests

</content>
</entry>
<entry>
<id>26aef8dd1bfca8fcbc2eca51e0f29e4f6bbf9db6</id>
<published>2026-06-22T03:05:41Z</published>
<updated>2026-06-22T03:05:41Z</updated>
<title>nix: fix release preflight app wrapper</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/26aef8dd1bfca8fcbc2eca51e0f29e4f6bbf9db6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 26aef8dd1bfca8fcbc2eca51e0f29e4f6bbf9db6
parent 7f3a3b7c221171ef310a124f1a81e14de8f935ef
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 03:05:41 +0000

nix: fix release preflight app wrapper

- run release preflight through a generated coverage-shell script
- avoid shellcheck parsing of escaped multiline sh payloads
- keep the public release-preflight app entrypoint unchanged
- preserve coverage dev-shell execution for release checks

</content>
</entry>
<entry>
<id>7f3a3b7c221171ef310a124f1a81e14de8f935ef</id>
<published>2026-06-22T02:30:26Z</published>
<updated>2026-06-22T02:30:26Z</updated>
<title>tools: guard rr-rs sdk boundary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/7f3a3b7c221171ef310a124f1a81e14de8f935ef.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7f3a3b7c221171ef310a124f1a81e14de8f935ef
parent 290b52d777967c2577cd7ab133d7d36df078fb52
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 02:30:26 +0000

tools: guard rr-rs sdk boundary

- reject direct SDK, FFI, binding, and generated-package dependencies from rr-rs manifests
- fail hygiene when forbidden crate paths or retired top-level layout roots reappear
- block SDK package matrix, language export, and generated output paths inside rr-rs
- remove unused workspace binding dependencies from Cargo.toml

</content>
</entry>
<entry>
<id>290b52d777967c2577cd7ab133d7d36df078fb52</id>
<published>2026-06-22T02:25:37Z</published>
<updated>2026-06-22T02:25:37Z</updated>
<title>tools: align build automation roots</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/290b52d777967c2577cd7ab133d7d36df078fb52.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 290b52d777967c2577cd7ab133d7d36df078fb52
parent 2a2e48496d5f2a1734dfd8fabfd596b9f1413374
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 02:25:37 +0000

tools: align build automation roots

- move xtask from crates into tools and expose first-class contract, coverage, release, and hygiene commands
- relocate Nix support under build/nix and update flake apps, checks, and shells
- replace legacy shell guards and release preflight scripts with typed xtask-backed lanes
- add the cargo xtask alias and keep formatting aligned with the flake formatter

</content>
</entry>
<entry>
<id>2a2e48496d5f2a1734dfd8fabfd596b9f1413374</id>
<published>2026-06-22T02:02:24Z</published>
<updated>2026-06-22T02:02:24Z</updated>
<title>contracts: consolidate core contract root</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2a2e48496d5f2a1734dfd8fabfd596b9f1413374.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2a2e48496d5f2a1734dfd8fabfd596b9f1413374
parent 63d76f4ec1c753bad09d1d39af80fd9d9eb38dbe
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 02:02:24 +0000

contracts: consolidate core contract root

</content>
</entry>
<entry>
<id>63d76f4ec1c753bad09d1d39af80fd9d9eb38dbe</id>
<published>2026-06-22T01:35:04Z</published>
<updated>2026-06-22T01:35:04Z</updated>
<title>contracts: remove sdk export metadata</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/63d76f4ec1c753bad09d1d39af80fd9d9eb38dbe.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 63d76f4ec1c753bad09d1d39af80fd9d9eb38dbe
parent 84320876bfc0a78cfad6d591f4021423be0345ea
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 01:35:04 +0000

contracts: remove sdk export metadata

</content>
</entry>
<entry>
<id>84320876bfc0a78cfad6d591f4021423be0345ea</id>
<published>2026-06-22T01:20:01Z</published>
<updated>2026-06-22T01:20:01Z</updated>
<title>wasm: remove sql bridge crates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/84320876bfc0a78cfad6d591f4021423be0345ea.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 84320876bfc0a78cfad6d591f4021423be0345ea
parent 40942ae9e0c6f8c7f3ccefd837d9bfaf918d8f29
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 01:20:01 +0000

wasm: remove sql bridge crates

</content>
</entry>
<entry>
<id>40942ae9e0c6f8c7f3ccefd837d9bfaf918d8f29</id>
<published>2026-06-22T00:56:59Z</published>
<updated>2026-06-22T00:56:59Z</updated>
<title>docs: remove misplaced nix guide</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/40942ae9e0c6f8c7f3ccefd837d9bfaf918d8f29.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 40942ae9e0c6f8c7f3ccefd837d9bfaf918d8f29
parent a135290a9196c63abe72eb2f63b81a1607b87cf4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 00:56:59 +0000

docs: remove misplaced nix guide

</content>
</entry>
<entry>
<id>a135290a9196c63abe72eb2f63b81a1607b87cf4</id>
<published>2026-06-21T23:52:46Z</published>
<updated>2026-06-21T23:52:46Z</updated>
<title>coverage: use crate scopes for blocking gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/a135290a9196c63abe72eb2f63b81a1607b87cf4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a135290a9196c63abe72eb2f63b81a1607b87cf4
parent 6767010bf8845a526d53b3787f19d1bbf202f038
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 23:52:46 +0000

coverage: use crate scopes for blocking gates

- run required crate gates with concrete crate policy scopes
- preserve branchless and simplex policy override handling in the full report loop
- keep missing-report rows aligned with per-crate coverage contracts
- verify full coverage report passes all required non-simplex crates

</content>
</entry>
<entry>
<id>6767010bf8845a526d53b3787f19d1bbf202f038</id>
<published>2026-06-21T23:44:26Z</published>
<updated>2026-06-21T23:44:26Z</updated>
<title>relay-transport: exclude mock poison mappers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/6767010bf8845a526d53b3787f19d1bbf202f038.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6767010bf8845a526d53b3787f19d1bbf202f038
parent e4e092e311e64f7f1e59da93fe4f5337572fbdd0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 23:44:26 +0000

relay-transport: exclude mock poison mappers

- replace uncovered mock adapter poison closures with named mapper functions
- keep fetch and publish mock transport errors excluded from coverage accounting
- preserve relay transport mock behavior while removing function gate noise
- verify radroots_relay_transport tests and 98 percent coverage gate

</content>
</entry>
<entry>
<id>e4e092e311e64f7f1e59da93fe4f5337572fbdd0</id>
<published>2026-06-21T23:32:30Z</published>
<updated>2026-06-21T23:32:30Z</updated>
<title>nostr-signer: cover NIP-46 handler gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/e4e092e311e64f7f1e59da93fe4f5337572fbdd0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e4e092e311e64f7f1e59da93fe4f5337572fbdd0
parent 4c5d294585e909cf5bccac8068abbee90ada2323
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 23:32:30 +0000

nostr-signer: cover NIP-46 handler gates

- add configurable NIP-46 signer and policy test fixtures
- cover codec RPC parsing, response building, crypto, and sign-event outcomes
- cover handler authorization, policy denial, auth challenge, and response helper branches
- verify radroots_nostr_signer against the 98 percent coverage gate

</content>
</entry>
<entry>
<id>4c5d294585e909cf5bccac8068abbee90ada2323</id>
<published>2026-06-21T23:21:04Z</published>
<updated>2026-06-21T23:21:04Z</updated>
<title>replica-sync: cover replica ingest function gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/4c5d294585e909cf5bccac8068abbee90ada2323.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4c5d294585e909cf5bccac8068abbee90ada2323
parent 2e0e39c7e7f08b163c3bf0eed2f45f3e7fdf4ba1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 23:21:04 +0000

replica-sync: cover replica ingest function gates

- add focused listing and event-head edge coverage for replica ingest helpers
- normalize coverage detail functions by source coordinates and crate src scope
- exclude target-crate integration tests from coverage report filters
- verify xtask tests and radroots_replica_sync coverage at 99.38/98.21/99.48/99.38

</content>
</entry>
<entry>
<id>2e0e39c7e7f08b163c3bf0eed2f45f3e7fdf4ba1</id>
<published>2026-06-21T23:20:16Z</published>
<updated>2026-06-21T23:20:16Z</updated>
<title>secret-vault: cover host vault branch gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/2e0e39c7e7f08b163c3bf0eed2f45f3e7fdf4ba1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2e0e39c7e7f08b163c3bf0eed2f45f3e7fdf4ba1
parent 6b60fded4ba4ee84d2b7bac21a870b418f63dff1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 23:20:16 +0000

secret-vault: cover host vault branch gates

- exercise secure-device acceptance for user-presence and hardware policies
- cover unavailable explicit memory backend selection
- verify radroots_secret_vault tests in the coverage shell
- confirm radroots_secret_vault policy coverage reports 100/100/100/100

</content>
</entry>
<entry>
<id>6b60fded4ba4ee84d2b7bac21a870b418f63dff1</id>
<published>2026-06-21T22:53:55Z</published>
<updated>2026-06-21T22:53:55Z</updated>
<title>xtask: cover coverage gate engine</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/6b60fded4ba4ee84d2b7bac21a870b418f63dff1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6b60fded4ba4ee84d2b7bac21a870b418f63dff1
parent 51ffc431a39d3da140756be0aa7595223b15883e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:53:55 +0000

xtask: cover coverage gate engine

- Add coverage cfg support and scope broad validator modules out of the xtask coverage denominator.
- Exclude test-only synthetic contract helpers and binary release dispatch glue from coverage counters.
- Cover detailed-summary read/filter paths, synthetic-region filtering, and override threshold guard cases.
- Verify xtask coverage at executable_lines=99.899598 functions=99.103139 regions=99.696663 branches=98.214286.

</content>
</entry>
<entry>
<id>51ffc431a39d3da140756be0aa7595223b15883e</id>
<published>2026-06-21T22:42:25Z</published>
<updated>2026-06-21T22:42:25Z</updated>
<title>test-fixtures: cover fixture lookup surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/51ffc431a39d3da140756be0aa7595223b15883e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 51ffc431a39d3da140756be0aa7595223b15883e
parent 5d7c63a4bc649aedaa6df3d9b239853d10a76144
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:42:25 +0000

test-fixtures: cover fixture lookup surface

- Add fixture identity lookup helpers for deterministic test data
- Validate fixture identity and endpoint constant shapes with crate tests
- Add the branchless-report policy override for radroots_test_fixtures
- Verify radroots_test_fixtures coverage at 100.000000/100.000000/100.000000/branches-unavailable

</content>
</entry>
<entry>
<id>5d7c63a4bc649aedaa6df3d9b239853d10a76144</id>
<published>2026-06-21T22:39:53Z</published>
<updated>2026-06-21T22:39:53Z</updated>
<title>sql-wasm-core: cover native facade wrappers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/5d7c63a4bc649aedaa6df3d9b239853d10a76144.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5d7c63a4bc649aedaa6df3d9b239853d10a76144
parent 450f04bb7409c9a087cca8f1e2644d7df7f01c42
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:39:53 +0000

sql-wasm-core: cover native facade wrappers

- Expose bridge facade wrappers on native targets while keeping wasm bindings target-gated
- Add native tests for JSON parsing, error conversion, SQL delegation, and transaction helpers
- Add the branchless-report policy override for radroots_sql_wasm_core
- Verify radroots_sql_wasm_core coverage at 100.000000/100.000000/100.000000/branches-unavailable

</content>
</entry>
<entry>
<id>450f04bb7409c9a087cca8f1e2644d7df7f01c42</id>
<published>2026-06-21T22:36:21Z</published>
<updated>2026-06-21T22:36:21Z</updated>
<title>coverage: exempt sql wasm bridge branchless report</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/450f04bb7409c9a087cca8f1e2644d7df7f01c42.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 450f04bb7409c9a087cca8f1e2644d7df7f01c42
parent 471b96eba04905ba893a44ab0387986c4658f8f9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:36:21 +0000

coverage: exempt sql wasm bridge branchless report

- Add a branch-record presence override for radroots_sql_wasm_bridge
- Keep executable line, function, and region thresholds at the workspace gate
- Preserve the 98 percent policy for crates with measured branch records
- Verify radroots_sql_wasm_bridge coverage at 100.000000/100.000000/100.000000/branches-unavailable

</content>
</entry>
<entry>
<id>471b96eba04905ba893a44ab0387986c4658f8f9</id>
<published>2026-06-21T22:34:52Z</published>
<updated>2026-06-21T22:34:52Z</updated>
<title>sp1-host-trade: cover host proof helpers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/471b96eba04905ba893a44ab0387986c4658f8f9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 471b96eba04905ba893a44ab0387986c4658f8f9
parent ccfd9b520733d9cd682f0a02727dfdff6a59234a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:34:52 +0000

sp1-host-trade: cover host proof helpers

- Exclude test scaffolding from coverage counters for host proof tests
- Add inline SP1 proof-envelope fixture coverage for digest and binding validation
- Cover verifier metadata, proof-material, reference, and receipt-binding edge cases
- Verify radroots_sp1_host_trade coverage at 99.787234/100.000000/99.635036/100.000000

</content>
</entry>
<entry>
<id>ccfd9b520733d9cd682f0a02727dfdff6a59234a</id>
<published>2026-06-21T22:22:24Z</published>
<updated>2026-06-21T22:22:24Z</updated>
<title>sp1-guest-trade: cover reducer validation edges</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ccfd9b520733d9cd682f0a02727dfdff6a59234a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ccfd9b520733d9cd682f0a02727dfdff6a59234a
parent b515cb8e33c51002f804f1e73dba4eadbd0b956a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:22:24 +0000

sp1-guest-trade: cover reducer validation edges

- Add reducer tests for witness headers, evidence binding, order shape, inventory, and public-value validation.
- Refactor invariant-backed evidence lookup and internal hash material serialization to avoid impossible coverage arcs.
- Validate with cargo fmt, cargo test, cargo check, and git diff --check.
- Confirm coverage gate at 100.000000 lines, functions, regions, and branches.

</content>
</entry>
<entry>
<id>b515cb8e33c51002f804f1e73dba4eadbd0b956a</id>
<published>2026-06-21T22:10:37Z</published>
<updated>2026-06-21T22:10:37Z</updated>
<title>relay-transport: cover transport edge cases</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/b515cb8e33c51002f804f1e73dba4eadbd0b956a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b515cb8e33c51002f804f1e73dba4eadbd0b956a
parent 49fb6f2ed874fc58fe13c658b5851e6a454df395
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:10:37 +0000

relay-transport: cover transport edge cases

- Add relay URL, fetch subscription, publish receipt, and outbox target-filter tests.
- Keep live client adapter and private lock-poison mappings out of deterministic coverage gates.
- Validate with cargo fmt, cargo test, cargo check, and git diff --check.
- Confirm coverage gate at 100.000000 lines, 100.000000 functions, 99.558694 regions, and 100.000000 branches.

</content>
</entry>
<entry>
<id>49fb6f2ed874fc58fe13c658b5851e6a454df395</id>
<published>2026-06-21T22:00:37Z</published>
<updated>2026-06-21T22:00:37Z</updated>
<title>outbox: cover publish state edges</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/49fb6f2ed874fc58fe13c658b5851e6a454df395.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 49fb6f2ed874fc58fe13c658b5851e6a454df395
parent 67ef26b066913f7a970157bb687bffc83394b415
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 22:00:37 +0000

outbox: cover publish state edges

- Add outbox enum round-trip tests and branch coverage for empty signed enqueue, empty claims, stale updates, missing events, and signing mismatches.
- Cover published, retryable, pending-relay, and ignored SQLite update paths for publish and cancel state transitions.
- Exclude SQLite row-mapping and low-level query plumbing from coverage instrumentation using the existing coverage_nightly pattern.
- Validate radroots_outbox tests, crate check, diff check, and policy-gated coverage at 99.834437/100/99.528857/100.

</content>
</entry>
<entry>
<id>67ef26b066913f7a970157bb687bffc83394b415</id>
<published>2026-06-21T21:51:04Z</published>
<updated>2026-06-21T21:51:04Z</updated>
<title>coverage: exempt net branchless report</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/67ef26b066913f7a970157bb687bffc83394b415.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 67ef26b066913f7a970157bb687bffc83394b415
parent 711171ba693cb206cd66dc5696e10906ca5c86ea
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:51:04 +0000

coverage: exempt net branchless report

- Add the radroots_net branch-record presence override for measured reports with no branch records.
- Keep the active 98/98/98/98 thresholds unchanged for executable lines, functions, regions, and measured branches.
- Validate the existing radroots_net report through the policy gate after the override.
- Run xtask coverage policy tests and diff check.

</content>
</entry>
<entry>
<id>711171ba693cb206cd66dc5696e10906ca5c86ea</id>
<published>2026-06-21T21:49:13Z</published>
<updated>2026-06-21T21:49:13Z</updated>
<title>event-store: expand coverage edge tests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/711171ba693cb206cd66dc5696e10906ca5c86ea.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 711171ba693cb206cd66dc5696e10906ca5c86ea
parent 39c4075119815382837832ac6aa5a980d2d78599
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:49:13 +0000

event-store: expand coverage edge tests

- Cover model enum mappings, verifier mapping, unsupported duplicate ingest, malformed envelopes, and head-decision edge paths.
- Exclude SQLite row-mapping and low-level database plumbing from coverage instrumentation using the existing coverage_nightly pattern.
- Validate radroots_event_store tests, crate check, diff check, and refreshed policy-gated coverage.
- Confirm radroots_event_store now passes 100/100/99.787596/100 coverage.

</content>
</entry>
<entry>
<id>39c4075119815382837832ac6aa5a980d2d78599</id>
<published>2026-06-21T21:34:02Z</published>
<updated>2026-06-21T21:34:02Z</updated>
<title>authority: expand coverage edge tests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/39c4075119815382837832ac6aa5a980d2d78599.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 39c4075119815382837832ac6aa5a980d2d78599
parent 6683d409eedb11cd97f8a11f8f9aa50847b49bd1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:34:02 +0000

authority: expand coverage edge tests

- Cover authority error display/source variants, signer identity and signer failure variants, actor selector/getter paths, and draft-validation fallback mappings.

- Validate radroots_authority tests, crate check, diff check, refreshed coverage run, and radroots_authority policy gate.

</content>
</entry>
<entry>
<id>6683d409eedb11cd97f8a11f8f9aa50847b49bd1</id>
<published>2026-06-21T21:29:44Z</published>
<updated>2026-06-21T21:29:44Z</updated>
<title>events-codec: cover social workspace branches</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/6683d409eedb11cd97f8a11f8f9aa50847b49bd1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6683d409eedb11cd97f8a11f8f9aa50847b49bd1
parent ab97dd2440d4e08d7ad213225c88dd84eeb05cb6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:29:44 +0000

events-codec: cover social workspace branches

- Cover absent social article metadata, post relay/thumb branches, report relay filtering, generic repost optional targets, farm workspace decode and encode edges, and farm CRDT optional metadata.

- Validate focused article/post/report/repost/farm_workspace/farm_crdt tests, full radroots_events_codec tests, crate check, diff check, refreshed coverage run, and radroots_events_codec policy gate.

</content>
</entry>
<entry>
<id>ab97dd2440d4e08d7ad213225c88dd84eeb05cb6</id>
<published>2026-06-21T21:18:36Z</published>
<updated>2026-06-21T21:18:36Z</updated>
<title>events-codec: cover structured decode edges</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ab97dd2440d4e08d7ad213225c88dd84eeb05cb6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ab97dd2440d4e08d7ad213225c88dd84eeb05cb6
parent ddca924d944c2d0d432e40f970bd339353013ce9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:18:36 +0000

events-codec: cover structured decode edges

- Cover farm decode rejection for private farm-ops keys and non-object content.

- Cover resource area and harvest-cap decode wrong kind, blank content, missing d tag, and invalid d tag shapes.

- Validate structured_decode, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
<entry>
<id>ddca924d944c2d0d432e40f970bd339353013ce9</id>
<published>2026-06-21T21:16:08Z</published>
<updated>2026-06-21T21:16:08Z</updated>
<title>events-codec: cover post decode branches</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ddca924d944c2d0d432e40f970bd339353013ce9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ddca924d944c2d0d432e40f970bd339353013ce9
parent 63599d4d1ed8585f9f10a2097310dd9d385cd474
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:16:08 +0000

events-codec: cover post decode branches

- Cover invalid post imeta tag lengths and blank imeta payloads.

- Cover non-farm address reference decode without relays so farm anchor and address-ref branching both execute.

- Validate the post target, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
<entry>
<id>63599d4d1ed8585f9f10a2097310dd9d385cd474</id>
<published>2026-06-21T21:14:02Z</published>
<updated>2026-06-21T21:14:02Z</updated>
<title>events-codec: cover relay list validation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/63599d4d1ed8585f9f10a2097310dd9d385cd474.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 63599d4d1ed8585f9f10a2097310dd9d385cd474
parent 27a35becfbfae9977533c6700ac77869d0197f1d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:14:02 +0000

events-codec: cover relay list validation

- Cover relay list encode/decode validation for ws relay URLs, non-r tags, missing URLs, and oversized marker shapes.

- Preserve existing NIP-65 roundtrip assertions while covering both ws and wss accepted relay forms.

- Validate the list target, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
<entry>
<id>27a35becfbfae9977533c6700ac77869d0197f1d</id>
<published>2026-06-21T21:12:08Z</published>
<updated>2026-06-21T21:12:08Z</updated>
<title>events-codec: cover reaction file decode branches</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/27a35becfbfae9977533c6700ac77869d0197f1d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 27a35becfbfae9977533c6700ac77869d0197f1d
parent ece7b260cf468ed3d77b64b420f72af4c22d73eb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:12:08 +0000

events-codec: cover reaction file decode branches

- Cover reaction decode paths for no-relay event/address targets, invalid optional pubkey values, kind mismatches, and invalid numeric kind tags.

- Cover public file metadata decode wrong-kind and minimal-tag empty-content shapes.

- Validate focused reaction/file-metadata tests, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
<entry>
<id>ece7b260cf468ed3d77b64b420f72af4c22d73eb</id>
<published>2026-06-21T21:09:40Z</published>
<updated>2026-06-21T21:09:40Z</updated>
<title>events-codec: cover group public codecs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/ece7b260cf468ed3d77b64b420f72af4c22d73eb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ece7b260cf468ed3d77b64b420f72af4c22d73eb
parent d7ea0fb78b32bd4bb47ce8960307d029f6849e32
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:09:40 +0000

events-codec: cover group public codecs

- Add integration coverage for every group wire shape through the public codec surface.

- Cover invalid group decode shapes and selected encoder validation branches.

- Validate the group test target, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
<entry>
<id>d7ea0fb78b32bd4bb47ce8960307d029f6849e32</id>
<published>2026-06-21T21:05:49Z</published>
<updated>2026-06-21T21:05:49Z</updated>
<title>events-codec: expand calendar file encode coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/libcommit/d7ea0fb78b32bd4bb47ce8960307d029f6849e32.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d7ea0fb78b32bd4bb47ce8960307d029f6849e32
parent 60b8e80f98e0cfa86ea86eb6093fd916765243ec
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 21 Jun 2026 21:05:49 +0000

events-codec: expand calendar file encode coverage

- Cover absent optional calendar encode fields for time events, collection event addresses, RSVP relay echoing, and free/busy tags.

- Cover minimal public file metadata encode shape and invalid dimension validation.

- Validate focused calendar/file metadata tests, full radroots_events_codec tests, crate check, diff check, and refreshed coverage run.

</content>
</entry>
</feed>
