<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>sdk, branch HEAD</title>
<subtitle>Radroots SDK and bindings
</subtitle>
<entry>
<id>7367d7b31df365b92b016b851cefc79ead6bb434</id>
<published>2026-06-24T22:21:26Z</published>
<updated>2026-06-24T22:21:26Z</updated>
<title>replica: harden schema dto parity</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/7367d7b31df365b92b016b851cefc79ead6bb434.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7367d7b31df365b92b016b851cefc79ead6bb434
parent 5fdc9b9ab675cd96077dbee9e383ae786035afdf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 22:21:26 +0000

replica: harden schema dto parity

</content>
</entry>
<entry>
<id>5fdc9b9ab675cd96077dbee9e383ae786035afdf</id>
<published>2026-06-24T09:08:33Z</published>
<updated>2026-06-24T09:08:33Z</updated>
<title>sdk: remove binding model crate</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/5fdc9b9ab675cd96077dbee9e383ae786035afdf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5fdc9b9ab675cd96077dbee9e383ae786035afdf
parent 3802788108a3823ab133074031d499cb415e799e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 09:08:33 +0000

sdk: remove binding model crate

Delete crates/binding_model and remove it from the workspace, lockfile, and xtask dependencies.

Drop the final TsSource::Module path and keep output tests on raw and DTO-registry sources.

Remove binding_model from coverage exclusions so the obsolete crate is no longer part of SDK policy.

Validate with cargo fmt/check/test, xtask generate/check, pnpm -r build/typecheck, and a zero-hit forbidden-reference search.

</content>
</entry>
<entry>
<id>3802788108a3823ab133074031d499cb415e799e</id>
<published>2026-06-24T09:04:55Z</published>
<updated>2026-06-24T09:04:55Z</updated>
<title>replica: render schema bindings from dto registry</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/3802788108a3823ab133074031d499cb415e799e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3802788108a3823ab133074031d499cb415e799e
parent 54a92213c851bef0d107c4a06688dc97426ac5ce
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 09:04:55 +0000

replica: render schema bindings from dto registry

Replace the hand-authored replica binding model with a source-owned dto registry exported by radroots_replica_db_schema.

Teach xtask to render untagged DTO enums and route the replica package through TsSource::DtoRegistry.

Regenerate @radroots/replica-db-schema-bindings so JSON partial fields, nullable find-one results, NostrEventHead, and bigint policy match source.

Validate with cargo fmt/check/test, xtask generate/check, and build/typecheck for the affected TypeScript packages.

</content>
</entry>
<entry>
<id>54a92213c851bef0d107c4a06688dc97426ac5ce</id>
<published>2026-06-24T08:51:45Z</published>
<updated>2026-06-24T08:51:45Z</updated>
<title>types: render bindings from dto registry</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/54a92213c851bef0d107c4a06688dc97426ac5ce.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 54a92213c851bef0d107c4a06688dc97426ac5ce
parent 05c68dc8409efe6f552341a70bbe5fd10bedcd10
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:51:45 +0000

types: render bindings from dto registry

- replace the types binding model dependency with dto registry roots
- describe generic result envelopes with explicit DTO descriptors
- route the types package through xtask DTO registry rendering
- verify cargo, xtask generation, and package TypeScript checks

</content>
</entry>
<entry>
<id>05c68dc8409efe6f552341a70bbe5fd10bedcd10</id>
<published>2026-06-24T08:42:43Z</published>
<updated>2026-06-24T08:42:43Z</updated>
<title>trade: render bindings from dto registry</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/05c68dc8409efe6f552341a70bbe5fd10bedcd10.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 05c68dc8409efe6f552341a70bbe5fd10bedcd10
parent 2e11d8e70521579b908b500188f3cf3e208ec7e9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:42:43 +0000

trade: render bindings from dto registry

</content>
</entry>
<entry>
<id>2e11d8e70521579b908b500188f3cf3e208ec7e9</id>
<published>2026-06-24T08:30:26Z</published>
<updated>2026-06-24T08:30:26Z</updated>
<title>trade: inventory binding type surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/2e11d8e70521579b908b500188f3cf3e208ec7e9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2e11d8e70521579b908b500188f3cf3e208ec7e9
parent 8b066007fe786980863e1687763b42dc738f9c99
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:30:26 +0000

trade: inventory binding type surface

</content>
</entry>
<entry>
<id>8b066007fe786980863e1687763b42dc738f9c99</id>
<published>2026-06-24T08:21:15Z</published>
<updated>2026-06-24T08:21:15Z</updated>
<title>dto: guard indexed generated bindings</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/8b066007fe786980863e1687763b42dc738f9c99.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8b066007fe786980863e1687763b42dc738f9c99
parent a62ed10ab334f9efb45e6d4dde0709f2435ce32a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 08:21:15 +0000

dto: guard indexed generated bindings

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

dto: render events indexed bindings

- Switch events-indexed type output to the dto registry renderer.

- Inject the shard id package alias while preserving declaration order.

- Remove binding_model from the migrated events-indexed binding crate.

- Validate indexed output through xtask, workspace, and package checks.

</content>
</entry>
<entry>
<id>9ec93888cc620eb304249745c114b2395d82a97f</id>
<published>2026-06-24T07:45:01Z</published>
<updated>2026-06-24T07:45:01Z</updated>
<title>bindings: source constants and kinds</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/9ec93888cc620eb304249745c114b2395d82a97f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9ec93888cc620eb304249745c114b2395d82a97f
parent 270964c32ea6cf9ba330d77e2714a0caaf2c3da2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:45:01 +0000

bindings: source constants and kinds

- Render events constants and kinds from radroots_events source constants.

- Render identity username constants from radroots_identity source constants.

- Add raw TypeScript body support for non-DTO source-generated files.

- Remove binding_model dependencies from migrated events and identity constants crates.

</content>
</entry>
<entry>
<id>270964c32ea6cf9ba330d77e2714a0caaf2c3da2</id>
<published>2026-06-24T07:38:26Z</published>
<updated>2026-06-24T07:38:26Z</updated>
<title>dto: render events bindings from registry</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/270964c32ea6cf9ba330d77e2714a0caaf2c3da2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 270964c32ea6cf9ba330d77e2714a0caaf2c3da2
parent beb99b13e992af5593e0255a7229a1a0c09a498b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:38:26 +0000

dto: render events bindings from registry

- Switch events TypeScript type output to the dto registry renderer.

- Render external data enums and path-aware integer policy errors in xtask.

- Preserve core imports and SDK-local tuple wrapper declarations for events output.

- Remove the stale hand-authored events type module while keeping constants and kinds for RCLD-05.

</content>
</entry>
<entry>
<id>beb99b13e992af5593e0255a7229a1a0c09a498b</id>
<published>2026-06-24T07:05:52Z</published>
<updated>2026-06-24T07:05:52Z</updated>
<title>dto: guard events registry migration inputs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/beb99b13e992af5593e0255a7229a1a0c09a498b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit beb99b13e992af5593e0255a7229a1a0c09a498b
parent ca443903b9cfbaba3f97ec3826f44a3982075553
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 07:05:52 +0000

dto: guard events registry migration inputs

- inventory current events binding type exports in xtask tests
- verify event inventory against committed package output
- cover integer policy propagation through transparent containers
- validate targeted SDK dto registry tests

</content>
</entry>
<entry>
<id>ca443903b9cfbaba3f97ec3826f44a3982075553</id>
<published>2026-06-24T06:58:06Z</published>
<updated>2026-06-24T06:58:06Z</updated>
<title>dto: close core registry binding output</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/ca443903b9cfbaba3f97ec3826f44a3982075553.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ca443903b9cfbaba3f97ec3826f44a3982075553
parent 536636a0fc5d10b541edba5cdeb9a7fcf8705993
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:58:06 +0000

dto: close core registry binding output

- render registry declarations in stable exported-name order
- remove the core binding crate dependency on the hand-written binding model
- retarget core binding tests to the generated package artifact
- regenerate core TypeScript output from source descriptors

</content>
</entry>
<entry>
<id>536636a0fc5d10b541edba5cdeb9a7fcf8705993</id>
<published>2026-06-24T06:32:26Z</published>
<updated>2026-06-24T06:32:26Z</updated>
<title>dto: render core bindings from source roots</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/536636a0fc5d10b541edba5cdeb9a7fcf8705993.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 536636a0fc5d10b541edba5cdeb9a7fcf8705993
parent 67fc0bf8adf131904f70c6cd45e115b734bd9932
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:32:26 +0000

dto: render core bindings from source roots

