feat: technical-level post-processor for diagnosis output #56
Labels
No labels
compliance
demo
deployment
docs
enhancement
parser
patterns
performance
security
ux
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/turnstone#56
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
The LLM synthesis output is a structured sysadmin diagnosis (VERDICT / TIMELINE / ROOT CAUSES / RECOMMENDED ACTIONS / INVESTIGATE FURTHER). This is appropriate for a technical operator, but can be hard to parse for a homelab user, a support engineer, or someone who didn't configure the system.
Add a user-configurable technical level setting that reframes the diagnosis output for the operator's background.
Proposed levels
homelabsysadminexecutiveImplementation options
Option A — adjusted system prompt (one LLM call)
Pass
technical_levelintoSummarySynthesizer._SYSTEM_PROMPTand instruct the model to write at the appropriate level. Simpler, but the technical analysis is shaped from the start.Option B — post-processing pass (two LLM calls)
Synthesizer always generates the full technical diagnosis. A second "translator" call rewrites it for the configured level. Slower, but the technical version is preserved (useful for sysadmin-level review even if the operator prefers homelab framing).
Settings integration
technical_level: str = "sysadmin"to the preferences JSON (data/prefs.json)rest.py→diagnose_stream→run_pipeline→SummarySynthesizer.synthesizeAcceptance criteria