<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>apple_kit, branch HEAD</title>
<subtitle>Apple-native services for Radroots iOS and macOS apps
</subtitle>
<entry>
<id>ba96eda9ff5d50bdb07d183690dca3676f1819f9</id>
<published>2026-06-19T23:02:01Z</published>
<updated>2026-06-19T23:02:01Z</updated>
<title>secure-store: harden keychain replacement semantics</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/ba96eda9ff5d50bdb07d183690dca3676f1819f9.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ba96eda9ff5d50bdb07d183690dca3676f1819f9
parent fe759666a3e6165330e492eb7320d0b74f894473
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 19 Jun 2026 16:02:01 -0700

secure-store: harden keychain replacement semantics

- replace delete-before-add writes with add-or-update keychain mutation.
- prepare access-control attributes before mutating stored secrets.
- add regression coverage for failed replacement preserving old data.
- keep secure-store replacement behavior local to RadrootsKit.

</content>
</entry>
<entry>
<id>fe759666a3e6165330e492eb7320d0b74f894473</id>
<published>2026-06-18T20:40:58Z</published>
<updated>2026-06-18T20:40:58Z</updated>
<title>document: support file-backed share items</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/fe759666a3e6165330e492eb7320d0b74f894473.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit fe759666a3e6165330e492eb7320d0b74f894473
parent c0177dda89e33cbf18179f53558105f6ae63f693
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:40:58 -0700

document: support file-backed share items

- validate scoped share files and secret-like material
- prepare scoped files through AppleKit file access
- prepare staged blobs as file-backed share exports
- cover text url file and staged share requests

</content>
</entry>
<entry>
<id>c0177dda89e33cbf18179f53558105f6ae63f693</id>
<published>2026-06-18T20:02:13Z</published>
<updated>2026-06-18T20:02:13Z</updated>
<title>background: fail closed on registration rejection</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/c0177dda89e33cbf18179f53558105f6ae63f693.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c0177dda89e33cbf18179f53558105f6ae63f693
parent 3a411118e41f4fece4d51a34328c2c6a92e9e478
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 13:02:13 -0700

background: fail closed on registration rejection

- map false background task registration to a scheduler failure
- preserve successful registration return values for existing callers
- add adapter coverage for registration rejection behavior
- keep background task platform APIs behind RadrootsKit

</content>
</entry>
<entry>
<id>3a411118e41f4fece4d51a34328c2c6a92e9e478</id>
<published>2026-06-18T19:59:25Z</published>
<updated>2026-06-18T19:59:25Z</updated>
<title>capture: harden presentation cleanup</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/3a411118e41f4fece4d51a34328c2c6a92e9e478.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 3a411118e41f4fece4d51a34328c2c6a92e9e478
parent 486fd1c1e92b40379e61c3bdb3a60e06316266fd
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 18 Jun 2026 12:59:25 -0700

capture: harden presentation cleanup

- add exactly-once cleanup hooks to capture callback state
- dismiss media picker and scanner presentations on timeout or cancellation
- preserve coordinator completion idempotence across duplicate callbacks
- cover timeout, cancellation, and double-completion cleanup in tests

</content>
</entry>
<entry>
<id>486fd1c1e92b40379e61c3bdb3a60e06316266fd</id>
<published>2026-06-18T03:41:43Z</published>
<updated>2026-06-18T03:41:43Z</updated>
<title>apple-kit: expose background session event handling</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/486fd1c1e92b40379e61c3bdb3a60e06316266fd.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 486fd1c1e92b40379e61c3bdb3a60e06316266fd
parent 15ed98b2e88ddf2f99f6efc6ac8dde9bb1ffe557
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 20:41:43 -0700

apple-kit: expose background session event handling

Add the background URLSession event callback to the shared background transfer contract and test fake so app runtimes can bridge iOS lifecycle events without owning transfer execution.

</content>
</entry>
<entry>
<id>15ed98b2e88ddf2f99f6efc6ac8dde9bb1ffe557</id>
<published>2026-06-18T03:28:43Z</published>
<updated>2026-06-18T03:28:43Z</updated>
<title>apple-kit: harden live background execution</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/15ed98b2e88ddf2f99f6efc6ac8dde9bb1ffe557.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 15ed98b2e88ddf2f99f6efc6ac8dde9bb1ffe557
parent f1a3379e210255b247b8fb04dfc17af6bdc128e8
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 20:28:43 -0700

