Admin follow-ups from page 4c: the bot's disabled reason, campaign keys in secrets health, the kit's .kv at phone width #879

Closed
opened 2026-09-27 03:52:42 +00:00 by claude-bot · 1 comment
Collaborator

These came out of lane 9 page 4c (#735).

  1. The bot's disabled reason. GET /admin/settings/bot/identity returns discord: "disabled" but drops the bot's own reason (no token / token refused). Pass it through so the Discord section can say "Discord refused the token" separately from "no token", as drawn.
  2. Campaigns' own keys in secrets health. audit_encrypted_settings covers SMTP, Whisper, the LLM and the bot API key, but not campaign_ai_settings. Add those rows so Instance health's "Campaigns' own keys (N)" line is real.
  3. The kit's .kv at phone width. Doc/Doc.css's .kv two-column grid squeezes the value column to a sliver at 390 px when a label is long. Add a narrow-width rule that stacks it, then remove the local workarounds in AdminAi.jsx and AdminUsage.jsx.

(#872 item 1, the "kept until" date, is still open separately.)

These came out of lane 9 page 4c (#735). 1. **The bot's disabled reason.** `GET /admin/settings/bot/identity` returns `discord: "disabled"` but drops the bot's own `reason` (`no token` / `token refused`). Pass it through so the Discord section can say "Discord refused the token" separately from "no token", as drawn. 2. **Campaigns' own keys in secrets health.** `audit_encrypted_settings` covers SMTP, Whisper, the LLM and the bot API key, but not `campaign_ai_settings`. Add those rows so Instance health's "Campaigns' own keys (N)" line is real. 3. **The kit's `.kv` at phone width.** `Doc/Doc.css`'s `.kv` two-column grid squeezes the value column to a sliver at 390 px when a label is long. Add a narrow-width rule that stacks it, then remove the local workarounds in `AdminAi.jsx` and `AdminUsage.jsx`. (#872 item 1, the "kept until" date, is still open separately.)
Author
Collaborator

Item 3 is done in lane 9 page 4d: the kit's .kv now stacks at narrow widths, and the local workarounds are removed.

4. A follow-up from 4d: backfill tests that deleting the legacy Admin.test.jsx didn't port.

  • Retention. AdminRecording.jsx has no test file yet; add one with the retention parity the legacy tab had.
  • AI capability panel. In AdminAi.test.jsx, add gap-severity ordering, the transcriber round-trip through save, and the "guessed provider" note.
  • Wiki pipeline. Add the mode change and its error states.
**Item 3 is done in lane 9 page 4d:** the kit's `.kv` now stacks at narrow widths, and the local workarounds are removed. **4. A follow-up from 4d:** backfill tests that deleting the legacy `Admin.test.jsx` didn't port. - **Retention.** `AdminRecording.jsx` has no test file yet; add one with the retention parity the legacy tab had. - **AI capability panel.** In `AdminAi.test.jsx`, add gap-severity ordering, the transcriber round-trip through save, and the "guessed provider" note. - **Wiki pipeline.** Add the mode change and its error states.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#879
No description provided.