lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 102c38f72bf9398618a284d8c35e94c4b2d90daf
parent 4d31f327c9659240d93ab01e9343b8c0171249ea
Author: triesap <tyson@radroots.org>
Date:   Tue, 25 Aug 2026 21:47:52 +0000

service-sqlite: bind the native qualification matrix

- qualify macOS aarch64 as the current developer runtime
- require Linux x86_64 for process-level storage evidence
- leave every other platform outside the active support gate
- bind the exact matrix in the package boundary regression

Diffstat:
MAGENTS.md | 9+++++----
Mcrates/service_sqlite/README.md | 13++++++++-----
Mcrates/service_sqlite/tests/package_boundary.rs | 6+++++-
3 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -339,10 +339,11 @@ Before editing code: `SIGKILL`, and retain a parent kill-on-drop watchdog. Cover writer-lock death and the exact pre-marker, prepared, marker-scratch, installed-replacement, and terminal-marker restore topologies under a permissive child umask. - Require Linux execution for OS-level qualification; macOS is developer - evidence only. Do not ship a helper binary, add production signal/process - behavior, poll filesystem state for crash timing, or claim abrupt power-loss - durability from process-death tests. + Require Linux x86_64 execution for OS-level qualification; macOS aarch64 on + the current machine is developer evidence only. No other platform or + architecture is an active qualification gate. Do not ship a helper binary, + add production signal/process behavior, poll filesystem state for crash + timing, or claim abrupt power-loss durability from process-death tests. - Runtime-management flows consume a sealed `RuntimeContext` for every service instance. They must not reconstruct service paths from raw identifiers, ambient selectors, or manager-owned roots, and registries must not persist diff --git a/crates/service_sqlite/README.md b/crates/service_sqlite/README.md @@ -259,7 +259,9 @@ and is constrained to `1..=i64::MAX`; it has no default. The value implicit universal threshold. On Linux and macOS the platform adapter opens the owner-owned state directory that is not group/other writable without following links, retains and revalidates its identity, and uses `fstatvfs` to measure -bytes available to the unprivileged service user. Other platforms fail closed. +bytes available to the unprivileged service user. The current native +qualification matrix is macOS aarch64 and Linux x86_64; other platforms fail +closed and successful compilation outside that matrix is not support evidence. A successful immutable snapshot is `ready` when available bytes are greater than or equal to the configured minimum and `low_disk` when they are below it. @@ -301,10 +303,11 @@ durable marker, prepared rollback, interrupted marker-scratch promotion, installed-replacement recovery, and terminal-marker cleanup. A permissive child umask cannot broaden the fixed `0700` state directory or `0600` lock, database, stage, backup, marker, and marker-scratch artifacts. Linux execution -is required for OS-level qualification; macOS execution is developer evidence, -and unsupported targets compile the production library without the native -process harness. These tests exercise process death at named durable edges and -do not claim abrupt power-loss or storage-device durability behavior. +on x86_64 is required for OS-level qualification; macOS aarch64 execution on +the current machine is developer evidence. No other platform or architecture +is an active qualification gate. These tests exercise process death at named +durable edges and do not claim abrupt power-loss or storage-device durability +behavior. The crate owns mechanics only. Service-specific tables, SQL, repositories, backup content policy, identity material, process lifecycle, and readiness diff --git a/crates/service_sqlite/tests/package_boundary.rs b/crates/service_sqlite/tests/package_boundary.rs @@ -315,6 +315,8 @@ fn service_sqlite_is_unpublished_lint_governed_and_dependency_bounded() { "`268435456` is the exact governed configuration and test vector, not an implicit universal threshold", "owner-owned state directory that is not group/other writable", "uses `fstatvfs` to measure bytes available to the unprivileged service user", + "current native qualification matrix is macOS aarch64 and Linux x86_64", + "successful compilation outside that matrix is not support evidence", "successful immutable snapshot is `ready` when available bytes are greater than or equal", "`low_disk` when they are below it", "measurement failure is a typed unavailable error and is never fabricated as low-disk evidence", @@ -341,7 +343,9 @@ fn service_sqlite_is_unpublished_lint_governed_and_dependency_bounded() { "orphan-stage refusal before a durable marker", "interrupted marker-scratch promotion", "permissive child umask cannot broaden", - "Linux execution is required for OS-level qualification", + "Linux execution on x86_64 is required for OS-level qualification", + "macOS aarch64 execution on the current machine is developer evidence", + "No other platform or architecture is an active qualification gate", "do not claim abrupt power-loss or storage-device durability behavior", ] { assert!(