<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>app, branch HEAD</title>
<subtitle>Local-first trade for farms and co-ops
</subtitle>
<entry>
<id>c0ecbbd484ea636ea068a05e86a0b4fe2961295c</id>
<published>2026-06-24T01:13:39Z</published>
<updated>2026-06-24T01:13:39Z</updated>
<title>app: share NIP-46 signer execution</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/c0ecbbd484ea636ea068a05e86a0b4fe2961295c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c0ecbbd484ea636ea068a05e86a0b4fe2961295c
parent 73c6e71560a3f3ece67546960a1ffb82d80466ee
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 24 Jun 2026 01:13:39 +0000

app: share NIP-46 signer execution

- route app remote signer requests through shared NIP-46 transport primitives
- make startup signer connect and polling await the async signer API
- keep app SDK local-key writes on explicit-signer enqueue methods
- refresh signer dependency features, lock state, and source guard ownership

</content>
</entry>
<entry>
<id>73c6e71560a3f3ece67546960a1ffb82d80466ee</id>
<published>2026-06-20T04:21:06Z</published>
<updated>2026-06-20T04:21:06Z</updated>
<title>app: align order negotiation workflow</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/73c6e71560a3f3ece67546960a1ffb82d80466ee.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 73c6e71560a3f3ece67546960a1ffb82d80466ee
parent a4c8f33021f25909d5afe3d4520b2d2cccd5e809
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 21:21:06 -0700

app: align order negotiation workflow

- remove missed-pickup recovery state, storage, reminders, and UI
- drop missed-pickup policy from farm operating rules and localized copy
- align buyer cancellation and seller revision paths with pre-agreement SDK lifecycle
- validate full desktop, view, sqlite, i18n, state, source-guard, and check gates

</content>
</entry>
<entry>
<id>a4c8f33021f25909d5afe3d4520b2d2cccd5e809</id>
<published>2026-06-20T03:39:39Z</published>
<updated>2026-06-20T03:39:39Z</updated>
<title>app: align order UI copy with agreements</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/a4c8f33021f25909d5afe3d4520b2d2cccd5e809.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a4c8f33021f25909d5afe3d4520b2d2cccd5e809
parent 8c9c1ad86c52e90b749fd68a03493c630b7e71cf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 20:39:39 -0700

app: align order UI copy with agreements

- remove stale payment, refund, receipt, and delivery-progress locale rows
- render buyer and farmer order statuses as requested or agreed states
- keep pickup and delivery terms visible without post-agreement lifecycle wording
- update source guards for localized agreement workflow copy

</content>
</entry>
<entry>
<id>8c9c1ad86c52e90b749fd68a03493c630b7e71cf</id>
<published>2026-06-20T03:32:35Z</published>
<updated>2026-06-20T03:32:35Z</updated>
<title>app: prune agreement-only order state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/8c9c1ad86c52e90b749fd68a03493c630b7e71cf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8c9c1ad86c52e90b749fd68a03493c630b7e71cf
parent 42be1a19470d6c46dec0afe51a7ba15eeffeb979
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 20:32:35 -0700

app: prune agreement-only order state

- remove payment, settlement, receipt, and fulfillment lifecycle app surfaces
- collapse sync, SDK, store, and view projections onto request agreement flow
- update migrations and interop tests for revision and pre-agreement cancellation
- refresh UI, i18n, and source guards after deleting obsolete workflow fields

</content>
</entry>
<entry>
<id>42be1a19470d6c46dec0afe51a7ba15eeffeb979</id>
<published>2026-06-19T23:23:01Z</published>
<updated>2026-06-19T23:23:01Z</updated>
<title>sync: guard deferred payment publish work</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/42be1a19470d6c46dec0afe51a7ba15eeffeb979.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 42be1a19470d6c46dec0afe51a7ba15eeffeb979
parent 9c059aa95eb3d76521b708c9d93864e3996c1985
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 16:23:01 -0700

sync: guard deferred payment publish work

- keep app publish work limited to active farm listing and order lifecycle kinds

- reject checkout refund provider wallet and custody publish tokens

- preserve passive payment display while payment execution stays out of app sync

</content>
</entry>
<entry>
<id>9c059aa95eb3d76521b708c9d93864e3996c1985</id>
<published>2026-06-19T22:00:35Z</published>
<updated>2026-06-19T22:00:35Z</updated>
<title>runtime: harden listing publish retry state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/9c059aa95eb3d76521b708c9d93864e3996c1985.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9c059aa95eb3d76521b708c9d93864e3996c1985
parent 4bafc5949810eaa6bd88471c45be1e156031a117
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 15:00:35 -0700

runtime: harden listing publish retry state

- move listing enqueue failures out of sqlite store errors
- keep product editor and stock retries enabled after local persistence succeeds
- return successful publish enqueue as a changed runtime result
- cover product and stock SDK retry recovery with regression tests

</content>
</entry>
<entry>
<id>4bafc5949810eaa6bd88471c45be1e156031a117</id>
<published>2026-06-19T21:18:01Z</published>
<updated>2026-06-19T21:36:41Z</updated>
<title>runtime: propagate listing SDK enqueue failure</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/4bafc5949810eaa6bd88471c45be1e156031a117.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4bafc5949810eaa6bd88471c45be1e156031a117
parent 7b24c1c8706571fedd28f6476a99afd3943c881a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 14:18:01 -0700

runtime: propagate listing SDK enqueue failure

</content>
</entry>
<entry>
<id>7b24c1c8706571fedd28f6476a99afd3943c881a</id>
<published>2026-06-19T11:29:59Z</published>
<updated>2026-06-19T11:29:59Z</updated>
<title>runtime: align order lifecycle SDK evidence tests</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/7b24c1c8706571fedd28f6476a99afd3943c881a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7b24c1c8706571fedd28f6476a99afd3943c881a
parent 47ef6f21ed8a157d0cac900ea18e75f9f0377157
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 04:29:59 -0700

runtime: align order lifecycle SDK evidence tests

- Sign app order lifecycle fixture events with deterministic test identities.
- Assert SDK migration receipts for migrated lifecycle publish paths.
- Align rejected payment evidence with the pre-payment lifecycle boundary.
- Keep reducer-invalid fixtures distinct under verified event ids.

</content>
</entry>
<entry>
<id>47ef6f21ed8a157d0cac900ea18e75f9f0377157</id>
<published>2026-06-19T10:56:15Z</published>
<updated>2026-06-19T10:56:15Z</updated>
<title>runtime: remove listing direct publish guard exceptions</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/47ef6f21ed8a157d0cac900ea18e75f9f0377157.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 47ef6f21ed8a157d0cac900ea18e75f9f0377157
parent c3f8b0d732d12def73289caa15e0f9704b896ff2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 03:56:15 -0700

runtime: remove listing direct publish guard exceptions

- rename the app sync transport away from legacy direct publish identity
- remove obsolete listing publish SDK boundary allowlist entries
- keep remaining deferred account and local outbox guard exceptions explicit
- update source guard injection coverage for runtime SDK client rejection

