<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>myc, branch HEAD</title>
<subtitle>Self-custodial remote signer for Radroots apps
</subtitle>
<entry>
<id>50948dc70123584fe234863a1c2728899f256d7b</id>
<published>2026-06-14T21:48:20Z</published>
<updated>2026-06-14T21:48:20Z</updated>
<title>signer: align boxed capability APIs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/50948dc70123584fe234863a1c2728899f256d7b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 50948dc70123584fe234863a1c2728899f256d7b
parent 08114e880f378f307df6189a3dbd5310158295a6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 14:48:20 -0700

signer: align boxed capability APIs

- wrap local signer capabilities in the boxed upstream enum variant
- return boxed existing connections from connect acceptance flow
- refresh Cargo.lock for the current signer dependency graph
- verify cargo check from the myc repository root

</content>
</entry>
<entry>
<id>08114e880f378f307df6189a3dbd5310158295a6</id>
<published>2026-06-04T22:23:41Z</published>
<updated>2026-06-04T22:23:41Z</updated>
<title>config: harden myc runtime config</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/08114e880f378f307df6189a3dbd5310158295a6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 08114e880f378f307df6189a3dbd5310158295a6
parent 5b4a25b13c02dda52ee550b035ac6de4e49124cf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  4 Jun 2026 15:23:41 -0700

config: harden myc runtime config

- switch identity, relay, Nostr Connect, and backoff config.env keys to canonical MYC names

- reject retired config keys and backend aliases while keeping generated env output canonical

- update MYC config docs, examples, and CLI regression coverage

- verify nix run .#fmt

- verify nix run .#check

- verify nix run .#test

- verify git diff --check

</content>
</entry>
<entry>
<id>5b4a25b13c02dda52ee550b035ac6de4e49124cf</id>
<published>2026-06-04T19:41:28Z</published>
<updated>2026-06-04T19:41:28Z</updated>
<title>docs: clarify release boundary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/5b4a25b13c02dda52ee550b035ac6de4e49124cf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5b4a25b13c02dda52ee550b035ac6de4e49124cf
parent 6f34820b9efafcd4ef261ffd4fed2ece670980c7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  4 Jun 2026 12:41:28 -0700

docs: clarify release boundary

- distinguish source authority from official artifacts
- preserve repo-local release-candidate validation
- keep builder and target policy outside this repo
- document standalone build and test expectations

</content>
</entry>
<entry>
<id>6f34820b9efafcd4ef261ffd4fed2ece670980c7</id>
<published>2026-05-27T15:49:12Z</published>
<updated>2026-05-27T15:49:12Z</updated>
<title>docs: update readme</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/6f34820b9efafcd4ef261ffd4fed2ece670980c7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6f34820b9efafcd4ef261ffd4fed2ece670980c7
parent d99aeaf635f6ccbe3ae7481a682fbcd7a83b122e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 27 May 2026 15:49:12 +0000

docs: update readme

</content>
</entry>
<entry>
<id>d99aeaf635f6ccbe3ae7481a682fbcd7a83b122e</id>
<published>2026-04-25T09:14:41Z</published>
<updated>2026-04-25T09:14:41Z</updated>
<title>status: add signer contract view</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/d99aeaf635f6ccbe3ae7481a682fbcd7a83b122e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d99aeaf635f6ccbe3ae7481a682fbcd7a83b122e
parent 1e46710080517e5625477bc1c7163daf58bfa5b6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 25 Apr 2026 09:14:41 +0000

status: add signer contract view

</content>
</entry>
<entry>
<id>1e46710080517e5625477bc1c7163daf58bfa5b6</id>
<published>2026-04-20T18:32:40Z</published>
<updated>2026-04-20T18:32:40Z</updated>
<title>use default account manager api</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/1e46710080517e5625477bc1c7163daf58bfa5b6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1e46710080517e5625477bc1c7163daf58bfa5b6
parent e2313669efd7ad9cdeeeb91dd6e66bfc96048d45
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 20 Apr 2026 18:32:40 +0000

use default account manager api

</content>
</entry>
<entry>
<id>e2313669efd7ad9cdeeeb91dd6e66bfc96048d45</id>
<published>2026-04-18T20:00:09Z</published>
<updated>2026-04-18T20:00:09Z</updated>
<title>runtime: add repo-local identity bootstrap</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/e2313669efd7ad9cdeeeb91dd6e66bfc96048d45.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e2313669efd7ad9cdeeeb91dd6e66bfc96048d45
parent 4558f0bbc5d0f2c37c7ca8600008804f3168fe9f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 18 Apr 2026 20:00:09 +0000

runtime: add repo-local identity bootstrap

- add myc_repo_local_identity_bootstrap for repo-local runtime roots
- resolve signer and user secret paths through the runtime namespace contract
- create missing encrypted identities and validate existing identity files
- support localhost compose prep without depending on outer integration crates

</content>
</entry>
<entry>
<id>4558f0bbc5d0f2c37c7ca8600008804f3168fe9f</id>
<published>2026-04-14T04:52:09Z</published>
<updated>2026-04-14T04:52:09Z</updated>
<title>config: prefer localhost relay defaults in example env</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/4558f0bbc5d0f2c37c7ca8600008804f3168fe9f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4558f0bbc5d0f2c37c7ca8600008804f3168fe9f
parent c32ca9a6f5d9a1fde25f23f59337ff37618bc628
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 14 Apr 2026 04:52:09 +0000

config: prefer localhost relay defaults in example env

</content>
</entry>
<entry>
<id>c32ca9a6f5d9a1fde25f23f59337ff37618bc628</id>
<published>2026-04-12T19:20:43Z</published>
<updated>2026-04-12T19:20:43Z</updated>
<title>myc: consume shared nip46 handler</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/c32ca9a6f5d9a1fde25f23f59337ff37618bc628.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c32ca9a6f5d9a1fde25f23f59337ff37618bc628
parent 580ec6f4d69a55c59b478f3c5ac6d1774419c715
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 19:20:43 +0000

myc: consume shared nip46 handler

</content>
</entry>
<entry>
<id>580ec6f4d69a55c59b478f3c5ac6d1774419c715</id>
<published>2026-04-12T18:40:42Z</published>
<updated>2026-04-12T18:40:42Z</updated>
<title>myc: consume shared identity file storage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/580ec6f4d69a55c59b478f3c5ac6d1774419c715.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 580ec6f4d69a55c59b478f3c5ac6d1774419c715
parent b9f5675ae6322c0c7fde42f185b34419ab3f56b0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 18:40:42 +0000

myc: consume shared identity file storage

</content>
</entry>
<entry>
<id>b9f5675ae6322c0c7fde42f185b34419ab3f56b0</id>
<published>2026-04-12T17:40:45Z</published>
<updated>2026-04-12T17:40:45Z</updated>
<title>config: consume shared runtime contract scaffolding</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/b9f5675ae6322c0c7fde42f185b34419ab3f56b0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b9f5675ae6322c0c7fde42f185b34419ab3f56b0
parent 61a48263b0415ddfc3a523d3b66a8525f22033d9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 17:40:45 +0000

config: consume shared runtime contract scaffolding

</content>
</entry>
<entry>
<id>61a48263b0415ddfc3a523d3b66a8525f22033d9</id>
<published>2026-04-12T16:53:53Z</published>
<updated>2026-04-12T16:53:53Z</updated>
<title>myc: reconcile runtime repo fallout</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/61a48263b0415ddfc3a523d3b66a8525f22033d9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 61a48263b0415ddfc3a523d3b66a8525f22033d9
parent 7469d7c80d6f1ed8931fbeb327afed4aedf43774
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 16:53:53 +0000

myc: reconcile runtime repo fallout

</content>
</entry>
<entry>
<id>7469d7c80d6f1ed8931fbeb327afed4aedf43774</id>
<published>2026-04-12T05:45:53Z</published>
<updated>2026-04-12T05:45:53Z</updated>
<title>nip46: consume shared signer session codec</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7469d7c80d6f1ed8931fbeb327afed4aedf43774.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7469d7c80d6f1ed8931fbeb327afed4aedf43774
parent 37a3f372119f61a2b8bc36464fc2cf31ea4b714c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 05:45:53 +0000