apple-kit: harden live background execution

- complete BGTask requests after async handlers finish
- add delegate-backed background transfer coordination
- move completed downloads into resolved AppleKit destinations
- cover transfer completion, failure, progress, and event handlers

</content>
</entry>
<entry>
<id>f1a3379e210255b247b8fb04dfc17af6bdc128e8</id>
<published>2026-06-18T00:23:40Z</published>
<updated>2026-06-18T00:23:40Z</updated>
<title>apple-kit: fix iOS background task adapter build</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/f1a3379e210255b247b8fb04dfc17af6bdc128e8.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f1a3379e210255b247b8fb04dfc17af6bdc128e8
parent cc5a7dded0ddd49cc6752fbb7561ed8816a9a2aa
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:23:40 -0700

apple-kit: fix iOS background task adapter build

- avoid sending BGTask values through async handler closures
- map pending requests inside the scheduler callback
- add explicit snapshot typing for the simulator compiler
- preserve live adapter behavior under SwiftPM and Xcode builds

</content>
</entry>
<entry>
<id>cc5a7dded0ddd49cc6752fbb7561ed8816a9a2aa</id>
<published>2026-06-18T00:14:18Z</published>
<updated>2026-06-18T00:14:18Z</updated>
<title>apple-kit: add live background execution adapters</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/cc5a7dded0ddd49cc6752fbb7561ed8816a9a2aa.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit cc5a7dded0ddd49cc6752fbb7561ed8816a9a2aa
parent f87bc1bc95cc3b6d1d8309a6c5de5eb6b2d13cd0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:14:18 -0700

apple-kit: add live background execution adapters

- add AppleKit-owned task scheduler adapter registration
- add background transfer adapter and URLSession shell
- reconcile persisted transfers with active task identifiers
- prove live wrappers through deterministic adapter tests

</content>
</entry>
<entry>
<id>f87bc1bc95cc3b6d1d8309a6c5de5eb6b2d13cd0</id>
<published>2026-06-18T00:09:52Z</published>
<updated>2026-06-18T00:09:52Z</updated>
<title>apple-kit: add background transfer contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/f87bc1bc95cc3b6d1d8309a6c5de5eb6b2d13cd0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit f87bc1bc95cc3b6d1d8309a6c5de5eb6b2d13cd0
parent d03a020cf684a868ec643e162acab241e9370dc4
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:09:52 -0700

apple-kit: add background transfer contracts

- add transfer request, snapshot, progress, and store contracts
- add file-root and staged-blob resolver support
- persist transfer snapshots through AppleKit file roots
- cover fake transfer behavior and recovery tests

</content>
</entry>
<entry>
<id>d03a020cf684a868ec643e162acab241e9370dc4</id>
<published>2026-06-18T00:04:57Z</published>
<updated>2026-06-18T00:04:57Z</updated>
<title>apple-kit: add background task scheduler contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/d03a020cf684a868ec643e162acab241e9370dc4.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d03a020cf684a868ec643e162acab241e9370dc4
parent 6633fca85507c17bd68103a1d39730b593a5a147
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Wed, 17 Jun 2026 17:04:57 -0700

apple-kit: add background task scheduler contracts

- add Swift-native background task request and snapshot models
- add unavailable scheduler behavior for unsupported platforms
- add RadrootsKitTesting fake scheduler coverage
- verify contracts with focused Swift tests

</content>
</entry>
<entry>
<id>6633fca85507c17bd68103a1d39730b593a5a147</id>
<published>2026-06-15T21:14:42Z</published>
<updated>2026-06-15T21:14:42Z</updated>
<title>telemetry: add Apple logger sink</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/6633fca85507c17bd68103a1d39730b593a5a147.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6633fca85507c17bd68103a1d39730b593a5a147
parent 475d2ee2c7079bade88595a5c6ed66f7e97bbf5d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:14:42 -0700

telemetry: add Apple logger sink

