Understand that every topic you write is being accessed via ^respond or ^gambit because the control topic is in fact calling your topics using those mechanisms. There is no “relabeling of levels or anything going on. A topic in programming terms is a subroutine. You call a subroutine, it does its thing, it can call other subroutines, they do their things, eventually control returns back to the calling subroutine. In the context of chatscript, if your topic calls another topics, then that call completes either you have generated output or not. If you have, then that’s what stops your CURRENT topic from continuing with new rules, just as though you had written the output directly instead of calling a topic. And if the topic you called merely built facts, did computations, but DIDNT generate any output, its like you didnt generate any output from the current topic so presumably it will move on to the next rule to try.
A “quibble” is a response made which does not accurately answer the user’s question or respond to his statement. If the user says
“do you swim on tuesdays” and your bot DOESN"T know the answer for itself, it can use the “<do you” pattern in a rule like this:
u: ( < do you ) [Sometimes][Yes][No][Why do you ask][Why ask me? Why not ask someone else].
The system is taking a piece of the input, sans real meaning, and issuing some kind of pretend response. The “honest” quibble would be to say “I don’t know.” but that gets boring and doesn’t keep the converstation going.