Skip to content

Commit 240f44b

Browse files
committed
docs: state the authority adapter claim precisely
"The adapter itself is NOT IN TREE" was too strong and it was wrong. An adapter does ship: Trinity.Authority.Local. Grepping the behaviour resolves two files, lib/trinity/authority/local.ex and a test fixture at test/support/authority/adapters.ex. Corrected to: the seam is in the tree, selection happens once at boot from TRINITY_AUTHORITY, one implementation ships and it is Local, and no adapter other than Local ships in this tree. An external authority adapter lives in another repository and nothing in mix.exs or mix.lock depends on one, which an assessor can confirm from the dependency list rather than from the page. Checked while correcting it: the only occurrence of the platform name anywhere in mix.exs, mix.lock, config/ or lib/ is the forbidden-name list inside the name check that exists to fail the build if such a name appears. Not a dependency. The parallel claim about the key seam holds unchanged: one implementation of Trinity.Keys, lib/trinity/keys/local.ex, so no KMS or HSM adapter is in the tree. README gains one sentence: this pack documents the gap; it does not close it. Signed-off-by: Ayla Croft <aylacroft@proton.me>
1 parent f4b41a2 commit 240f44b

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

‎docs/regulated/README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,5 @@ model prompt and what may not. Read both before the others.
6969
This directory is documentation only. It adds no code, changes no behaviour, and asserts no control
7070
that is not already in the tree. Where the tree does not implement something this pack names, the
7171
row says **NOT IN TREE** rather than describing an intention.
72+
73+
This pack documents the gap; it does not close it.

‎docs/regulated/authorization-boundary.md‎

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,20 @@ keeps **no executor** for the effects that adapter governs, and that absence is
7474
over the tree rather than by intent (`lib/trinity/authority.ex`, and the census recorded in slice
7575
027's record).
7676

77-
The adapter itself is **NOT IN TREE**. ADR-0008 (`docs/adr/0008-authority-is-an-adapter.md`) states
78-
that no slice in this repository builds one and that it is downstream work in a downstream
79-
repository. An assessor evaluating a regulated deployment is evaluating that adapter as well as
80-
this software, and this pack says nothing about it.
77+
**Stated precisely, because the loose version of this sentence is wrong.** The seam is in the tree:
78+
`lib/trinity/authority.ex` is the behaviour, and `lib/trinity/authority/selection.ex` picks an
79+
implementation once at boot from `TRINITY_AUTHORITY` (ADR-0010). **One implementation ships here,
80+
and only one:** `Trinity.Authority.Local` (`lib/trinity/authority/local.ex`), which is the sole
81+
module in the tree that calls a tool's `execute/2` for an effectful tool. Grepping the behaviour
82+
resolves two files and the second is a test fixture (`test/support/authority/adapters.ex`).
83+
84+
**No adapter other than `Local` ships in this tree.** An external authority adapter is a module in
85+
another repository, and ADR-0008 (`docs/adr/0008-authority-is-an-adapter.md`) states that no slice
86+
in this repository builds one. Nothing in `mix.exs` or `mix.lock` depends on one; an assessor can
87+
confirm that from the dependency list rather than from this page.
88+
89+
An assessor evaluating a regulated deployment is evaluating that adapter as well as this software,
90+
and this pack says nothing about it.
8191

8292
## What crosses the boundary, and when
8393

0 commit comments

Comments
 (0)