</content>
</entry>
<entry>
<id>c3f8b0d732d12def73289caa15e0f9704b896ff2</id>
<published>2026-06-19T10:52:57Z</published>
<updated>2026-06-19T10:52:57Z</updated>
<title>runtime: migrate listing publish to SDK runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/c3f8b0d732d12def73289caa15e0f9704b896ff2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c3f8b0d732d12def73289caa15e0f9704b896ff2
parent 3e1416eb9f62025d7c7b2e53bb5d589252d7beb5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 03:52:57 -0700

runtime: migrate listing publish to SDK runtime

- enqueue product listing publish through AppSdkRuntime
- remove legacy direct SDK listing publish transport
- record listing SDK migration receipts
- align listing publish metadata with the SDK operation kind

</content>
</entry>
<entry>
<id>3e1416eb9f62025d7c7b2e53bb5d589252d7beb5</id>
<published>2026-06-19T10:28:13Z</published>
<updated>2026-06-19T10:28:13Z</updated>
<title>runtime: add SDK listing enqueue command</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/3e1416eb9f62025d7c7b2e53bb5d589252d7beb5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3e1416eb9f62025d7c7b2e53bb5d589252d7beb5
parent 1dce31d18b21b95607eace4704391a457e04ee34
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 03:28:13 -0700

runtime: add SDK listing enqueue command

Add the app SDK listing publish request, worker command, runtime method, SDK enqueue implementation, and workflow receipt mapping.

Cover the command with a runtime test that enqueues listing publish work into the SDK outbox without publishing.

</content>
</entry>
<entry>
<id>1dce31d18b21b95607eace4704391a457e04ee34</id>
<published>2026-06-19T08:46:33Z</published>
<updated>2026-06-19T08:46:33Z</updated>
<title>view: align order projection fixture</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/1dce31d18b21b95607eace4704391a457e04ee34.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1dce31d18b21b95607eace4704391a457e04ee34
parent 908de111a715b71161b5fb8d4a4c3d36be5b8b79
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 01:46:33 -0700

view: align order projection fixture

</content>
</entry>
<entry>
<id>908de111a715b71161b5fb8d4a4c3d36be5b8b79</id>
<published>2026-06-19T06:59:01Z</published>
<updated>2026-06-19T06:59:01Z</updated>
<title>app: route order lifecycle through sdk</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/908de111a715b71161b5fb8d4a4c3d36be5b8b79.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 908de111a715b71161b5fb8d4a4c3d36be5b8b79
parent 5c695d9197f36945772e05c820085671b61a24a4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 23:59:01 -0700

app: route order lifecycle through sdk

- add app SDK runtime commands for revision, cancellation, fulfillment, and receipt writes
- feed request and lifecycle evidence into SDK order enqueue calls before publishing follow-on events
- record migration receipts for lifecycle writes and refresh projections through the SDK-backed path
- narrow sync metadata and source guards so lifecycle direct publish calls cannot re-enter production paths

</content>
</entry>
<entry>
<id>5c695d9197f36945772e05c820085671b61a24a4</id>
<published>2026-06-19T05:58:52Z</published>
<updated>2026-06-19T05:58:52Z</updated>
<title>app: route order decisions through sdk</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/5c695d9197f36945772e05c820085671b61a24a4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5c695d9197f36945772e05c820085671b61a24a4
parent 6d526c6eed09458c366ede7d3897185f160784e0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 22:58:52 -0700

app: route order decisions through sdk

- add an AppSdkRuntime command for seller order decisions
- record SDK migration receipts for migrated decision records
- remove direct relay publishing from migrated decision payloads
- tighten sync metadata and source guards around decision work

</content>
</entry>
<entry>
<id>6d526c6eed09458c366ede7d3897185f160784e0</id>
<published>2026-06-19T05:07:46Z</published>
<updated>2026-06-19T05:07:46Z</updated>
<title>app: migrate farm and order publish to sdk</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/6d526c6eed09458c366ede7d3897185f160784e0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6d526c6eed09458c366ede7d3897185f160784e0
parent af42bf80c47d7c40ec38d04fd9f4e319a50c2acd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 22:07:46 -0700

app: migrate farm and order publish to sdk

- route farm publish and buyer order request work through AppSdkRuntime
- record SDK migration receipts instead of local_outbox publish rows for migrated work
- tighten direct relay tests and source guards around migrated payloads
- align test bootstrap with SDK runtime recovery

</content>
</entry>
<entry>
<id>af42bf80c47d7c40ec38d04fd9f4e319a50c2acd</id>
<published>2026-06-19T04:35:56Z</published>
<updated>2026-06-19T04:35:56Z</updated>
<title>store: add sdk migration receipts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/af42bf80c47d7c40ec38d04fd9f4e319a50c2acd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit af42bf80c47d7c40ec38d04fd9f4e319a50c2acd
parent df0b3a84a4b7c33b43879d6c9f70ec8c3751d7d2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 21:35:56 -0700

store: add sdk migration receipts

</content>
</entry>
<entry>
<id>df0b3a84a4b7c33b43879d6c9f70ec8c3751d7d2</id>
<published>2026-06-18T21:41:42Z</published>
<updated>2026-06-18T21:41:42Z</updated>
<title>app: harden sdk runtime shutdown</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/df0b3a84a4b7c33b43879d6c9f70ec8c3751d7d2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit df0b3a84a4b7c33b43879d6c9f70ec8c3751d7d2
parent 4cb986daef8d642f315a236a0a7a511990d0121f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 14:41:42 -0700

app: harden sdk runtime shutdown

- decouple SDK shutdown from normal bounded command queue pressure
- drop the command sender and join the worker through a dedicated shutdown flag
- preserve CommandQueueFull behavior for ordinary SDK commands
- cover full-queue shutdown and lifecycle status behavior in runtime tests

</content>
</entry>
<entry>
<id>4cb986daef8d642f315a236a0a7a511990d0121f</id>
<published>2026-06-18T21:35:39Z</published>
<updated>2026-06-18T21:35:39Z</updated>
<title>app: expand sdk boundary source guards</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/4cb986daef8d642f315a236a0a7a511990d0121f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4cb986daef8d642f315a236a0a7a511990d0121f
parent 8df4791632b9a206d2a28fa4fc6d1bd718c68b01
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 14:35:39 -0700

app: expand sdk boundary source guards

- scan app production Rust sources with the full strict SDK boundary pattern set
- require owner, reason, and removal condition for remaining legacy SDK boundary exceptions
- add raw-key custody allowlist entries for current account and signer bootstrap paths
- cover new unallowlisted production paths with a focused source guard regression

</content>
</entry>
<entry>
<id>8df4791632b9a206d2a28fa4fc6d1bd718c68b01</id>
<published>2026-06-18T21:29:21Z</published>
<updated>2026-06-18T21:29:21Z</updated>
<title>app: surface sdk diagnostics in about status</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/8df4791632b9a206d2a28fa4fc6d1bd718c68b01.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8df4791632b9a206d2a28fa4fc6d1bd718c68b01
parent e7324be536ff98cd4c7022c74d506f1cc962ad87
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 14:29:21 -0700

app: surface sdk diagnostics in about status

