You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 019d9cf
Browse filesBrowse the repository at this point in the historyBrowse files
docs(s012): ADR-0009 decided at the checkpoint: no Jido at all
Owner decision on 2026-09-20 on the three measurements the checkpoint
produced: Trinity uses no Jido package. Appended to ADR-0009, superseding
the provisional decision and the earlier appended line, which stands as
written. docs/02, slice 020's spec (Trinity.Tools.Tool is Trinity's own
behaviour with jsv for its schemas), the standards register row (not
applicable) and the VERSIONS row (kept, marked not used) say the same.
Slice 012 is unchanged; it used none of it.
Signed-off-by: Ayla Croft <aylacroft@proton.me>
Copy file name to clipboardExpand all lines: VERSIONS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,7 +91,7 @@ never pin a version hex marks as retired or vulnerable.
91
91
|`req`|~> 0.5 | ✅ in `mix.lock`| HTTP client. |
92
92
|`req_llm`|~> 1.22 | ✅ in `mix.lock`| Provider layer (streaming, tools, structured output, usage). ⚠️ The pin was `~> 1.10` against a recorded latest of 1.10.0; the real latest was twelve minors ahead. Check event shapes against the current version at Slice 011, not against this file's prose. Added at Slice 011. |
93
93
|`beam_mcp`|~> 0.8 | 🔍 not yet a dependency | MCP server core, Apache-2.0, ADR-0007 decision 5 (owner decision 2026-09-08, recorded 2026-09-20). 0.8.0 on hex.pm, standing before 1.0.0. Server side only: the client, MRTR and OAuth are Trinity's, above it. Added at Slice 059. The earlier candidate list (anubis_mcp, fastest_mcp, gen_mcp) is history. |
94
-
|`jido`|~> 2.3 (pending ADR-0009) | 🔍 not yet a dependency | Actions, directives and the effect boundary, if the Slice 012 checkpoint adopts it. |
94
+
|`jido`|not used (ADR-0009, decided 2026-09-20) | 🔍 not a single package | Measured at the Slice 012 checkpoint and not adopted: the agent runtime duplicates PubSub, Oban and the gateways and adds a second tool executor; the action shape is written in-tree at Slice 020 with `jsv` for its schemas. The row stays so the decision is visible where a reader would look for the package. |
95
95
|`jason`|~> 1.2 | ✅ in `mix.lock`||
96
96
|`boundary`|~> 0.10 | ✅ in `mix.lock`| Compile-time module dependency enforcement. Measured at Slice 000: it compiles and enforces on Elixir 1.20.4 / OTP 28, and it reports violations as **warnings**, so it enforces only while `--warnings-as-errors` is on the compile step. ⚠️ No release since 2024-09-25. |
97
97
|`nimble_options`|~> 1.1 | ✅ in `mix.lock`| Config validation for behaviours. |
Copy file name to clipboardExpand all lines: docs/02-tech-stack.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,9 @@ Versions live in `VERSIONS.md`. This file explains *why* each choice was made an
28
28
## Explicitly not chosen (and why)
29
29
30
30
-**Umbrella apps**: isolation is enforced by `boundary` without the build/config overhead.
31
-
-**Jido**: *revised 2026-09-05:* reconsidered rather than rejected. Whether it expresses the action, directive and
31
+
-**Jido**: *decided 2026-09-20, ADR-0009:* not used, on the Slice 012 checkpoint's measurements (the agent runtime
32
+
duplicates PubSub, Oban and the gateways and adds a second tool executor; the action shape is a few dozen lines
33
+
with `jsv` already present). The earlier text of this bullet follows as written. *Revised 2026-09-05:* reconsidered rather than rejected. Whether it expresses the action, directive and
32
34
effect layer better than plain OTP is ADR-0009, decided by measurement at the Slice 012 checkpoint.
33
35
-**Mnesia**: split-brain and schema-management sharp edges; SQLite/CubDB are simpler for single-node.
34
36
-**Ortex**: stalled since Nov 2024. Bumblebee/EXLA instead.
Copy file name to clipboardExpand all lines: docs/09-standards-register.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ document, a PROOF.md line) or `none`; the status; who decides the status. Status
61
61
62
62
| Control | Where Trinity satisfies it | Evidence path | Status | Decider |
63
63
|---|---|---|---|---|
64
-
| Independence from other systems that share the Jido library |shared library, not shared runtime; not on the path a finding takes |ADR-0009appended decision|`tree property` once 012 lands with the boundary tests| owner |
64
+
| Independence from other systems that share the Jido library | not applicable: Trinity uses no Jido package (ADR-0009, decision appended 2026-09-20)|`mix deps.tree` shows no jido package |`tree property`| owner |
65
65
| Standalone operation with no authority plane and no outbound connection |`TRINITY_AUTHORITY=local`, the standalone assertion | slice 024 AC2 |`:unknown` until 024 lands | owner |
Copy file name to clipboardExpand all lines: lib/trinity/versions.ex
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -160,9 +160,10 @@ defmodule Trinity.Versions do
160
160
},
161
161
%{
162
162
name: "jido",
163
-
pin: "~> 2.3 (pending ADR-0009)",
164
-
lock: "jido",
165
-
note: "Actions, directives and the effect boundary, if the Slice 012 checkpoint adopts it."
163
+
pin: "not used (ADR-0009, decided 2026-09-20)",
164
+
lock: nil,
165
+
note:
166
+
"Measured at the Slice 012 checkpoint and not adopted: the agent runtime duplicates PubSub, Oban and the gateways and adds a second tool executor; the action shape is written in-tree at Slice 020 with `jsv` for its schemas. The row stays so the decision is visible where a reader would look for the package."
Copy file name to clipboardExpand all lines: slices/012-session-process-agent-loop/NOTES.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,12 +11,14 @@ Packages read from their Hex tarballs in a scratch directory, never added to the
11
11
| (b) what `Jido.Agent` adds over the `gen_statem`| Sensors, a cron scheduler, signal routing, worker pools, and an `AgentServer` executing `RunInstruction` directives through `Jido.Exec`: a second execution path for tools beside `Trinity.Effects`, the bypass shape 024's census flags. Nothing the Session's six states, persist-before-broadcast rule or rehydrate need |`ls jido/lib/jido` (sensor, scheduler, agent_server, pod); `grep -n 'defmodule ' jido/lib/jido/agent/directive.ex` (Emit, Spawn, SpawnAgent, AdoptChild, StopChild, StartSensor, StopSensor, Schedule, RunInstruction, Stop, Error) |
12
12
| (c) dependency weight |`jido`: 29,820 lines, ten runtime dependencies (`jido_action`, `jido_signal`, `poolboy`, `crontab`, `time_zone_info`, `telemetry_metrics`, `nimble_options`, `splode`, `telemetry`; `jido_signal` adds `msgpax`, `memento`, `fuse`, `uniq`, `phoenix_pubsub`, `zoi`). `jido_action`: six (`jason`, `nimble_options`, `telemetry`, `zoi`, `splode`, `multigraph`), two of which the tree carries already |`find lib -name '*.ex' \| xargs cat \| wc -l`; `grep '{:' mix.exs` in each |
13
13
14
-
**Outcome: actions only**, one of the three the ADR permits. `jido_action` enters at slice 020 as the base of the
15
-
tool behaviour (schema, `run/2`, lifecycle hooks), with a census at 024 that `Trinity.Effects` is `Jido.Exec`'s
16
-
only caller for effectful tools. `jido` (the agent runtime) is not adopted: the Session stays an OTP
17
-
`gen_statem`, PubSub is the broadcast, Oban (050) is the scheduler, gateways (070) are the sensors. Slice 012
18
-
adds no Jido dependency; nothing in it is an action. Recorded as an appended decision on ADR-0009 in this
19
-
slice's docs commit, with the VERSIONS row moved from `jido` to `jido_action`. The owner may veto at G1.
14
+
**Recommended at G1: actions only.****Owner decision at G1, 2026-09-20: no Jido at all.** The one piece with
15
+
value, `Jido.Action` as the shape a tool is written in, is a few dozen lines to write and `jsv` (JSON Schema
16
+
validation) is already in the tree through req_llm; six dependencies and a census for that gain is a poor
17
+
trade, and the runtime was never a candidate on these numbers. Recorded as an appended decision on ADR-0009
18
+
(superseding the provisional decision and the "runtime is Jido v2" line, which stands as written), in
19
+
docs/02, in slice 020's spec (`Trinity.Tools.Tool` is Trinity's own behaviour) and in the standards register.
20
+
The `jido` VERSIONS row stays, marked not used, so a reader finds the decision where the package would be.
0 commit comments