Testy maj膮 chroni膰 trzy rzeczy:
- poprawno艣膰 workflow贸w KOS
- stabilno艣膰 runtime Ollama local/cloud
- wydajno艣膰 odczuwaln膮 na Apple Silicon
Zakres:
- key resolution
- provider adapters
- config validation
- intent routing helpers
- citation formatting
- diff/write safety helpers
Przyk艂adowe modu艂y:
src/services/ollama/*src/plusUtils.tssrc/utils.ts- nowe modu艂y KOS command surface
Zakres:
- chat path przez local Ollama
- embedding path przez local Ollama
- web search adapter z mockiem i real smoke
- indexing i retrieval na testowym vaultcie
organise,next-steps,decision,review
Zasada:
- regular CI: mock/stub where possible
- lokalne gated smoke: real Ollama
Smoke ma by膰 szybki i brutalnie praktyczny.
Minimalny zakres:
- build pluginu
- local Ollama tags
- local chat
- local embeddings
- Ollama Cloud web search
Aktualny bootstrap smoke:
Kontrakt smoke dla Milestone 0/1:
- obowi膮zkowe komendy gate:
npm run buildnpm run smoke:ollama
local-only pass:- local Ollama tags, chat i embeddings przechodz膮,
- brak cloud key nie oblewa ca艂ego smoke, tylko jawnie skipuje cz臋艣膰 webow膮
cloud-ready pass:- przy obecnym kluczu przechodzi tak偶e web search przez Ollama Cloud
Scenariusze obowi膮zkowe:
- install pluginu do testowego vaulta
- wyb贸r lokalnego modelu
- prosty chat
- retrieval pytania o vault
organisenext-stepsdecisionreview- web search przez Ollama Cloud
- preview edycji pliku przed zapisem
Mierzymy:
- cold start chat latency
- warm chat latency
- embed latency
- indexing time dla test vaulta
- retrieval latency
Benchmark musi podawa膰:
- model
- host
- vault size fixture
- cold vs warm
Aktualny skeleton benchmarku:
- scripts/benchmark-kos2.sh
- env contract:
LOCAL_OLLAMA_URLKOS2_BENCH_CHAT_MODELKOS2_BENCH_EMBED_MODEL
- output contract:
- JSON na stdout
- kr贸tki summary log na stderr
Potrzebny jest jawny, ma艂y testowy vault zawieraj膮cy:
01_Inbox10_Projects20_Areas30_Resources- kilka analysis/decision/outcome notes
- przyk艂ady
needs-review
Aktualna 艣cie偶ka fixture:
- HTML page fixture
- plain text fixture
- mocked web_search responses
Te dopiero w ostatnim epiku:
- EPUB
- DOCX
- PPTX
- sample YouTube URLs / transcript payloads
- build przechodzi
- unit tests przechodz膮
- integration tests dla scope sprintu przechodz膮
- smoke local/cloud przechodzi
Obowi膮zkowe testy per sprint:
Milestone 0- build
- unit tests dla runtime helpers
- integration test fixture contract
- smoke lokalny, je艣li host Ollamy jest dost臋pny
Milestone 1- build
- unit tests dla key resolution i compat shim
- integration test fixture contract
- smoke local-only
- smoke cloud-ready, je艣li klucz jest dost臋pny
- pe艂ny smoke
- manual acceptance checklist
- benchmark comparison bez istotnej regresji
Najpierw testujemy:
- runtime Ollama
- KOS command surface
- retrieval/indexing
- write safety
- web tools
- dopiero na ko艅cu ingest/transcript
Feature nie jest gotowy, je艣li:
- dzia艂a tylko manualnie, bez testu
- nie ma smoke/integration coverage dla krytycznej 艣cie偶ki
- psuje local-first assumptions
- pogarsza benchmark bez 艣wiadomej decyzji