rung_310_story_cross_clause_pronoun_weave

Ontology: rung_310_story_cross_clause_pronoun_weave

Scenario file: D:\_PROJECTS\prethinker\kb_scenarios\rung_310_story_cross_clause_pronoun_weave.json

Generated 2026-04-13 00:48:05 UTC | Back to ladder index | Back to docs

Latest Run Summary

Status: passed

Validation: 15/15 passed

Parser failures: 0 | Apply failures: 0

Artifacts: raw run json | rendered run transcript

Utterance Plan

#Expected RouteUtterance
1assert_factTreat this as a messy family chapter with pronouns crossing clauses.
2assert_factassert rule ancestor(X, Y) :- parent(X, Y).
3assert_factassert rule ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z).
4assert_factassert rule in_region(X, Z) :- at(X, Y), inside(Y, Z).
5assert_factRain-letter digest: Tomas is Irena's parent. Tomas is Olan's parent. Irena is Soren's parent. Irena is Pella's parent. Pella is Neri's parent.
6assert_factThe place lines and prop line were copied on the back page: Set at(neri, ivy_stacks). Set inside(ivy_stacks, ember_library). Set carries(irena, brass_compass).
7queryBefore the copy edits start, is Tomas already an ancestor of Neri, and does Irena still hold the compass?
8retractCopy note: the clause about her brother's girl belongs to Olan's branch, not Irena's, so retract parent(irena, pella).
9assert_factCopy note continuation: Set parent(olan, pella).
10retractPronoun memo, annoying but usable: retract carries(irena, brass_compass).
11assert_factPronoun memo continuation: Set carries(soren, brass_compass).
12retractLast staging cleanup: retract at(neri, ivy_stacks).
13assert_factLast staging continuation: Set at(neri, lower_gallery). Set inside(lower_gallery, ember_library).
14assert_factFinal continuity query: query ancestor(tomas, neri). Query carries(soren, brass_compass). Query in_region(neri, ember_library).

Validation Contract

IDQueryExpectMin RowsMax Rows
tomas_irena_parent_keptparent(tomas, irena).success1
tomas_olan_parent_keptparent(tomas, olan).success1
irena_soren_parent_keptparent(irena, soren).success1
irena_pella_parent_removedparent(irena, pella).no_results0
olan_pella_parent_addedparent(olan, pella).success1
pella_neri_parent_keptparent(pella, neri).success1
tomas_ancestor_of_neriancestor(tomas, neri).success1
olan_ancestor_of_neriancestor(olan, neri).success1
irena_not_ancestor_of_neriancestor(irena, neri).no_results0
soren_has_brass_compasscarries(soren, brass_compass).success1
irena_no_brass_compasscarries(irena, brass_compass).no_results0
neri_at_lower_galleryat(neri, lower_gallery).success1
neri_not_at_ivy_stacksat(neri, ivy_stacks).no_results0
neri_in_ember_libraryin_region(neri, ember_library).success1
tomas_not_parent_of_pellaparent(tomas, pella).no_results0