nip46: consume shared signer session codec

</content>
</entry>
<entry>
<id>37a3f372119f61a2b8bc36464fc2cf31ea4b714c</id>
<published>2026-04-12T04:57:54Z</published>
<updated>2026-04-12T04:57:54Z</updated>
<title>custody: use shared file-backed vault helpers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/37a3f372119f61a2b8bc36464fc2cf31ea4b714c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 37a3f372119f61a2b8bc36464fc2cf31ea4b714c
parent c5673ea7f0d8708821bb860c6d0fa01bc0b18e37
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 04:57:54 +0000

custody: use shared file-backed vault helpers

</content>
</entry>
<entry>
<id>c5673ea7f0d8708821bb860c6d0fa01bc0b18e37</id>
<published>2026-04-12T04:37:39Z</published>
<updated>2026-04-12T04:37:39Z</updated>
<title>paths: consume shared runtime selection helpers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/c5673ea7f0d8708821bb860c6d0fa01bc0b18e37.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c5673ea7f0d8708821bb860c6d0fa01bc0b18e37
parent db11043b27e541f01fba0ec488eca5220a4cbf06
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 12 Apr 2026 04:37:39 +0000

paths: consume shared runtime selection helpers

</content>
</entry>
<entry>
<id>db11043b27e541f01fba0ec488eca5220a4cbf06</id>
<published>2026-04-10T16:52:53Z</published>
<updated>2026-04-10T16:52:53Z</updated>
<title>myc: update crate metadata</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/db11043b27e541f01fba0ec488eca5220a4cbf06.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit db11043b27e541f01fba0ec488eca5220a4cbf06
parent 997076a2020e74ad1861949a29b407325337f3b6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 10 Apr 2026 16:52:53 +0000

myc: update crate metadata

</content>
</entry>
<entry>
<id>997076a2020e74ad1861949a29b407325337f3b6</id>
<published>2026-04-09T17:18:30Z</published>
<updated>2026-04-09T17:18:30Z</updated>
<title>config: report legacy myc paths</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/997076a2020e74ad1861949a29b407325337f3b6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 997076a2020e74ad1861949a29b407325337f3b6
parent 3e47b6c508f338570748139f810b4d71bd26b8bf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  9 Apr 2026 17:18:30 +0000

config: report legacy myc paths

</content>
</entry>
<entry>
<id>3e47b6c508f338570748139f810b4d71bd26b8bf</id>
<published>2026-04-09T16:24:03Z</published>
<updated>2026-04-09T16:24:03Z</updated>
<title>myc: report path override posture</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/3e47b6c508f338570748139f810b4d71bd26b8bf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3e47b6c508f338570748139f810b4d71bd26b8bf
parent adc3cdc49e3f08636c9825135d5edf2f5dcbf130
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  9 Apr 2026 16:24:03 +0000

myc: report path override posture

</content>
</entry>
<entry>
<id>adc3cdc49e3f08636c9825135d5edf2f5dcbf130</id>
<published>2026-04-09T04:51:00Z</published>
<updated>2026-04-09T04:51:00Z</updated>
<title>docs: update readme</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/adc3cdc49e3f08636c9825135d5edf2f5dcbf130.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit adc3cdc49e3f08636c9825135d5edf2f5dcbf130
parent 36667b4b55f863cd3c07940018909db5814a04e9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  9 Apr 2026 04:51:00 +0000

docs: update readme

</content>
</entry>
<entry>
<id>36667b4b55f863cd3c07940018909db5814a04e9</id>
<published>2026-04-09T04:26:33Z</published>
<updated>2026-04-09T04:26:33Z</updated>
<title>docs: align myc repo-local runtime guidance</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/36667b4b55f863cd3c07940018909db5814a04e9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 36667b4b55f863cd3c07940018909db5814a04e9
parent f543a51540453b7db735c3e4e4b2a2edf76c3078
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  9 Apr 2026 04:26:33 +0000

docs: align myc repo-local runtime guidance

</content>
</entry>
<entry>
<id>f543a51540453b7db735c3e4e4b2a2edf76c3078</id>
<published>2026-04-09T03:37:14Z</published>
<updated>2026-04-09T03:37:14Z</updated>
<title>myc: extract runtime paths module</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/f543a51540453b7db735c3e4e4b2a2edf76c3078.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f543a51540453b7db735c3e4e4b2a2edf76c3078
parent 9ba2411d5dab85f4e033bf3f4c8bf7b01ef8a5f3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  9 Apr 2026 03:37:14 +0000

myc: extract runtime paths module

</content>
</entry>
<entry>
<id>9ba2411d5dab85f4e033bf3f4c8bf7b01ef8a5f3</id>
<published>2026-04-08T16:55:04Z</published>
<updated>2026-04-08T16:55:04Z</updated>
<title>operability: expose myc runtime contract surfaces</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/9ba2411d5dab85f4e033bf3f4c8bf7b01ef8a5f3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9ba2411d5dab85f4e033bf3f4c8bf7b01ef8a5f3
parent 13a90eeafea2f56e70895c58d24d3e73b063daf3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  8 Apr 2026 16:55:04 +0000

operability: expose myc runtime contract surfaces

</content>
</entry>
<entry>
<id>13a90eeafea2f56e70895c58d24d3e73b063daf3</id>
<published>2026-04-08T01:22:48Z</published>
<updated>2026-04-08T01:22:48Z</updated>
<title>config: cover repo local path defaults</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/13a90eeafea2f56e70895c58d24d3e73b063daf3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 13a90eeafea2f56e70895c58d24d3e73b063daf3
parent 7ef7a3d87f8108c14768f35b3b0e68ca4528268d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  8 Apr 2026 01:22:48 +0000

config: cover repo local path defaults

- add a repo-local path contract test for the canonical myc runtime roots
- assert config env state run and identity paths under the explicit repo-local base
- keep the path-profile matrix aligned with the interactive_user and service_host coverage
- give the outer runtime-path verification lane a direct myc repo_local proof point

</content>
</entry>
<entry>
<id>7ef7a3d87f8108c14768f35b3b0e68ca4528268d</id>
<published>2026-04-08T00:01:00Z</published>
<updated>2026-04-08T00:01:00Z</updated>
<title>paths: adopt runtime profiles in myc</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7ef7a3d87f8108c14768f35b3b0e68ca4528268d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7ef7a3d87f8108c14768f35b3b0e68ca4528268d
parent 4f22475cc3dd8480fa6e051505e1a881534d8b6a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  8 Apr 2026 00:01:00 +0000

paths: adopt runtime profiles in myc

</content>
</entry>
<entry>
<id>4f22475cc3dd8480fa6e051505e1a881534d8b6a</id>
<published>2026-04-07T22:23:13Z</published>
<updated>2026-04-07T22:23:13Z</updated>
<title>custody: add explicit nip49 operator flows</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/4f22475cc3dd8480fa6e051505e1a881534d8b6a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4f22475cc3dd8480fa6e051505e1a881534d8b6a
parent cbaae379a05ff9c9713e21e113412bba85807de7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue,  7 Apr 2026 22:23:13 +0000

custody: add explicit nip49 operator flows

</content>
</entry>
<entry>
<id>cbaae379a05ff9c9713e21e113412bba85807de7</id>
<published>2026-04-07T21:25:35Z</published>
<updated>2026-04-07T21:25:35Z</updated>
<title>adopt canonical secret posture in myc</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/cbaae379a05ff9c9713e21e113412bba85807de7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cbaae379a05ff9c9713e21e113412bba85807de7
parent 7a884f4560d54a23691d62f7d1d09b8e8e18d8ed
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue,  7 Apr 2026 21:25:35 +0000

adopt canonical secret posture in myc