</content>
</entry>
<entry>
<id>67fc0bf8adf131904f70c6cd45e115b734bd9932</id>
<published>2026-06-24T06:25:52Z</published>
<updated>2026-06-24T06:25:52Z</updated>
<title>dto: add explicit source root sets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/67fc0bf8adf131904f70c6cd45e115b734bd9932.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 67fc0bf8adf131904f70c6cd45e115b734bd9932
parent f54dd5d07226bfd8d704690df0d489103a036134
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:25:52 +0000

dto: add explicit source root sets

</content>
</entry>
<entry>
<id>f54dd5d07226bfd8d704690df0d489103a036134</id>
<published>2026-06-24T06:13:47Z</published>
<updated>2026-06-24T06:13:47Z</updated>
<title>feat: add dto registry TypeScript renderer</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f54dd5d07226bfd8d704690df0d489103a036134.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f54dd5d07226bfd8d704690df0d489103a036134
parent 7b42fbc7cf197aa5be4dc51a5ad194bcfdbec5eb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 06:13:47 +0000

feat: add dto registry TypeScript renderer

</content>
</entry>
<entry>
<id>7b42fbc7cf197aa5be4dc51a5ad194bcfdbec5eb</id>
<published>2026-06-24T04:53:35Z</published>
<updated>2026-06-24T04:53:35Z</updated>
<title>sdk: harden Myc NIP-46 request policy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/7b42fbc7cf197aa5be4dc51a5ad194bcfdbec5eb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7b42fbc7cf197aa5be4dc51a5ad194bcfdbec5eb
parent 57dbb2e0d0ab3a08ec9adfc2059bdeb6647aab0d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 04:53:35 +0000

sdk: harden Myc NIP-46 request policy

- add bounded SDK request policy for Myc signing
- generate production NIP-46 request ids with UUID entropy
- derive test responses from captured request ids
- cover zero-timeout and hanging-transport failures

</content>
</entry>
<entry>
<id>57dbb2e0d0ab3a08ec9adfc2059bdeb6647aab0d</id>
<published>2026-06-23T23:52:07Z</published>
<updated>2026-06-23T23:52:07Z</updated>
<title>sdk: wire configured signer workflows</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/57dbb2e0d0ab3a08ec9adfc2059bdeb6647aab0d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 57dbb2e0d0ab3a08ec9adfc2059bdeb6647aab0d
parent d7609bf452d600f169cdfe70029df17ab91befd2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 23:52:07 +0000

sdk: wire configured signer workflows

- add configured signer enqueue paths for farm listing and order workflows
- keep explicit signer entrypoints under advanced method names
- expose Radroots product NIP-46 permission sets for Myc signing
- update SDK feature bundles docs examples and workflow coverage

</content>
</entry>
<entry>
<id>d7609bf452d600f169cdfe70029df17ab91befd2</id>
<published>2026-06-23T23:30:56Z</published>
<updated>2026-06-23T23:30:56Z</updated>
<title>sdk: add async signer provider core</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/d7609bf452d600f169cdfe70029df17ab91befd2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d7609bf452d600f169cdfe70029df17ab91befd2
parent 0ab8382c26f3011c2239c7c9f226c49f96e73642
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 23:30:56 +0000

sdk: add async signer provider core

- add typed local_key and myc_nip46 signer provider APIs
- validate remote signed events against frozen drafts through authority
- expose signer status, capability, progress, and error surfaces
- cover local, Myc, auth, timeout, drift, and configured-signer paths

</content>
</entry>
<entry>
<id>0ab8382c26f3011c2239c7c9f226c49f96e73642</id>
<published>2026-06-23T21:06:02Z</published>
<updated>2026-06-23T21:06:02Z</updated>
<title>sync: scope proxy idempotency to attempts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/0ab8382c26f3011c2239c7c9f226c49f96e73642.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0ab8382c26f3011c2239c7c9f226c49f96e73642
parent 4fc669d02c8bf516c53cf5ad436cdbed5a715f2f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 21:06:02 +0000

sync: scope proxy idempotency to attempts

- include outbox attempt count in radrootsd proxy idempotency keys
- add a two-request local proxy server for retry proofs
- verify retry attempts reuse the event with a new daemon key
- keep same-attempt request shape deterministic for daemon dedupe

</content>
</entry>
<entry>
<id>4fc669d02c8bf516c53cf5ad436cdbed5a715f2f</id>
<published>2026-06-23T09:17:38Z</published>
<updated>2026-06-23T09:17:38Z</updated>
<title>publish-proxy: add sdk proxy publish transport</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/4fc669d02c8bf516c53cf5ad436cdbed5a715f2f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4fc669d02c8bf516c53cf5ad436cdbed5a715f2f
parent 68e9202c767c70508d294c75d6ae21b2659d4a48
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 09:17:38 +0000

publish-proxy: add sdk proxy publish transport

- replace bridge JSON-RPC requests with publish.event transport
- add direct relay versus radrootsd proxy publish selection
- allow daemon-resolved outbox targets for proxy publishing
- cover proxy decoding, outcome mapping, and workflow enqueue paths

</content>
</entry>
<entry>
<id>68e9202c767c70508d294c75d6ae21b2659d4a48</id>
<published>2026-06-23T07:39:51Z</published>
<updated>2026-06-23T07:39:51Z</updated>
<title>coverage: enforce final sdk policy gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/68e9202c767c70508d294c75d6ae21b2659d4a48.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 68e9202c767c70508d294c75d6ae21b2659d4a48
parent 35c13270bdea0826cda5d9ebb345efe575082666
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:39:51 +0000

coverage: enforce final sdk policy gates

- split xtask coverage policy evaluation from command orchestration\n- gate the pure xtask policy evaluator at 100 percent with branch-complete tests\n- remove duplicate wasm generation from the package check script\n- replace the xtask bootstrap exclusion with narrow command-glue exclusions

</content>
</entry>
<entry>
<id>35c13270bdea0826cda5d9ebb345efe575082666</id>
<published>2026-06-23T07:28:26Z</published>
<updated>2026-06-23T07:28:26Z</updated>
<title>wasm: harden support coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/35c13270bdea0826cda5d9ebb345efe575082666.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 35c13270bdea0826cda5d9ebb345efe575082666
parent 07ec66a3f7c6990b93d0682c205e3a689fa9bf3e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:28:26 +0000

wasm: harden support coverage

- add the missing CRDT builder-error binding coverage\n- split SQL wasm executor host decoding into testable JSON helpers\n- cover SQL executor host results, native host errors, and export-lock behavior\n- bring handwritten WASM support scopes to 100 percent coverage

</content>
</entry>
<entry>
<id>07ec66a3f7c6990b93d0682c205e3a689fa9bf3e</id>
<published>2026-06-23T07:19:56Z</published>
<updated>2026-06-23T07:19:56Z</updated>
<title>sdk: cover crate coverage edge paths</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/07ec66a3f7c6990b93d0682c205e3a689fa9bf3e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 07ec66a3f7c6990b93d0682c205e3a689fa9bf3e
parent d097c95a4b211b2a80e38c946133e9c79d9ba948
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 07:19:56 +0000

sdk: cover crate coverage edge paths

- move dense unit coverage into dedicated SDK unit test modules
- extract runtime helpers for storage, backup, restore, and clock edge paths
- cover adapter HTTP, relay, signing, idempotency, actor JSON, and workflow branches
- bring radroots_sdk line, function, and region coverage above 98 percent

</content>
</entry>
<entry>
<id>d097c95a4b211b2a80e38c946133e9c79d9ba948</id>
<published>2026-06-23T02:49:36Z</published>
<updated>2026-06-23T02:49:36Z</updated>
<title>runtime: cover storage edge branches</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/d097c95a4b211b2a80e38c946133e9c79d9ba948.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d097c95a4b211b2a80e38c946133e9c79d9ba948
parent e6db188c273003e1e81279d66de48eab25d67bda
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 02:49:36 +0000

runtime: cover storage edge branches

- cover runtime storage defaults and clock overflow
- exercise backup destination preflights
- harden restore archive and destination tests
- raise measured SDK runtime coverage

</content>
</entry>
<entry>
<id>e6db188c273003e1e81279d66de48eab25d67bda</id>
<published>2026-06-23T02:38:09Z</published>
<updated>2026-06-23T02:38:09Z</updated>
<title>orders: cover runtime branch surfaces</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/e6db188c273003e1e81279d66de48eab25d67bda.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e6db188c273003e1e81279d66de48eab25d67bda
parent 97d674470771d6a3526a8f6457c6258d150cc9f3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 02:38:09 +0000

orders: cover runtime branch surfaces

- exercise revision and cancellation request contracts
- pin complete order issue status mapping
- cover order facade success and error wrappers
- raise measured order runtime coverage

