Skip to main content
A harness that retrieves biomedical evidence, reasons over it, cites it and drafts a reply is four problems, and CTRLRun solves none of them. It solves the fifth: the letter that leaves the building is the letter a named human read, it goes out once, and there is a receipt. Press the buttons below and watch a signature stop matching.
The gate
this library
Send
a physician reads it
The product, the physician’s question and the three references are invented. Nothing on this page is medical information about a real medicine.

What refused you

Revision A says no dose adjustment is needed. The reviewer reads that letter and signs for it, and the approval is bound to the hash of that exact action — its name, its arguments, its recommendation sentence, its reference list. Then a newer study supersedes reference 2 and the pipeline redrafts. Revision B recommends the opposite. The signature is still there, still valid, still unexpired, and it authorizes nothing, because the letter it covers no longer exists. The two side buttons are the other two failures. Filing a safety case with the reply lost leaves the effect AMBIGUOUS rather than failed, so the retry is refused and the case is filed once. An unapproved use is refused by the policy at any size, and an action nobody wrote down is refused for not being in it.

What CTRLRun is not doing here

It did not read the papers. It has no opinion on whether reference 2 supports the sentence that cites it, whether the newer study is the better one, or whether either letter is correct. Claim checking is the hard scientific half of the harness, and it is yours to build — the transferable idea is to make it a precondition of response.send_to_hcp rather than a line in a prompt, so a claim with no source behind it is a refusal with a receipt instead of a suggestion the model can talk itself out of. This page runs real Python: Pyodide 314.0.6 loads in your tab and micropip installs the released ctrlrun wheel from PyPI. The medical portal and the safety database are fakes in the same process, the store is in memory, and no socket is opened. Every refusal you read above came from the same wheel pip install ctrlrun gives you.

Next

  • Why — the 700-word version of the problem underneath this one
  • Get started — the same guarantees around your own function
  • Approval binding — what an approval is bound to, and why