</content>
</entry>
<entry>
<id>7a884f4560d54a23691d62f7d1d09b8e8e18d8ed</id>
<published>2026-04-02T19:10:53Z</published>
<updated>2026-04-02T19:10:53Z</updated>
<title>nip46: return effective remote session capability</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7a884f4560d54a23691d62f7d1d09b8e8e18d8ed.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7a884f4560d54a23691d62f7d1d09b8e8e18d8ed
parent 7ea5a73494875aa02eb2ee9603699caac620d86a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  2 Apr 2026 19:10:53 +0000

nip46: return effective remote session capability

</content>
</entry>
<entry>
<id>7ea5a73494875aa02eb2ee9603699caac620d86a</id>
<published>2026-04-02T01:41:19Z</published>
<updated>2026-04-02T01:41:19Z</updated>
<title>tests: prove timeout helper is reaped</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7ea5a73494875aa02eb2ee9603699caac620d86a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7ea5a73494875aa02eb2ee9603699caac620d86a
parent 565b1c6b147dbff6712df07e4688665b1bc1bf2d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  2 Apr 2026 01:41:19 +0000

tests: prove timeout helper is reaped

- record the helper pid before the timeout completes
- run the real process executor against a live helper script
- assert the observed helper pid is gone after timeout
- keep the reaping proof stable under the full nix lanes

</content>
</entry>
<entry>
<id>565b1c6b147dbff6712df07e4688665b1bc1bf2d</id>
<published>2026-04-02T00:56:32Z</published>
<updated>2026-04-02T00:56:32Z</updated>
<title>tests: prove real external-command timeout path</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/565b1c6b147dbff6712df07e4688665b1bc1bf2d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 565b1c6b147dbff6712df07e4688665b1bc1bf2d
parent 9608edf9735169a70a68fbad0a6f48b46a2579b1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  2 Apr 2026 00:56:32 +0000

tests: prove real external-command timeout path

- add a unix-only helper-backed timeout proof for MycProcessCommandExecutor
- assert the production helper path returns TimedOut within a bounded window
- keep the coverage isolated to custody tests without widening runtime behavior
- revalidate myc with nix check and nix test on an isolated target dir during workspace contention

</content>
</entry>
<entry>
<id>9608edf9735169a70a68fbad0a6f48b46a2579b1</id>
<published>2026-04-02T00:23:32Z</published>
<updated>2026-04-02T00:23:32Z</updated>
<title>custody: bound external command execution time</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/9608edf9735169a70a68fbad0a6f48b46a2579b1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9608edf9735169a70a68fbad0a6f48b46a2579b1
parent ccc60e469fee37100764e32eb98265857fc8f88d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu,  2 Apr 2026 00:23:32 +0000

custody: bound external command execution time

- add explicit custody timeout config and env parsing for external command identities
- kill hung helper processes and surface a dedicated timeout error instead of stalling runtime operations
- thread the timeout through runtime cli discovery persistence and operability identity loading paths
- cover config validation and external command timeout mapping in myc lib tests

</content>
</entry>
<entry>
<id>ccc60e469fee37100764e32eb98265857fc8f88d</id>
<published>2026-04-01T23:47:36Z</published>
<updated>2026-04-01T23:47:36Z</updated>
<title>docs: refresh release acceptance proof</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/ccc60e469fee37100764e32eb98265857fc8f88d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ccc60e469fee37100764e32eb98265857fc8f88d
parent df36c12072cd15a373852d7525a27b660763177d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  1 Apr 2026 23:47:36 +0000

docs: refresh release acceptance proof

</content>
</entry>
<entry>
<id>df36c12072cd15a373852d7525a27b660763177d</id>
<published>2026-04-01T23:33:37Z</published>
<updated>2026-04-01T23:33:37Z</updated>
<title>runtime: format external command helper</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/df36c12072cd15a373852d7525a27b660763177d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit df36c12072cd15a373852d7525a27b660763177d
parent 4929ba2227974491d7944720592aa0d3d1452b8e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  1 Apr 2026 23:33:37 +0000

runtime: format external command helper

</content>
</entry>
<entry>
<id>4929ba2227974491d7944720592aa0d3d1452b8e</id>
<published>2026-04-01T23:27:50Z</published>
<updated>2026-04-01T23:27:50Z</updated>
<title>custody: use signerless clients for external command</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/4929ba2227974491d7944720592aa0d3d1452b8e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4929ba2227974491d7944720592aa0d3d1452b8e
parent 632759153917a5e4bb29aa8275b0308b7b9e0f61
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  1 Apr 2026 23:27:50 +0000

custody: use signerless clients for external command

- replace the external_command relay client fallback with a signerless client
- keep signing and nip04 or nip44 delegation on the helper-backed identity path
- add transport and discovery runtime coverage for external_command identities
- verify the new signerless path with targeted myc checks and tests

</content>
</entry>
<entry>
<id>632759153917a5e4bb29aa8275b0308b7b9e0f61</id>
<published>2026-04-01T22:58:20Z</published>
<updated>2026-04-01T22:58:20Z</updated>
<title>docs: make release-acceptance proof note portable</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/632759153917a5e4bb29aa8275b0308b7b9e0f61.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 632759153917a5e4bb29aa8275b0308b7b9e0f61
parent ce84dc34f4031985db0898b89d0d5dec59b2d888
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed,  1 Apr 2026 22:58:20 +0000

docs: make release-acceptance proof note portable

</content>
</entry>
<entry>
<id>ce84dc34f4031985db0898b89d0d5dec59b2d888</id>
<published>2026-03-31T18:58:40Z</published>
<updated>2026-03-31T18:58:40Z</updated>
<title>docs: record release-acceptance proof status</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/ce84dc34f4031985db0898b89d0d5dec59b2d888.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ce84dc34f4031985db0898b89d0d5dec59b2d888
parent 998820f835a4b21e962146e03264a928438154d8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 31 Mar 2026 18:58:40 +0000

docs: record release-acceptance proof status

</content>
</entry>
<entry>
<id>998820f835a4b21e962146e03264a928438154d8</id>
<published>2026-03-31T18:05:41Z</published>
<updated>2026-03-31T18:05:41Z</updated>
<title>test: harden relay-backed timing budgets</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/998820f835a4b21e962146e03264a928438154d8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 998820f835a4b21e962146e03264a928438154d8
parent 5cc2867b5edfaa782854aea1974990c8c9ab6adb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 31 Mar 2026 18:05:41 +0000

test: harden relay-backed timing budgets

</content>
</entry>
<entry>
<id>5cc2867b5edfaa782854aea1974990c8c9ab6adb</id>
<published>2026-03-31T17:52:34Z</published>
<updated>2026-03-31T17:52:34Z</updated>
<title>docs: capture release-acceptance flake isolation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/5cc2867b5edfaa782854aea1974990c8c9ab6adb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 5cc2867b5edfaa782854aea1974990c8c9ab6adb
parent 35c58975a52fdbf674b8993a5f840e57bc9d7d49
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 31 Mar 2026 17:52:34 +0000

docs: capture release-acceptance flake isolation

</content>
</entry>
<entry>
<id>35c58975a52fdbf674b8993a5f840e57bc9d7d49</id>
<published>2026-03-31T15:38:00Z</published>
<updated>2026-03-31T15:38:00Z</updated>
<title>build: add standalone nix command surface</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/35c58975a52fdbf674b8993a5f840e57bc9d7d49.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 35c58975a52fdbf674b8993a5f840e57bc9d7d49
parent faaff5a65035d3b69c357f1c9611c25f34356853
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Tue, 31 Mar 2026 15:38:00 +0000

build: add standalone nix command surface

</content>
</entry>
<entry>
<id>faaff5a65035d3b69c357f1c9611c25f34356853</id>
<published>2026-03-29T10:50:18Z</published>
<updated>2026-03-29T10:50:18Z</updated>
<title>release: rename platform integration harness references</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/faaff5a65035d3b69c357f1c9611c25f34356853.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit faaff5a65035d3b69c357f1c9611c25f34356853
parent 9c2a27ec147ebcd5a37bd53411e5893257788c9c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 29 Mar 2026 10:50:18 +0000

