feat: LLM reasoning, severity overrides, dashboard freshness #14
No reviewers
Labels
No labels
compliance
demo
deployment
docs
enhancement
parser
patterns
performance
security
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/turnstone#14
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/llm-reasoning"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
app/services/llm.pysends top 25 log entries (errors-first) to Ollama and returns a plain-languagereasoningfield alongside diagnose results. URL/model configurable via Settings. Graceful fallback:reasoning: nullif LLM is unreachable or times out.preferences.json, applied at query time only (DB unchanged). Each rule has a name, pattern, target severity, andenabledtoggle. Dashboard and Settings respect them. Ships with one default:pam_unix.*auth→ WARN.last_ingestedtimestamp in stats response; stale-data banner appears when newest entry is >25h old. Suppressed criticals count shown inline.Test Plan
conda run -n cf pytest tests/ -v— 70 tests pass