- add lightweight SDK lifecycle status to the desktop runtime summary
- expose app-owned SDK diagnostics rows for ready, degraded, and lifecycle-busy states
- localize SDK status, integrity, relay, issue, and recovery labels
- cover ready, degraded, busy, and runtime path presentation with focused tests

</content>
</entry>
<entry>
<id>e7324be536ff98cd4c7022c74d506f1cc962ad87</id>
<published>2026-06-18T21:15:49Z</published>
<updated>2026-06-18T21:15:49Z</updated>
<title>app: defer validation receipt migration audit</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/e7324be536ff98cd4c7022c74d506f1cc962ad87.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e7324be536ff98cd4c7022c74d506f1cc962ad87
parent b911eab104386fdd9cd85747c24373f1afc3be25
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 14:15:49 -0700

app: defer validation receipt migration audit

- add a validation receipt deferred audit classification
- keep validation receipts out of publishable candidate counts
- preserve payment and settlement deferred audit behavior
- add regression coverage for validation receipt evidence records

</content>
</entry>
<entry>
<id>b911eab104386fdd9cd85747c24373f1afc3be25</id>
<published>2026-06-18T21:12:58Z</published>
<updated>2026-06-18T21:12:58Z</updated>
<title>app: harden sdk migration audit statuses</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/b911eab104386fdd9cd85747c24373f1afc3be25.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b911eab104386fdd9cd85747c24373f1afc3be25
parent a7dcb129b031356c9450accc425869cab7594bd8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 14:12:58 -0700

app: harden sdk migration audit statuses

- classify local outbox failed and blocked rows as manual review
- distinguish deferred local work from publishable migration candidates
- preserve already represented semantics for published and acknowledged records
- add audit status matrix regression coverage

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

app: add sdk boundary source guards

- guard migrated SDK runtime and audit paths
- record legacy direct publish allowlist metadata
- catch unallowlisted legacy publish and outbox usage
- verify app check script and source guard tests

</content>
</entry>
<entry>
<id>879051fb4de9f4964febb1eb9e763eededc48a47</id>
<published>2026-06-18T20:28:14Z</published>
<updated>2026-06-18T20:28:14Z</updated>
<title>app: add sdk restore lifecycle guards</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/879051fb4de9f4964febb1eb9e763eededc48a47.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 879051fb4de9f4964febb1eb9e763eededc48a47
parent 79175bddaa9330a37dda261d5ffddd68016c838b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:28:14 -0700

app: add sdk restore lifecycle guards

- expose SDK restore dry-run preflight through app runtime
- track projection stale and rebuilding lifecycle state
- reject SDK commands while projection rebuild is active
- verify core sqlite and app package checks

</content>
</entry>
<entry>
<id>79175bddaa9330a37dda261d5ffddd68016c838b</id>
<published>2026-06-18T20:22:13Z</published>
<updated>2026-06-18T20:22:13Z</updated>
<title>app: add read-only sdk migration audit</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/79175bddaa9330a37dda261d5ffddd68016c838b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 79175bddaa9330a37dda261d5ffddd68016c838b
parent 5b645f44948951d943123efdb798d6d687e1c929
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:22:13 -0700

app: add read-only sdk migration audit

- audit app outbox and shared local-events records
- classify deferred payment and settlement evidence
- report duplicate and unsupported migration candidates
- verify sqlite core and app package checks

</content>
</entry>
<entry>
<id>5b645f44948951d943123efdb798d6d687e1c929</id>
<published>2026-06-18T20:13:12Z</published>
<updated>2026-06-18T20:13:12Z</updated>
<title>app: surface sdk runtime diagnostics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/5b645f44948951d943123efdb798d6d687e1c929.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5b645f44948951d943123efdb798d6d687e1c929
parent 54978418ef203527a49493f53e178fa1efcf448c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:13:12 -0700

app: surface sdk runtime diagnostics

- add app-owned SDK diagnostics DTOs
- route storage integrity and sync status through the SDK worker
- preserve structured SDK issue metadata on command failures
- verify app-core app-state and app package checks

</content>
</entry>
<entry>
<id>54978418ef203527a49493f53e178fa1efcf448c</id>
<published>2026-06-18T20:07:48Z</published>
<updated>2026-06-18T20:07:48Z</updated>
<title>app: add sdk runtime foundation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/54978418ef203527a49493f53e178fa1efcf448c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 54978418ef203527a49493f53e178fa1efcf448c
parent 7f6ee5116fe5dafa5d1f990fcf6bfeaa5e235734
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:07:48 -0700

app: add sdk runtime foundation

- add app SDK config and lifecycle runtime wrapper
- derive SDK storage under the app data root
- start one SDK worker from desktop bootstrap
- verify metadata, app-core tests, and app check

</content>
</entry>
<entry>
<id>7f6ee5116fe5dafa5d1f990fcf6bfeaa5e235734</id>
<published>2026-06-18T19:56:45Z</published>
<updated>2026-06-18T19:56:45Z</updated>
<title>app: align sdk local runtime dependency</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/7f6ee5116fe5dafa5d1f990fcf6bfeaa5e235734.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7f6ee5116fe5dafa5d1f990fcf6bfeaa5e235734
parent c7473373f3f93fc8cd13a6b4563e33d989943512
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 12:56:45 -0700

app: align sdk local runtime dependency

- enable the SDK local-runtime feature
- move SDK protocol imports to public protocol modules
- refresh Cargo.lock for SDK runtime dependencies
- verify app metadata and package check

</content>
</entry>
<entry>
<id>c7473373f3f93fc8cd13a6b4563e33d989943512</id>
<published>2026-06-18T19:31:38Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>build: refresh dependency lockfile</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/c7473373f3f93fc8cd13a6b4563e33d989943512.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c7473373f3f93fc8cd13a6b4563e33d989943512
parent 2020244abe15b5e225fe0b86063f20be88663b35
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 12:31:38 -0700

build: refresh dependency lockfile

- remove stale radroots_authority transitive lock entry
- keep Cargo.lock aligned with current workspace dependencies
- preserve application source and runtime behavior unchanged
- verify cargo metadata after lockfile refresh

</content>
</entry>
<entry>
<id>2020244abe15b5e225fe0b86063f20be88663b35</id>
<published>2026-06-14T21:48:14Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>runtime: align trade reducer APIs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/2020244abe15b5e225fe0b86063f20be88663b35.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2020244abe15b5e225fe0b86063f20be88663b35
parent 50f2f4de1b20c59a0f3cd61144405b5b9bedf6b4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 14:48:14 -0700

runtime: align trade reducer APIs

- wrap order lifecycle buckets in RadrootsOrderReductionInputs
- use public listing address parsing for seller authority checks
- refresh the lockfile for the current radroots_trade graph
- verify radroots_app_sqlite, radroots_app, and platform integration checks

</content>
</entry>
<entry>
<id>50f2f4de1b20c59a0f3cd61144405b5b9bedf6b4</id>
<published>2026-06-13T23:37:13Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>sdk: align app order event types</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/50f2f4de1b20c59a0f3cd61144405b5b9bedf6b4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 50f2f4de1b20c59a0f3cd61144405b5b9bedf6b4
parent 152d8bcd7c972822188b7a9a199f174d2018e52d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 13 Jun 2026 16:37:13 -0700

