TLS-1, TLS-2, TLS-3: the runner declares its own secret ledgers, refuses a bundle tool named as a ledger repair, and states the capabilities of its calls in its PING (issue 1966)
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -308,7 +308,7 @@ func Run(conn *bus.Conn, served []Served, envs map[string]map[string]string, log
|
||||
announced, err := announce.Serve(conn, announce.Service{
|
||||
Name: conn.Module(), ID: instanceOf(conn),
|
||||
Description: "the mesh's tool runtime on " + node + ": every assigned module's tools and the seats they hold",
|
||||
Metadata: map[string]string{"node": node},
|
||||
Metadata: map[string]string{"node": node, announce.Capabilities: strings.Join(CallCapabilities(), ",")},
|
||||
}, func() []announce.Endpoint { return endpointsOf(conn, r.own(), r.registrations(), r.modules) })
|
||||
if err != nil {
|
||||
logf("[mesh-tools] cannot announce what it serves: %v", err)
|
||||
@@ -396,6 +396,19 @@ func (r *runner) load(s Served) *loadedModule {
|
||||
fail(err.Error())
|
||||
continue
|
||||
}
|
||||
// A tool named as one of the runner's ledger repairs would be taken for it, or hide it: refused at the load, naming both
|
||||
// (ADR 0597 §10).
|
||||
clashed := ""
|
||||
for _, reg := range child.Registrations {
|
||||
if clashed == "" && r.isServed[reg.Module] {
|
||||
clashed = repairClash(reg.Module, reg.Tools)
|
||||
}
|
||||
}
|
||||
if clashed != "" {
|
||||
child.Stop()
|
||||
fail(clashed)
|
||||
continue
|
||||
}
|
||||
l.children = append(l.children, child.Stop)
|
||||
for _, reg := range child.Registrations {
|
||||
got := registration{module: reg.Module, owner: module, tools: reg.Tools}
|
||||
|
||||
Reference in New Issue
Block a user