- add an OSLog-backed telemetry sink behind RadrootsKit
- expose an injectable emitter for deterministic sink tests
- sanitize log identifiers and bound rendered payloads
- cover redaction, level mapping, category cleanup, and payload rendering

</content>
</entry>
<entry>
<id>475d2ee2c7079bade88595a5c6ed66f7e97bbf5d</id>
<published>2026-06-15T21:12:13Z</published>
<updated>2026-06-15T21:12:13Z</updated>
<title>telemetry: add local telemetry contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/475d2ee2c7079bade88595a5c6ed66f7e97bbf5d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 475d2ee2c7079bade88595a5c6ed66f7e97bbf5d
parent 32d2f84aa73a2003307627d23972de177c2187a0
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 14:12:13 -0700

telemetry: add local telemetry contracts

- add typed telemetry levels, events, fields, and validation
- add reusable redaction, no-op, redacting, and multiplex sinks
- add deterministic recording telemetry for RadrootsKitTesting
- cover event validation, redaction, sink forwarding, and fake filtering

</content>
</entry>
<entry>
<id>32d2f84aa73a2003307627d23972de177c2187a0</id>
<published>2026-06-15T20:19:57Z</published>
<updated>2026-06-15T20:19:57Z</updated>
<title>user-presence: add Apple implementation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/32d2f84aa73a2003307627d23972de177c2187a0.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 32d2f84aa73a2003307627d23972de177c2187a0
parent c9fecf9079b7c0d62413fe6b9526643eb0a7701c
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 13:19:57 -0700

user-presence: add Apple implementation

- make RadrootsAppleUserPresence implement the shared user-presence protocol
- isolate LocalAuthentication policy and error mapping inside AppleKit
- add adapter-driven tests for status, verification, and timeout behavior
- update secure-store coverage to use the protocol-backed status API

</content>
</entry>
<entry>
<id>c9fecf9079b7c0d62413fe6b9526643eb0a7701c</id>
<published>2026-06-15T20:17:30Z</published>
<updated>2026-06-15T20:17:30Z</updated>
<title>user-presence: add contracts and fakes</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/c9fecf9079b7c0d62413fe6b9526643eb0a7701c.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c9fecf9079b7c0d62413fe6b9526643eb0a7701c
parent 4ac999d25ef7da1a28293e5940822a937b570eb2
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Mon, 15 Jun 2026 13:17:30 -0700

user-presence: add contracts and fakes

- add reusable user-presence policy, status, request, result, and error models
- add a protocol boundary for Apple host verification services
- add a deterministic RadrootsKitTesting fake with request recording
- cover request validation, localized errors, and fake outcomes

</content>
</entry>
<entry>
<id>4ac999d25ef7da1a28293e5940822a937b570eb2</id>
<published>2026-06-14T21:50:23Z</published>
<updated>2026-06-14T21:50:23Z</updated>
<title>external-actions: add Apple implementation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/4ac999d25ef7da1a28293e5940822a937b570eb2.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 4ac999d25ef7da1a28293e5940822a937b570eb2
parent 6a782e7c4a85b37e5fe730a868339d40cd4a084e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 14:50:23 -0700

external-actions: add Apple implementation

</content>
</entry>
<entry>
<id>6a782e7c4a85b37e5fe730a868339d40cd4a084e</id>
<published>2026-06-14T21:48:10Z</published>
<updated>2026-06-14T21:48:10Z</updated>
<title>external-actions: add contracts and fakes</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/6a782e7c4a85b37e5fe730a868339d40cd4a084e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6a782e7c4a85b37e5fe730a868339d40cd4a084e
parent 38c018d3f263f07cd3f6faffdbe063b4368b669f
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 14:48:10 -0700

external-actions: add contracts and fakes

</content>
</entry>
<entry>
<id>38c018d3f263f07cd3f6faffdbe063b4368b669f</id>
<published>2026-06-14T20:12:20Z</published>
<updated>2026-06-14T20:12:20Z</updated>
<title>capture: harden iOS picker build</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/38c018d3f263f07cd3f6faffdbe063b4368b669f.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 38c018d3f263f07cd3f6faffdbe063b4368b669f
parent 872f5554a694fe7e4da00c1d7841785bf1ab4a4d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 13:12:20 -0700

capture: harden iOS picker build

