feat(m14): AI assistant — explain diagnostics, opt-in (Ollama or Claude) — 0.27.0 #23

Merged
jessey merged 1 commits from feat/m14-ai into main 2026-05-22 11:19:31 +00:00
Owner

New optional module (D24): explains the collected findings in plain language,
contacted ONLY on an explicit user action (never automatic).

  • core/ai.py: provider chosen explicitly (no default) — ollama (local) or claude
    (Anthropic Messages API via stdlib urllib; key in keyring). Grounded prompt;
    HTTP error parsing; one-shot (no thinking/caching — snappy).
  • core/ai_knowledge.py: curated reference KB (Xid/SMART/Proton/tunables),
    exact keyword/code match ("RAG-lite", no embeddings) injected into the prompt —
    lifts local models, sharpens Claude. No fine-tuning.
  • config: ai_provider/ai_model/ai_endpoint + keyring-backed AI key (generalized
    the token keyring helpers).
  • GUI: Settings → AI assistant (provider radios, model/endpoint/key, Save/Test);
    "Explain with AI" button on the diagnostic dialog (consent prompt for cloud).
  • CLI: rigdoctor ai status|test|explain.
  • Docs: D24, SPEC/MODULES/ROADMAP (Phase 7); tests for providers/grounding/parse.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

New optional module (D24): explains the collected findings in plain language, contacted ONLY on an explicit user action (never automatic). - core/ai.py: provider chosen explicitly (no default) — ollama (local) or claude (Anthropic Messages API via stdlib urllib; key in keyring). Grounded prompt; HTTP error parsing; one-shot (no thinking/caching — snappy). - core/ai_knowledge.py: curated reference KB (Xid/SMART/Proton/tunables), exact keyword/code match ("RAG-lite", no embeddings) injected into the prompt — lifts local models, sharpens Claude. No fine-tuning. - config: ai_provider/ai_model/ai_endpoint + keyring-backed AI key (generalized the token keyring helpers). - GUI: Settings → AI assistant (provider radios, model/endpoint/key, Save/Test); "Explain with AI" button on the diagnostic dialog (consent prompt for cloud). - CLI: `rigdoctor ai status|test|explain`. - Docs: D24, SPEC/MODULES/ROADMAP (Phase 7); tests for providers/grounding/parse. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jessey added 1 commit 2026-05-22 11:19:27 +00:00
New optional module (D24): explains the collected findings in plain language,
contacted ONLY on an explicit user action (never automatic).

- core/ai.py: provider chosen explicitly (no default) — ollama (local) or claude
  (Anthropic Messages API via stdlib urllib; key in keyring). Grounded prompt;
  HTTP error parsing; one-shot (no thinking/caching — snappy).
- core/ai_knowledge.py: curated reference KB (Xid/SMART/Proton/tunables),
  exact keyword/code match ("RAG-lite", no embeddings) injected into the prompt —
  lifts local models, sharpens Claude. No fine-tuning.
- config: ai_provider/ai_model/ai_endpoint + keyring-backed AI key (generalized
  the token keyring helpers).
- GUI: Settings → AI assistant (provider radios, model/endpoint/key, Save/Test);
  "Explain with AI" button on the diagnostic dialog (consent prompt for cloud).
- CLI: `rigdoctor ai status|test|explain`.
- Docs: D24, SPEC/MODULES/ROADMAP (Phase 7); tests for providers/grounding/parse.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jessey merged commit 045f40c4de into main 2026-05-22 11:19:31 +00:00
jessey deleted branch feat/m14-ai 2026-05-22 11:19:31 +00:00
Sign in to join this conversation.