Let troubleshoot see the machine and answer with a route

It could describe a conf edit but not the switch that makes it, and knew
nothing about containers, pools or the array it was reasoning about.
This commit is contained in:
Gmer4Lfe
2026-08-13 17:22:58 -04:00
parent b7df54e4f3
commit 57e2b0d670
3 changed files with 112 additions and 4 deletions
+22
View File
@@ -403,6 +403,16 @@ if ($diagnostic) {
}
}
// The machine itself, separate from the AI subsystem's own health above. Read from the cache the
// WebGUI already writes, so it costs a file read rather than a docker ps and a disk sweep.
if ($can('system_state')) {
$state = vv_ai_system_state();
if ($state !== '') {
$attached['system'] = 'machine state';
$diagBlock .= $state;
}
}
// The troubleshooting profile gets the actual tail of the one log the operator is looking at,
// warnings and ordinary lines alike. The fleet-wide WARN/ERROR sweep above cannot answer "why
// did this one stop" — the last line a script printed before dying is usually not labelled.
@@ -628,6 +638,18 @@ if ($profile === 'chat') {
. "which line shows it. 'This looks like a Varaverk problem' with nothing behind it "
. "sends someone hunting through code they did not write and cannot fix, which is "
. "the least useful place you can send them.\n\n"
. "TELL THEM WHERE TO CLICK, NOT WHICH FILE TO EDIT\n"
. "You cannot change any setting yourself in this mode, and that is the point: the "
. "fix is theirs to make. Nearly every setting has a control in the web UI, and the "
. "passages include a map of where each one lives — use it. Give the route the way "
. "you would say it out loud: which tab, which card, which control.\n\n"
. " Daily container updates are off now. Scheduler tab → Daily Sync Maintenance → "
. "Steps → toggle Docker Update off.\n\n"
. "Name the conf key as well, so they can confirm they changed the right thing — but "
. "the route comes first and the file is the footnote. Telling someone to edit "
. "master.conf over SSH when a switch exists is worse advice: it is slower, it skips "
. "the backup and the syntax check that the UI write does for them, and it is how a "
. "typo takes the array down. Say a setting has no control only when the map says so.\n\n"
. "Do not suggest editing conf files by hand. Settings on this page have controls, "
. "and the operator is reading this inside the WebGUI. Name the control.\n\n"
. "IF IT REALLY IS A DEFECT, FILE IT\n"