</content>
</entry>
<entry>
<id>97d674470771d6a3526a8f6457c6258d150cc9f3</id>
<published>2026-06-23T02:25:28Z</published>
<updated>2026-06-23T02:25:28Z</updated>
<title>radrootsd: harden HTTP adapter coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/97d674470771d6a3526a8f6457c6258d150cc9f3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 97d674470771d6a3526a8f6457c6258d150cc9f3
parent bd7cecfa4b605b051139d833ede561e860299e3a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 02:25:28 +0000

radrootsd: harden HTTP adapter coverage

- validate JSON-RPC version and response ids
- omit raw HTTP response bodies from status errors
- exercise publish requests through a local HTTP path
- cover adapter success and failure response handling

</content>
</entry>
<entry>
<id>bd7cecfa4b605b051139d833ede561e860299e3a</id>
<published>2026-06-23T02:21:39Z</published>
<updated>2026-06-23T02:21:39Z</updated>
<title>coverage: enforce scoped policy gates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/bd7cecfa4b605b051139d833ede561e860299e3a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit bd7cecfa4b605b051139d833ede561e860299e3a
parent f7d67411344be9cf9934a79803644220936d022d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 02:21:39 +0000

coverage: enforce scoped policy gates

- add per-scope coverage thresholds to the contract
- enforce `radroots_sdk` at `98.0` across required metrics
- remove stale-report reuse from the policy coverage run
- cover scoped report evaluation in xtask tests

</content>
</entry>
<entry>
<id>f7d67411344be9cf9934a79803644220936d022d</id>
<published>2026-06-23T01:54:49Z</published>
<updated>2026-06-23T01:54:49Z</updated>
<title>packages: expose sdk validation scripts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f7d67411344be9cf9934a79803644220936d022d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f7d67411344be9cf9934a79803644220936d022d
parent 57ff247a12aa8893a8ccaf38fcc05886695c3e34
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:54:49 +0000

packages: expose sdk validation scripts

- add root check script that regenerates artifacts before package validation
- add root coverage script for the xtask coverage lane
- record generated TypeScript and entrypoint coverage posture
- keep generated package outputs ignored and reproducible

</content>
</entry>
<entry>
<id>57ff247a12aa8893a8ccaf38fcc05886695c3e34</id>
<published>2026-06-23T01:52:13Z</published>
<updated>2026-06-23T01:52:13Z</updated>
<title>radrootsd: cover adapter response handling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/57ff247a12aa8893a8ccaf38fcc05886695c3e34.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 57ff247a12aa8893a8ccaf38fcc05886695c3e34
parent 57a750facf767dad9a67a3c7fdf4a0409bdfa53b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:52:13 +0000

radrootsd: cover adapter response handling

- extract JSON-RPC response and HTTP status helpers
- cover bearer auth and request serialization paths
- cover JSON-RPC success, error, and malformed envelopes
- assert adapter debug output redacts signer and auth secrets

</content>
</entry>
<entry>
<id>57a750facf767dad9a67a3c7fdf4a0409bdfa53b</id>
<published>2026-06-23T01:45:56Z</published>
<updated>2026-06-23T01:45:56Z</updated>
<title>wasm: cover sdk wrapper logic</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/57a750facf767dad9a67a3c7fdf4a0409bdfa53b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 57a750facf767dad9a67a3c7fdf4a0409bdfa53b
parent f27f3092e4e9387316da601fe847fc7aa75ac7a3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:45:56 +0000

wasm: cover sdk wrapper logic

- remove dummy coverage probes from replica DB and sync WASM crates
- extract replica DB export snapshot policy into native-testable code
- cover replica sync request and event parsing across author and pubkey cases
- narrow the coverage contract to include the newly testable WASM source

</content>
</entry>
<entry>
<id>f27f3092e4e9387316da601fe847fc7aa75ac7a3</id>
<published>2026-06-23T01:41:58Z</published>
<updated>2026-06-23T01:41:58Z</updated>
<title>coverage: add sdk coverage command</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f27f3092e4e9387316da601fe847fc7aa75ac7a3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f27f3092e4e9387316da601fe847fc7aa75ac7a3
parent 24873f0d3536092a88d54c56da370da05675eeab
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:41:58 +0000

coverage: add sdk coverage command

- add an SDK coverage contract with explicit generated and bootstrap exclusions
- wire cargo xtask coverage run through rustup, llvm-cov, generation, and package checks
- require llvm-tools-preview in the pinned SDK Rust toolchain
- cover coverage contract parsing, metric validation, and pending gate behavior

</content>
</entry>
<entry>
<id>24873f0d3536092a88d54c56da370da05675eeab</id>
<published>2026-06-23T01:36:40Z</published>
<updated>2026-06-23T01:36:40Z</updated>
<title>xtask: move automation to tools</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/24873f0d3536092a88d54c56da370da05675eeab.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 24873f0d3536092a88d54c56da370da05675eeab
parent aed7a1428859a2a2d180b2a7568e41f6601362ff
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 23 Jun 2026 01:36:40 +0000

xtask: move automation to tools

- move the SDK xtask workspace member from crates/xtask to tools/xtask
- keep the cargo xtask alias and radroots_sdk_xtask package identity stable
- update local path dependencies for the new tool location
- preserve existing generation, check, and package validation commands

</content>
</entry>
<entry>
<id>aed7a1428859a2a2d180b2a7568e41f6601362ff</id>
<published>2026-06-22T01:34:37Z</published>
<updated>2026-06-22T01:34:37Z</updated>
<title>contracts: own sdk export metadata</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/aed7a1428859a2a2d180b2a7568e41f6601362ff.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit aed7a1428859a2a2d180b2a7568e41f6601362ff
parent 66015806a147824bad4c29ef9ae8e395d7838595
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 01:34:37 +0000

contracts: own sdk export metadata

</content>
</entry>
<entry>
<id>66015806a147824bad4c29ef9ae8e395d7838595</id>
<published>2026-06-22T01:06:52Z</published>
<updated>2026-06-22T01:06:52Z</updated>
<title>wasm: move sql runtime into sdk</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/66015806a147824bad4c29ef9ae8e395d7838595.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 66015806a147824bad4c29ef9ae8e395d7838595
parent 054bd3575dcb2a6028afe7e354ba5ba6089529b8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 22 Jun 2026 01:06:52 +0000

wasm: move sql runtime into sdk

</content>
</entry>
<entry>
<id>054bd3575dcb2a6028afe7e354ba5ba6089529b8</id>
<published>2026-06-20T04:20:51Z</published>
<updated>2026-06-20T04:20:51Z</updated>
<title>sdk: align README order boundary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/054bd3575dcb2a6028afe7e354ba5ba6089529b8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 054bd3575dcb2a6028afe7e354ba5ba6089529b8
parent f897d5f60f5238969ec97276075d4354bc240ae9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 21:20:51 -0700

sdk: align README order boundary

- describe current order support as an agreement-only workflow
- remove stale payment handoff and settlement evidence wording
- keep technical receipts separate from order lifecycle state
- preserve the canonical SDK API guidance around orders and sync

</content>
</entry>
<entry>
<id>f897d5f60f5238969ec97276075d4354bc240ae9</id>
<published>2026-06-20T03:48:42Z</published>
<updated>2026-06-20T03:48:42Z</updated>
<title>sdk: prune stale trade lifecycle bindings</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f897d5f60f5238969ec97276075d4354bc240ae9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f897d5f60f5238969ec97276075d4354bc240ae9
parent 0441b208b04245dffd66e85f8f0d3b92ff22301a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 20:48:42 -0700

sdk: prune stale trade lifecycle bindings

- remove trade payment, settlement, receipt, and fulfillment binding models
- keep TypeScript order status and workflow projections agreement-only
- regenerate events and trade binding package outputs from xtask
- validate source boundary, order runtime, and generated package checks

</content>
</entry>
<entry>
<id>0441b208b04245dffd66e85f8f0d3b92ff22301a</id>
<published>2026-06-20T01:20:36Z</published>
<updated>2026-06-20T01:20:36Z</updated>
<title>tests: harden agreement order export guards</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/0441b208b04245dffd66e85f8f0d3b92ff22301a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0441b208b04245dffd66e85f8f0d3b92ff22301a
parent c4ce4ecda87c69a6d9fb2479300501c9c589e7aa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 18:20:36 -0700

tests: harden agreement order export guards

- avoid embedding forbidden order runtime symbols in guard fixtures
- keep source-boundary coverage for unsupported order surfaces
- confirm generated TS and WASM outputs remain reproducible
- preserve package build and typecheck validation for SDK exports

</content>
</entry>
<entry>
<id>c4ce4ecda87c69a6d9fb2479300501c9c589e7aa</id>
<published>2026-06-20T01:17:25Z</published>
<updated>2026-06-20T01:17:25Z</updated>
<title>orders: slim SDK order runtime API</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/c4ce4ecda87c69a6d9fb2479300501c9c589e7aa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c4ce4ecda87c69a6d9fb2479300501c9c589e7aa
parent d1c1b9c030e1f6168d1d9fb09c3d5dac49437b5a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 18:17:25 -0700

