A section registered before the controller's terminal took over, or set there, is replaced or removed by a proposal the operator approves
It could not be changed at all: propose refused a name set there and never replaced one. The ask now says plainly that it replaces or removes the registered section and binds its text's digest; on Approve every node renders the new text in the place of the old (a removal leaves it out); a replacement keeps the section's own heading form (issue 340 note 14). Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
@@ -116,14 +116,19 @@ func proposalTools(p Paths) []stdio.Tool {
|
||||
"(Telegram), shown the text (whole when it is short, else its first lines and its fingerprint), and the text " +
|
||||
"reaches those sessions only on Approve. Decline, or no answer within a day, discards it. Refused for text " +
|
||||
"that would run or read in something by itself (a shell line, front matter, an @ file reference), anything " +
|
||||
"shaped like a secret, more than 16 KiB, a name set at the controller's terminal, or when no such channel is " +
|
||||
"there (novox/hq ADR 0274, issue 340). claude_code_proposals shows where it stands.",
|
||||
"shaped like a secret, more than 16 KiB, or when no such channel is there (novox/hq ADR 0274, issue 340). A name " +
|
||||
"registered before for the mesh or the node, or set at the controller's terminal, is proposed too: as a " +
|
||||
"replacement (the text) or with remove a removal of that registered section. The operator's ask says plainly " +
|
||||
"that it replaces or removes the registered section, and shows the text the same way; on Approve every node " +
|
||||
"renders the new text in the place of the old, on Decline or at expiry nothing changes. A replacement of a " +
|
||||
"registered section may keep that section's own heading form (it replaces a mesh section); the heading rule " +
|
||||
"stays for every new shared section. claude_code_proposals and claude_code_registrations show where it stands.",
|
||||
Input: map[string]any{
|
||||
"scope": str("mesh (every node) or node (the nodes given, or this one)"),
|
||||
"nodes": str("for scope node: a comma-separated list of nodes; absent is this node"),
|
||||
"name": str("the section's name: lower-case letters, digits and -, e.g. handoff-from-g14"),
|
||||
"text": str("the section's text, markdown, as every session will read it"),
|
||||
"remove": map[string]any{"type": "boolean", "description": "propose removing the approved section of this name and scope instead"},
|
||||
"remove": map[string]any{"type": "boolean", "description": "propose removing the approved or registered section of this name and scope instead"},
|
||||
},
|
||||
Run: func(a map[string]any) (any, error) {
|
||||
if proposing == nil {
|
||||
|
||||
Reference in New Issue
Block a user