release: rename platform integration harness references

</content>
</entry>
<entry>
<id>9c2a27ec147ebcd5a37bd53411e5893257788c9c</id>
<published>2026-03-27T22:29:07Z</published>
<updated>2026-03-27T22:29:07Z</updated>
<title>service: add runtime-backed signer backend</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/9c2a27ec147ebcd5a37bd53411e5893257788c9c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9c2a27ec147ebcd5a37bd53411e5893257788c9c
parent c1b9477907e83decd889ddf59b3dd0c3fa003faa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 22:29:07 +0000

service: add runtime-backed signer backend

- add a myc signer backend adapter over the shared rr-rs signer contract
- route signer-facing cli and control flows through the runtime-backed backend
- expose signer backend capabilities and workflow counts in operability status
- cover the backend-first surface with tests and update the runtime docs

</content>
</entry>
<entry>
<id>c1b9477907e83decd889ddf59b3dd0c3fa003faa</id>
<published>2026-03-27T16:35:04Z</published>
<updated>2026-03-27T16:35:04Z</updated>
<title>release: add final acceptance lane</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/c1b9477907e83decd889ddf59b3dd0c3fa003faa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c1b9477907e83decd889ddf59b3dd0c3fa003faa
parent ffbac420899e2cdace70f278c156e09182a3282f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 16:35:04 +0000

release: add final acceptance lane

</content>
</entry>
<entry>
<id>ffbac420899e2cdace70f278c156e09182a3282f</id>
<published>2026-03-27T16:04:04Z</published>
<updated>2026-03-27T16:04:04Z</updated>
<title>persistence: add backup and restore commands</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/ffbac420899e2cdace70f278c156e09182a3282f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ffbac420899e2cdace70f278c156e09182a3282f
parent 6b0296420d8a87675f10f3a185c9e63900229233
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 16:04:04 +0000

persistence: add backup and restore commands

</content>
</entry>
<entry>
<id>6b0296420d8a87675f10f3a185c9e63900229233</id>
<published>2026-03-27T15:33:44Z</published>
<updated>2026-03-27T15:33:44Z</updated>
<title>docs: expand interop matrix contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/6b0296420d8a87675f10f3a185c9e63900229233.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6b0296420d8a87675f10f3a185c9e63900229233
parent 71d0660e2a07d4b742519452956399a3553561f3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 15:33:44 +0000

docs: expand interop matrix contract

</content>
</entry>
<entry>
<id>71d0660e2a07d4b742519452956399a3553561f3</id>
<published>2026-03-27T15:25:51Z</published>
<updated>2026-03-27T15:25:51Z</updated>
<title>custody: add external command backend</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/71d0660e2a07d4b742519452956399a3553561f3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 71d0660e2a07d4b742519452956399a3553561f3
parent 7468327d2fb286871a1f3c4fe3bf84b42aa4f2de
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 15:25:51 +0000

custody: add external command backend

</content>
</entry>
<entry>
<id>7468327d2fb286871a1f3c4fe3bf84b42aa4f2de</id>
<published>2026-03-27T14:56:49Z</published>
<updated>2026-03-27T14:56:49Z</updated>
<title>custody: add identity operation contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7468327d2fb286871a1f3c4fe3bf84b42aa4f2de.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7468327d2fb286871a1f3c4fe3bf84b42aa4f2de
parent d4b19949492e07ec5ec4c3767961b3052eef37d7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 14:56:49 +0000

custody: add identity operation contract

</content>
</entry>
<entry>
<id>d4b19949492e07ec5ec4c3767961b3052eef37d7</id>
<published>2026-03-27T13:24:50Z</published>
<updated>2026-03-27T13:24:50Z</updated>
<title>runtime: make identity path reporting backend aware</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/d4b19949492e07ec5ec4c3767961b3052eef37d7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d4b19949492e07ec5ec4c3767961b3052eef37d7
parent 0c47dc077bec713a3a4523b4af8f5e99452455ee
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 13:24:50 +0000

runtime: make identity path reporting backend aware

</content>
</entry>
<entry>
<id>0c47dc077bec713a3a4523b4af8f5e99452455ee</id>
<published>2026-03-27T13:05:10Z</published>
<updated>2026-03-27T13:05:10Z</updated>
<title>persistence: cover restore verification branches</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/0c47dc077bec713a3a4523b4af8f5e99452455ee.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0c47dc077bec713a3a4523b4af8f5e99452455ee
parent b85da271483bc07f48274a8b992279220bde7203
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 13:05:10 +0000

persistence: cover restore verification branches

</content>
</entry>
<entry>
<id>b85da271483bc07f48274a8b992279220bde7203</id>
<published>2026-03-27T12:53:43Z</published>
<updated>2026-03-27T12:53:43Z</updated>
<title>persistence: reject workflow-only sqlite destinations</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/b85da271483bc07f48274a8b992279220bde7203.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b85da271483bc07f48274a8b992279220bde7203
parent 28ba80f395ec6ffa1c5a9ea2eef2c1e91ac29764
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 12:53:43 +0000

persistence: reject workflow-only sqlite destinations

</content>
</entry>
<entry>
<id>28ba80f395ec6ffa1c5a9ea2eef2c1e91ac29764</id>
<published>2026-03-27T02:39:11Z</published>
<updated>2026-03-27T02:39:11Z</updated>
<title>persistence: add restore verification drills</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/28ba80f395ec6ffa1c5a9ea2eef2c1e91ac29764.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 28ba80f395ec6ffa1c5a9ea2eef2c1e91ac29764
parent a344de4d5c51e40906184993beb1ac16ebcf2e97
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 02:39:11 +0000

persistence: add restore verification drills

</content>
</entry>
<entry>
<id>a344de4d5c51e40906184993beb1ac16ebcf2e97</id>
<published>2026-03-27T02:15:52Z</published>
<updated>2026-03-27T02:15:52Z</updated>
<title>interop: add restart recovery coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/a344de4d5c51e40906184993beb1ac16ebcf2e97.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a344de4d5c51e40906184993beb1ac16ebcf2e97
parent e1c1e3d527c49304d234c2c374c03b1169ca6769
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 02:15:52 +0000

interop: add restart recovery coverage

</content>
</entry>
<entry>
<id>e1c1e3d527c49304d234c2c374c03b1169ca6769</id>
<published>2026-03-27T01:51:31Z</published>
<updated>2026-03-27T01:51:31Z</updated>
<title>operability: keep metrics live in memory</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/e1c1e3d527c49304d234c2c374c03b1169ca6769.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit e1c1e3d527c49304d234c2c374c03b1169ca6769
parent 0a5e1cf3197960cddabfd1fe0a9831ee63778698
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 01:51:31 +0000

operability: keep metrics live in memory

</content>
</entry>
<entry>
<id>0a5e1cf3197960cddabfd1fe0a9831ee63778698</id>
<published>2026-03-27T01:33:36Z</published>
<updated>2026-03-27T01:33:36Z</updated>
<title>policy: add rate limits and stale session cleanup</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/0a5e1cf3197960cddabfd1fe0a9831ee63778698.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0a5e1cf3197960cddabfd1fe0a9831ee63778698
parent 506e299aed7867d7fdebfbe5d73cf775cc50c865
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 01:33:36 +0000

policy: add rate limits and stale session cleanup

</content>
</entry>
<entry>
<id>506e299aed7867d7fdebfbe5d73cf775cc50c865</id>
<published>2026-03-27T00:57:56Z</published>
<updated>2026-03-27T00:57:56Z</updated>
<title>custody: add managed account lifecycle</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/506e299aed7867d7fdebfbe5d73cf775cc50c865.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 506e299aed7867d7fdebfbe5d73cf775cc50c865
parent 16f972d0b3e5443ae74775dbdf9fe899074b3646
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 27 Mar 2026 00:57:56 +0000