sdk: align app order event types

- parse order event IDs and pubkeys at SDK boundaries

- keep app payload and projection surfaces string-shaped

- update app fixtures for deterministic protocol IDs

</content>
</entry>
<entry>
<id>152d8bcd7c972822188b7a9a199f174d2018e52d</id>
<published>2026-06-13T22:09:29Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>sdk: point app at SDK workspace</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/152d8bcd7c972822188b7a9a199f174d2018e52d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 152d8bcd7c972822188b7a9a199f174d2018e52d
parent c99b51612fda0af732866b7e550a033af6e22bbe
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 13 Jun 2026 15:09:29 -0700

sdk: point app at SDK workspace

- update radroots_sdk to resolve from the SDK repo path
- refresh the app lockfile for the new SDK crate version
- parse persisted Nostr IDs before building active order reducer records
- stringify typed event and pubkey values at app projection boundaries

</content>
</entry>
<entry>
<id>c99b51612fda0af732866b7e550a033af6e22bbe</id>
<published>2026-06-13T07:44:57Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>app: align typed order ids</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/c99b51612fda0af732866b7e550a033af6e22bbe.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c99b51612fda0af732866b7e550a033af6e22bbe
parent bde62f3210d42b006cae01cf7ee63f959ccb4dc1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 13 Jun 2026 00:44:57 -0700

app: align typed order ids

- Refresh the app lockfile for the shared SQLite binding graph
- Parse rr-rs listing, order, bin, quote, and digest IDs at interop boundaries
- Preserve app-facing string projections for UI and local store surfaces
- Validate the app check and SQLite interop test lanes

</content>
</entry>
<entry>
<id>bde62f3210d42b006cae01cf7ee63f959ccb4dc1</id>
<published>2026-06-13T02:48:50Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>app: align order event consumer APIs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/bde62f3210d42b006cae01cf7ee63f959ccb4dc1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit bde62f3210d42b006cae01cf7ee63f959ccb4dc1
parent 471e21ca5e1480697ca18b1c77078ca73a705051
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 12 Jun 2026 19:48:50 -0700

app: align order event consumer APIs

- switch app sync, store interop, view, and desktop runtime code to canonical rr-rs order names

- update source guards to expect the renamed order kind constants while preserving numeric v1 kinds

- keep app order workflow behavior unchanged across direct relay, shared local events, and reducer projections

- verify with cargo metadata, fmt, check, cargo test, stale-symbol scan, and scripts/check.sh

</content>
</entry>
<entry>
<id>471e21ca5e1480697ca18b1c77078ca73a705051</id>
<published>2026-06-09T18:51:48Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: update blossom settings status</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/471e21ca5e1480697ca18b1c77078ca73a705051.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 471e21ca5e1480697ca18b1c77078ca73a705051
parent d6ce9b4323d1ee7d80064c457000ea2aa722fbaf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue,  9 Jun 2026 11:51:48 -0700

ui: update blossom settings status

</content>
</entry>
<entry>
<id>d6ce9b4323d1ee7d80064c457000ea2aa722fbaf</id>
<published>2026-06-09T18:41:01Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: update relay settings actions</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/d6ce9b4323d1ee7d80064c457000ea2aa722fbaf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d6ce9b4323d1ee7d80064c457000ea2aa722fbaf
parent e8da335645ea6e294bf9186ff19279abbec88230
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue,  9 Jun 2026 11:41:01 -0700

ui: update relay settings actions

</content>
</entry>
<entry>
<id>e8da335645ea6e294bf9186ff19279abbec88230</id>
<published>2026-06-08T02:47:10Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix sidebar account menu layout</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/e8da335645ea6e294bf9186ff19279abbec88230.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e8da335645ea6e294bf9186ff19279abbec88230
parent f10fddefd4cf2f931b9d1e668b31ee2d3c280f57
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 19:47:10 -0700

ui: fix sidebar account menu layout

</content>
</entry>
<entry>
<id>f10fddefd4cf2f931b9d1e668b31ee2d3c280f57</id>
<published>2026-06-08T02:00:51Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: refine sidebar account menu</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f10fddefd4cf2f931b9d1e668b31ee2d3c280f57.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f10fddefd4cf2f931b9d1e668b31ee2d3c280f57
parent 2b8e983acc9d9dab65c1eeb8e251474a1433e392
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 19:00:51 -0700

ui: refine sidebar account menu

</content>
</entry>
<entry>
<id>2b8e983acc9d9dab65c1eeb8e251474a1433e392</id>
<published>2026-06-08T01:53:31Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: add sidebar account menu</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/2b8e983acc9d9dab65c1eeb8e251474a1433e392.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2b8e983acc9d9dab65c1eeb8e251474a1433e392
parent 0dc179d8d4c8c218dc94bb64c5eb9a09c2052f85
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 18:53:31 -0700

ui: add sidebar account menu

</content>
</entry>
<entry>
<id>0dc179d8d4c8c218dc94bb64c5eb9a09c2052f85</id>
<published>2026-06-08T00:34:07Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: tighten shared pill tabs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/0dc179d8d4c8c218dc94bb64c5eb9a09c2052f85.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0dc179d8d4c8c218dc94bb64c5eb9a09c2052f85
parent 47f1afe929bdc6d348bb5b7f59d4d2a8ad5d94e5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 17:34:07 -0700

ui: tighten shared pill tabs

</content>
</entry>
<entry>
<id>47f1afe929bdc6d348bb5b7f59d4d2a8ad5d94e5</id>
<published>2026-06-08T00:08:16Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: bound farm details card scroll</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/47f1afe929bdc6d348bb5b7f59d4d2a8ad5d94e5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 47f1afe929bdc6d348bb5b7f59d4d2a8ad5d94e5
parent f4238ecf6453f0e5ffe6cbad1e626c8e11723429
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 17:08:16 -0700

ui: bound farm details card scroll

</content>
</entry>
<entry>
<id>f4238ecf6453f0e5ffe6cbad1e626c8e11723429</id>
<published>2026-06-07T23:59:40Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: refine farm profile summary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f4238ecf6453f0e5ffe6cbad1e626c8e11723429.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f4238ecf6453f0e5ffe6cbad1e626c8e11723429
parent 364d9749bb41b4155b6547b0a4fe36f6c21dc9af
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:59:40 -0700

ui: refine farm profile summary

</content>
</entry>
<entry>
<id>364d9749bb41b4155b6547b0a4fe36f6c21dc9af</id>
<published>2026-06-07T23:54:30Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix account content width</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/364d9749bb41b4155b6547b0a4fe36f6c21dc9af.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 364d9749bb41b4155b6547b0a4fe36f6c21dc9af
parent 74686f2e4f588fe6c1ec81d3aaa19c9f701316db
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:54:30 -0700

ui: fix account content width

