33032b859a
The task asked to decide first whether this family should move at all. It
moves, but only half of it, and the half that stays put is the important one.
The prompt is already in acts_ru_v1.json. act_confirm and act_confirm_entity
went there with family 4, which is where they belong: the sentence he has to
hear before he says yes is an act line, and it loads with {name} required, so a
variant that dropped the capability cannot exist. Nothing about that needed
redoing.
What was left in cmd/mavend/confirm.go is the answers. Those are now
confirm_ru_v1.json: cancelled, the two routine answers, and the four
propose-gap lines. Every entry is fixed at one wording. He answered a question
about one specific thing, so variety buys nothing here and costs the property
that matters, which is that the same act reports the same outcome every time.
The three propose lines that name the verb have {name} required, for the same
reason the prompt does.
Two literals also stopped being duplicates. The confirmed tool run said
"готово." and "не получилось выполнить команду." word for word from the acts
family, so it now reports through ActDone and ActFail rather than keeping a
second copy to drift from.
Family 5 was the last one open. The persona scorer sweeps the new variants with
the other five, and the single-variant-means-fixed test now covers it.
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package phraser
|
|
|
|
import (
|
|
"math/rand"
|
|
"testing"
|
|
)
|
|
|
|
// The five embedded families, held to the rule internal/say holds the summary to:
|
|
// one variant means fixed. Reported per family, because a failure that names
|
|
// "some file" is a failure nobody acts on.
|
|
func TestEverySingleVariantEntryIsFixed(t *testing.T) {
|
|
f, err := LoadFallbacks(rand.NewSource(1))
|
|
if err != nil {
|
|
t.Fatalf("LoadFallbacks: %v", err)
|
|
}
|
|
a, err := LoadAcks(rand.NewSource(1))
|
|
if err != nil {
|
|
t.Fatalf("LoadAcks: %v", err)
|
|
}
|
|
q, err := LoadQueries(rand.NewSource(1))
|
|
if err != nil {
|
|
t.Fatalf("LoadQueries: %v", err)
|
|
}
|
|
acts, err := LoadActs(rand.NewSource(1))
|
|
if err != nil {
|
|
t.Fatalf("LoadActs: %v", err)
|
|
}
|
|
confirms, err := LoadConfirms(rand.NewSource(1))
|
|
if err != nil {
|
|
t.Fatalf("LoadConfirms: %v", err)
|
|
}
|
|
for name, keys := range map[string][]string{
|
|
"fallbacks": f.d.UnfixedSingles(),
|
|
"acks": a.d.UnfixedSingles(),
|
|
"queries": q.d.UnfixedSingles(),
|
|
"acts": acts.d.UnfixedSingles(),
|
|
"confirms": confirms.d.UnfixedSingles(),
|
|
} {
|
|
if len(keys) > 0 {
|
|
t.Errorf("%s: single-variant entries not marked fixed: %v", name, keys)
|
|
}
|
|
}
|
|
}
|