custody: add managed account lifecycle

</content>
</entry>
<entry>
<id>16f972d0b3e5443ae74775dbdf9fe899074b3646</id>
<published>2026-03-26T23:59:07Z</published>
<updated>2026-03-26T23:59:07Z</updated>
<title>custody: add active identity operations</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/16f972d0b3e5443ae74775dbdf9fe899074b3646.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 16f972d0b3e5443ae74775dbdf9fe899074b3646
parent ef737fbb510a5ec20476f202462fcda15932a6e3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 23:59:07 +0000

custody: add active identity operations

</content>
</entry>
<entry>
<id>ef737fbb510a5ec20476f202462fcda15932a6e3</id>
<published>2026-03-26T23:22:24Z</published>
<updated>2026-03-26T23:22:24Z</updated>
<title>docs: document durable delivery recovery</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/ef737fbb510a5ec20476f202462fcda15932a6e3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ef737fbb510a5ec20476f202462fcda15932a6e3
parent 3bb2be2ad5541ae8b70254cc7b68ff62c0cbb1a0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 23:22:24 +0000

docs: document durable delivery recovery

</content>
</entry>
<entry>
<id>3bb2be2ad5541ae8b70254cc7b68ff62c0cbb1a0</id>
<published>2026-03-26T23:02:55Z</published>
<updated>2026-03-26T23:02:55Z</updated>
<title>tests: add startup delivery recovery proofs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/3bb2be2ad5541ae8b70254cc7b68ff62c0cbb1a0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3bb2be2ad5541ae8b70254cc7b68ff62c0cbb1a0
parent 139e6478338454db5a4d6565c723cbf303014fc6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 23:02:55 +0000

tests: add startup delivery recovery proofs

</content>
</entry>
<entry>
<id>139e6478338454db5a4d6565c723cbf303014fc6</id>
<published>2026-03-26T22:23:36Z</published>
<updated>2026-03-26T22:23:36Z</updated>
<title>operability: add outbox-aware status and metrics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/139e6478338454db5a4d6565c723cbf303014fc6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 139e6478338454db5a4d6565c723cbf303014fc6
parent 38d9edd7350f48dace0ce2f4f3987c15f59b43fa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 22:23:36 +0000

operability: add outbox-aware status and metrics

</content>
</entry>
<entry>
<id>38d9edd7350f48dace0ce2f4f3987c15f59b43fa</id>
<published>2026-03-26T21:52:06Z</published>
<updated>2026-03-26T21:52:06Z</updated>
<title>runtime: add startup delivery recovery</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/38d9edd7350f48dace0ce2f4f3987c15f59b43fa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 38d9edd7350f48dace0ce2f4f3987c15f59b43fa
parent 99cfeaf1fbb129d26a866e75eef4d5733c8dad6b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 21:52:06 +0000

runtime: add startup delivery recovery

</content>
</entry>
<entry>
<id>99cfeaf1fbb129d26a866e75eef4d5733c8dad6b</id>
<published>2026-03-26T20:55:21Z</published>
<updated>2026-03-26T20:55:21Z</updated>
<title>delivery: route discovery publishes through outbox</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/99cfeaf1fbb129d26a866e75eef4d5733c8dad6b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 99cfeaf1fbb129d26a866e75eef4d5733c8dad6b
parent b5034dd8ade932849ecb0a0b182b9529aa7f07ab
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 20:55:21 +0000

delivery: route discovery publishes through outbox

</content>
</entry>
<entry>
<id>b5034dd8ade932849ecb0a0b182b9529aa7f07ab</id>
<published>2026-03-26T20:05:12Z</published>
<updated>2026-03-26T20:05:12Z</updated>
<title>delivery: route control publishes through outbox</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/b5034dd8ade932849ecb0a0b182b9529aa7f07ab.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit b5034dd8ade932849ecb0a0b182b9529aa7f07ab
parent 40ddd75b3cdaa15856bb9f473bf773c14a9c8e19
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 20:05:12 +0000

delivery: route control publishes through outbox

</content>
</entry>
<entry>
<id>40ddd75b3cdaa15856bb9f473bf773c14a9c8e19</id>
<published>2026-03-26T19:06:55Z</published>
<updated>2026-03-26T19:06:55Z</updated>
<title>delivery: route listener responses through outbox</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/40ddd75b3cdaa15856bb9f473bf773c14a9c8e19.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 40ddd75b3cdaa15856bb9f473bf773c14a9c8e19
parent 3c9df8754e1901ee2d6e7c39b0df3126bbc5b3c7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 19:06:55 +0000

delivery: route listener responses through outbox

</content>
</entry>
<entry>
<id>3c9df8754e1901ee2d6e7c39b0df3126bbc5b3c7</id>
<published>2026-03-26T18:29:41Z</published>
<updated>2026-03-26T18:29:41Z</updated>
<title>delivery: add sqlite outbox boundary</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/3c9df8754e1901ee2d6e7c39b0df3126bbc5b3c7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3c9df8754e1901ee2d6e7c39b0df3126bbc5b3c7
parent 0a3bad41f032d7d1df833a63130375f7de7878e2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 18:29:41 +0000

delivery: add sqlite outbox boundary

</content>
</entry>
<entry>
<id>0a3bad41f032d7d1df833a63130375f7de7878e2</id>
<published>2026-03-26T17:28:35Z</published>
<updated>2026-03-26T17:28:35Z</updated>
<title>docs: document persistence contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/0a3bad41f032d7d1df833a63130375f7de7878e2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 0a3bad41f032d7d1df833a63130375f7de7878e2
parent 804c37619c7bae69474c03803ee5adc5da61202c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 17:28:35 +0000

docs: document persistence contract

</content>
</entry>
<entry>
<id>804c37619c7bae69474c03803ee5adc5da61202c</id>
<published>2026-03-26T17:00:30Z</published>
<updated>2026-03-26T17:00:30Z</updated>
<title>tests: add sqlite persistence parity coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/804c37619c7bae69474c03803ee5adc5da61202c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 804c37619c7bae69474c03803ee5adc5da61202c
parent 3fd36213bb5863d026b35b914e51a309dd821037
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 17:00:30 +0000

tests: add sqlite persistence parity coverage

</content>
</entry>
<entry>
<id>3fd36213bb5863d026b35b914e51a309dd821037</id>
<published>2026-03-26T16:51:20Z</published>
<updated>2026-03-26T16:51:20Z</updated>
<title>status: expose persistence backend and schema state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/3fd36213bb5863d026b35b914e51a309dd821037.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3fd36213bb5863d026b35b914e51a309dd821037
parent 86bea74eba9df4e512e5bd3494a635eb7492362b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 16:51:20 +0000

status: expose persistence backend and schema state

</content>
</entry>
<entry>
<id>86bea74eba9df4e512e5bd3494a635eb7492362b</id>
<published>2026-03-26T16:38:45Z</published>
<updated>2026-03-26T16:38:45Z</updated>
<title>migration: add json to sqlite import command</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/86bea74eba9df4e512e5bd3494a635eb7492362b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 86bea74eba9df4e512e5bd3494a635eb7492362b
parent 14ff72b26eeba3d89a1cf7a161188316034caee3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 16:38:45 +0000

migration: add json to sqlite import command

</content>
</entry>
<entry>
<id>14ff72b26eeba3d89a1cf7a161188316034caee3</id>
<published>2026-03-26T16:12:31Z</published>
<updated>2026-03-26T16:12:31Z</updated>
<title>persistence: wire sqlite signer backend</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/14ff72b26eeba3d89a1cf7a161188316034caee3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 14ff72b26eeba3d89a1cf7a161188316034caee3
parent 6d2bdc5fb5172de8e369a4658399d1eaabffbab3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 16:12:31 +0000

persistence: wire sqlite signer backend