- replace internal default presenter references with public overloads
- keep UIKit presentation helpers package-internal
- resolve Photos picker callback sendability
- verify AppleKit with swift test

</content>
</entry>
<entry>
<id>872f5554a694fe7e4da00c1d7841785bf1ab4a4d</id>
<published>2026-06-14T20:05:43Z</published>
<updated>2026-06-14T20:05:43Z</updated>
<title>capture: add Apple document scanner</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/872f5554a694fe7e4da00c1d7841785bf1ab4a4d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 872f5554a694fe7e4da00c1d7841785bf1ab4a4d
parent d4a4fbb498a44885c6dea5f8f58a173d87674a6a
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 13:05:43 -0700

capture: add Apple document scanner

- add AppleKit-owned PDF document scanner service
- render scanned pages into local PDF documents
- reuse capture presentation and async retention helpers
- cover unavailable platform behavior with Swift tests

</content>
</entry>
<entry>
<id>d4a4fbb498a44885c6dea5f8f58a173d87674a6a</id>
<published>2026-06-14T20:02:54Z</published>
<updated>2026-06-14T20:02:54Z</updated>
<title>capture: add Apple media picker</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/d4a4fbb498a44885c6dea5f8f58a173d87674a6a.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit d4a4fbb498a44885c6dea5f8f58a173d87674a6a
parent a74b8041cd092bc54f5cb59d6482cc4932dd8beb
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 13:02:54 -0700

capture: add Apple media picker

- add AppleKit-owned still-image import and camera capture service
- persist media results through RadrootsAppleFileAccess
- normalize media metadata and capture errors behind RadrootsKit
- cover unavailable platform behavior with Swift tests

</content>
</entry>
<entry>
<id>a74b8041cd092bc54f5cb59d6482cc4932dd8beb</id>
<published>2026-06-14T19:58:17Z</published>
<updated>2026-06-14T19:58:17Z</updated>
<title>capture: add intake contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/a74b8041cd092bc54f5cb59d6482cc4932dd8beb.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a74b8041cd092bc54f5cb59d6482cc4932dd8beb
parent 8b37d0c0fd38416947781f1b03e7b086da1b98df
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 12:58:17 -0700

capture: add intake contracts

- define media picker and document scanner request models
- add typed capture-intake errors and metadata validation
- provide deterministic RadrootsKitTesting fakes
- cover contract normalization and fake outcomes with Swift tests

</content>
</entry>
<entry>
<id>8b37d0c0fd38416947781f1b03e7b086da1b98df</id>
<published>2026-06-14T10:32:20Z</published>
<updated>2026-06-14T10:32:20Z</updated>
<title>kit: add Apple location services</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/8b37d0c0fd38416947781f1b03e7b086da1b98df.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 8b37d0c0fd38416947781f1b03e7b086da1b98df
parent 1a6a3b207d4891c1bc81f0c96c2f7e318e5e1882
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 03:32:20 -0700

kit: add Apple location services

- add CoreLocation-backed current authorization and location services
- short-circuit denied unavailable and authorized states before requests
- clean up live CoreLocation sessions on timeout cancellation and completion
- cover location service behavior with adapter-backed Swift tests

</content>
</entry>
<entry>
<id>1a6a3b207d4891c1bc81f0c96c2f7e318e5e1882</id>
<published>2026-06-14T10:29:17Z</published>
<updated>2026-06-14T10:29:17Z</updated>
<title>kit: add Apple permission status provider</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/1a6a3b207d4891c1bc81f0c96c2f7e318e5e1882.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 1a6a3b207d4891c1bc81f0c96c2f7e318e5e1882
parent 522bbb42c89ad6f9347b8f5300c4d0f6f4920bb1
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 03:29:17 -0700

kit: add Apple permission status provider

- add adapter-backed Apple permission status snapshots
- normalize notification capture photo microphone and location states
- link the Apple frameworks used by the status provider
- cover provider routing and platform enum mappings with Swift tests

