Generated 2026-04-13 00:48:05 UTC | Back to ladder index | Back to docs
Status: passed
Validation: 8/8 passed
Parser failures: 0 | Apply failures: 0
Artifacts: raw run json | rendered run transcript
| # | Expected Route | Utterance |
|---|---|---|
| 1 | assert_fact | Asha is Ben's parent. |
| 2 | assert_fact | Cara has Ben as a parent. |
| 3 | assert_fact | {'utterance': 'he also probs parent of drew, same ben, sorry', 'clarification_answers': ['He means Ben. Ben is a parent of Drew.'], 'max_clarification_rounds': 2} |
| 4 | assert_fact | Elle is parented by Drew. |
| 5 | assert_rule | If X is a parent of Y then X is an ancestor of Y, and if X is an ancestor of Y and Y is an ancestor of Z then X is an ancestor of Z. |
| 6 | assert_fact | sanity check: is asha ancestor of elle |
| 7 | retract | {'utterance': 'wait scrap the ben->drew bit, not the cara branch, i tagged the wrong sibling', 'clarification_answers': ['Retract parent(ben, drew).', 'Yes, remove only parent(ben, drew).'], 'max_clarification_rounds': 2} |
| 8 | assert_fact | Ben is Gia's parent. |
| 9 | assert_fact | Drew has Gia as a parent. |
| 10 | assert_fact | after that cleanup is asha ancestor of drew now |
| 11 | assert_fact | and asha still ancestor of cara right |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| asha_ben_parent | parent(asha, ben). | success | 1 | |
| ben_cara_parent | parent(ben, cara). | success | 1 | |
| ben_drew_removed | parent(ben, drew). | no_results | 0 | |
| ben_gia_parent | parent(ben, gia). | success | 1 | |
| gia_drew_parent | parent(gia, drew). | success | 1 | |
| asha_drew_ancestor | ancestor(asha, drew). | success | 1 | |
| asha_cara_ancestor | ancestor(asha, cara). | success | 1 | |
| he_drew_absent | parent(he, drew). | no_results | 0 |