</content>
</entry>
<entry>
<id>6d2bdc5fb5172de8e369a4658399d1eaabffbab3</id>
<published>2026-03-26T15:50:50Z</published>
<updated>2026-03-26T15:50:50Z</updated>
<title>audit: add sqlite runtime store</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/6d2bdc5fb5172de8e369a4658399d1eaabffbab3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6d2bdc5fb5172de8e369a4658399d1eaabffbab3
parent 75754382516b726699b43ac708728ebb33dee404
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 15:50:50 +0000

audit: add sqlite runtime store

</content>
</entry>
<entry>
<id>75754382516b726699b43ac708728ebb33dee404</id>
<published>2026-03-26T14:51:53Z</published>
<updated>2026-03-26T14:51:53Z</updated>
<title>persistence: add explicit backend selection</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/75754382516b726699b43ac708728ebb33dee404.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 75754382516b726699b43ac708728ebb33dee404
parent 218689b4e5bc62c53cef615d2265d9c0460f2de2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 14:51:53 +0000

persistence: add explicit backend selection

</content>
</entry>
<entry>
<id>218689b4e5bc62c53cef615d2265d9c0460f2de2</id>
<published>2026-03-26T14:12:48Z</published>
<updated>2026-03-26T14:12:48Z</updated>
<title>tests: harden external nostr response polling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/218689b4e5bc62c53cef615d2265d9c0460f2de2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 218689b4e5bc62c53cef615d2265d9c0460f2de2
parent 55580439c805c02f8c0b8267b52e8910f2b8d1e8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 14:12:48 +0000

tests: harden external nostr response polling

</content>
</entry>
<entry>
<id>55580439c805c02f8c0b8267b52e8910f2b8d1e8</id>
<published>2026-03-26T14:12:38Z</published>
<updated>2026-03-26T14:12:38Z</updated>
<title>config: add canonical env rendering</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/55580439c805c02f8c0b8267b52e8910f2b8d1e8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 55580439c805c02f8c0b8267b52e8910f2b8d1e8
parent 9ea8e896c06c7f9074a74bc480a3e8d6d46a2c5f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 26 Mar 2026 14:12:38 +0000

config: add canonical env rendering

</content>
</entry>
<entry>
<id>9ea8e896c06c7f9074a74bc480a3e8d6d46a2c5f</id>
<published>2026-03-25T23:47:11Z</published>
<updated>2026-03-25T23:47:11Z</updated>
<title>interop: add external nostr client coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/9ea8e896c06c7f9074a74bc480a3e8d6d46a2c5f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9ea8e896c06c7f9074a74bc480a3e8d6d46a2c5f
parent c99655b06d5bab291ae24b2dc20956a9ed4d597c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 23:47:11 +0000

interop: add external nostr client coverage

</content>
</entry>
<entry>
<id>c99655b06d5bab291ae24b2dc20956a9ed4d597c</id>
<published>2026-03-25T22:33:54Z</published>
<updated>2026-03-25T22:33:54Z</updated>
<title>custody: add backend-aware identity providers</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/c99655b06d5bab291ae24b2dc20956a9ed4d597c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c99655b06d5bab291ae24b2dc20956a9ed4d597c
parent eb2267204a8f167f13d7183100a8c1610e1fdb60
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 22:33:54 +0000

custody: add backend-aware identity providers

- add typed filesystem and os_keyring identity source config for signer, user, and discovery app identities
- route runtime bootstrap, discovery, and status reporting through provider-backed custody resolution
- expose custody backend and resolution state in operability output and document the config contract
- validate with cargo metadata --format-version 1 --no-deps, cargo check --locked, cargo test --locked, and cargo fmt --all --check

</content>
</entry>
<entry>
<id>eb2267204a8f167f13d7183100a8c1610e1fdb60</id>
<published>2026-03-25T21:09:10Z</published>
<updated>2026-03-25T21:09:10Z</updated>
<title>docs: describe operability contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/eb2267204a8f167f13d7183100a8c1610e1fdb60.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit eb2267204a8f167f13d7183100a8c1610e1fdb60
parent f6b0d948a6fbdb9ef3db58ea7f8af591ba8bc7c6
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 21:09:10 +0000

docs: describe operability contract

- document cli status and metrics commands plus the local-only admin server surface
- add observability env settings to the checked example configuration
- explain healthy degraded and unready semantics and the readiness contract
- point validation guidance at the new operability cli and server proof lanes

</content>
</entry>
<entry>
<id>f6b0d948a6fbdb9ef3db58ea7f8af591ba8bc7c6</id>
<published>2026-03-25T21:06:28Z</published>
<updated>2026-03-25T21:06:28Z</updated>
<title>admin: add local observability server</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/f6b0d948a6fbdb9ef3db58ea7f8af591ba8bc7c6.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f6b0d948a6fbdb9ef3db58ea7f8af591ba8bc7c6
parent 190d69f7b8d3cb76d92df2c2fb84b04509ccb66b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 21:06:28 +0000

admin: add local observability server

- add loopback-only observability config with env parsing and runtime snapshot fields
- serve read-only healthz readyz status and metrics endpoints from the shared operability model
- run the admin server alongside the signer service with coordinated shutdown and error propagation
- prove loopback validation and endpoint behavior with config and operability server tests

</content>
</entry>
<entry>
<id>190d69f7b8d3cb76d92df2c2fb84b04509ccb66b</id>
<published>2026-03-25T20:45:47Z</published>
<updated>2026-03-25T20:45:47Z</updated>
<title>status: add operability status and metrics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/190d69f7b8d3cb76d92df2c2fb84b04509ccb66b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 190d69f7b8d3cb76d92df2c2fb84b04509ccb66b
parent 9d5b15da7c3c3ad7d0bd0f8dd84a2631936197b3
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 20:45:47 +0000

status: add operability status and metrics

- add a shared operability model for health, readiness, relay probes, and metrics snapshots
- add machine-readable status and metrics commands backed by runtime and audit state
- expose startup serialization and audit store full-scan support for the new outputs
- prove no-transport, partial-outage, and metrics rendering behavior with new e2e and cli tests

</content>
</entry>
<entry>
<id>9d5b15da7c3c3ad7d0bd0f8dd84a2631936197b3</id>
<published>2026-03-25T20:13:12Z</published>
<updated>2026-03-25T20:13:12Z</updated>
<title>policy: add typed client and auth controls</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/9d5b15da7c3c3ad7d0bd0f8dd84a2631936197b3.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 9d5b15da7c3c3ad7d0bd0f8dd84a2631936197b3
parent 75cc248f3daba62bb5fa44451e87fe841fb637fa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 20:13:12 +0000

policy: add typed client and auth controls

- add typed policy config and runtime context for client trust deny, permission ceilings, and auth timing
- apply policy decisions to connect handling, request gating, connect accept, and manual approval and authorize flows
- narrow stored requested permissions to policy-compatible sets and enforce trusted-session reauth and challenge expiry rules
- cover config, unit, and relay-backed flows and validate with cargo metadata, cargo check --locked, cargo test --locked, and cargo fmt --all --check

</content>
</entry>
<entry>
<id>75cc248f3daba62bb5fa44451e87fe841fb637fa</id>
<published>2026-03-25T19:39:53Z</published>
<updated>2026-03-25T19:39:53Z</updated>
<title>transport: add delivery policy and retry semantics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/75cc248f3daba62bb5fa44451e87fe841fb637fa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 75cc248f3daba62bb5fa44451e87fe841fb637fa
parent 086ad6d47bebd68335cb2e39381658644b930aae
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 19:39:53 +0000

transport: add delivery policy and retry semantics

- add typed delivery policy quorum and bounded retry settings to runtime config and transport state
- apply policy-aware publish confirmation and delivery audit details to listener responses connect accept auth replay and discovery publication
- add relay-backed proof for any quorum and all-delivery behavior while preserving connect secret and auth replay safety
- document the env and operator delivery contract and validate with cargo metadata --format-version 1 --no-deps cargo check --locked cargo test --locked and cargo fmt --all --check