orders: slim SDK order runtime API

- remove post-agreement order workflow methods and exports
- expose agreement evidence on order status receipts
- align order lifecycle preflight with requested negotiation state
- update runtime and boundary tests for agreement-only status

</content>
</entry>
<entry>
<id>d1c1b9c030e1f6168d1d9fb09c3d5dac49437b5a</id>
<published>2026-06-19T23:22:56Z</published>
<updated>2026-06-19T23:22:56Z</updated>
<title>tests: guard passive payment SDK surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/d1c1b9c030e1f6168d1d9fb09c3d5dac49437b5a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d1c1b9c030e1f6168d1d9fb09c3d5dac49437b5a
parent 3c15e9f5bfa247d7f71383c8b0a98166864c6ee6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 16:22:56 -0700

tests: guard passive payment SDK surface

- keep order payment exports limited to passive status metadata

- reject SDK payment, checkout, settlement, refund, and wallet write APIs

- preserve source-boundary coverage for the order runtime

</content>
</entry>
<entry>
<id>3c15e9f5bfa247d7f71383c8b0a98166864c6ee6</id>
<published>2026-06-19T22:39:20Z</published>
<updated>2026-06-19T22:39:20Z</updated>
<title>sdk: expose order enqueue retry advice</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/3c15e9f5bfa247d7f71383c8b0a98166864c6ee6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3c15e9f5bfa247d7f71383c8b0a98166864c6ee6
parent c50cc8d53a6e841838c119d150f469e1d5df677b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 15:39:20 -0700

sdk: expose order enqueue retry advice

- add workflow idempotency receipt metadata
- add structured retry advice to order enqueue receipts
- assert replayed enqueue state without string inference
- cover partial mutation recovery detail JSON

</content>
</entry>
<entry>
<id>c50cc8d53a6e841838c119d150f469e1d5df677b</id>
<published>2026-06-19T22:36:23Z</published>
<updated>2026-06-19T22:36:23Z</updated>
<title>sdk: harden order status receipts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/c50cc8d53a6e841838c119d150f469e1d5df677b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c50cc8d53a6e841838c119d150f469e1d5df677b
parent 7048004b20403f22c1c1f160da682b86320f91ff
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 15:36:23 -0700

sdk: harden order status receipts

- add evidence summaries and eligibility metadata
- expose passive off-platform payment handoff state
- compute next action guidance from local projections
- cover status receipt metadata in order runtime tests

</content>
</entry>
<entry>
<id>7048004b20403f22c1c1f160da682b86320f91ff</id>
<published>2026-06-19T22:32:05Z</published>
<updated>2026-06-19T22:32:05Z</updated>
<title>sdk: add order workflow command metadata</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/7048004b20403f22c1c1f160da682b86320f91ff.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7048004b20403f22c1c1f160da682b86320f91ff
parent 91ef09f8a9def11584c02efd94fcfaa90573e82d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 15:32:05 -0700

sdk: add order workflow command metadata

- expose typed order workflow kind and metadata receipts
- attach workflow plans and enqueue receipts to order operations
- route enqueue operation kinds through the workflow model
- assert serialized workflow metadata in SDK runtime tests

</content>
</entry>
<entry>
<id>91ef09f8a9def11584c02efd94fcfaa90573e82d</id>
<published>2026-06-19T22:27:34Z</published>
<updated>2026-06-19T22:27:34Z</updated>
<title>tests: guard order SDK runtime surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/91ef09f8a9def11584c02efd94fcfaa90573e82d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 91ef09f8a9def11584c02efd94fcfaa90573e82d
parent 9d235779fced49125aa1095c71bd03a6a35a1e3b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 15:27:34 -0700

tests: guard order SDK runtime surface

- inventory explicit order runtime exports
- assert OrdersClient owns the public workflow methods
- keep product clients as private thin SDK handles
- prevent wildcard or module-path runtime exposure

</content>
</entry>
<entry>
<id>9d235779fced49125aa1095c71bd03a6a35a1e3b</id>
<published>2026-06-19T11:00:29Z</published>
<updated>2026-06-19T11:00:29Z</updated>
<title>docs: align local runtime API guidance</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/9d235779fced49125aa1095c71bd03a6a35a1e3b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9d235779fced49125aa1095c71bd03a6a35a1e3b
parent 9eb15b2dec368a65401ed278fa3ffc8b9a2d71f4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 04:00:29 -0700

docs: align local runtime API guidance

- document RadrootsSdk as the product runtime entrypoint
- remove stale client and config facade guidance
- clarify relay-client as SDK-owned runtime support
- record the pre-payment order capability boundary

</content>
</entry>
<entry>
<id>9eb15b2dec368a65401ed278fa3ffc8b9a2d71f4</id>
<published>2026-06-19T10:21:30Z</published>
<updated>2026-06-19T10:21:30Z</updated>
<title>sdk: export listing publish operation kind</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/9eb15b2dec368a65401ed278fa3ffc8b9a2d71f4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9eb15b2dec368a65401ed278fa3ffc8b9a2d71f4
parent 96d078828c89240fe458662deb3625cbde3bd300
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 03:21:30 -0700

sdk: export listing publish operation kind

Expose LISTING_PUBLISH_OPERATION_KIND from the runtime API.

Align SDK listing, runtime foundation, and sync runtime tests to the SDK-owned operation constant.

</content>
</entry>
<entry>
<id>96d078828c89240fe458662deb3625cbde3bd300</id>
<published>2026-06-19T10:19:25Z</published>
<updated>2026-06-19T10:19:25Z</updated>
<title>sdk: remove legacy client config facade</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/96d078828c89240fe458662deb3625cbde3bd300.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 96d078828c89240fe458662deb3625cbde3bd300
parent c56df8b75d8c2728555a463e13778a61533abaae
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 03:19:25 -0700

sdk: remove legacy client config facade

Remove old public client and config modules.

Delete tests for retired direct transport facade behavior.

Keep radrootsd auth scoped to the adapter boundary.

Guard the canonical runtime public surface with source-boundary tests.

</content>
</entry>
<entry>
<id>c56df8b75d8c2728555a463e13778a61533abaae</id>
<published>2026-06-19T08:42:54Z</published>
<updated>2026-06-19T08:42:54Z</updated>
<title>sdk: harden order revision status preflight</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/c56df8b75d8c2728555a463e13778a61533abaae.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c56df8b75d8c2728555a463e13778a61533abaae
parent f57001e3f45ed07e1fa0e4ac6456abc997c72dc4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 01:42:54 -0700

sdk: harden order revision status preflight

</content>
</entry>
<entry>
<id>f57001e3f45ed07e1fa0e4ac6456abc997c72dc4</id>
<published>2026-06-19T07:19:25Z</published>
<updated>2026-06-19T07:19:25Z</updated>
<title>sdk: remove direct order publish facade</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f57001e3f45ed07e1fa0e4ac6456abc997c72dc4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f57001e3f45ed07e1fa0e4ac6456abc997c72dc4
parent e60c2aaa76955bdee99983001e8b7a9fec3eef58
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 00:19:25 -0700

sdk: remove direct order publish facade

- remove the obsolete root TradeClient export for migrated order workflows
- delete relay-direct order publish and draft facade methods from the legacy SDK client
- drop SDK-local tests that exercised replaced direct order publish APIs
- add source-boundary guards for removed direct order client methods

</content>
</entry>
<entry>
<id>e60c2aaa76955bdee99983001e8b7a9fec3eef58</id>
<published>2026-06-19T06:58:19Z</published>
<updated>2026-06-19T06:58:19Z</updated>
<title>sdk: add order lifecycle evidence ingest</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/e60c2aaa76955bdee99983001e8b7a9fec3eef58.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e60c2aaa76955bdee99983001e8b7a9fec3eef58
parent 40f83f485fb5af7c4763ad4e8662ae601e1277ab
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 23:58:19 -0700

sdk: add order lifecycle evidence ingest

- add an SDK order evidence ingest request and receipt for lifecycle projection inputs
- parse order request, decision, revision, cancellation, fulfillment, receipt, payment, and settlement events through one runtime path
- expose the ingest API from the SDK public surface
- cover lifecycle ingest storage and non-order rejection with local-runtime tests

</content>
</entry>
<entry>
<id>40f83f485fb5af7c4763ad4e8662ae601e1277ab</id>
<published>2026-06-19T06:22:46Z</published>
<updated>2026-06-19T06:22:46Z</updated>
<title>sdk: add order lifecycle runtimes</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/40f83f485fb5af7c4763ad4e8662ae601e1277ab.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 40f83f485fb5af7c4763ad4e8662ae601e1277ab
parent c146bca18a56a55d6364a008e4914e07ae4665dc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 23:22:46 -0700

