derive-round-returns-negative-on-error

IN premise

`_derive_one_round` returns -1 on error, 0 on saturation, and a positive count on success — using return values instead of exceptions for flow control in the exhaust loop.

Summary

The derive function uses numeric return codes rather than throwing exceptions to signal what happened during a derivation round. This means the calling loop can cheaply distinguish between errors, completion, and progress without try/catch overhead, but callers must remember to check for -1 explicitly or they risk treating an error as "one belief retracted."

Details

Sourceentries/2026/04/24/reasons_lib-cli.md