77 lines
3.8 KiB
Markdown
77 lines
3.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
|
______________________________________________________________________
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- Tier 3 core session memory implementation:
|
|
- new `src/tai/session_store.py` persistent ChromaDB store
|
|
- `--session-memory` option on `tai run`
|
|
- prior-session retrieval injected into analysis/follow-up prompts
|
|
- final response indexing at session end
|
|
- `--output-file` option on `tai run` to persist final AI analysis output as Markdown
|
|
- `--output-format markdown|json` for `--output-file` exports
|
|
- Planner enhancements for broader service detection:
|
|
- generic service candidate extraction from free text
|
|
- package presence probes in plans (`rpm -q` and `dpkg-query -W`)
|
|
- SSH read-only allowlist expanded to permit package presence commands (`rpm`, `dpkg-query`)
|
|
- Session memory tests in `tests/test_session_store.py`
|
|
- CLI test coverage for analysis output file writing (`tests/test_cli.py`)
|
|
- CLI test coverage for JSON export and ANSI stripping in written output (`tests/test_cli.py`)
|
|
|
|
### Changed
|
|
|
|
- Documentation alignment updates in README and ROADMAP to reflect implemented session memory and package-presence capabilities.
|
|
- Package version metadata alignment: `src/tai/__init__.py` now matches project version `0.4.0`.
|
|
|
|
______________________________________________________________________
|
|
|
|
## [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.py` to suppress noisy local telemetry errors
|
|
- `tai runbooks` command group with:
|
|
- `sync` for indexing all Markdown runbooks
|
|
- `list` for listing indexed metadata
|
|
- `add` for indexing a single runbook file
|
|
- `--runbooks` option on `tai run` to 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_k` and 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 run` subcommand and non-streaming completion mocks
|
|
- README refreshed with current CLI, architecture layout, RAG/runbook workflow, and usage examples
|
|
- `docs/ARCHITECTURE.md` with 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-host` flag using SSH native ProxyJump
|
|
- SSH config behavior: use `~/.ssh/config` by 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
|