@model StoryIntelligenceDiagnosticsViewModel @{ ViewData["Title"] = "Story Intelligence Diagnostics"; }

Admin utility

Story Intelligence Diagnostics

Configuration and prompt loading checks. This page does not call OpenAI.

@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage)) {
@Model.ErrorMessage
}

OpenAI configuration

Model

@Model.Model

API key

@StatusText(Model.ApiKeyConfigured)

Client

@StatusText(Model.ClientConstructed)

Temperature
@Model.Temperature
Max output tokens
@Model.MaxOutputTokens.ToString("N0")
Timeout
@Model.TimeoutSeconds seconds
Connection status
@Model.ConnectionStatus

Prompt repository

Repository

@StatusText(Model.PromptRepositoryHealthy)

Scene prompt

@StatusText(Model.ScenePromptLoaded)

Prompt version

@Model.PromptVersion

Substitution

@StatusText(Model.RuntimeSubstitutionWorks)

Prompt file
@Model.PromptFileName
Prompt length
@Model.ScenePromptLength.ToString("N0") characters

Manual dry run

This admin-only tool loads the prompt, substitutes test scene data and performs a live OpenAI call without saving data.

Open dry run
@functions { private static string StatusText(bool value) => value ? "Configured" : "Missing"; }