</content>
</entry>
<entry>
<id>086ad6d47bebd68335cb2e39381658644b930aae</id>
<published>2026-03-25T19:13:21Z</published>
<updated>2026-03-25T19:13:21Z</updated>
<title>app: restore full validation green</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/086ad6d47bebd68335cb2e39381658644b930aae.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 086ad6d47bebd68335cb2e39381658644b930aae
parent 7fb16206b66e2aab72609ff21cb4d3294baafebf
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 25 Mar 2026 19:13:21 +0000

app: restore full validation green

- remove the panic edge from discovery refresh error hint reporting
- normalize the env config assertions to the repo formatter output
- restore a fully green root validation lane for metadata check test and fmt
- keep this slice limited to hygiene before delivery policy work begins

</content>
</entry>
<entry>
<id>7fb16206b66e2aab72609ff21cb4d3294baafebf</id>
<published>2026-03-23T02:03:04Z</published>
<updated>2026-03-23T02:03:04Z</updated>
<title>logging: add myc runtime log smoke coverage</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/7fb16206b66e2aab72609ff21cb4d3294baafebf.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 7fb16206b66e2aab72609ff21cb4d3294baafebf
parent 3f811b7b0e31ebbfabaa773274a4ded27a70873c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 23 Mar 2026 02:03:04 +0000

logging: add myc runtime log smoke coverage

- add dated log path coverage for myc logging options
- add a myc run smoke test that waits for a non-empty dated log file
- generate isolated temp env and identity fixtures for runtime logging verification
- keep coverage aligned with the canonical daily service log layout

</content>
</entry>
<entry>
<id>3f811b7b0e31ebbfabaa773274a4ded27a70873c</id>
<published>2026-03-22T20:29:28Z</published>
<updated>2026-03-22T20:29:28Z</updated>
<title>logging: use shared canonical service logger</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/3f811b7b0e31ebbfabaa773274a4ded27a70873c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3f811b7b0e31ebbfabaa773274a4ded27a70873c
parent 448da4402cbe1cfea53951490cba55b8a9ac456c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 20:29:28 +0000

logging: use shared canonical service logger

- replace the bespoke tracing setup with radroots-log using the dated filename layout
- add explicit myc env settings for log output directory and stdout mirroring
- keep the deployment example aligned to /var/log/radroots/services/myc while honoring the local machine env
- validate cargo check cargo test and live file logging at logs/services/local/myc/2026-03-22.log

</content>
</entry>
<entry>
<id>448da4402cbe1cfea53951490cba55b8a9ac456c</id>
<published>2026-03-22T19:38:26Z</published>
<updated>2026-03-22T19:38:26Z</updated>
<title>config: separate deployment and local myc env baselines</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/448da4402cbe1cfea53951490cba55b8a9ac456c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 448da4402cbe1cfea53951490cba55b8a9ac456c
parent f2716b52aefe4da80629ae555ab13466d3044286
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 19:38:26 +0000

config: separate deployment and local myc env baselines

- keep .env.example aligned to deployment-style radroots host relay and path values
- keep runtime var state out of git and leave local machine paths in the ignored .env only
- preserve the deterministic localhost fixture flow through absolute local paths outside the myc repo
- avoid committing local-only identity material while keeping the checked example usable for operators

</content>
</entry>
<entry>
<id>f2716b52aefe4da80629ae555ab13466d3044286</id>
<published>2026-03-22T19:09:09Z</published>
<updated>2026-03-22T19:09:09Z</updated>
<title>config: allow localhost http discovery templates</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/f2716b52aefe4da80629ae555ab13466d3044286.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f2716b52aefe4da80629ae555ab13466d3044286
parent d410cf28ae2c3e098c54505ebe0ed79769367c71
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 19:09:09 +0000

config: allow localhost http discovery templates

</content>
</entry>
<entry>
<id>d410cf28ae2c3e098c54505ebe0ed79769367c71</id>
<published>2026-03-22T18:37:04Z</published>
<updated>2026-03-22T18:37:04Z</updated>
<title>audit: index discovery repair queries</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/d410cf28ae2c3e098c54505ebe0ed79769367c71.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d410cf28ae2c3e098c54505ebe0ed79769367c71
parent 95bdf1753b46d172f983ee41d1773e283826ab55
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 18:37:04 +0000

audit: index discovery repair queries

- add sidecar attempt indexes and latest-attempt pointers under the runtime audit dir
- stream bounded audit reads instead of materializing retained log files before filtering
- rebuild query indexes from retained logs when indexes are missing or retention pruning occurs
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, and the repo-root cargo test --locked reconciliation run

</content>
</entry>
<entry>
<id>95bdf1753b46d172f983ee41d1773e283826ab55</id>
<published>2026-03-22T18:34:16Z</published>
<updated>2026-03-22T18:34:16Z</updated>
<title>config: load runtime settings from env files</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/95bdf1753b46d172f983ee41d1773e283826ab55.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 95bdf1753b46d172f983ee41d1773e283826ab55
parent 41803c15495a4663662ffa8c9a72be9f0534a599
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 18:34:16 +0000

config: load runtime settings from env files

- replace the repo-root config contract with explicit .env parsing and validation
- add .env.example and update the cli, tests, and discovery docs to use --env-file
- remove the legacy toml example and dependency while tightening config parse errors
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, and the repo-root cargo test --locked lane on the reconciled tree

</content>
</entry>
<entry>
<id>41803c15495a4663662ffa8c9a72be9f0534a599</id>
<published>2026-03-22T17:00:47Z</published>
<updated>2026-03-22T17:00:47Z</updated>
<title>docs: document blocked refresh attempt state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/41803c15495a4663662ffa8c9a72be9f0534a599.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 41803c15495a4663662ffa8c9a72be9f0534a599
parent 499e51644dd4408a7edddd894e799a5a6e456021
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 17:00:47 +0000

docs: document blocked refresh attempt state

</content>
</entry>
<entry>
<id>499e51644dd4408a7edddd894e799a5a6e456021</id>
<published>2026-03-22T17:00:37Z</published>
<updated>2026-03-22T17:00:37Z</updated>
<title>audit: persist blocked discovery repair state</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/499e51644dd4408a7edddd894e799a5a6e456021.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 499e51644dd4408a7edddd894e799a5a6e456021
parent 687db8274eafba7aadd2b3f8f9863546d4db6791
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 17:00:37 +0000

audit: persist blocked discovery repair state

</content>
</entry>
<entry>
<id>687db8274eafba7aadd2b3f8f9863546d4db6791</id>
<published>2026-03-22T16:38:07Z</published>
<updated>2026-03-22T16:38:07Z</updated>
<title>docs: document failed refresh attempt correlation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/687db8274eafba7aadd2b3f8f9863546d4db6791.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 687db8274eafba7aadd2b3f8f9863546d4db6791
parent 05960f02354cff20a71159e491482a8dc9719397
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:38:07 +0000

docs: document failed refresh attempt correlation

</content>
</entry>
<entry>
<id>05960f02354cff20a71159e491482a8dc9719397</id>
<published>2026-03-22T16:38:00Z</published>
<updated>2026-03-22T16:38:00Z</updated>
<title>error: surface refresh attempt ids on failure</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/05960f02354cff20a71159e491482a8dc9719397.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 05960f02354cff20a71159e491482a8dc9719397
parent 92d0edf6f4f802070d1678e621996df6007e8f1b
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:38:00 +0000

error: surface refresh attempt ids on failure

</content>
</entry>
<entry>
<id>92d0edf6f4f802070d1678e621996df6007e8f1b</id>
<published>2026-03-22T16:29:57Z</published>
<updated>2026-03-22T16:29:57Z</updated>
<title>docs: describe discovery repair attempt correlation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/92d0edf6f4f802070d1678e621996df6007e8f1b.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 92d0edf6f4f802070d1678e621996df6007e8f1b
parent a6fd87ed9d8302987add90a3f5d8d016756b163e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:29:57 +0000

docs: describe discovery repair attempt correlation