</content>
</entry>
<entry>
<id>74686f2e4f588fe6c1ec81d3aaa19c9f701316db</id>
<published>2026-06-07T23:49:51Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix account farm layout alignment</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/74686f2e4f588fe6c1ec81d3aaa19c9f701316db.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 74686f2e4f588fe6c1ec81d3aaa19c9f701316db
parent cc04a168440c8025386d53eba8c5fe9b91162e7c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:49:51 -0700

ui: fix account farm layout alignment

</content>
</entry>
<entry>
<id>cc04a168440c8025386d53eba8c5fe9b91162e7c</id>
<published>2026-06-07T23:45:05Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix farm details profile layout</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/cc04a168440c8025386d53eba8c5fe9b91162e7c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cc04a168440c8025386d53eba8c5fe9b91162e7c
parent f046b0ad585f72c810cf38ec2b1fdcd9919b261f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:45:05 -0700

ui: fix farm details profile layout

</content>
</entry>
<entry>
<id>f046b0ad585f72c810cf38ec2b1fdcd9919b261f</id>
<published>2026-06-07T23:40:09Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: align farm pill tab styling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f046b0ad585f72c810cf38ec2b1fdcd9919b261f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f046b0ad585f72c810cf38ec2b1fdcd9919b261f
parent d3be1693777d244e081394606997d0266759d964
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:40:09 -0700

ui: align farm pill tab styling

</content>
</entry>
<entry>
<id>d3be1693777d244e081394606997d0266759d964</id>
<published>2026-06-07T23:35:33Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix farm details sticky tabs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/d3be1693777d244e081394606997d0266759d964.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d3be1693777d244e081394606997d0266759d964
parent f115ed4cadaf82100c3f7d70873c8cb9f86437d0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:35:33 -0700

ui: fix farm details sticky tabs

</content>
</entry>
<entry>
<id>f115ed4cadaf82100c3f7d70873c8cb9f86437d0</id>
<published>2026-06-07T23:23:39Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: add farm details nested tabs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f115ed4cadaf82100c3f7d70873c8cb9f86437d0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f115ed4cadaf82100c3f7d70873c8cb9f86437d0
parent 1511c4f1d511492410b9f8fc45ad653cb0f01dcc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:23:39 -0700

ui: add farm details nested tabs

</content>
</entry>
<entry>
<id>1511c4f1d511492410b9f8fc45ad653cb0f01dcc</id>
<published>2026-06-07T23:17:13Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: revert account tab scroll edge</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/1511c4f1d511492410b9f8fc45ad653cb0f01dcc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1511c4f1d511492410b9f8fc45ad653cb0f01dcc
parent 8684ac65b85b1e5bf34d3e9f9a60c212219c3bb0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:17:13 -0700

ui: revert account tab scroll edge

</content>
</entry>
<entry>
<id>8684ac65b85b1e5bf34d3e9f9a60c212219c3bb0</id>
<published>2026-06-07T23:11:41Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: tighten account tab scroll edge</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/8684ac65b85b1e5bf34d3e9f9a60c212219c3bb0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8684ac65b85b1e5bf34d3e9f9a60c212219c3bb0
parent ed115edd2f54a1fe2d25f174669aed5ff36910ca
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:11:41 -0700

ui: tighten account tab scroll edge

</content>
</entry>
<entry>
<id>ed115edd2f54a1fe2d25f174669aed5ff36910ca</id>
<published>2026-06-07T23:05:39Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: fix account tab action header</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ed115edd2f54a1fe2d25f174669aed5ff36910ca.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ed115edd2f54a1fe2d25f174669aed5ff36910ca
parent 3ab4d01b707ced301e96cc97ee404b1ae0a465c8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 16:05:39 -0700

ui: fix account tab action header

</content>
</entry>
<entry>
<id>3ab4d01b707ced301e96cc97ee404b1ae0a465c8</id>
<published>2026-06-07T22:57:39Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: remove farm profile completeness card</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/3ab4d01b707ced301e96cc97ee404b1ae0a465c8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3ab4d01b707ced301e96cc97ee404b1ae0a465c8
parent ee0f4439b3e7a398a4ee84e44191ad43150033ec
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 15:57:39 -0700

ui: remove farm profile completeness card

</content>
</entry>
<entry>
<id>ee0f4439b3e7a398a4ee84e44191ad43150033ec</id>
<published>2026-06-07T22:51:24Z</published>
<updated>2026-06-18T19:31:43Z</updated>
<title>ui: expand farm details scroll view</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ee0f4439b3e7a398a4ee84e44191ad43150033ec.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ee0f4439b3e7a398a4ee84e44191ad43150033ec
parent 9f814f5fcdf7010b476624123c5d31da005f8bc8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 15:51:24 -0700

ui: expand farm details scroll view

</content>
</entry>
<entry>
<id>9f814f5fcdf7010b476624123c5d31da005f8bc8</id>
<published>2026-06-07T22:26:33Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: move account form actions into headings</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/9f814f5fcdf7010b476624123c5d31da005f8bc8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9f814f5fcdf7010b476624123c5d31da005f8bc8
parent a956d1799eada18fa0d82a6c9f01af5eca66fa3d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 15:26:33 -0700

ui: move account form actions into headings

</content>
</entry>
<entry>
<id>a956d1799eada18fa0d82a6c9f01af5eca66fa3d</id>
<published>2026-06-07T22:11:57Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: refine settings relay row controls</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/a956d1799eada18fa0d82a6c9f01af5eca66fa3d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a956d1799eada18fa0d82a6c9f01af5eca66fa3d
parent cc1bb85b257dbf308780b2721ea2d27d23261ca5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 15:11:57 -0700

ui: refine settings relay row controls

</content>
</entry>
<entry>
<id>cc1bb85b257dbf308780b2721ea2d27d23261ca5</id>
<published>2026-06-07T21:55:56Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: bootstrap account settings view</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/cc1bb85b257dbf308780b2721ea2d27d23261ca5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cc1bb85b257dbf308780b2721ea2d27d23261ca5
parent ec8162461c197159ed60f648c21ef0a93c75f81d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:55:56 -0700

ui: bootstrap account settings view

</content>
</entry>
<entry>
<id>ec8162461c197159ed60f648c21ef0a93c75f81d</id>
<published>2026-06-07T21:35:55Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: add farm details heading</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ec8162461c197159ed60f648c21ef0a93c75f81d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ec8162461c197159ed60f648c21ef0a93c75f81d
parent 4d4eaaf0fcf8be3f7c08a25fe4cddc70639294df
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:35:55 -0700

ui: add farm details heading

</content>
</entry>
<entry>
<id>4d4eaaf0fcf8be3f7c08a25fe4cddc70639294df</id>
<published>2026-06-07T21:28:34Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: soften form focus and harmonize account defaults</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/4d4eaaf0fcf8be3f7c08a25fe4cddc70639294df.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4d4eaaf0fcf8be3f7c08a25fe4cddc70639294df
parent 51db75d2c52491d073bc609a7405c95f1db84934
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:28:34 -0700

ui: soften form focus and harmonize account defaults

</content>
</entry>
<entry>
<id>51db75d2c52491d073bc609a7405c95f1db84934</id>
<published>2026-06-07T21:22:51Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: set account form controls to 28px</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/51db75d2c52491d073bc609a7405c95f1db84934.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 51db75d2c52491d073bc609a7405c95f1db84934
parent 448f46a671fec46bf8f9ef67f2e47bab85940947
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:22:51 -0700

