From 6c2f180cc7c8315e32d88cbe5d44928d495fe473 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 16:16:40 +0800 Subject: feat(kernel): P31 step1 occupation dialogue response bias - Occupation.biasResponse: deterministic pure remap over Sim.responseFor; no occupation = byte-identical pass-through (all intents x personalities). farmer AskHelp Refused->Helpful; fisher SmallTalk Reserved->Friendly; peddler SmallTalk Reserved->Bargaining; scholar Joke fully overridden to Reserved (documented total-override semantics, opposite of personality). - Sim.responseFor made public (same pure function, reused as the base path). - Sim.chooseDialogueWith: extracted body of chooseDialogue with an injectable respond function; chooseDialogue keeps identity semantics unchanged. - Sim.appendAnnal made public for the upcoming story annal writes. - 9 new kernel tests (92 -> 101); performance digest unchanged. --- src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj | 1 + 1 file changed, 1 insertion(+) (limited to 'src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj') diff --git a/src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj b/src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj index dea8314..6924012 100644 --- a/src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj +++ b/src/LivingVillage.Kernel.Tests/LivingVillage.Kernel.Tests.fsproj @@ -14,6 +14,7 @@ + -- cgit v1.2.3