claude-code: leave the judging of a proposal's channel to the router, and hear its refusal (hq ADR 0274)
mesh/merge-gate pass: builds claude-code → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: builds claude-code → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer head of the same pull request
A module that only asks is issued no channel kinds, so the empty list was read as 'no channel proves its sender' and every proposal was refused on the live mesh with Telegram linked. The router judges; Propose waits for its word, and a refusal heard on the decided subject discards the proposal on every node.
This commit is contained in:
@@ -3,6 +3,7 @@ package main
|
||||
// The tools and the watch of the shared instructions proposed for the operator's approval (novox/hq ADR 0274).
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -56,7 +57,18 @@ func (d *Proposing) watch(p Paths) {
|
||||
}
|
||||
}
|
||||
go persist("hearing the operator's answers", func() error {
|
||||
return stdio.Subscribe(asks.Seat+".decided."+Module, func(stdio.Envelope) error { poke(); return nil })
|
||||
return stdio.Subscribe(asks.Seat+".decided."+Module, func(e stdio.Envelope) error {
|
||||
var w asks.Warrant
|
||||
if json.Unmarshal(e.Body, &w) == nil {
|
||||
if line, err := HeardEnd(p, d.Store, w, d.Now()); err != nil {
|
||||
say("taking the router's word on %s: %v", w.Ask, err)
|
||||
} else if line != "" {
|
||||
say("%s", line)
|
||||
}
|
||||
}
|
||||
poke()
|
||||
return nil
|
||||
})
|
||||
}, func(n int) { say("hearing the operator's answers%s", refusals(n)) })
|
||||
go persist("watching the proposals", func() error {
|
||||
return stdio.State(ProposalsState).Watch("", func(stdio.StateChange) error { poke(); return nil })
|
||||
|
||||
Reference in New Issue
Block a user