knowledge-base: retract an accepted record or its clauses on the operator's Approve

The operator prefers removing a wrong decision to stacking a correcting
record on it, and withdraw took only reserved or proposed records. retract
asks the operator through the router like a record that needs the operator,
and changes nothing until the Approve; a retracted record or clause no longer
holds in ask, holds, get, links and progress, history keeps every version, and
the whole-set rules still read a retracted record's links so a retraction alone
raises no finding. withdraw with retraction true takes a waiting one back.
This commit is contained in:
2026-10-31 10:07:58 +01:00
parent a68b39f7b5
commit f19e3ccffd
17 changed files with 856 additions and 51 deletions
@@ -557,6 +557,12 @@ func (k *KB) progressRecord(p *Progress, kind string, n int) error {
p.Items = []Item{top}
var b strings.Builder
fmt.Fprintf(&b, "%s · %s — %s\n", name, g.Title, g.Status)
for _, x := range g.Retracted {
fmt.Fprintf(&b, "├── retracted %s by %s at %s: %s; not in force\n", x.What, x.By, x.At, x.Why)
}
if g.Retracting != "" {
b.WriteString("├── " + g.Retracting + "\n")
}
if len(designs) == 0 {
b.WriteString("├── no design names it\n")
} else {