Area 2 (join 11): claude-code invokes operator-channel notify and restic the assigner's assignments
Builds: design 47 G GR8 (per-verb grants), area 2 of the join Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// The operator channel's notify, which notifyOperator calls, is in the manifest's invokes, which the grants part reads per
|
||||
// verb (design 47 G GR8): without it the call is refused live.
|
||||
func TestTheManifestInvokesTheNotifyTheModuleCalls(t *testing.T) {
|
||||
raw, err := os.ReadFile("../../module.json")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !strings.Contains(string(raw), `"seat:operator-channel.notify"`) {
|
||||
t.Error("the manifest does not invoke seat:operator-channel.notify")
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,8 @@
|
||||
"mesh-delivery-assigner.assigner_read_assignments",
|
||||
"seat:anthropic-licence-manager.bindings",
|
||||
"seat:anthropic-licence-manager.current",
|
||||
"seat:mesh-vault.get"
|
||||
"seat:mesh-vault.get",
|
||||
"seat:operator-channel.notify"
|
||||
],
|
||||
"consumes": [
|
||||
"mesh-catalog.catalog-revision",
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// The seat verbs the module calls are in its manifest's invokes, which the grants part reads per verb (design 47 G GR8): the
|
||||
// assignments that tell who holds the seat mesh-broker (seatlist.HolderOf) and the broker's show that names its finding stream (A-274).
|
||||
func TestTheManifestInvokesTheSeatVerbsTheModuleCalls(t *testing.T) {
|
||||
raw, err := os.ReadFile(moduleDir + "/module.json")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, verb := range []string{"seat:mesh-module-assigner.assignments", "seat:mesh-broker.show"} {
|
||||
if !strings.Contains(string(raw), `"`+verb+`"`) {
|
||||
t.Errorf("the manifest does not invoke %s", verb)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@
|
||||
}
|
||||
],
|
||||
"invokes": [
|
||||
"seat:mesh-module-assigner.assignments",
|
||||
"seat:mesh-broker.show"
|
||||
],
|
||||
"consumes": [
|
||||
|
||||
Reference in New Issue
Block a user