</content>
</entry>
<entry>
<id>522bbb42c89ad6f9347b8f5300c4d0f6f4920bb1</id>
<published>2026-06-14T10:26:27Z</published>
<updated>2026-06-14T10:26:27Z</updated>
<title>kit: add permission and location contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/522bbb42c89ad6f9347b8f5300c4d0f6f4920bb1.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 522bbb42c89ad6f9347b8f5300c4d0f6f4920bb1
parent 841700cf1121eb6ede62b5677755d54247ddc53e
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 03:26:27 -0700

kit: add permission and location contracts

- add reusable permission snapshot and location request models
- validate coordinate accuracy timeout and reading freshness inputs
- add deterministic permission and location testing fakes
- cover the new contracts with Swift package tests

</content>
</entry>
<entry>
<id>841700cf1121eb6ede62b5677755d54247ddc53e</id>
<published>2026-06-14T09:42:55Z</published>
<updated>2026-06-14T09:42:55Z</updated>
<title>kit: expose prepared export existence</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/841700cf1121eb6ede62b5677755d54247ddc53e.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 841700cf1121eb6ede62b5677755d54247ddc53e
parent 6933a6cdf18b0db3037f8528e7cffbf306e28b2d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 02:42:55 -0700

kit: expose prepared export existence

Add a RadrootsFileAccess API for inspecting prepared export lifecycle state.

Update AppleKit tests to verify export release behavior through the shared file access boundary.

</content>
</entry>
<entry>
<id>6933a6cdf18b0db3037f8528e7cffbf306e28b2d</id>
<published>2026-06-14T09:16:05Z</published>
<updated>2026-06-14T09:16:05Z</updated>
<title>kit: add SwiftUI document presentation</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/6933a6cdf18b0db3037f8528e7cffbf306e28b2d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 6933a6cdf18b0db3037f8528e7cffbf306e28b2d
parent acfb31baaa6a3364b46e29c2776149e66bebfd16
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 02:16:05 -0700

kit: add SwiftUI document presentation

- add AppleKit-owned SwiftUI import and export modifiers
- add prepared export file document support
- wrap public text sharing behind an AppleKit share link view
- cover content type, import destination, and share adapters

</content>
</entry>
<entry>
<id>acfb31baaa6a3364b46e29c2776149e66bebfd16</id>
<published>2026-06-14T09:13:12Z</published>
<updated>2026-06-14T09:13:12Z</updated>
<title>kit: add file based document staging</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/acfb31baaa6a3364b46e29c2776149e66bebfd16.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit acfb31baaa6a3364b46e29c2776149e66bebfd16
parent 548a50e8b0317ca9fe9e618b8a8c432a87c695fc
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 02:13:12 -0700

kit: add file based document staging

- add external file import and staging primitives to file access
- prepare export documents under temporary AppleKit roots
- copy staged and large scoped files without public inline data transfer
- cover file staging, import, export, cleanup, and invalid requests

</content>
</entry>
<entry>
<id>548a50e8b0317ca9fe9e618b8a8c432a87c695fc</id>
<published>2026-06-14T09:10:27Z</published>
<updated>2026-06-14T09:10:27Z</updated>
<title>kit: add document interchange contracts</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/548a50e8b0317ca9fe9e618b8a8c432a87c695fc.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 548a50e8b0317ca9fe9e618b8a8c432a87c695fc
parent 03cc7a6486122d7674e1fc32b15989cb20c2dc03
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 02:10:27 -0700

kit: add document interchange contracts

- add reusable document import, export, and share payload models
- validate filenames, media types, public urls, and share text
- normalize unsigned byte counts for inline and staged export sources
- cover document interchange contracts with Swift package tests

</content>
</entry>
<entry>
<id>03cc7a6486122d7674e1fc32b15989cb20c2dc03</id>
<published>2026-06-14T07:55:21Z</published>
<updated>2026-06-14T07:55:21Z</updated>
<title>kit: add staged file access</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/03cc7a6486122d7674e1fc32b15989cb20c2dc03.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 03cc7a6486122d7674e1fc32b15989cb20c2dc03
parent a782d61ce2b03be1f4b3613766c75284d1b55a66
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 00:55:21 -0700

kit: add staged file access

- add the reusable Radroots file access protocol

- implement Apple-backed inline and staged-blob storage

- add reset, release, list, and sweep helpers

- cover staged blob behavior with Swift package tests

