docs: pin ents-web deployment-agnosticism and retarget the honesty test
commit
cb16785docs: pin ents-web deployment-agnosticism and retarget the honesty test
ents-web must take its signing identity by injection and never assume network reachability, so in-process webview embedding stays a valid deployment. Separately, the honesty test no longer names a synthetic SQLite/haiku root: the subject is now the scale-out Postgres/Tigris/ durable-queue root landing with zero library-crate edits, proven by an actual production migration off the single-node hosted root.
feat: add roots.web-agnostic requirement fix: retarget roots.honesty-test at the scale-out root, not a synthetic one Assisted-by: Claude:claude-sonnet-5
Reviews
No reviews of this commit yet — record a verdict below.
Start a review
docs/spec/overview.adoc
@@ -236,6 +236,7 @@
so local mutations honor the same CAS guarantee hosted storage provides.
--
-The honesty test for these boundaries — a third single-node composition
-root constructible from library crates alone — is a deployment
-requirement and lives in `roots.adoc` as <<roots.honesty-test>>.
+The honesty test for these boundaries — a new composition root
+constructible from library crates alone, no library modification — is a
+deployment requirement and lives in `roots.adoc` as
+<<roots.honesty-test>>.
docs/spec/roots.adoc
@@ -42,11 +42,14 @@
--
[role="requirement", id="roots.honesty-test"]
-.Single-Node Honesty-Test Root (Deferred)
+.Scale-Out Root Is the Honesty Test
--
-A third composition root — SQLite, local filesystem, and Docker — MUST be
-constructible without modifying library code, as the project's honesty
-test for the seam design.
+Wiring the Postgres `RefStore`, Tigris object store, and durable-queue
+`EventSink` (<<roots.hosted>>) as a new composition root MUST require
+zero modification to any library crate.
+This is the project's honesty test for the seam design: the proof is an
+actual production migration off the single-node hosted root, not a
+synthetic root built to demonstrate the seams.
--
[role="requirement", id="roots.config-isolation"]
@@ -67,6 +70,15 @@
root.
--
+[role="requirement", id="roots.web-agnostic"]
+.Web UI Is Deployment-Agnostic
+--
+The `ents-web` crate MUST receive its signing identity by injection from
+its composition root and MUST NOT assume it is reached over a network.
+In-process webview embedding, with no network transport at all, MUST
+remain a supported deployment alongside hosted and local-loopback serving.
+--
+
[role="requirement", id="roots.worktree-update"]
.Local Serve and the Working Tree
--