sdk: add order lifecycle runtimes

- add typed revision, cancellation, fulfillment, and receipt runtime APIs
- enforce local projection preflight before lifecycle mutation
- preserve idempotent replay for already stored prepared events
- cover lifecycle enqueue, status projection, and invalid-state rejection

</content>
</entry>
<entry>
<id>c146bca18a56a55d6364a008e4914e07ae4665dc</id>
<published>2026-06-19T05:58:11Z</published>
<updated>2026-06-19T05:58:11Z</updated>
<title>sdk: add order request evidence ingest</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/c146bca18a56a55d6364a008e4914e07ae4665dc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c146bca18a56a55d6364a008e4914e07ae4665dc
parent 698ee92807ac1365058ed96ed19f78cdb7978e73
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 22:58:11 -0700

sdk: add order request evidence ingest

- add a typed SDK request evidence ingest API for order workflows
- validate signed order requests before storing local evidence
- expose ingest receipts for downstream decision runtimes
- cover decision-enabled ingest and non-request rejection tests

</content>
</entry>
<entry>
<id>698ee92807ac1365058ed96ed19f78cdb7978e73</id>
<published>2026-06-19T05:25:34Z</published>
<updated>2026-06-19T05:25:34Z</updated>
<title>sdk: add order decision runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/698ee92807ac1365058ed96ed19f78cdb7978e73.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 698ee92807ac1365058ed96ed19f78cdb7978e73
parent c2ee5ccab8eb19f8d996184a584997407f9e5bea
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 22:25:34 -0700

sdk: add order decision runtime

- add order decision prepare and enqueue DTOs plus public SDK exports
- enqueue accepted and declined decisions through the SDK event store and outbox
- require local request evidence and reject conflicting local decision state before mutation
- cover decision DTOs, actor checks, signer errors, and source-boundary validation

</content>
</entry>
<entry>
<id>c2ee5ccab8eb19f8d996184a584997407f9e5bea</id>
<published>2026-06-19T03:42:11Z</published>
<updated>2026-06-19T03:42:11Z</updated>
<title>sdk: harden farm order runtime guards</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/c2ee5ccab8eb19f8d996184a584997407f9e5bea.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c2ee5ccab8eb19f8d996184a584997407f9e5bea
parent 4a4e7690529e855eeb5492e9cfa8757ec6827d2c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 20:42:11 -0700

sdk: harden farm order runtime guards

</content>
</entry>
<entry>
<id>4a4e7690529e855eeb5492e9cfa8757ec6827d2c</id>
<published>2026-06-19T03:37:50Z</published>
<updated>2026-06-19T03:37:50Z</updated>
<title>sdk: add order submit runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/4a4e7690529e855eeb5492e9cfa8757ec6827d2c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4a4e7690529e855eeb5492e9cfa8757ec6827d2c
parent e40c353aa233ea422420f490767382589a08e45c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 20:37:50 -0700

sdk: add order submit runtime

</content>
</entry>
<entry>
<id>e40c353aa233ea422420f490767382589a08e45c</id>
<published>2026-06-19T03:26:01Z</published>
<updated>2026-06-19T03:26:01Z</updated>
<title>sdk: add farm publish runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/e40c353aa233ea422420f490767382589a08e45c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e40c353aa233ea422420f490767382589a08e45c
parent 955ac53189a6abc005436f46165dbb83475f68ab
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 20:26:01 -0700

sdk: add farm publish runtime

</content>
</entry>
<entry>
<id>955ac53189a6abc005436f46165dbb83475f68ab</id>
<published>2026-06-19T03:16:23Z</published>
<updated>2026-06-19T03:16:23Z</updated>
<title>sdk: extract private workflow enqueue helper</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/955ac53189a6abc005436f46165dbb83475f68ab.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 955ac53189a6abc005436f46165dbb83475f68ab
parent 9e38332b3a5c4e91bd66f9f2f6d7439ef89d6acd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 20:16:23 -0700

sdk: extract private workflow enqueue helper

</content>
</entry>
<entry>
<id>9e38332b3a5c4e91bd66f9f2f6d7439ef89d6acd</id>
<published>2026-06-19T03:10:36Z</published>
<updated>2026-06-19T03:10:36Z</updated>
<title>sdk: make local-runtime canonical</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/9e38332b3a5c4e91bd66f9f2f6d7439ef89d6acd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9e38332b3a5c4e91bd66f9f2f6d7439ef89d6acd
parent f22049395dee2578a9861ea517411eb250344ddd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 20:10:36 -0700

sdk: make local-runtime canonical

</content>
</entry>
<entry>
<id>f22049395dee2578a9861ea517411eb250344ddd</id>
<published>2026-06-18T20:45:31Z</published>
<updated>2026-06-18T20:45:31Z</updated>
<title>sdk: add source boundary guard</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f22049395dee2578a9861ea517411eb250344ddd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f22049395dee2578a9861ea517411eb250344ddd
parent 6fc0865cd72e40f9b1f7f0e838ac512f8d459a2c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:45:31 -0700

sdk: add source boundary guard

- guard SDK sources against app and CLI concepts
- check SDK manifest for downstream crate dependencies
- keep app integration ownership outside SDK runtime code
- verify SDK closeout matrix and source-boundary tests

</content>
</entry>
<entry>
<id>6fc0865cd72e40f9b1f7f0e838ac512f8d459a2c</id>
<published>2026-06-18T19:51:27Z</published>
<updated>2026-06-18T19:51:27Z</updated>
<title>sdk: add local runtime feature</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/6fc0865cd72e40f9b1f7f0e838ac512f8d459a2c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6fc0865cd72e40f9b1f7f0e838ac512f8d459a2c
parent 125c6e9f3a3b864da9b76d83fc6b130dc95d8dfb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 12:51:27 -0700

sdk: add local runtime feature

- add local-runtime as the neutral SDK runtime bundle
- make cli-runtime compose from the local runtime contract
- export public config and client runtime surface from the crate root
- document local-runtime as the shared local app and CLI feature

</content>
</entry>
<entry>
<id>125c6e9f3a3b864da9b76d83fc6b130dc95d8dfb</id>
<published>2026-06-18T00:58:00Z</published>
<updated>2026-06-18T00:58:00Z</updated>
<title>sdk: implement staged backup restore</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/125c6e9f3a3b864da9b76d83fc6b130dc95d8dfb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 125c6e9f3a3b864da9b76d83fc6b130dc95d8dfb
parent d498a9427c713d37ed1bcea06d9e28921be7e3eb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:58:00 -0700

sdk: implement staged backup restore

- restore SDK event store and outbox through verified staging
- preserve non-destructive defaults and require explicit overwrite
- roll back previous destinations when final verification fails
- cover completed restore, overwrite, and corrupt backup preservation

</content>
</entry>
<entry>
<id>d498a9427c713d37ed1bcea06d9e28921be7e3eb</id>
<published>2026-06-18T00:54:35Z</published>
<updated>2026-06-18T00:54:35Z</updated>
<title>sdk: add restore dry-run preflight</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/d498a9427c713d37ed1bcea06d9e28921be7e3eb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d498a9427c713d37ed1bcea06d9e28921be7e3eb
parent f01cdce17b1cca487f00109802805f1975fdee8e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:54:35 -0700

sdk: add restore dry-run preflight

- add static restore dry-run execution on validated archives
- preflight destination safety without creating target stores
- report planned destination paths while leaving restored paths empty
- cover overwrite, overlap, symlink, corrupt source, and no-write cases

</content>
</entry>
<entry>
<id>f01cdce17b1cca487f00109802805f1975fdee8e</id>
<published>2026-06-18T00:51:05Z</published>
<updated>2026-06-18T00:51:05Z</updated>
<title>sdk: add restore archive contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f01cdce17b1cca487f00109802805f1975fdee8e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f01cdce17b1cca487f00109802805f1975fdee8e
parent 8da75250caf068977b0bdb5986c35ef30cacf70b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:51:05 -0700

sdk: add restore archive contract

- add restore request, archive, receipt, and state DTO exports
- write backup manifests with kind and archive-relative store paths
- validate restore archives without touching destinations
- cover malformed, traversal, symlink, and corrupt backup failures

</content>
</entry>
<entry>
<id>8da75250caf068977b0bdb5986c35ef30cacf70b</id>
<published>2026-06-18T00:45:51Z</published>
<updated>2026-06-18T00:45:51Z</updated>
<title>sdk: harden runtime DTO posture</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/8da75250caf068977b0bdb5986c35ef30cacf70b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8da75250caf068977b0bdb5986c35ef30cacf70b
parent 52dedb8a3211ba7374731f8fef14951017a4c384
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:45:51 -0700

