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 | Read this as a revision-heavy novel ingest and keep the logic exact. |
| 2 | assert_fact | assert rule ancestor(X, Y) :- parent(X, Y). |
| 3 | assert_fact | assert rule ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z). |
| 4 | assert_fact | assert rule in_region(X, Z) :- at(X, Y), inside(Y, Z). |
| 5 | assert_fact | First-draft digest from the cloister chapters: assert fact parent(maelin, yara). assert fact parent(yara, cato). assert fact at(cato, amber_cloister). assert fact inside(amber_cloister, river_district). |
| 6 | assert_fact | The same draft orders the scenes like this: assert fact before(courtyard_watch, bridge_meeting). assert fact before(bridge_meeting, ash_flight). assert fact occurs_on(bridge_meeting, day_12). |
| 7 | other | Before the editor's rewrite lands, query ancestor(maelin, cato). Query before(bridge_meeting, ash_flight). |
| 8 | retract | Revision memo from the author, explicit form: retract fact parent(yara, cato). |
| 9 | assert_fact | Revision memo continuation, explicit form: assert fact parent(maelin, renna). assert fact parent(renna, cato). |
| 10 | retract | Timeline repair from the second pass, explicit form: retract fact before(bridge_meeting, ash_flight). |
| 11 | assert_fact | Timeline continuation, explicit form: assert fact before(courtyard_watch, archive_interlude). assert fact before(archive_interlude, ash_flight). assert fact before(ash_flight, bridge_meeting). |
| 12 | retract | Day stamp correction, explicit form: retract fact occurs_on(bridge_meeting, day_12). |
| 13 | assert_fact | Day stamp continuation, explicit form: assert fact occurs_on(bridge_meeting, day_13). |
| 14 | retract | Location polish from the clean pages, explicit form: retract fact at(cato, amber_cloister). |
| 15 | assert_fact | Location polish continuation, explicit form: assert fact at(cato, river_steps). assert fact inside(river_steps, river_district). |
| 16 | assert_fact | Now answer from the revised manuscript only: query at(cato, river_steps). Query occurs_on(bridge_meeting, day_13). Query ancestor(maelin, cato). |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| maelin_yara_parent_kept | parent(maelin, yara). | success | 1 | |
| yara_cato_parent_removed | parent(yara, cato). | no_results | 0 | |
| maelin_renna_parent_added | parent(maelin, renna). | success | 1 | |
| renna_cato_parent_added | parent(renna, cato). | success | 1 | |
| maelin_cato_ancestor_after_revision | ancestor(maelin, cato). | success | 1 | |
| courtyard_watch_before_bridge_meeting | before(courtyard_watch, bridge_meeting). | success | 1 | |
| bridge_meeting_no_longer_before_ash_flight | before(bridge_meeting, ash_flight). | no_results | 0 | |
| bridge_meeting_shifted_to_day_13 | occurs_on(bridge_meeting, day_13). | success | 1 | |
| bridge_meeting_not_on_day_12 | occurs_on(bridge_meeting, day_12). | no_results | 0 | |
| cato_at_river_steps | at(cato, river_steps). | success | 1 | |
| cato_not_at_amber_cloister | at(cato, amber_cloister). | no_results | 0 | |
| cato_still_in_river_district | in_region(cato, river_district). | success | 1 |