3.4 KiB
3.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Added
- Tier 3 core session memory implementation:
- new
src/tai/session_store.pypersistent ChromaDB store --session-memoryoption ontai run- prior-session retrieval injected into analysis/follow-up prompts
- final response indexing at session end
- new
- Planner enhancements for broader service detection:
- generic service candidate extraction from free text
- package presence probes in plans (
rpm -qanddpkg-query -W)
- SSH read-only allowlist expanded to permit package presence commands (
rpm,dpkg-query) - Session memory tests in
tests/test_session_store.py
Changed
- Documentation alignment updates in README and ROADMAP to reflect implemented session memory and package-presence capabilities.
[0.4.0] - 2026-05-06
Added
runbooks/corpus with service troubleshooting guides:ssh,nginx,postgres,disk,kernel,docker,sssd,xorg,wayland,x2go,selinux,apparmor- Runbook knowledge store module
src/tai/runbook_store.py(persistent ChromaDB-backed index and query) - Chroma telemetry no-op client
src/tai/chroma_telemetry.pyto suppress noisy local telemetry errors tai runbookscommand group with:syncfor indexing all Markdown runbookslistfor listing indexed metadataaddfor indexing a single runbook file
--runbooksoption ontai runto enable Tier 2 runbook retrieval- Initial analysis RAG path using retrieved diagnostic chunks (
build_analysis_message_with_chunks) - Follow-up RAG path updates with tighter
top_kand runbook context injection - AI runtime controls:
--ai-timeout-seconds--ai-max-tokens
- Non-streaming AI completion path for improved local backend reliability
- Service/subsystem presence probes in collection plans:
- unit-file checks
- expected binary path checks
- status/journal/config probes for recognized services including
sssd
- Prompt instruction for "component absent or not installed" interpretation when presence signals are missing
- Runbook store unit tests in
tests/test_runbook_store.py - CLI tests updated for
tai runsubcommand and non-streaming completion mocks - README refreshed with current CLI, architecture layout, RAG/runbook workflow, and usage examples
docs/ARCHITECTURE.mdwith end-to-end flow, module responsibilities, safety boundaries, and fallback behavior
Removed
.github/workflows/ci.yml— GitHub Actions workflow removed; CI is now Gitea-only
Decided
- Implementation language: Python
- Distribution strategy: single distributable binary via Nuitka (PyInstaller as fallback)
- SSH authentication: keypair only (ed25519/RSA); auto-accept new hosts; hard reject on host key change with MITM warning
- SSH bastion support:
--jump-hostflag using SSH native ProxyJump - SSH config behavior: use
~/.ssh/configby default; allow override via--ignore-ssh-config - Interface: interactive REPL for v0.1;
textual-based TUI (split-pane) for v0.2+ - RAG Tier 1 strategy: semantic diagnostic chunk retrieval with local embeddings
- RAG Tier 2 strategy: Markdown runbooks persisted in embedded ChromaDB