sdk: harden runtime DTO posture

- make runtime request DTOs constructor-led and non-exhaustive
- add constructors for storage, integrity, and backup requests
- update tests to exercise request construction APIs
- document DTO stability classes for runtime consumers

</content>
</entry>
<entry>
<id>52dedb8a3211ba7374731f8fef14951017a4c384</id>
<published>2026-06-18T00:42:40Z</published>
<updated>2026-06-18T00:42:40Z</updated>
<title>sdk: harden public error contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/52dedb8a3211ba7374731f8fef14951017a4c384.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 52dedb8a3211ba7374731f8fef14951017a4c384
parent 1e922fb3c24b8fa9f183230e975dae9efbf0517c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:42:40 -0700

sdk: harden public error contract

- mark RadrootsSdkError as non-exhaustive for public evolution
- document method-based error handling for runtime callers
- extend error detail assertions for class and recovery data
- preserve existing error codes and structured behavior

</content>
</entry>
<entry>
<id>1e922fb3c24b8fa9f183230e975dae9efbf0517c</id>
<published>2026-06-17T23:01:14Z</published>
<updated>2026-06-17T23:01:14Z</updated>
<title>sdk: gate runtime example by feature</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/1e922fb3c24b8fa9f183230e975dae9efbf0517c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1e922fb3c24b8fa9f183230e975dae9efbf0517c
parent 3e57925ee07160b9f88e9ad255d9575c45f7e86d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 16:01:14 -0700

sdk: gate runtime example by feature

- declare runtime_local as a cli-runtime example

- keep default workspace tests from compiling runtime-only APIs without the feature bundle

- preserve explicit feature-gated example execution

</content>
</entry>
<entry>
<id>3e57925ee07160b9f88e9ad255d9575c45f7e86d</id>
<published>2026-06-17T21:17:23Z</published>
<updated>2026-06-17T21:17:23Z</updated>
<title>storage: add SDK status backup and integrity APIs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/3e57925ee07160b9f88e9ad255d9575c45f7e86d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3e57925ee07160b9f88e9ad255d9575c45f7e86d
parent 47fc2e0501103b8eca9f0090550349a62944b548
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 14:17:23 -0700

storage: add SDK status backup and integrity APIs

- expose SDK canonical storage status and integrity receipts for event-store and outbox
- implement safe SQLite VACUUM INTO backup with manifest and backup verification
- include outbox failed-terminal counts and runtime sqlx dependency for storage internals
- validate with SDK fmt, check, test, xtask, WASM, pnpm build, and typecheck lanes

</content>
</entry>
<entry>
<id>47fc2e0501103b8eca9f0090550349a62944b548</id>
<published>2026-06-17T21:03:43Z</published>
<updated>2026-06-17T21:03:43Z</updated>
<title>sync: add SDK status and push policy contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/47fc2e0501103b8eca9f0090550349a62944b548.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 47fc2e0501103b8eca9f0090550349a62944b548
parent 2a77aee91492d052e1b22aa009266cf223dbe7b8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 14:03:43 -0700

sync: add SDK status and push policy contracts

- add sync status request/receipt DTOs over SDK canonical event-store and outbox summaries
- expose push relay URL policy, auth detection policy, claim TTL, and retry delay controls
- default push to public relay policy and require explicit localhost policy for ws targets
- compute publish timing per claim iteration and preserve ordered relay attempts in receipts
- validate with SDK fmt, feature checks, package tests, xtask, WASM generation, and pnpm lanes

</content>
</entry>
<entry>
<id>2a77aee91492d052e1b22aa009266cf223dbe7b8</id>
<published>2026-06-17T20:47:39Z</published>
<updated>2026-06-17T20:47:39Z</updated>
<title>sdk: add runtime contract DTOs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/2a77aee91492d052e1b22aa009266cf223dbe7b8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2a77aee91492d052e1b22aa009266cf223dbe7b8
parent 84e4f67d326c8c5d1153f1c709fa52d2cf6dfaa5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 13:47:39 -0700

sdk: add runtime contract DTOs

- expose stable SDK error codes, classes, retryability, details, and typed recovery actions

- serialize CLI-facing runtime DTOs with redacted idempotency and signer-sensitive fields

- reject boundary whitespace in SDK idempotency keys and split relay caller order from canonical digest order

- validate with SDK fmt, no-default check, cli-runtime tests, all-features tests, workspace check, and xtask check

</content>
</entry>
<entry>
<id>84e4f67d326c8c5d1153f1c709fa52d2cf6dfaa5</id>
<published>2026-06-17T20:31:14Z</published>
<updated>2026-06-17T20:31:14Z</updated>
<title>sdk: add CLI runtime feature</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/84e4f67d326c8c5d1153f1c709fa52d2cf6dfaa5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 84e4f67d326c8c5d1153f1c709fa52d2cf6dfaa5
parent ee5b0e361da1c8bd09900c2cd53d66271e59921a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 13:31:14 -0700

sdk: add CLI runtime feature

- add the curated cli-runtime feature bundle for command-line runtime consumers

- include runtime, signer, relay runtime, signing, serde, and temporary relay-client support

- document that cli-runtime intentionally excludes radrootsd-client

- keep the relay-client inclusion scoped to unmigrated direct publish callers

</content>
</entry>
<entry>
<id>ee5b0e361da1c8bd09900c2cd53d66271e59921a</id>
<published>2026-06-16T21:21:57Z</published>
<updated>2026-06-16T21:21:57Z</updated>
<title>sdk: guard product examples and relay policy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/ee5b0e361da1c8bd09900c2cd53d66271e59921a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ee5b0e361da1c8bd09900c2cd53d66271e59921a
parent b08a9a6e98569ebcbcbd9975cb2c959c051fe5a9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 14:21:57 -0700

sdk: guard product examples and relay policy

</content>
</entry>
<entry>
<id>b08a9a6e98569ebcbcbd9975cb2c959c051fe5a9</id>
<published>2026-06-16T21:20:29Z</published>
<updated>2026-06-16T21:20:29Z</updated>
<title>sdk: add v1 product examples</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/b08a9a6e98569ebcbcbd9975cb2c959c051fe5a9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b08a9a6e98569ebcbcbd9975cb2c959c051fe5a9
parent e1d407387158a606a68ef30f7cdbe59e9cae7dd8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 14:20:29 -0700

sdk: add v1 product examples

</content>
</entry>
<entry>
<id>e1d407387158a606a68ef30f7cdbe59e9cae7dd8</id>
<published>2026-06-16T21:18:21Z</published>
<updated>2026-06-16T21:18:21Z</updated>
<title>sdk: use localhost relay policy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/e1d407387158a606a68ef30f7cdbe59e9cae7dd8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e1d407387158a606a68ef30f7cdbe59e9cae7dd8
parent 72e638c79da1d0f420ac742bb29375ab5ccf1f2c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 14:18:21 -0700

sdk: use localhost relay policy

</content>
</entry>
<entry>
<id>72e638c79da1d0f420ac742bb29375ab5ccf1f2c</id>
<published>2026-06-16T20:20:35Z</published>
<updated>2026-06-16T20:20:35Z</updated>
<title>sdk: quiet no-default imports</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/72e638c79da1d0f420ac742bb29375ab5ccf1f2c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 72e638c79da1d0f420ac742bb29375ab5ccf1f2c
parent 49e68230ad6b0f607e23a976fed9339138ea2346
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 13:20:35 -0700

sdk: quiet no-default imports

- gate SDK facade imports to the serde_json draft and parse surface
- keep listing tag helpers available without the JSON feature
- remove no-default unused-import warnings without API changes
- verify default, no-default, and all-features check lanes

</content>
</entry>
<entry>
<id>49e68230ad6b0f607e23a976fed9339138ea2346</id>
<published>2026-06-16T20:18:04Z</published>
<updated>2026-06-16T20:18:04Z</updated>
<title>sdk: cover empty configured relay enqueue</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/49e68230ad6b0f607e23a976fed9339138ea2346.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 49e68230ad6b0f607e23a976fed9339138ea2346
parent 5c5280d83ca596c63940df7e0e6e69d2a169cfae
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 13:18:04 -0700

sdk: cover empty configured relay enqueue

- add a listing runtime test for UseConfiguredRelays without builder relays
- keep empty relay default resolution at the enqueue boundary
- preserve queued outbox sync behavior without a builder relay precondition
- verify runtime and relay-runtime SDK test lanes

