Say there is one chat component, in the places that claimed otherwise
Several headers argued the Scheduler dock was deliberately separate, and the Scheduler's help never mentioned the assistant at all — including the fix flow that just changed shape.
This commit is contained in:
@@ -90,7 +90,7 @@ require_once __DIR__ . '/config.php';
|
||||
const VV_AI_KINDS = ['header', 'readme', 'manual', 'template', 'doc', 'ui'];
|
||||
|
||||
// Profiles — what each one is, and what it is allowed to see and do. One table, in one file,
|
||||
// read by everything: this endpoint, the worker, the shared chat include and the Scheduler dock.
|
||||
// read by everything: this endpoint, the worker, and the shared chat include every page renders.
|
||||
// vv_ai_profile_can() and friends come from there.
|
||||
require_once __DIR__ . '/ai_profiles.php';
|
||||
|
||||
@@ -816,7 +816,7 @@ function vv_ai_token_stats(): array {
|
||||
return $out;
|
||||
}
|
||||
|
||||
// ── Scoped lookups for the WebGUI dock ───────────────────────────────────────────────────────
|
||||
// ── Scoped lookups for the Scheduler's assistant ──────────────────────────────────────────────
|
||||
|
||||
// The tail of one named script's log, for the troubleshooting profile. vv_ai_recent_logs()
|
||||
// answers "is anything wrong anywhere"; this answers "why did THIS fail", which is a different
|
||||
@@ -1308,11 +1308,11 @@ function vv_ai_chat_save(string $id, string $profile, array $messages, string $s
|
||||
$prev = vv_ai_chat_read($id);
|
||||
$created = (int)($prev['created'] ?? time());
|
||||
|
||||
// Scope travels with the conversation. A Scheduler dock thread is bound to what the operator
|
||||
// had open — a script, a log, a conf key — and its turns carry log excerpts chosen for that
|
||||
// Scope travels with the conversation. A Scheduler thread is bound to what the operator had
|
||||
// open — a script, a log, a conf key — and its turns carry log excerpts chosen for that
|
||||
// thing. Storing the scope means reopening the thread anywhere restores the context it was
|
||||
// reasoned in, rather than silently continuing a troubleshooting conversation against
|
||||
// whatever happens to be on screen. The isolation the dock enforces in memory becomes a
|
||||
// whatever happens to be on screen. The isolation the page enforces in memory becomes a
|
||||
// property of the record instead of something lost the moment it is saved.
|
||||
$rec = [
|
||||
'id' => $id,
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
// ═══════════════════════════════════════════════════════════════════════════════════════════════
|
||||
// PURPOSE
|
||||
// The one definition of what an AI profile is. Every consumer — the endpoint, the worker, the
|
||||
// shared chat include, the Scheduler dock — reads it from here instead of restating it.
|
||||
// shared chat include and every page that renders it — reads it from here instead of
|
||||
// restating it.
|
||||
//
|
||||
// WHY THIS EXISTS
|
||||
// A profile used to be defined in five places: history depth in api/ai.php, capabilities in
|
||||
@@ -187,9 +188,9 @@ function vv_ai_profiles_client(): array {
|
||||
// surfaces ask for it. Emitted as its own tag so any script block that consumes it stays pure
|
||||
// JavaScript and remains syntax-checkable outside PHP.
|
||||
//
|
||||
// Both the shared chat include and the Scheduler dock call this. Before it existed the dock had
|
||||
// its own literal `{ code: 'Code', troubleshoot: 'Troubleshoot' }` map, which is how a fourth
|
||||
// copy of the profile list came to exist in the first place.
|
||||
// The shared chat include calls this, as does any page emitting the registry ahead of it. Before
|
||||
// it existed the Scheduler had its own literal `{ code: 'Code', troubleshoot: 'Troubleshoot' }`
|
||||
// map, which is how a fourth copy of the profile list came to exist in the first place.
|
||||
function vv_ai_profiles_script(): void {
|
||||
static $done = false;
|
||||
if ($done) return;
|
||||
|
||||
Reference in New Issue
Block a user