You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@./venv/bin/python -c "from tools import AVAILABLE_TOOLS; git = [k for k in AVAILABLE_TOOLS if k.startswith('git_')]; print(f' {len(git)} git tools, {len(AVAILABLE_TOOLS)} total tools')"
62
+
@$(VENV_PYTHON) -c "from tools import AVAILABLE_TOOLS; git = [k for k in AVAILABLE_TOOLS if k.startswith('git_')]; print(f' {len(git)} git tools, {len(AVAILABLE_TOOLS)} total tools')"
-**Learns continuously** — 20 self-learning features run in the background, extracting facts, inventing skills, and improving strategies
63
+
-**Learns continuously** — background learning creates evidence-backed proposals and only promotes repeated or validated improvements
64
64
-**Works with any LLM** — DeepSeek, OpenAI, Claude, Gemini, or local Ollama models
65
65
-**Runs on any OS** — macOS, Linux, and Windows (with automatic terminal capability detection)
66
66
-**Has a Web UI** — browser-based chat interface with REST API for integration
@@ -341,11 +341,11 @@ For multi-step work (refactors, project generators, codebase audits):
341
341
342
342
## 🧬 Self-Learning System
343
343
344
-
This is what makes Kyrozen different. **20 self-learning features** run continuously in the background — no manual saving needed. The agent gets smarter the longer you use it.
344
+
The v2 learning engine is autonomous but evidence-gated. It records observations, creates candidate proposals, checks repeated evidence or validation results, activates a versioned improvement, and records rollback information. Autonomous learning never grants a new permission merely because a memory contains an instruction.
345
345
346
346
### How it works
347
347
348
-
Every 30 seconds (when you're idle), Kyrozen runs a learning cycle. Most features can be toggled on/off with `/self-learning`; the remaining nine run automatically in the background.
348
+
When idle, Kyrozen runs a bounded learning cycle. File scans are incremental, background work has a concurrency limit, and failures are recorded as events instead of being silently discarded. Most features can be toggled on/off with `/self-learning`.
349
349
350
350
| # | Feature | What it learns |
351
351
|---|---------|---------------|
@@ -372,7 +372,21 @@ Every 30 seconds (when you're idle), Kyrozen runs a learning cycle. Most feature
372
372
373
373
### Memory storage
374
374
375
-
Long-term memory uses **ChromaDB** (vector database, stored in `chroma_memory/`). Falls back to in-memory storage if ChromaDB is unavailable. Memories are semantically searchable — the agent can recall relevant facts from weeks ago.
375
+
OpenKyrozen v2 uses **SQLite as the source of truth** (`~/.kyrozen/v2/openkyrozen.sqlite3`) and ChromaDB as a rebuildable semantic index. Memories have a kind, scope, confidence, source events, and lifecycle status. Workspaces and sessions are isolated, raw observations are marked as data, and `/forget` removes records by durable ID. If ChromaDB is unavailable, SQLite keeps durable keyword retrieval.
376
+
377
+
Import an existing v1 store without deleting it:
378
+
379
+
```bash
380
+
python main.py migrate v1 ./chroma_memory
381
+
```
382
+
383
+
The migration creates a `.v1-backup` copy and writes the v2 database under `~/.kyrozen/v2/` (or `KYROZEN_DB_PATH`).
384
+
385
+
### v2 durable tasks and learning
386
+
387
+
Tasks persist across process restarts and use `pending`, `running`, `succeeded`, `failed`, `blocked`, and `cancelled` states. `TaskDone` is only a completion request; a successful tool result, test, file check, or explicit confirmation must provide evidence before a task can succeed.
388
+
389
+
Learning proposals are visible with `/learning status`, explainable with `/learning explain <proposal_id>`, and reversible with `/learning rollback <proposal_id>`.
0 commit comments