diff --git a/docs/integrations/dnd-location-occurrence-artifacts.md b/docs/integrations/dnd-location-occurrence-artifacts.md index 6d1da68..8c0c4dc 100644 --- a/docs/integrations/dnd-location-occurrence-artifacts.md +++ b/docs/integrations/dnd-location-occurrence-artifacts.md @@ -56,10 +56,14 @@ positive and the start may not follow the end. | `visited` | The transcript establishes physical party presence, including arrival, continuing presence, or departure. | | `planned` | The party explicitly proposes, intends, or agrees to future travel; speculation alone is not enough. | | `recalled` | The transcript explicitly recounts prior party presence before the current live events. | -| `mentioned` | The location is explicit but no stronger category applies, including lore, directions, third-party activity, or out-of-character discussion. | +| `mentioned` | The location is explicit but no stronger category applies, including lore, directions, third-party activity, non-actionable speculation, a mere hypothetical reference, or out-of-character discussion. | For overlapping evidence, precedence is `visited`, then `planned`, then -`recalled`, then `mentioned`. Inferred locations are omitted. Normalization +`recalled`, then `mentioned`. For example, “What if we went to Moon Gate?” is +eligible as `mentioned` when its narrow evidence explicitly references that +registry location, but it is not `planned` without an actual proposal, +intention, or agreement to travel. Inferred, unstated, uncertain, and +unsupported places or occurrences are omitted. Normalization canonicalizes the registry name, orders and deduplicates source references, and orders occurrences by source chronology, location ID, name, kind, and reference sequence. It collapses only exact duplicates with the same ID, kind, and diff --git a/docs/internal/dnd.md b/docs/internal/dnd.md index 73401c2..cdbf007 100644 --- a/docs/internal/dnd.md +++ b/docs/internal/dnd.md @@ -156,7 +156,7 @@ shared helper changes. | Scene descriptions | Produces the classifications consumed by combat routing; it does not consume an NPC registry or provide evidence for combat artifacts. | | Enemy events | Requires NPC, scene-description, combat-turn, and NPC-interaction artifacts. It calls the LLM only for an exact `combat` classification, records ordered observations rather than terminal state, and normalizes recognized names through the NPC registry while preserving grounded collective labels. | | Locations | Produces a source-anchored, session-scoped registry. Its LLM-assisted reconciliation is proposal-only and never collapses same-name places without validated identity and evidence rules. | -| Location occurrences | Requires the normalized location registry for both extraction and normalization. It classifies only transcript-established occurrences as visited, planned, recalled, or mentioned; the deterministic normalizer enforces exact registry grounding and never turns registry provenance into occurrence evidence. | +| Location occurrences | Requires the normalized location registry for both extraction and normalization. Its [durable occurrence categories](../integrations/dnd-location-occurrence-artifacts.md#occurrence-categories) distinguish explicit speculation from unsupported inference; the deterministic normalizer enforces exact registry grounding and never turns registry provenance into occurrence evidence. | The combat and scene-description contracts describe their exact handoff and empty-result behavior in more detail: diff --git a/internal/modules/dnd/extract/locationoccurrences/assets/prompts/task.md b/internal/modules/dnd/extract/locationoccurrences/assets/prompts/task.md index bccad2e..17c283b 100644 --- a/internal/modules/dnd/extract/locationoccurrences/assets/prompts/task.md +++ b/internal/modules/dnd/extract/locationoccurrences/assets/prompts/task.md @@ -11,10 +11,19 @@ Use exactly one kind per occurrence: - visited: party members are physically present, arrive, remain, or depart; - planned: the party explicitly proposes, intends, or agrees to future travel; - recalled: the transcript explicitly recounts an earlier party visit; or -- mentioned: the location is explicitly referenced without stronger support. +- mentioned: the location is explicitly referenced without stronger support, + including non-actionable speculation or a mere hypothetical reference. + +A mere hypothetical or speculative reference is not planned unless the +transcript also establishes an actual proposal, intention, or agreement to +travel. When the hypothetical itself explicitly names a supplied registry +location, it may be mentioned using the narrow passage that supports that +reference. For overlapping support, visited outranks planned, recalled, and mentioned; planned outranks recalled and mentioned; recalled outranks mentioned. A passage may produce multiple records when it independently establishes separate facts, such as recalling an earlier visit while planning a return. Omit inferred, -uncertain, hypothetical, or unsupported places and occurrences. +unstated, uncertain, or unsupported places and occurrences. Do not infer a +location or occurrence from surrounding events when the transcript does not +state it.