feat: add missing wood opportunities
This commit is contained in:
@@ -757,11 +757,29 @@ The outcome-defined pantry-crisis demo loop is complete:
|
||||
replacing state-driven world cues, while a runtime validator measures the
|
||||
unassisted route and a headless scenario verifies its full event chain.
|
||||
|
||||
Milestone 7 is not complete. The immediate next slice is the second bounded
|
||||
unresolved-condition consumer from a real missing-wood `task_blocked` fact,
|
||||
including deterministic interested-party death/staleness handling. Extract
|
||||
shared opportunity machinery only after that second consumer proves the common
|
||||
contract.
|
||||
The second bounded Milestone 7 consumer is complete:
|
||||
|
||||
- patrol or study that loses its definition-backed wood cost at completion
|
||||
records one zero-transfer `task_blocked` fact with stable action, woodpile,
|
||||
wood, and required-amount fields, without applying the work effect;
|
||||
- the performer and nearby witnesses retain that objective fact, and the
|
||||
performer becomes the interested party for one `supply_missing_wood` need;
|
||||
- a real later NPC wood deposit or player tree extraction into the woodpile
|
||||
resolves the record through its exact existing event;
|
||||
- interested-party death or evidence that remains unresolved for one simulated
|
||||
day invalidates the need deterministically, emits no quest-only fact, and
|
||||
releases the protected trigger memory;
|
||||
- world schema v9, nested opportunity schema v2, wood-specific UI text, and
|
||||
focused headless/runtime regressions preserve the full open, resolved, and
|
||||
invalidated lifecycle;
|
||||
- the two proven consumers now share `VillageOpportunitySystem` and the common
|
||||
lifecycle fields, while their evidence and care rules remain explicit.
|
||||
|
||||
Milestone 7 is not complete. The immediate next slice is a bounded
|
||||
capable-helper query for an open need: derive one viable helper from existing
|
||||
knowledge, relationship, action, inventory, and resource facts and expose the
|
||||
reason for that result. Keep it read-only first; only a later proven slice
|
||||
should let opportunity awareness influence autonomous task selection.
|
||||
|
||||
Recently completed:
|
||||
|
||||
@@ -819,7 +837,8 @@ Recently completed:
|
||||
- Action completion costs are definition-backed: patrol and study share one
|
||||
stored-resource contract across selection and execution. The inspector shows
|
||||
readable unavailable reasons, and a late shortfall creates a persisted
|
||||
`task_blocked` fact without applying the work effect.
|
||||
`task_blocked` fact with stable action/resource/requirement fields without
|
||||
applying the work effect.
|
||||
- Structured event feed: EconomicEventRecord now supports narrative events
|
||||
(task started, NPC slept, NPC died) alongside economic transfers.
|
||||
Per-NPC event history with human-readable descriptions exposed in the
|
||||
|
||||
Reference in New Issue
Block a user