feat: natural language source addition -- describe a log source in plain English #53
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#53
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?
Complement the onboarding wizard with an LLM-powered source addition flow: the operator describes a log source in natural language and Turnstone generates the correct
sources.yamlentry and (optionally) a matching pattern set.Examples of operator input:
Flow:
SourceDefinitionJSONDesign constraints:
SourceDefinitionschema before writing (never write unvalidated LLM output to disk)Acceptance criteria:
/var/log/nginx/access.logImplemented. Backend: app/services/discover.py (journald/Docker/file detection), app/services/nl_source.py (keyword+LLM interpretation), GET /api/setup/status + /discover, POST /api/setup/write + /interpret. Frontend: SetupWizard.vue (3-step Detect→Select→Confirm), wired into SourcesView (shows on first run when no sources.yaml; Add Source button reuses it post-setup). NL field with manual form fallback. 372 tests passing, build clean.