Generated 2026-04-13 00:48:05 UTC | Back to ladder index | Back to docs
Status: passed
Validation: 12/12 passed
Parser failures: 0 | Apply failures: 0
Artifacts: raw run json | rendered run transcript
| # | Expected Route | Utterance |
|---|---|---|
| 1 | assert_fact | Chapter-merge mode, noisy language allowed, deterministic KB required. |
| 2 | assert_fact | Set parent(aeris, bryn). Set parent(aeris, corin). Set parent(bryn, dina). Set parent(corin, elan). |
| 3 | assert_fact | assert rule ancestor(X, Y) :- parent(X, Y). |
| 4 | assert_fact | assert rule ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z). |
| 5 | assert_fact | assert rule in_region(X, Z) :- at(X, Y), inside(Y, Z). |
| 6 | assert_fact | Set at(dina, west_quay). Set inside(west_quay, moon_basin). Set carries(bryn, tide_key). |
| 7 | assert_fact | {'utterance': 'she moved em to north ramp same basin', 'clarification_answers': ['She means Corin and em means Elan.'], 'max_clarification_rounds': 1} |
| 8 | assert_fact | Set at(elan, north_ramp). Set inside(north_ramp, moon_basin). |
| 9 | retract | {'utterance': 'actually key goes to the other kid branch not his own', 'clarification_answers': ['Key means tide_key. Give it to Corin, not Bryn.'], 'max_clarification_rounds': 1} |
| 10 | retract | retract fact carries(bryn, tide_key). |
| 11 | assert_fact | Set carries(corin, tide_key). |
| 12 | assert_fact | {'utterance': 'merge those middles so aeris still reaches both leaves', 'clarification_answers': ['Merge means add parent(corin, dina) without removing existing parents.'], 'max_clarification_rounds': 1} |
| 13 | assert_fact | Set parent(corin, dina). |
| 14 | assert_fact | Final query pass: query ancestor(aeris, dina). Query ancestor(aeris, elan). Query in_region(elan, moon_basin). Query carries(corin, tide_key). |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| aeris_bryn_parent_kept | parent(aeris, bryn). | success | 1 | |
| aeris_corin_parent_kept | parent(aeris, corin). | success | 1 | |
| bryn_dina_parent_kept | parent(bryn, dina). | success | 1 | |
| corin_elan_parent_kept | parent(corin, elan). | success | 1 | |
| corin_dina_parent_added | parent(corin, dina). | success | 1 | |
| aeris_reaches_dina | ancestor(aeris, dina). | success | 1 | |
| aeris_reaches_elan | ancestor(aeris, elan). | success | 1 | |
| elan_at_north_ramp | at(elan, north_ramp). | success | 1 | |
| elan_in_moon_basin | in_region(elan, moon_basin). | success | 1 | |
| corin_has_tide_key | carries(corin, tide_key). | success | 1 | |
| bryn_no_tide_key | carries(bryn, tide_key). | no_results | 0 | |
| pronoun_atom_she_absent | parent(she, elan). | no_results | 0 |