The largest gap in the coverage list is not a gap
Tool servers — 56 modules, over half — were written up as the biggest missing thing. They are expressible with what exists, and the first framing was wrong in a way worth keeping: a module provides `tools` and the session requires them does not work, because a requirement has one answer and 56 modules offering tools would be 56 answers. Turned around it fits exactly. The session provides `tool-host`; every module offering tools requires it and contributes where its tools are. Many-to-one is what `contributes` has always been, and the session receives all of them in one file. Verified by resolving it rather than by reading the code. It only became possible today: until 022, several modules on one node requiring the same thing was refused outright. Worth noting because it means the credential fix bought more than credentials. What remains is a decision about what a tool server is, which is work rather than a missing shape. The entry stays in the list rather than being deleted — a checklist that quietly loses its biggest item reads as though nobody looked.
This commit is contained in:
@@ -50,17 +50,34 @@ is `extends` chains, which were doing inheritance and are better as separate mod
|
|||||||
|
|
||||||
## Missing, and what each would take
|
## Missing, and what each would take
|
||||||
|
|
||||||
Ordered by how many modules need it.
|
Ordered by how many modules need it. The largest entry turned out not to be a gap at all, which
|
||||||
|
is left in place rather than deleted: the first framing of it was wrong in an instructive way, and
|
||||||
|
a checklist that quietly loses its biggest item reads as though nobody looked.
|
||||||
|
|
||||||
### Tool servers — 56 modules
|
### Tool servers — 56 modules — *not a gap*
|
||||||
|
|
||||||
**The largest single gap.** Over half the modules ship a `tools/` directory that becomes tools an
|
Over half the modules ship a `tools/` directory that becomes tools an agent can call on that node.
|
||||||
agent can call on that node. Nothing in the new manifest says *this module offers tools*.
|
This was written up as the largest single gap. **It is expressible with what exists**, and the
|
||||||
|
first framing of it was wrong in a way worth keeping: *a module provides `tools`, the session
|
||||||
|
requires them* does not work, because a requirement has exactly one answer and 56 modules offering
|
||||||
|
tools would be 56 answers to one question.
|
||||||
|
|
||||||
A module can already run the server — it is a container or a service. What is missing is the
|
Turn it around and it fits exactly. The session **provides** `tool-host`; every module offering
|
||||||
convention that makes it reachable: something has to know the tools exist and route to them. That
|
tools **requires** it and **contributes** where its tools are. Many-to-one is what `contributes`
|
||||||
is plausibly not a manifest feature at all but a **provision** — a module provides `tools`, the
|
has always been, and the session receives all of them in one file:
|
||||||
session on that node requires them — which would need no new vocabulary. **Not yet decided.**
|
|
||||||
|
```
|
||||||
|
given: { from: gitea, values: { at: … } }
|
||||||
|
{ from: minio, values: { at: … } }
|
||||||
|
{ from: umami, values: { at: … } }
|
||||||
|
```
|
||||||
|
|
||||||
|
Verified by resolving it, not by reading the code. It also only became possible today: until
|
||||||
|
[`022`](../../04-ISSUES/022-one-credential-per-node-per-provision-not-per-module/00-report.md) was
|
||||||
|
fixed, several modules on one node requiring the same thing was refused outright.
|
||||||
|
|
||||||
|
What remains is not vocabulary but a decision about **what a tool server is** — a container the
|
||||||
|
module already runs, and what the session does with the list. That is work, not a missing shape.
|
||||||
|
|
||||||
### Schema migrations — 14 modules
|
### Schema migrations — 14 modules
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user