Hold a decision record to the words rules only from 2026-10-11 (review of #206)
mesh/merge-gate pass: builds new: modules/mesh-knowledge, sent nowhere; no bus step; every machine composes with the change as it did without (4 of 4 compo…
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 delivered

hq's words check never read a decision record, so a correction to any decision
of October 7 to 10 was refused for words it was allowed to write. The links an
accepted record holds are kept by its correction without being judged again.
This commit is contained in:
2026-10-11 05:14:37 +02:00
parent 10ab959d0f
commit ec00e13e22
3 changed files with 48 additions and 13 deletions
@@ -56,11 +56,16 @@ func TestEachDatedRuleHoldsFromItsDay(t *testing.T) {
{"clause-lead", "2026-10-10", "2026-10-11"},
{"checked", "2026-10-10", "2026-10-11"},
} {
if Holds(c.rule, c.before) || !Holds(c.rule, c.from) {
t.Errorf("%s holds a record of %s: %v, of %s: %v", c.rule, c.before, Holds(c.rule, c.before), c.from, Holds(c.rule, c.from))
if Holds(c.rule, KindResearch, c.before) || !Holds(c.rule, KindResearch, c.from) {
t.Errorf("%s holds research of %s: %v, of %s: %v", c.rule, c.before, Holds(c.rule, KindResearch, c.before), c.from, Holds(c.rule, KindResearch, c.from))
}
}
if !Holds("title", "2026-01-01") {
for _, rule := range []string{"retired-word", "daemon-line"} {
if Holds(rule, KindDecision, "2026-10-10") || !Holds(rule, KindDecision, "2026-10-11") {
t.Errorf("%s holds a decision from another day than 2026-10-11", rule)
}
}
if !Holds("title", KindDecision, "2026-01-01") {
t.Error("an undated rule does not hold an old record")
}
}
@@ -77,3 +82,17 @@ func TestANewRecordIsNotDatedBeforeItsReservation(t *testing.T) {
t.Fatalf("a new record dated before its reservation: %v", err)
}
}
// hq's words check never read a decision record: a decision keeps the words it was written with. A correction to
// ADR 0276 (2026-10-10), which writes words and lines those checks held only research and issues to, is taken.
func TestAnInsightToADecisionOfOctoberKeepsItsWords(t *testing.T) {
w := newWorld(t, newMemStore(), hqMain(t))
if _, err := w.k.Import("import@test", ImportAsk{}, hqMain(t)); err != nil {
t.Fatal(err)
}
for _, n := range []int{276, 240, 244, 272} {
if _, err := w.k.Propose("corrector@ace", insightTo(t, w, Key{KindDecision, n})); err != nil {
t.Errorf("an insight to ADR %04d was refused: %v", n, err)
}
}
}