mesh-issues and mesh-knowledge: pin mesh-sdk at its merge of CallerOf; mesh-knowledge reads the caller from the runtime (hq issue 365)
mesh/merge-gate pass: builds mesh-issues, mesh-knowledge → novox; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery covered: a later merge that contains it was delivered: novox/mesh-catalog@a3f4387e2630 (merged as 300406e0 into main, walk plan-17917125412…

Both pin mesh-sdk/go at 4cf45b5 (mesh-sdk#20 merged). mesh-knowledge's one
reading of the caller, callerOf, now answers stdio.CallerOf, so a call on the
caller-named subject is recorded as its caller's bus user and any other as
unproven, never from the arguments.
This commit is contained in:
2026-10-11 11:26:45 +02:00
parent 66068febb0
commit f134ed5910
8 changed files with 87 additions and 21 deletions
+7 -5
View File
@@ -29,10 +29,11 @@ accepted only on the operator's Approve, given on a channel that proves who answ
`ask`, `get`, `holds` and `history` stay within `bound` bytes (4096 unless asked for, at most 65536) and say what they cut
and how to read the rest. The module's own tool `knowledge_health` answers its health (below).
**Who acted** is the caller as the runtime proves it, never an argument: no verb takes one. Today the runtime
does not hand a module its caller. The SDK's tool call carries only a name and arguments, so proving the caller
needs an SDK change first (hq issue 365). Until then every change is recorded as by `unproven`. In this module
the caller is read in one place, `callerOf` in `main.go`, so the SDK change touches that one function.
**Who acted** is the caller as the runtime proves it, never an argument: no verb takes one. The tool runner takes
the caller's bus user from the caller-named subject a call arrived on and hands it through the SDK
(`stdio.CallerOf`, hq issue 365). A call on the subject that names no caller (served beside it for one release, hq
issue 464), or through a runtime from before issue 365, is recorded as by `unproven`. In this module the caller is
read in one place, `callerOf` in `main.go`.
The rules about callers:
@@ -147,7 +148,8 @@ the consolidated schema for a fresh database is `schema.sql`. A test holds the t
- assignment to the control-node, and a postgres provider for its `postgres-database` provision;
- the issue tracker serving `issue-tracker.reserve` (hq issue 424, merged as mesh-catalog#204) on the mesh;
- the SDK and the runtime proving the caller (hq issue 365) before any review is taken;
- the runtime proving the caller (hq issue 365: mesh-tools#27 and mesh-controller#224 delivered) before any review
is taken;
- the import run once, then checked against hq record by record (hq issue 426).
## Tests