ui: set account form controls to 28px

</content>
</entry>
<entry>
<id>448f46a671fec46bf8f9ef67f2e47bab85940947</id>
<published>2026-06-07T21:21:15Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: set account form controls to 34px</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/448f46a671fec46bf8f9ef67f2e47bab85940947.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 448f46a671fec46bf8f9ef67f2e47bab85940947
parent 8283782c59d2211823e5385de48cd17ed974aff5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:21:15 -0700

ui: set account form controls to 34px

</content>
</entry>
<entry>
<id>8283782c59d2211823e5385de48cd17ed974aff5</id>
<published>2026-06-07T21:17:38Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: unify account form control height</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/8283782c59d2211823e5385de48cd17ed974aff5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8283782c59d2211823e5385de48cd17ed974aff5
parent 4ff943e0e34a7690fcdc190402ea381a6a26f477
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:17:38 -0700

ui: unify account form control height

</content>
</entry>
<entry>
<id>4ff943e0e34a7690fcdc190402ea381a6a26f477</id>
<published>2026-06-07T21:12:10Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: prevent farm textarea first-paint overflow</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/4ff943e0e34a7690fcdc190402ea381a6a26f477.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4ff943e0e34a7690fcdc190402ea381a6a26f477
parent a4dd61085139767959e2a8ef9318725c3fab3c7c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:12:10 -0700

ui: prevent farm textarea first-paint overflow

</content>
</entry>
<entry>
<id>a4dd61085139767959e2a8ef9318725c3fab3c7c</id>
<published>2026-06-07T21:04:08Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: keep choice button size stable</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/a4dd61085139767959e2a8ef9318725c3fab3c7c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a4dd61085139767959e2a8ef9318725c3fab3c7c
parent f226f130a56398ea98ad59e0a64280cf6dada7da
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 14:04:08 -0700

ui: keep choice button size stable

</content>
</entry>
<entry>
<id>f226f130a56398ea98ad59e0a64280cf6dada7da</id>
<published>2026-06-07T20:56:39Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>fix: apply shell surface route on top nav</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f226f130a56398ea98ad59e0a64280cf6dada7da.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f226f130a56398ea98ad59e0a64280cf6dada7da
parent ba78de8f8b842ecfe6df5862da030fa9f483cf2a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:56:39 -0700

fix: apply shell surface route on top nav

</content>
</entry>
<entry>
<id>ba78de8f8b842ecfe6df5862da030fa9f483cf2a</id>
<published>2026-06-07T20:52:51Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>fix: reset account route on surface selection</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ba78de8f8b842ecfe6df5862da030fa9f483cf2a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ba78de8f8b842ecfe6df5862da030fa9f483cf2a
parent 33f907deed5a0cac99a6b4b124569bd6d7cec155
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:52:51 -0700

fix: reset account route on surface selection

</content>
</entry>
<entry>
<id>33f907deed5a0cac99a6b4b124569bd6d7cec155</id>
<published>2026-06-07T20:43:55Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: refine account form control sizing</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/33f907deed5a0cac99a6b4b124569bd6d7cec155.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 33f907deed5a0cac99a6b4b124569bd6d7cec155
parent 6384e4f0a8da4b1c8be9fdb730f5cd0990211337
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:43:55 -0700

ui: refine account form control sizing

</content>
</entry>
<entry>
<id>6384e4f0a8da4b1c8be9fdb730f5cd0990211337</id>
<published>2026-06-07T20:42:07Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: align account form select styling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/6384e4f0a8da4b1c8be9fdb730f5cd0990211337.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6384e4f0a8da4b1c8be9fdb730f5cd0990211337
parent 671e29a8eed1044bc4ce818db32c76d56ed43233
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:42:07 -0700

ui: align account form select styling

</content>
</entry>
<entry>
<id>671e29a8eed1044bc4ce818db32c76d56ed43233</id>
<published>2026-06-07T20:38:13Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: tune account form density</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/671e29a8eed1044bc4ce818db32c76d56ed43233.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 671e29a8eed1044bc4ce818db32c76d56ed43233
parent 0d33c910e0337020ddf14824d08cd959b77e951c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:38:13 -0700

ui: tune account form density

</content>
</entry>
<entry>
<id>0d33c910e0337020ddf14824d08cd959b77e951c</id>
<published>2026-06-07T20:11:27Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: bootstrap account farm details step</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/0d33c910e0337020ddf14824d08cd959b77e951c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0d33c910e0337020ddf14824d08cd959b77e951c
parent 1b659a51242b36a7d95c2014b5d07587388b1802
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:11:27 -0700

ui: bootstrap account farm details step

</content>
</entry>
<entry>
<id>1b659a51242b36a7d95c2014b5d07587388b1802</id>
<published>2026-06-07T20:04:10Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: make account profile form interactive</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/1b659a51242b36a7d95c2014b5d07587388b1802.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1b659a51242b36a7d95c2014b5d07587388b1802
parent 40be6db8ff06ba14046e076c88b51c706388998e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 13:04:10 -0700

ui: make account profile form interactive

</content>
</entry>
<entry>
<id>40be6db8ff06ba14046e076c88b51c706388998e</id>
<published>2026-06-07T19:50:09Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: add account profile details panel</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/40be6db8ff06ba14046e076c88b51c706388998e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 40be6db8ff06ba14046e076c88b51c706388998e
parent c1ab0ac224b2822d7b1fe1ca564530e6370f19be
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 12:50:09 -0700

ui: add account profile details panel

</content>
</entry>
<entry>
<id>c1ab0ac224b2822d7b1fe1ca564530e6370f19be</id>
<published>2026-06-07T19:40:08Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: seat account tab indicator</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/c1ab0ac224b2822d7b1fe1ca564530e6370f19be.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c1ab0ac224b2822d7b1fe1ca564530e6370f19be
parent 93a1a0089d474e0625ca89347d7aaf84b73277df
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 12:40:08 -0700

ui: seat account tab indicator

</content>
</entry>
<entry>
<id>93a1a0089d474e0625ca89347d7aaf84b73277df</id>
<published>2026-06-07T19:36:09Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: align account tab underline color</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/93a1a0089d474e0625ca89347d7aaf84b73277df.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 93a1a0089d474e0625ca89347d7aaf84b73277df
parent 7d27910ea49e1633563f66ab9830cd998868e290
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 12:36:09 -0700

ui: align account tab underline color

</content>
</entry>
<entry>
<id>7d27910ea49e1633563f66ab9830cd998868e290</id>
<published>2026-06-07T19:33:43Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: tune account underline tabs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/7d27910ea49e1633563f66ab9830cd998868e290.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7d27910ea49e1633563f66ab9830cd998868e290
parent 3e068732f42023addc84d17f346ff97ced69eba5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 12:33:43 -0700

ui: tune account underline tabs

