Put the counter-instruction where the refusal cannot outshout it

A paragraph beside the rule did not shift it; the ready-made refusal was simply
the nearest thing to hand, so the correction goes next to the question instead.
This commit is contained in:
Gmer4Lfe
2026-08-12 17:53:07 -04:00
parent 5b2ab93e60
commit e1110b20df
+23
View File
@@ -842,6 +842,29 @@ if ($profile === 'chat' && vv_ai_chat_needs_varaverk($question)) {
. "You cannot see the documentation in this mode, so you do not know what it does. "
. "Say that plainly, point them at the Varaverk Assistant profile, and do not "
. "speculate about its behaviour — not even a hedged guess.\n\n";
// The same backstop pointing the other way, and it needs to be here rather than up in the prompt
// for the same reason that one does: this is the position the model cannot talk itself out of.
//
// The rule above hands it a ready-made refusal — "you cannot see the documentation in this mode,
// the Varaverk Assistant can answer it" — and a question merely containing the word Unraid was
// enough to make it emit that sentence almost verbatim while holding six release-note sources.
// Adding a paragraph of qualification near the rule did not shift it; the refusal was simply the
// nearest thing to hand. So when the classifier says the question names no Varaverk component,
// the counter-instruction goes where the refusal cannot outshout it.
//
// Deterministic on both sides: this fires only when detection says there is nothing Varaverk in
// the question, so the cautious branch above keeps every question it would have caught.
} elseif ($profile === 'chat' && $webHave) {
$system .= "NOTE: nothing in the operator's message names a Varaverk script, setting or "
. "component, and a web search has already run for it — the results are in the "
. "passages. This is an ordinary question about the wider world, so answer it from "
. "those results and your own knowledge, and cite what you use.\n"
. "Do NOT reply that you cannot see the documentation in this mode. No documentation "
. "is needed for a question like this, none was asked for, and the Varaverk "
. "Assistant profile would be a worse answer rather than a better one — it reads "
. "this installation's own documents and knows less about the outside world than "
. "you do. Refusing here while holding the sources is simply a wrong answer.\n\n";
}
if ($context !== '') $system .= "PASSAGES\n" . $context;