From f0c92d6b9938bd6bb2d6e24aeb833fed175a9222 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 5 Oct 2026 12:53:03 +0200 Subject: fix(ai): count a running sd-cli as the sd engine fanfictioner runs sd-cli one-shot, not through sd-server, so the sd row read down while a CLI run held VRAM and generated. A running sd-cli now reads up and busy, its model marked (sd-cli), and outranks the web UI. The model is the first --diffusion-model/-m: sd-cli's prompt follows and is free text that may contain "-m". Co-Authored-By: Claude Opus 5.5 --- docs/superpowers/specs/2026-10-05-ai-module-design.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'docs/superpowers') diff --git a/docs/superpowers/specs/2026-10-05-ai-module-design.md b/docs/superpowers/specs/2026-10-05-ai-module-design.md index b1f0f7e..8171f98 100644 --- a/docs/superpowers/specs/2026-10-05-ai-module-design.md +++ b/docs/superpowers/specs/2026-10-05-ai-module-design.md @@ -45,7 +45,11 @@ between the two requests. With the flag an unloaded model answers 400 The engine is down when `/models` does not answer. -**sd.** `pgrep -x sd-server` gives the PID. The model is the basename of the +**sd.** A running `sd-cli` comes first: fanfictioner runs them one-shot, +each holds VRAM and generates for as long as it lives, so the row reads up, +busy, and its model marked `(sd-cli)`. The first version watched only +`sd-server` and showed the engine down during a fanfictioner run. Otherwise +`pgrep -x sd-server` gives the PID. The model is the basename of the value after `--diffusion-model` or `-m` in its arguments. sd-server has no progress endpoint, but its log `~/.cache/sd-server.log` streams progress bars while it generates, so busy means the log was written in the last 5 seconds. -- cgit v1.2.3