</content>
</entry>
<entry>
<id>3e068732f42023addc84d17f346ff97ced69eba5</id>
<published>2026-06-07T19:27:11Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add account tab surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/3e068732f42023addc84d17f346ff97ced69eba5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3e068732f42023addc84d17f346ff97ced69eba5
parent cc28645497dfb43210e3b61949048cb60bb90002
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 12:27:11 -0700

app: add account tab surface

</content>
</entry>
<entry>
<id>cc28645497dfb43210e3b61949048cb60bb90002</id>
<published>2026-06-07T18:50:01Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add settings about product section</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/cc28645497dfb43210e3b61949048cb60bb90002.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cc28645497dfb43210e3b61949048cb60bb90002
parent ab48eff6133f61f91240b08369bf4fbe98bde977
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:50:01 -0700

app: add settings about product section

</content>
</entry>
<entry>
<id>ab48eff6133f61f91240b08369bf4fbe98bde977</id>
<published>2026-06-07T18:38:34Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: tune settings account card</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ab48eff6133f61f91240b08369bf4fbe98bde977.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ab48eff6133f61f91240b08369bf4fbe98bde977
parent 051109b54118cb92038da9220478098d8f9ed354
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:38:34 -0700

ui: tune settings account card

</content>
</entry>
<entry>
<id>051109b54118cb92038da9220478098d8f9ed354</id>
<published>2026-06-07T18:31:15Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: refine settings account selector</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/051109b54118cb92038da9220478098d8f9ed354.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 051109b54118cb92038da9220478098d8f9ed354
parent f2deead90580f749f5f5e0026559da92a5ed31c9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:31:15 -0700

app: refine settings account selector

</content>
</entry>
<entry>
<id>f2deead90580f749f5f5e0026559da92a5ed31c9</id>
<published>2026-06-07T18:26:38Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>ui: round account dropdown trigger</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f2deead90580f749f5f5e0026559da92a5ed31c9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f2deead90580f749f5f5e0026559da92a5ed31c9
parent 7ab5f09a59e52b6b781e99251abdedd38fe16011
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:26:38 -0700

ui: round account dropdown trigger

</content>
</entry>
<entry>
<id>7ab5f09a59e52b6b781e99251abdedd38fe16011</id>
<published>2026-06-07T18:22:21Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: refine settings account dropdown</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/7ab5f09a59e52b6b781e99251abdedd38fe16011.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7ab5f09a59e52b6b781e99251abdedd38fe16011
parent 1642b29384b1a30e63e53036b71a054ed54647fc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:22:21 -0700

app: refine settings account dropdown

</content>
</entry>
<entry>
<id>1642b29384b1a30e63e53036b71a054ed54647fc</id>
<published>2026-06-07T18:12:02Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: refine settings account footer actions</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/1642b29384b1a30e63e53036b71a054ed54647fc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1642b29384b1a30e63e53036b71a054ed54647fc
parent b235fbd1c4c2f00bb13dea4a9b28bd83706b8411
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:12:02 -0700

app: refine settings account footer actions

</content>
</entry>
<entry>
<id>b235fbd1c4c2f00bb13dea4a9b28bd83706b8411</id>
<published>2026-06-07T18:09:07Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: refine settings account actions</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/b235fbd1c4c2f00bb13dea4a9b28bd83706b8411.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b235fbd1c4c2f00bb13dea4a9b28bd83706b8411
parent a944645940da2423472c2579d735159bd6160c16
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 11:09:07 -0700

app: refine settings account actions

</content>
</entry>
<entry>
<id>a944645940da2423472c2579d735159bd6160c16</id>
<published>2026-06-07T17:59:00Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: fix settings account window</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/a944645940da2423472c2579d735159bd6160c16.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a944645940da2423472c2579d735159bd6160c16
parent 2b35ec0f77163c6d0e8f12c6e80f29da6eecda09
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun,  7 Jun 2026 10:59:00 -0700

app: fix settings account window

</content>
</entry>
<entry>
<id>2b35ec0f77163c6d0e8f12c6e80f29da6eecda09</id>
<published>2026-06-07T05:54:19Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: enforce settings width token</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/2b35ec0f77163c6d0e8f12c6e80f29da6eecda09.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 2b35ec0f77163c6d0e8f12c6e80f29da6eecda09
parent d14a573e6113d15823b9850d74e54998ba94fab5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 22:54:19 -0700

app: enforce settings width token

</content>
</entry>
<entry>
<id>d14a573e6113d15823b9850d74e54998ba94fab5</id>
<published>2026-06-07T05:50:57Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: read general settings from runtime</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/d14a573e6113d15823b9850d74e54998ba94fab5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d14a573e6113d15823b9850d74e54998ba94fab5
parent ce9f4bb751e42d6bd190e92c544e7bac2765bd06
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 22:50:57 -0700

app: read general settings from runtime

</content>
</entry>
<entry>
<id>ce9f4bb751e42d6bd190e92c544e7bac2765bd06</id>
<published>2026-06-07T05:46:10Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: return issue submits to order detail</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/ce9f4bb751e42d6bd190e92c544e7bac2765bd06.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ce9f4bb751e42d6bd190e92c544e7bac2765bd06
parent 321e528d8fd11eb64296cd22f36bc5015f5af560
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 22:46:10 -0700

app: return issue submits to order detail

</content>
</entry>
<entry>
<id>321e528d8fd11eb64296cd22f36bc5015f5af560</id>
<published>2026-06-07T05:44:08Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: reopen focused order details</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/321e528d8fd11eb64296cd22f36bc5015f5af560.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 321e528d8fd11eb64296cd22f36bc5015f5af560
parent 64c17a7134590e43b8c2a4ddfc403403b5eb8c81
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 22:44:08 -0700

app: reopen focused order details

</content>
</entry>
<entry>
<id>64c17a7134590e43b8c2a4ddfc403403b5eb8c81</id>
<published>2026-06-07T05:41:50Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add focused commerce views</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/64c17a7134590e43b8c2a4ddfc403403b5eb8c81.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 64c17a7134590e43b8c2a4ddfc403403b5eb8c81
parent 3d0f5de0c04375b238b76fd30cba35a43696186e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 22:41:50 -0700

app: add focused commerce views

</content>
</entry>
<entry>
<id>3d0f5de0c04375b238b76fd30cba35a43696186e</id>
<published>2026-06-06T22:06:26Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: enlarge macos icon logomark</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/3d0f5de0c04375b238b76fd30cba35a43696186e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3d0f5de0c04375b238b76fd30cba35a43696186e
parent f10e17da3620d93885b43a846bfcb309d1ea9bbb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 15:06:26 -0700

app: enlarge macos icon logomark

- regenerate AppIconSource.png from the canonical Radroots asset preset
- increase the visible logomark weight inside the green squircle
- keep the source image at 4096px with alpha for macOS icon generation
- verify platforms/macos/Scripts/build_icon.sh emits a valid AppIcon.icns

</content>
</entry>
<entry>
<id>f10e17da3620d93885b43a846bfcb309d1ea9bbb</id>
<published>2026-06-06T21:43:13Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: update macos icon source</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/f10e17da3620d93885b43a846bfcb309d1ea9bbb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f10e17da3620d93885b43a846bfcb309d1ea9bbb
parent 9eee9e9f12bafb7ff9bdf1d929c68ab7f28d90c0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat,  6 Jun 2026 14:43:13 -0700

