feat: let opportunity helpers act autonomously

This commit is contained in:
Rijad Zuzo
2026-07-16 10:58:48 +02:00
parent eaa15c076c
commit 0332c57a89
14 changed files with 253 additions and 30 deletions
+22 -5
View File
@@ -792,11 +792,28 @@ The first bounded capable-helper query is complete:
- food and wood scenarios re-derive the same result after restore, and the
village summary explains the current helper route from real simulation facts.
Milestone 7 is not complete. The immediate next slice is one bounded autonomous
consumer of this query: let the currently derived helper choose the reported
gather/deposit action through ordinary selection while preserving urgent
self-care and schedule precedence. Re-query rather than persisting assignment,
and do not add quest acceptance or reward state.
The first bounded autonomous helper consumer is complete:
- when an NPC becomes idle, `SimulationManager` re-derives the current helper
and passes that ephemeral result into ordinary action selection;
- only the matching helper can select the reported gather/deposit action, and
starvation, critical hunger, mourning, low energy, sleep, and meal behavior
keep precedence;
- the resulting task uses the existing definition, target resolver, finite-node
reservation, travel, extraction, inventory, and storage transaction paths;
- no helper assignment, acceptance, reward, opportunity-specific event, or RNG
draw is added, while an in-progress ordinary task continues through the
existing NPC save fields and task-start history;
- focused headless and Jajce runtime regressions prove autonomous selection,
precedence, finite-source targeting, reservation, and restore-time re-query.
Milestone 7 is not complete. The immediate next slice should connect the
existing one-hop fact transfer to this path: prove that a direct witness or
performer can communicate an open need's exact trigger at a real shared
activity, after which the newly informed trusted villager is re-derived as the
helper and responds through the same autonomous selection contract. Keep this
as a truthful event-reference transfer, not generic dialogue or multi-hop
rumour infrastructure.
Recently completed: