Offer Troubleshoot as a profile, and say plainly when it has no log

This commit is contained in:
Gmer4Lfe
2026-08-09 00:25:52 -04:00
parent 073352b21e
commit 37784bce6c
5 changed files with 97 additions and 8 deletions
+20 -2
View File
@@ -444,9 +444,27 @@ if ($profile === 'chat') {
// profile of its own. The assistant's contract is "answer only from the passages, refuse if
// absent" — exactly wrong here, where the evidence is a log that is not in the index and
// never should be. This one reasons from the log first and the documentation second.
// What it says it has is what it was actually given. This line used to assert a log tail
// unconditionally, which was safe only while the profile could be reached exclusively by
// opening one. It is now a button as well, so it is reachable with nothing attached — and
// telling a model it holds evidence it does not hold is precisely how you get a confident
// reading of a log that was never there, which is the one failure this profile exists to
// avoid. Stated from $attached, so the prompt cannot drift from the inputs.
$haveLog = isset($attached['log_tail']);
$system = "You are helping the operator work out why something on their Varaverk server did "
. "not do what they expected. You have the tail of the relevant log, live system "
. "state measured just now, and documentation passages about the scripts involved.\n\n"
. "not do what they expected. "
. ($haveLog
? "You have the tail of the relevant log, live system state measured just now, "
. "and documentation passages about the scripts involved.\n\n"
: "You have NOT been given a log for this question — none was open and none was "
. "named that resolves to one. You have live system state and documentation "
. "passages only.\n\n"
. "Say that plainly before anything else, and name what would fix it: open the "
. "log on the Scheduler tab, or name the script in the question. Do not describe "
. "what a log 'would' show, do not infer an outcome from the script's name, and "
. "never write that you are reading or checking a log — you have none to read. "
. "An invented reading is worse here than anywhere else, because the operator "
. "came to this profile specifically for evidence.\n\n")
. "HOW TO ANSWER\n"
. "Lead with what the log actually shows. Quote the line that matters. Then say what "
. "it means, using the documentation to explain what the script was trying to do.\n\n"