</content>
</entry>
<entry>
<id>5c5280d83ca596c63940df7e0e6e69d2a169cfae</id>
<published>2026-06-16T07:20:15Z</published>
<updated>2026-06-16T07:20:15Z</updated>
<title>sdk: document queued sync targets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/5c5280d83ca596c63940df7e0e6e69d2a169cfae.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5c5280d83ca596c63940df7e0e6e69d2a169cfae
parent f3ca1fd7c44501499eda194dacdb0bb6ad6aa306
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:20:15 -0700

sdk: document queued sync targets

</content>
</entry>
<entry>
<id>f3ca1fd7c44501499eda194dacdb0bb6ad6aa306</id>
<published>2026-06-16T07:19:00Z</published>
<updated>2026-06-16T07:19:00Z</updated>
<title>sdk: type push outbox event ids</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/f3ca1fd7c44501499eda194dacdb0bb6ad6aa306.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f3ca1fd7c44501499eda194dacdb0bb6ad6aa306
parent ac234eda1ff594ee0a96497e2cad326070fef46b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:19:00 -0700

sdk: type push outbox event ids

</content>
</entry>
<entry>
<id>ac234eda1ff594ee0a96497e2cad326070fef46b</id>
<published>2026-06-16T07:17:07Z</published>
<updated>2026-06-16T07:17:07Z</updated>
<title>sdk: harden sync failure tests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/ac234eda1ff594ee0a96497e2cad326070fef46b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ac234eda1ff594ee0a96497e2cad326070fef46b
parent 91e3b1f224cbc0ed4fe9ba7566b03e61ea781cd1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:17:07 -0700

sdk: harden sync failure tests

</content>
</entry>
<entry>
<id>91e3b1f224cbc0ed4fe9ba7566b03e61ea781cd1</id>
<published>2026-06-16T07:15:38Z</published>
<updated>2026-06-16T07:15:38Z</updated>
<title>sdk: use local-dev relay policy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/91e3b1f224cbc0ed4fe9ba7566b03e61ea781cd1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 91e3b1f224cbc0ed4fe9ba7566b03e61ea781cd1
parent 5e5a352931239d13995790f0095d07d0c3c22f80
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:15:38 -0700

sdk: use local-dev relay policy

</content>
</entry>
<entry>
<id>5e5a352931239d13995790f0095d07d0c3c22f80</id>
<published>2026-06-16T07:12:03Z</published>
<updated>2026-06-16T07:12:03Z</updated>
<title>sdk: push queued outbox targets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/5e5a352931239d13995790f0095d07d0c3c22f80.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5e5a352931239d13995790f0095d07d0c3c22f80
parent 79b055e9c7e5c59587152e9494827dfc3096d7cc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:12:03 -0700

sdk: push queued outbox targets

</content>
</entry>
<entry>
<id>79b055e9c7e5c59587152e9494827dfc3096d7cc</id>
<published>2026-06-16T07:10:22Z</published>
<updated>2026-06-16T07:10:22Z</updated>
<title>sdk: gate runtime exports</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/79b055e9c7e5c59587152e9494827dfc3096d7cc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 79b055e9c7e5c59587152e9494827dfc3096d7cc
parent 09eb8e11bcc1ab0e0a17e23b3f9c98f7e3c5655f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 16 Jun 2026 00:10:22 -0700

sdk: gate runtime exports

</content>
</entry>
<entry>
<id>09eb8e11bcc1ab0e0a17e23b3f9c98f7e3c5655f</id>
<published>2026-06-16T05:43:00Z</published>
<updated>2026-06-16T05:43:00Z</updated>
<title>sdk: document product runtime completion</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/09eb8e11bcc1ab0e0a17e23b3f9c98f7e3c5655f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 09eb8e11bcc1ab0e0a17e23b3f9c98f7e3c5655f
parent 4f12d0215da93b51d2b9a6a8b597c7308938515e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 22:43:00 -0700

sdk: document product runtime completion

</content>
</entry>
<entry>
<id>4f12d0215da93b51d2b9a6a8b597c7308938515e</id>
<published>2026-06-16T05:39:51Z</published>
<updated>2026-06-16T05:39:51Z</updated>
<title>sdk: add product api guard tests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/4f12d0215da93b51d2b9a6a8b597c7308938515e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4f12d0215da93b51d2b9a6a8b597c7308938515e
parent 9b7e4a4ef5fa07f6c2f4fe7c759a63800e503a69
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 22:39:51 -0700

sdk: add product api guard tests

</content>
</entry>
<entry>
<id>9b7e4a4ef5fa07f6c2f4fe7c759a63800e503a69</id>
<published>2026-06-16T05:37:58Z</published>
<updated>2026-06-16T05:37:58Z</updated>
<title>sdk: split runtime target modules</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/9b7e4a4ef5fa07f6c2f4fe7c759a63800e503a69.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9b7e4a4ef5fa07f6c2f4fe7c759a63800e503a69
parent 140ee41c9956bc1121f6d424342e4643e2af4c3e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 22:37:58 -0700

sdk: split runtime target modules

</content>
</entry>
<entry>
<id>140ee41c9956bc1121f6d424342e4643e2af4c3e</id>
<published>2026-06-16T05:34:37Z</published>
<updated>2026-06-16T05:34:37Z</updated>
<title>sdk: separate listing observation time</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/140ee41c9956bc1121f6d424342e4643e2af4c3e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 140ee41c9956bc1121f6d424342e4643e2af4c3e
parent 2397de02f145089dd8d335fd6d91daf61ebddcc9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 22:34:37 -0700

sdk: separate listing observation time

</content>
</entry>
<entry>
<id>2397de02f145089dd8d335fd6d91daf61ebddcc9</id>
<published>2026-06-16T05:32:35Z</published>
<updated>2026-06-16T05:32:35Z</updated>
<title>sdk: add prepared listing enqueue</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/2397de02f145089dd8d335fd6d91daf61ebddcc9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2397de02f145089dd8d335fd6d91daf61ebddcc9
parent b5c7b0d62c8477fc2621a549bd21e762dc25af3f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 22:32:35 -0700

sdk: add prepared listing enqueue

</content>
</entry>
<entry>
<id>b5c7b0d62c8477fc2621a549bd21e762dc25af3f</id>
<published>2026-06-16T00:34:59Z</published>
<updated>2026-06-16T00:34:59Z</updated>
<title>sdk: document runtime publish posture</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/b5c7b0d62c8477fc2621a549bd21e762dc25af3f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b5c7b0d62c8477fc2621a549bd21e762dc25af3f
parent b743b87c31b4b51d82e7148ba4fedbf8d5b35250
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 17:34:59 -0700

sdk: document runtime publish posture

</content>
</entry>
<entry>
<id>b743b87c31b4b51d82e7148ba4fedbf8d5b35250</id>
<published>2026-06-16T00:30:25Z</published>
<updated>2026-06-16T00:30:25Z</updated>
<title>sdk: narrow protocol adapter surfaces</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/b743b87c31b4b51d82e7148ba4fedbf8d5b35250.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b743b87c31b4b51d82e7148ba4fedbf8d5b35250
parent ba79ad1f6641b3ec86ffad50c1672f49134e78ab
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 17:30:25 -0700

sdk: narrow protocol adapter surfaces

</content>
</entry>
<entry>
<id>ba79ad1f6641b3ec86ffad50c1672f49134e78ab</id>
<published>2026-06-16T00:21:03Z</published>
<updated>2026-06-16T00:21:03Z</updated>
<title>sdk: add runtime error taxonomy</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/ba79ad1f6641b3ec86ffad50c1672f49134e78ab.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ba79ad1f6641b3ec86ffad50c1672f49134e78ab
parent 2dd31d71067eed4281d22bbfbaff5125223fd56f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 17:21:03 -0700

sdk: add runtime error taxonomy

- Add structured SDK runtime errors for actor authorization, signer mismatch, relay targets, idempotency, order status, and sync setup.
- Route known authority, listing, outbox, relay transport, order status, and sync failures through product-matchable variants.
- Preserve redacted display text with pubkey and digest prefixes plus relay URL userinfo redaction.
- Update runtime and all-features tests to match structured failures without parsing strings.

</content>
</entry>
<entry>
<id>2dd31d71067eed4281d22bbfbaff5125223fd56f</id>
<published>2026-06-16T00:12:34Z</published>
<updated>2026-06-16T00:12:34Z</updated>
<title>sdk: enrich order status receipts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/2dd31d71067eed4281d22bbfbaff5125223fd56f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2dd31d71067eed4281d22bbfbaff5125223fd56f
parent 933b2de1308ab748607682924f1cda22fee327fd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 17:12:34 -0700

sdk: enrich order status receipts

- Make order status requests carry typed order IDs with a parse constructor for user input.
- Expose local source, exact event count, applied limit, and typed event IDs on receipts.
- Replace issue counts with typed redacted reducer issues and event ID details.
- Expand runtime tests for missing, invalid, limited, accepted, malformed, and conflict states.