</content>
</entry>
<entry>
<id>a782d61ce2b03be1f4b3613766c75284d1b55a66</id>
<published>2026-06-14T07:49:50Z</published>
<updated>2026-06-14T07:49:50Z</updated>
<title>kit: add file root contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/a782d61ce2b03be1f4b3613766c75284d1b55a66.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit a782d61ce2b03be1f4b3613766c75284d1b55a66
parent ee71a39735e55e1cd5ea2fd40ab2fcf3e9ef8636
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sun, 14 Jun 2026 00:49:50 -0700

kit: add file root contract

- add reusable file scopes and references
- add deterministic Apple file root derivation
- validate scoped path resolution and root config
- cover the contract with Swift package tests

</content>
</entry>
<entry>
<id>ee71a39735e55e1cd5ea2fd40ab2fcf3e9ef8636</id>
<published>2026-06-13T22:07:33Z</published>
<updated>2026-06-13T22:07:33Z</updated>
<title>kit: harden secure store contract</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/ee71a39735e55e1cd5ea2fd40ab2fcf3e9ef8636.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit ee71a39735e55e1cd5ea2fd40ab2fcf3e9ef8636
parent c8eecf0a58ec5f26b62de49e9df95871f736f76d
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 13 Jun 2026 15:07:33 -0700

kit: harden secure store contract

- normalize secure-store keys before Keychain account use
- route namespace service names through shared validation
- add an in-memory secure store for reusable tests
- expand secure-store policy and namespace coverage

</content>
</entry>
<entry>
<id>c8eecf0a58ec5f26b62de49e9df95871f736f76d</id>
<published>2026-06-13T09:00:54Z</published>
<updated>2026-06-13T09:00:54Z</updated>
<title>kit: harden secure store policy checks</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/c8eecf0a58ec5f26b62de49e9df95871f736f76d.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit c8eecf0a58ec5f26b62de49e9df95871f736f76d
parent 91da1787ca4af03c61a9bf1dd10e61b66746f126
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Sat, 13 Jun 2026 02:00:54 -0700

kit: harden secure store policy checks

</content>
</entry>
<entry>
<id>91da1787ca4af03c61a9bf1dd10e61b66746f126</id>
<published>2026-06-12T07:05:34Z</published>
<updated>2026-06-12T07:05:34Z</updated>
<title>kit: expose local state reset from radroots kit</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/91da1787ca4af03c61a9bf1dd10e61b66746f126.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 91da1787ca4af03c61a9bf1dd10e61b66746f126
parent 22cf4fd131673bab9cd51d12969bac9df1c33993
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Fri, 12 Jun 2026 00:05:34 -0700

kit: expose local state reset from radroots kit

- move reusable app local-state reset into the production kit target

- keep UI-test launch configuration in RadrootsKitTesting

- cover missing-state and keychain-service reset behavior

</content>
</entry>
<entry>
<id>22cf4fd131673bab9cd51d12969bac9df1c33993</id>
<published>2026-06-12T04:27:09Z</published>
<updated>2026-06-12T04:27:09Z</updated>
<title>package: add host service primitives</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/22cf4fd131673bab9cd51d12969bac9df1c33993.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 22cf4fd131673bab9cd51d12969bac9df1c33993
parent 000587a80a582fafdb0e561dca449b8593514f81
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 11 Jun 2026 21:27:09 -0700

package: add host service primitives

- expose RadrootsKit and RadrootsKitTesting products
- add typed secure-store and Keychain support
- add Apple user-presence inspection and verification
- add deterministic launch and local reset test helpers

</content>
</entry>
<entry>
<id>000587a80a582fafdb0e561dca449b8593514f81</id>
<published>2026-06-12T04:06:55Z</published>
<updated>2026-06-12T04:06:55Z</updated>
<title>Initial commit</title>
<link rel="alternate" type="text/html" href="https://radroots.dev/git/apple_kitcommit/000587a80a582fafdb0e561dca449b8593514f81.html" />
<author>
<name>triesap</name>
<email>tyson@radroots.org</email>
</author>
<content>commit 000587a80a582fafdb0e561dca449b8593514f81
Author: triesap &lt;tyson@radroots.org&gt;
Date:   Thu, 11 Jun 2026 21:06:55 -0700

Initial commit

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