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:
2026-11-04 11:40:03 +01:00
parent 84ede95c4a
commit 8b1ab467a9
8 changed files with 153 additions and 6 deletions
+15
View File
@@ -213,6 +213,21 @@ const (
RepairLag = "ledger_lag"
)
// repairClash is why a bundle's tools of a module cannot be served beside the runner's own ledger repairs: a tool named as
// one of them, which the runner serves for every module owning a ledger, would be taken for it or hide it. It names the
// tool and the repair it clashes with; empty when none does.
func repairClash(module string, tools []launch.Tool) string {
for _, t := range tools {
for _, repair := range []string{RepairRebuild, RepairReindex, RepairSnapshot, RepairLag} {
if t.Name == repair {
return fmt.Sprintf("%s's bundle serves a tool named %s, which is also the ledger repair the runner serves for %s "+
"(novox/hq ADR 0597 §10): rename the bundle's tool", module, t.Name, module)
}
}
}
return ""
}
// The effects a tool carries (novox/hq ADR 0387 §1).
const (
EffectReads = "reads"