Laura suggested a feature that I should proceed to implement: a single-thread tester. The idea here is to have a quick test, something that will check behavior spreading out from a particular verb. Thus, its starting point must be gSelectedVerb. From there, however, it must function rather like a seedstory, with terms randomly assigned to it. The trick lies in the absence of context; what if downstream verbs refer to history that doesn't exist? What if causal events are required? We need some way to default past such situations. (Also: how far? tree? step by step? show changes?)
I think that poison will do a lot for this problem. I could establish that, when inside the single-thread test, the triggering of poison will NOT lead to the dismissal of the consequence. Instead, we assign it a random weighting value, and keep going.
Next question: how far does the test go: a single step? a bunch of steps? Until it dies? Do we repeatedly test it to show the tree of results? I suppose that all of the above options have their values, and so should be available. OK, so here's a suite:
This test starts with gSelectedVerb and runs the engine through a single step with random inputs, doing this 100 times; it reports back the distribution of consequences.
This test starts with gSelectedVerb and selects random inputs, then runs the engine until the thread dies or the thread length exceeds 50, whichever comes first. It reports back the thread sequence.
This test is a combination of the above two tests; it starts with random inputs, runs the thread until it dies or exceeds 50 in length; then it starts over and repeats the process. Its output is the distribution of consequences in a tree format.