Gmer4Lfe
2aa9302751
Let the Assistant's expand control actually give the transcript room
...
The AI cards sat in the monitor grid, which caps every row at a quarter of the viewport and
clips the card, so expanding grew the transcript inside a box the row had already sized.
2026-08-09 10:29:50 -04:00
Gmer4Lfe
6cdb0d1eab
One profile picker for both surfaces, and open where you left off
2026-08-09 00:56:04 -04:00
Gmer4Lfe
37784bce6c
Offer Troubleshoot as a profile, and say plainly when it has no log
2026-08-09 00:25:52 -04:00
Gmer4Lfe
073352b21e
Put the Scheduler dock on the same conversation store as everything else
2026-08-09 00:16:09 -04:00
Gmer4Lfe
a011cd5e3b
Give the Monitor tab the help panel the Scheduler already had
2026-08-09 00:06:28 -04:00
Gmer4Lfe
0f92609425
Give the AI subsystem one profile table and one collection, read everywhere
2026-08-08 22:35:37 -04:00
Gmer4Lfe
ea0c713c89
Put the assistant on the dashboard, where the questions actually occur to you
2026-08-08 22:01:13 -04:00
Gmer4Lfe
4d00e37ca1
Move the chat into an include, because the second one was going to be a copy
2026-08-08 22:01:06 -04:00
Gmer4Lfe
228aae31c9
Ask before running a script, which the page header has always said it did
...
Run was the only mutating control here that did not confirm, and it is the one that executes
shell as root — the library holds cleaners that delete files, and six Run buttons sit a row apart
in a dense tree.
2026-08-07 10:43:43 -04:00
Gmer4Lfe
ab794db0ab
Stop the dashboard polling harder than its data can change
...
Every poll after the first asked for ?live=1, so the page paid a full collection — partner SSH
timeouts included — every two seconds while the tmpfs cache it was built around went unused.
Polls are now guarded against overlap and stop while the tab is hidden, repeated failures say so
instead of leaving the last good reading on screen, and two functions nothing called are gone.
2026-08-07 10:23:13 -04:00
Gmer4Lfe
b445ddc2c8
Make a container action tell the truth about what happened
...
The response was discarded, so a refused stop looked like a completed one, and the payload the
card redraws from is cached for 300s with no invalidation — the container carried on showing as
running until the once-a-minute writer caught up. Stop now confirms; start still does not.
2026-08-07 10:20:11 -04:00
Gmer4Lfe
fb50f94ed8
Escape what the monitor page renders, and put the helpers where every page can reach them
...
The page interpolated media titles, partner hostnames read over the mesh, and docker folder
names straight into innerHTML — its own header claimed otherwise, and the helpers that would
have fixed it were defined in a page it never loads. Container WebUI values now get a scheme
check before they reach window.open().
2026-08-07 10:17:45 -04:00
Gmer4Lfe
b02857cf04
Put the AI master switch on Settings, so the switch that hides the AI tab is reachable without it
...
Turning AI off takes the AI tools and their conf gear off the Tools card with it, which
left the raw master.conf editor as the only way back on.
2026-08-07 09:49:41 -04:00
Gmer4Lfe
be306cf86c
Let one gate decide every AI surface, so switching AI off actually removes all of it
...
The Tools card adopted the AI scripts on the host check alone, and api/ai.php only
tested AI_ENABLED in front of ask, so a disabled subsystem still had rows to run and
an endpoint that answered.
2026-08-07 09:49:31 -04:00
Gmer4Lfe
4989486f45
Two thirds of the conf was unreachable from the UI, and an empty Config block said nothing about why
2026-08-06 23:08:49 -04:00
Gmer4Lfe
8b0c2f6d1b
Tools had no gear, so nineteen scripts had no Info and Settings at all
2026-08-06 22:57:05 -04:00
Gmer4Lfe
141e2ca37c
At full size the dock's own button becomes its collapse, and closing hands the panel back
2026-08-06 22:49:38 -04:00
Gmer4Lfe
b803fefebd
Give the assistant dock a size toggle, so a long answer can have the panel without hiding what it is about
2026-08-06 22:44:00 -04:00
Gmer4Lfe
d5944c2443
Sweep every onclick built from data: an unescaped quote silently killed nine handlers
2026-08-06 22:13:10 -04:00
Gmer4Lfe
d135dff5cd
An unescaped quote ended the onclick attribute early, so clicking an error line did nothing
2026-08-06 22:08:10 -04:00
Gmer4Lfe
62a838ebdd
Clicking a recent error opens the log on that line and acks it, so acknowledged means seen
2026-08-06 22:00:44 -04:00
Gmer4Lfe
f2d0e18f2c
Ask about a run from the row it is on, and stop spending context on health checks when the run was clean
2026-08-06 21:51:55 -04:00
Gmer4Lfe
10c1705790
An answer sized the assistant dock past the bottom of the page because nothing refit the panel after it landed
2026-08-06 18:36:50 -04:00
Gmer4Lfe
e467cdaf23
The scheduler AI dock read the poll envelope as the job, so every answer hung on thinking
2026-08-06 18:28:13 -04:00
Gmer4Lfe
269ef9b2de
Verify a bug report's component and evidence before filing it
2026-08-05 21:25:00 -04:00
Gmer4Lfe
657ee435d1
Add a copy-out button that formats a report as a pasteable issue
2026-08-05 21:12:40 -04:00
Gmer4Lfe
2c5e412d91
File AI-detected Varaverk defects as deduped reports, surfaced on the AI tab and counted in the coffee report
2026-08-05 20:48:54 -04:00
Gmer4Lfe
714d97dd49
Add an incident journal the troubleshooter reads back, and thinking for diagnosis
2026-08-05 20:26:56 -04:00
Gmer4Lfe
5a813eb4c8
Add a troubleshooting profile with the scoped log, and a deterministic conf-key lookup
2026-08-05 20:18:05 -04:00
Gmer4Lfe
185abdb442
Add a scope-aware assistant dock to the scheduler right panel
2026-08-05 19:56:02 -04:00
Gmer4Lfe
eacea56d9d
Title the info banner for its view, and number and stripe the array fields
2026-08-05 18:13:04 -04:00
Gmer4Lfe
99486b1eaf
Open on the condensed list, with a More info button for the full document
2026-08-05 18:03:47 -04:00
Gmer4Lfe
aeb8c01370
Show the terse control list when the help block is collapsed
2026-08-05 17:58:29 -04:00
Gmer4Lfe
2ad3a1bfed
Put the whole help doc back behind the collapse so the live blocks are not buried
2026-08-05 17:51:12 -04:00
Gmer4Lfe
329bf25b14
Number and stripe the per-script settings so each one reads as its own row
2026-08-05 17:44:12 -04:00
Gmer4Lfe
1761087283
Measure the editor chrome instead of assuming 38px, so the last lines are reachable
2026-08-04 21:16:15 -04:00
Gmer4Lfe
a13c5541cc
Pin the editor highlight overlay to the textarea so long confs scroll to the end
2026-08-04 21:07:27 -04:00
Gmer4Lfe
262cd92300
Cover every control in the reference tables so the collapsed view stays complete
2026-08-04 19:49:44 -04:00
Gmer4Lfe
87fa2693f0
Show the reference tables collapsed and the task guide on expand, from one file
2026-08-04 19:45:23 -04:00
Gmer4Lfe
3ea80ef944
Single-source the scheduler help from markdown the AI index can read
2026-08-04 19:30:38 -04:00
Gmer4Lfe
e1bbecad38
Rename the per-orchestrator expander to Steps so it stops colliding with Advanced mode
2026-08-04 19:19:48 -04:00
Gmer4Lfe
149d98a10b
Add a collapsed settings card under the composer
2026-08-04 18:27:57 -04:00
Gmer4Lfe
bd583b58dc
Put token usage above the system checks on the AI tab
2026-08-04 18:22:09 -04:00
Gmer4Lfe
83508cfb1b
Pull partner token ledgers into a RAM cache so fleet totals are fleet-wide
2026-08-04 18:14:38 -04:00
Gmer4Lfe
969a85f303
Record token usage per turn and show daily, weekly and all-time totals by host
2026-08-04 18:04:46 -04:00
Gmer4Lfe
961c57c6f0
Let the system checks reach three columns on a wide monitor
2026-08-04 17:49:20 -04:00
Gmer4Lfe
89d6219e95
Align the System checks card with the third banner stat
2026-08-04 17:44:30 -04:00
Gmer4Lfe
131c9ffc13
Run the AI system checks in two columns to halve the card height
2026-08-04 17:40:50 -04:00
Gmer4Lfe
b1fdaced9f
Restrict the AI tab to HOST1 — the only node with the GPU, Ollama and the index
2026-08-04 17:25:40 -04:00
Gmer4Lfe
9d189e9dbf
Flag destructive operations in generated scripts
...
Custom Scripts run as root on a schedule, so the expensive mistake is not
tangled logic — it is a simple script aimed one directory too high. The prompt
now asks for the dry-run form and an explicit line on what gets destroyed, and
a scan of the generated code blocks raises a banner regardless of whether the
model bothered to warn. Scans fenced code only, so prose mentioning rm does not
trip it.
2026-08-03 18:09:47 -04:00