</content>
</entry>
<entry>
<id>933b2de1308ab748607682924f1cda22fee327fd</id>
<published>2026-06-16T00:04:49Z</published>
<updated>2026-06-16T00:04:49Z</updated>
<title>sdk: harden sync push claim resilience</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/933b2de1308ab748607682924f1cda22fee327fd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 933b2de1308ab748607682924f1cda22fee327fd
parent 391dfcc065bdf6b21bb28b9d90b54d7fb7402f2e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 17:04:49 -0700

sdk: harden sync push claim resilience

- Generate runtime push-outbox claim tokens with UUID v7 instead of timestamp and loop indexes.
- Add focused coverage that immediate claim token generation is collision-resistant.
- Prove adapter transport failures produce retryable event receipts without aborting the batch.
- Include the runtime-scoped uuid dependency and lockfile edge required by the SDK crate.

</content>
</entry>
<entry>
<id>391dfcc065bdf6b21bb28b9d90b54d7fb7402f2e</id>
<published>2026-06-15T23:57:03Z</published>
<updated>2026-06-15T23:57:03Z</updated>
<title>sdk: add product outbox push API</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/391dfcc065bdf6b21bb28b9d90b54d7fb7402f2e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 391dfcc065bdf6b21bb28b9d90b54d7fb7402f2e
parent 78a7efa47971856939798226fe443c2b3769c972
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 16:57:03 -0700

sdk: add product outbox push API

- rename the adapter-based sync method to push_outbox_with_adapter
- add product push_outbox for relay-runtime builds
- return a structured unsupported-feature error without relay-runtime
- cover configured-relay and adapter sync paths in runtime tests

</content>
</entry>
<entry>
<id>78a7efa47971856939798226fe443c2b3769c972</id>
<published>2026-06-15T23:53:38Z</published>
<updated>2026-06-15T23:53:38Z</updated>
<title>sdk: enrich listing enqueue receipts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/78a7efa47971856939798226fe443c2b3769c972.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 78a7efa47971856939798226fe443c2b3769c972
parent a91221f03664e4d45556268b4d5014c0be421e92
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 16:53:38 -0700

sdk: enrich listing enqueue receipts

- return typed listing addresses, event IDs, store seq, and outbox IDs
- surface inserted versus existing enqueue state in product receipts
- add redacted partial outbox enqueue recovery context
- remove the stale nested local mutation receipt wrapper

</content>
</entry>
<entry>
<id>a91221f03664e4d45556268b4d5014c0be421e92</id>
<published>2026-06-15T23:48:45Z</published>
<updated>2026-06-15T23:48:45Z</updated>
<title>sdk: split listing publish runtime requests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/a91221f03664e4d45556268b4d5014c0be421e92.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a91221f03664e4d45556268b4d5014c0be421e92
parent 0a33a01d2ba94c67d19e2677819b1f29882ec679
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 16:48:45 -0700

sdk: split listing publish runtime requests

- replace the broad listing publish request with prepare and enqueue contracts
- return typed listing publish plans with event and address identifiers
- separate relay target selection from relay URL validation policy
- update runtime tests and examples for the product listing API

</content>
</entry>
<entry>
<id>0a33a01d2ba94c67d19e2677819b1f29882ec679</id>
<published>2026-06-15T23:41:07Z</published>
<updated>2026-06-15T23:41:07Z</updated>
<title>sdk: add runtime relay and idempotency primitives</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/0a33a01d2ba94c67d19e2677819b1f29882ec679.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0a33a01d2ba94c67d19e2677819b1f29882ec679
parent a5518058061e5d4d7d04467df1fae4211f817dfe
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 16:41:07 -0700

sdk: add runtime relay and idempotency primitives

- add typed relay target policy and normalized target set contracts
- add bounded redacted SDK idempotency keys with SHA-256 derivation
- validate builder relays through the runtime target policy
- derive listing enqueue keys for deterministic outbox idempotency

</content>
</entry>
<entry>
<id>a5518058061e5d4d7d04467df1fae4211f817dfe</id>
<published>2026-06-15T21:29:08Z</published>
<updated>2026-06-15T21:29:08Z</updated>
<title>sdk: demote protocol facade</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/a5518058061e5d4d7d04467df1fae4211f817dfe.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a5518058061e5d4d7d04467df1fae4211f817dfe
parent 873a2daee1a1895ffa8e7c60bb3d9fd4b0dfb25a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:29:08 -0700

sdk: demote protocol facade

Move low-level facade, config, wire, direct relay, and radrootsd surfaces under sdk::protocol while keeping the SDK v1 product runtime at the crate root. Add a local runtime example and update tests/docs for the new public surface.

</content>
</entry>
<entry>
<id>873a2daee1a1895ffa8e7c60bb3d9fd4b0dfb25a</id>
<published>2026-06-15T21:20:49Z</published>
<updated>2026-06-15T21:20:49Z</updated>
<title>sdk: add order status runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/873a2daee1a1895ffa8e7c60bb3d9fd4b0dfb25a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 873a2daee1a1895ffa8e7c60bb3d9fd4b0dfb25a
parent d8ad5e3bbf77649df87e7f9edbf497613ed7f271
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:20:49 -0700

sdk: add order status runtime

Add the local order status API over the rr-rs trade projection contract with SDK-owned product receipts. Cover missing orders, accepted lifecycle projection, invalid limits, and sanitized malformed-store errors.

</content>
</entry>
<entry>
<id>d8ad5e3bbf77649df87e7f9edbf497613ed7f271</id>
<published>2026-06-15T21:12:09Z</published>
<updated>2026-06-15T21:12:09Z</updated>
<title>sdk: add sync outbox push runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/d8ad5e3bbf77649df87e7f9edbf497613ed7f271.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d8ad5e3bbf77649df87e7f9edbf497613ed7f271
parent a9d58022a41f36f2ec33fb53ecf9ed2e57360b80
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:12:09 -0700

sdk: add sync outbox push runtime

Add the runtime sync API for publishing signed outbox events through relay adapters with product-level receipts. Cover accepted, retryable, terminal, invalid-limit, empty-queue, and unsigned-work skip behavior.

</content>
</entry>
<entry>
<id>a9d58022a41f36f2ec33fb53ecf9ed2e57360b80</id>
<published>2026-06-15T21:04:20Z</published>
<updated>2026-06-15T21:04:20Z</updated>
<title>sdk: add listing publish runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/a9d58022a41f36f2ec33fb53ecf9ed2e57360b80.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a9d58022a41f36f2ec33fb53ecf9ed2e57360b80
parent 4eb56c578968161e1b9ce2f4ae65fae3a4f3fd70
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:04:20 -0700

sdk: add listing publish runtime

- add ListingsClient prepare_publish and enqueue_publish over canonical trade drafts
- ingest signed listing events locally before signed outbox enqueue
- cover side-effect-free prepare, signed queueing, signer errors, and partial local mutation recovery
- validation: cargo check -p radroots_sdk --features runtime; cargo test -p radroots_sdk --features runtime

</content>
</entry>
<entry>
<id>4eb56c578968161e1b9ce2f4ae65fae3a4f3fd70</id>
<published>2026-06-15T20:55:33Z</published>
<updated>2026-06-15T20:55:33Z</updated>
<title>sdk: add runtime foundation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/4eb56c578968161e1b9ce2f4ae65fae3a4f3fd70.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4eb56c578968161e1b9ce2f4ae65fae3a4f3fd70
parent 0675889988526ff65e7764971545fb1f4c26d9b5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 13:55:33 -0700

sdk: add runtime foundation

- add the gated RadrootsSdk builder, storage, clock, error, and receipt primitives
- wire runtime, local-signer, and relay-runtime feature dependencies
- cover memory defaults, directory SQLite paths, fixed clock, timestamp bounds, and sanitized partial errors
- validation: cargo check -p radroots_sdk --features runtime; cargo test -p radroots_sdk --features runtime

</content>
</entry>
<entry>
<id>0675889988526ff65e7764971545fb1f4c26d9b5</id>
<published>2026-06-14T22:30:43Z</published>
<updated>2026-06-14T22:30:43Z</updated>
<title>build: refresh radroots lock edge</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/sdkcommit/0675889988526ff65e7764971545fb1f4c26d9b5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0675889988526ff65e7764971545fb1f4c26d9b5
parent 66ec1d1bb2815700002daec43754b9204eec2634
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 15:30:43 -0700

build: refresh radroots lock edge

- remove the stale radroots_authority thiserror lock dependency
- keep the lockfile aligned with the current local radroots path dependency
- preserve the current SDK source env contract changes
- rely on the final all-features test gate for validation

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