Serve node-launcher's hidden prompt, answering sealed to the asker, so a secret typed at the desk is never in the clear (hq ADR 0259 §10)
mesh/merge-gate fail: builds rofi → g14, shanks; no bus step; a manifest the change touches fails the module check: rofi claims node-launcher and says it s…
mesh/repo-check fail: its merge-check.sh failed: files asking for a setting without saying whether it is trusted: 21
mesh/delivery-group group feat/a-secret-given-at-the-desk rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request

This commit is contained in:
jochen
2026-10-09 11:05:11 +02:00
committed by jschoubben
parent 7339ce8556
commit a33d334008
8 changed files with 231 additions and 2 deletions
+24
View File
@@ -43,6 +43,30 @@ func tools() []stdio.Tool {
return Menu(q)
},
},
{
Name: "node-launcher.secret",
Description: fmt.Sprintf("Ask the operator for a value in a prompt that shows nothing of what is typed, "+
"and answer it sealed to the key seal_to names — never in the clear (novox/hq ADR 0259 §10): how the "+
"mesh takes a module's own secret at the desk. Answers sealed, or cancelled when the prompt was "+
"dismissed, answered empty or not answered within timeout_seconds (default and at most %d).", menuMost),
Input: map[string]any{
"type": "object",
"properties": map[string]any{
"prompt": map[string]any{"type": "string", "description": "what the prompt asks"},
"message": map[string]any{"type": "string", "description": "a line saying who asks and for what"},
"seal_to": map[string]any{"type": "string", "description": "the asker's public sealing key, base64: the answer is sealed to it"},
"timeout_seconds": map[string]any{"type": "integer", "description": fmt.Sprintf("give up after this long (at most %d)", menuMost)},
},
"required": []string{"prompt", "seal_to"},
},
Run: func(args map[string]any) (any, error) {
q, err := secretQuestion(args)
if err != nil {
return nil, err
}
return Secret(q)
},
},
{
Name: "rofi_applications",
Description: "The desktop applications the launcher offers on this machine, from every desktop entry " +