app: update macos icon source

- generate AppIconSource.png from the canonical Radroots logomark
- use the green squircle treatment with transparent corners
- keep the source image square at 4096px for the macOS icon build script
- verify platforms/macos/Scripts/build_icon.sh emits a valid AppIcon.icns

</content>
</entry>
<entry>
<id>9eee9e9f12bafb7ff9bdf1d929c68ab7f28d90c0</id>
<published>2026-06-06T06:16:02Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add passive validation receipt evidence</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/9eee9e9f12bafb7ff9bdf1d929c68ab7f28d90c0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9eee9e9f12bafb7ff9bdf1d929c68ab7f28d90c0
parent 0d2cee1d8a8ab6f42fd5b2f1ce67fbdc4e01e139
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 23:16:02 -0700

app: add passive validation receipt evidence

- add separate validation receipt projections for order detail views
- attach receipts through signed request roots without reducer mutation
- render localized buyer and seller validation evidence
- cover out-of-order, invalid, and duplicate receipt imports

</content>
</entry>
<entry>
<id>0d2cee1d8a8ab6f42fd5b2f1ce67fbdc4e01e139</id>
<published>2026-06-06T05:34:07Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add buyer issue receipt parity</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/0d2cee1d8a8ab6f42fd5b2f1ce67fbdc4e01e139.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0d2cee1d8a8ab6f42fd5b2f1ce67fbdc4e01e139
parent dc340809c9c216dc0f32318e6c9a9308f5c5b694
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 22:34:07 -0700

app: add buyer issue receipt parity

- add typed buyer receipt outcomes for clean and issue receipts
- persist reducer-backed receipt projection across buyer and seller views
- add localized receipt badges and buyer issue authoring controls
- prove clean, delivered, issue, migration, and source guard behavior

</content>
</entry>
<entry>
<id>dc340809c9c216dc0f32318e6c9a9308f5c5b694</id>
<published>2026-06-06T04:53:40Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add seller fulfillment authoring parity</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/dc340809c9c216dc0f32318e6c9a9308f5c5b694.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit dc340809c9c216dc0f32318e6c9a9308f5c5b694
parent 806fc887e390f8d4166639421f4ed6d5db638677
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 21:53:40 -0700

app: add seller fulfillment authoring parity

</content>
</entry>
<entry>
<id>806fc887e390f8d4166639421f4ed6d5db638677</id>
<published>2026-06-06T04:17:29Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: add passive payment display states</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/806fc887e390f8d4166639421f4ed6d5db638677.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 806fc887e390f8d4166639421f4ed6d5db638677
parent e17ba7818e59a9e5b1f0d846d72be34a9defab25
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 21:17:29 -0700

app: add passive payment display states

</content>
</entry>
<entry>
<id>e17ba7818e59a9e5b1f0d846d72be34a9defab25</id>
<published>2026-06-06T03:55:47Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>runtime: use shared trade event kind constants</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/e17ba7818e59a9e5b1f0d846d72be34a9defab25.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e17ba7818e59a9e5b1f0d846d72be34a9defab25
parent 1c06d7881ad72bccee9d27342801e5869e5223d4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 20:55:47 -0700

runtime: use shared trade event kind constants

- replace desktop runtime trade and listing kind literals with radroots_events constants
- route store interop listing and farm kind aliases through shared constants
- add source guard coverage for production event-kind literals
- validate formatting, app checks, guard tests, and store interop tests

</content>
</entry>
<entry>
<id>1c06d7881ad72bccee9d27342801e5869e5223d4</id>
<published>2026-06-06T03:11:05Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: prove relay settlement preflight</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/1c06d7881ad72bccee9d27342801e5869e5223d4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1c06d7881ad72bccee9d27342801e5869e5223d4
parent 82a25a26ad6d462de6efec5a1408b6186510421f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 20:11:05 -0700

app: prove relay settlement preflight

</content>
</entry>
<entry>
<id>82a25a26ad6d462de6efec5a1408b6186510421f</id>
<published>2026-06-06T02:49:13Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: make lifecycle preflight payment aware</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/82a25a26ad6d462de6efec5a1408b6186510421f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 82a25a26ad6d462de6efec5a1408b6186510421f
parent dcfea482483a9a4df60be7551ad92155559772cf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 19:49:13 -0700

app: make lifecycle preflight payment aware

</content>
</entry>
<entry>
<id>dcfea482483a9a4df60be7551ad92155559772cf</id>
<published>2026-06-05T23:55:39Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: preserve reducer lifecycle parents</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/dcfea482483a9a4df60be7551ad92155559772cf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit dcfea482483a9a4df60be7551ad92155559772cf
parent 79bd9527a9623219b6bb2ed0ef801559f21149ff
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri,  5 Jun 2026 16:55:39 -0700

app: preserve reducer lifecycle parents

- carry reducer status and last_event_id through app lifecycle evidence
- choose seller fulfillment parents from reducer projection after revisions
- choose buyer cancellation parents from reducer status instead of coarse status
- cover accepted and declined revision parent regressions

</content>
</entry>
<entry>
<id>79bd9527a9623219b6bb2ed0ef801559f21149ff</id>
<published>2026-06-05T05:55:12Z</published>
<updated>2026-06-18T19:31:42Z</updated>
<title>app: align lifecycle evidence with reducer</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/79bd9527a9623219b6bb2ed0ef801559f21149ff.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 79bd9527a9623219b6bb2ed0ef801559f21149ff
parent 94b45416d2a2a57f4e462ee1145be62819047a4e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  4 Jun 2026 22:55:12 -0700

app: align lifecycle evidence with reducer

- derive publish preflight evidence through the shared active-order reducer
- reject invalid, forked, terminal, and unchained lifecycle records
- cover seller fulfillment, buyer cancellation, buyer receipt, and revision parents
- add reducer-backed lifecycle regression coverage

</content>
</entry>
<entry>
<id>94b45416d2a2a57f4e462ee1145be62819047a4e</id>
<published>2026-06-05T04:53:17Z</published>
<updated>2026-06-18T19:31:41Z</updated>
<title>orders: align fulfillment gates with workflow evidence</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/94b45416d2a2a57f4e462ee1145be62819047a4e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 94b45416d2a2a57f4e462ee1145be62819047a4e
parent d474f24f7f7c357d065bea2e3acd78e70c423692
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  4 Jun 2026 21:53:17 -0700

orders: align fulfillment gates with workflow evidence

</content>
</entry>
<entry>
<id>d474f24f7f7c357d065bea2e3acd78e70c423692</id>
<published>2026-06-05T03:28:37Z</published>
<updated>2026-06-18T19:31:41Z</updated>
<title>orders: align lifecycle action vocabulary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/appcommit/d474f24f7f7c357d065bea2e3acd78e70c423692.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d474f24f7f7c357d065bea2e3acd78e70c423692
parent 05b4faf85f15cbca170b3fe7741d03b022ea2215
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  4 Jun 2026 20:28:37 -0700

orders: align lifecycle action vocabulary

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