</content>
</entry>
<entry>
<id>a6fd87ed9d8302987add90a3f5d8d016756b163e</id>
<published>2026-03-22T16:29:49Z</published>
<updated>2026-03-22T16:29:49Z</updated>
<title>audit: correlate discovery repair attempts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/a6fd87ed9d8302987add90a3f5d8d016756b163e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a6fd87ed9d8302987add90a3f5d8d016756b163e
parent 09c2231df3606699d171cd9237834b4866660b6f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:29:49 +0000

audit: correlate discovery repair attempts

</content>
</entry>
<entry>
<id>09c2231df3606699d171cd9237834b4866660b6f</id>
<published>2026-03-22T16:10:38Z</published>
<updated>2026-03-22T16:10:38Z</updated>
<title>docs: describe repair summary signals</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/09c2231df3606699d171cd9237834b4866660b6f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 09c2231df3606699d171cd9237834b4866660b6f
parent 82849b0b980ef26adfd3a42a35d22de8430a71b7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:10:38 +0000

docs: describe repair summary signals

- document the compact repair_summary returned by refresh-nip89 for operator use
- clarify that remaining_repair_relays stays the actionable follow-up list after partial repair
- note that audit summary distinguishes aggregate publish failures from per-relay repair failures
- keep the discovery guide aligned with the current command surface

</content>
</entry>
<entry>
<id>82849b0b980ef26adfd3a42a35d22de8430a71b7</id>
<published>2026-03-22T16:10:33Z</published>
<updated>2026-03-22T16:10:33Z</updated>
<title>cli: separate repair and publish summary signals</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/82849b0b980ef26adfd3a42a35d22de8430a71b7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 82849b0b980ef26adfd3a42a35d22de8430a71b7
parent f69cf665dc584644e0bbf9b1506e2828b89f1193
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 16:10:33 +0000

cli: separate repair and publish summary signals

- add a compact repair_summary to refresh output while keeping remaining_repair_relays explicit for follow-up repair
- split audit summary counts between aggregate publish rejections and per-relay discovery repair outcomes
- add unit and cli smoke coverage for mixed-success targeted repair accounting
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, cargo check --locked, and cargo test --locked

</content>
</entry>
<entry>
<id>f69cf665dc584644e0bbf9b1506e2828b89f1193</id>
<published>2026-03-22T15:54:24Z</published>
<updated>2026-03-22T15:54:24Z</updated>
<title>docs: describe partial targeted discovery repair</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/f69cf665dc584644e0bbf9b1506e2828b89f1193.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f69cf665dc584644e0bbf9b1506e2828b89f1193
parent 176f6899095595cb1413188df8a135a327f19b9c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:54:24 +0000

docs: describe partial targeted discovery repair

- document that refresh now reports repair_results and remaining_repair_relays for mixed publish outcomes
- clarify that targeted repair distinguishes repaired failed unchanged and skipped relays in the response surface
- keep the discovery guide aligned with the current refresh command behavior
- describe the follow-up expectation when a repair run only partially succeeds

</content>
</entry>
<entry>
<id>176f6899095595cb1413188df8a135a327f19b9c</id>
<published>2026-03-22T15:54:14Z</published>
<updated>2026-03-22T15:54:14Z</updated>
<title>discovery: track targeted repair outcomes</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/176f6899095595cb1413188df8a135a327f19b9c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 176f6899095595cb1413188df8a135a327f19b9c
parent aff65bf83ae026dde491e378cc6b5b3d86bae3d9
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:54:14 +0000

discovery: track targeted repair outcomes

- preserve per-relay publish results through the transport and discovery output models
- report targeted refresh repair_results and remaining_repair_relays with per-relay repair audit records
- add relay-backed proof for mixed-success targeted refresh while updating existing refresh expectations
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, cargo check --locked, and cargo test --locked on an isolated target dir

</content>
</entry>
<entry>
<id>aff65bf83ae026dde491e378cc6b5b3d86bae3d9</id>
<published>2026-03-22T15:39:33Z</published>
<updated>2026-03-22T15:39:33Z</updated>
<title>docs: describe targeted discovery refresh behavior</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/aff65bf83ae026dde491e378cc6b5b3d86bae3d9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit aff65bf83ae026dde491e378cc6b5b3d86bae3d9
parent ad27a00230f6122b5d6afa3c27106e03ccbb28d5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:39:33 +0000

docs: describe targeted discovery refresh behavior

- explain that refresh builds a relay-targeted repair plan from per-relay discovery state
- clarify that missing and drifted relays are repaired without republishing already matched relays
- document that only relay-conflicted or unavailable state still requires force
- keep the discovery guide aligned with the current command surface

</content>
</entry>
<entry>
<id>ad27a00230f6122b5d6afa3c27106e03ccbb28d5</id>
<published>2026-03-22T15:38:04Z</published>
<updated>2026-03-22T15:38:04Z</updated>
<title>discovery: target relay refresh repairs</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/ad27a00230f6122b5d6afa3c27106e03ccbb28d5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ad27a00230f6122b5d6afa3c27106e03ccbb28d5
parent a1337b73dde2fcdc25d58d5e4285a0a18d05b431
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:38:04 +0000

discovery: target relay refresh repairs

- compute refresh targets from per-relay discovery state instead of publishing to every configured relay
- repair missing and drifted relays selectively while keeping force gates on unavailable or conflicted relay state
- add relay-backed proof that matched relays stay untouched during targeted refresh
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, cargo check --locked, and cargo test --locked on an isolated target dir

</content>
</entry>
<entry>
<id>a1337b73dde2fcdc25d58d5e4285a0a18d05b431</id>
<published>2026-03-22T15:21:14Z</published>
<updated>2026-03-22T15:21:14Z</updated>
<title>docs: describe concurrent discovery fetch behavior</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/a1337b73dde2fcdc25d58d5e4285a0a18d05b431.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a1337b73dde2fcdc25d58d5e4285a0a18d05b431
parent cbf5c7eb3e9241e32e067dbbbbd41ba344f6e2e7
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:21:14 +0000

docs: describe concurrent discovery fetch behavior

- note that discovery relay fetch runs concurrently during inspect diff and refresh flows
- clarify that relay output stays in deterministic normalized relay order
- document that partial-outage latency is bounded by the configured connect timeout window
- keep the discovery guide aligned with the current command surface

</content>
</entry>
<entry>
<id>cbf5c7eb3e9241e32e067dbbbbd41ba344f6e2e7</id>
<published>2026-03-22T15:20:55Z</published>
<updated>2026-03-22T15:20:55Z</updated>
<title>discovery: parallelize live relay fetch</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/cbf5c7eb3e9241e32e067dbbbbd41ba344f6e2e7.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cbf5c7eb3e9241e32e067dbbbbd41ba344f6e2e7
parent 6d7b25daf0460bec600ba4394324033799c241e5
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:20:55 +0000

discovery: parallelize live relay fetch

- fetch discovery relays concurrently with a bounded internal worker limit
- preserve deterministic normalized relay ordering and existing availability semantics
- add relay-backed proof that mixed relay latency stays bounded without losing order
- validate with cargo metadata --format-version 1 --no-deps, cargo fmt --all --check, cargo check --locked, and cargo test --locked

</content>
</entry>
<entry>
<id>6d7b25daf0460bec600ba4394324033799c241e5</id>
<published>2026-03-22T15:00:34Z</published>
<updated>2026-03-22T15:00:34Z</updated>
<title>docs: document discovery availability semantics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/myccommit/6d7b25daf0460bec600ba4394324033799c241e5.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6d7b25daf0460bec600ba4394324033799c241e5
parent d28bfe0e3f5b1e3906c11891915c9df574e3660f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 22 Mar 2026 15:00:34 +0000

docs: document discovery availability semantics

- describe fetch_status, fetch_error, and live_status in relay discovery output
- clarify missing versus unavailable relay behavior in inspect, diff, and refresh flows
- document force-gated refresh during partial outage and hard failure when all relays are unavailable
- keep the discovery guide aligned with the current command surface

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