Detected by Claude:
killcontext should never kill an active context. However, in this example it does:
supcontext(a)$
assume(p > 0)$
supcontext(b)$
is(p > 0); /* true */
killcontext(a); /* done - it killed it, even though it's active */
is(p > 0); /* unknown */
contexts; /* [b, initial, global] */
If the first is(p > 0) is removed, killcontext correctly refuses.