No description
Find a file
qusavin 45aed9a896
All checks were successful
ci / lint (push) Successful in 53s
ci / test (push) Successful in 1m2s
ci / desktop (push) Successful in 1m9s
deploy / deploy (push) Successful in 1m14s
fix(api): repair c1 видит все нарушения валидатора, не только первое
2026-09-29 12:41:13 +03:00
.claude/skills docs(deploy): раннбук доставки и секретов kairo (ref VERTA-1754) 2026-08-11 09:23:32 +03:00
.forgejo/workflows chore(ci): фронт desktop гейтится в CI — typecheck и vitest на каждый пуш (ref VERTA-3872) 2026-09-20 21:01:18 +03:00
assets feat(desktop): dock-иконка в рантайме + брендинг иконки приложения 2026-07-01 02:42:25 +03:00
cmd/kairo-api chore(api): контракт C6 tts.synthesize уходит из kairo-api (ref VERTA-3865) 2026-09-20 21:14:24 +03:00
deploy chore(api): контракт C6 tts.synthesize уходит из kairo-api (ref VERTA-3865) 2026-09-20 21:14:24 +03:00
desktop fix(api): wrong только за провал правила или сломанный смысл (ref VERTA-3971) 2026-09-21 15:40:00 +03:00
docs feat(harness): живая матрица c1 через прод-путь и судья уровня (ref VERTA-3972) 2026-09-21 17:36:17 +03:00
harness feat(harness): живая матрица c1 через прод-путь и судья уровня (ref VERTA-3972) 2026-09-21 17:36:17 +03:00
internal fix(api): repair c1 видит все нарушения валидатора, не только первое 2026-09-29 12:41:13 +03:00
third_party/verta feat(kairo-api): verta id auth, openrouter provider, protected echo 2026-06-29 19:38:16 +03:00
.gitignore chore: убрать закоммиченный симлинк desktop/node_modules 2026-09-20 17:29:13 +03:00
AGENTS.md docs: add agent contract (CLAUDE.md + AGENTS.md symlink) 2026-06-29 16:18:14 +03:00
CLAUDE.md chore: mobile/ уходит из монорепы — iOS-клиента больше нет (ref VERTA-3863) 2026-09-20 21:14:24 +03:00
go.mod feat(kairo-api): verta id auth, openrouter provider, protected echo 2026-06-29 19:38:16 +03:00
README.md chore(api): латентность-метрики llm-вызовов (ref VERTA-2071) 2026-07-02 16:24:09 +03:00
vertaship.yaml chore(api): контракт C6 tts.synthesize уходит из kairo-api (ref VERTA-3865) 2026-09-20 21:14:24 +03:00

Kairo

Desktop English trainer — заставляет производить язык (ru→en), а не смотреть переводы. ru→en грамма-дрилл с targeted sentence-transformation, error-driven приоритет, свой FSRS, словарик с контекстом, перевод выделенного в любом приложении. Под программиста-релоканта и любой уровень (curriculum для A1–A2, error-driven для B1+).

Документы-нарратив:

  • Что и зачем — docs/prd.md (living PRD).
  • Как устроено — docs/design.md (Профиль / Архитектура / Интеграции / Риски).

Форма

  • desktop/ — Tauri 2 (Rust boundary + React/Vite + SQLite), local-first. Каркас копируется из iskra (selection/paste/hotkey/overlay/secrets/db/тема).
  • cmd/kairo-api/ — Go LLM-прокси: Verta ID-auth, промпт-контракты C1–C5, OpenRouter (ключи в Infisical). Доставка через Vertaship.

Профиль: inside-infra (Verta ID, Vertaship, Forgejo CI, Infisical). Бюджет MVP ~100ч.

Статус

Bring-up: репо + инфра провижинены через /verta:init. kairo-api — пока healthz-заглушка; продуктовая логика нарезается в Linear (/linear:plan).

LLM-метрики kairo-api (как читать)

Каждый LLM-вызов strict-контрактов (C1/C2/C5) пишет лог-запись llm call (VERTA-2071): contract, model, duration_ms, repair (bool — это repair-retry), prompt_bytes, completion_tokens. Читать по прод-логам:

vobs logs kairo-api | grep '"msg":"llm call"'
# медиана duration_ms по C2: фильтр '"contract":"C2"' → поле duration_ms
# доля repair: записи с '"repair":true' / все записи контракта