simbiot-harness/docs/PORTAL-STRUCTURE.md

63 lines
No EOL
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Структура портала Simbiot Harness
<!-- t-261001073314-8cfa7d [S] — построчный обзор, окт 2026 -->
Быстрый структурированный обзор репозитория харнеса: что где лежит, чем живёт,
куда смотреть. Для себя, для новых агентов и для Alex — в текстовом виде,
без диаграмм.
## Топ-уровень
| Путь | Что это |
|---|---|
| `cli.py` | CLI харнеса: доска задач, лестница, TG-триаж, эскалации, события |
| `README.md` | Назначение, главная цель (AUM), лестница уровней, события, структура |
| `architecture.html` | HTML-страница архитектуры портала (обзор модулей и связей) |
| `lab42-conditions.html` | HTML с условиями кооператива Lab42 (наполним завтра по тексту задачи) |
| `simbiot-presentation.html` | Слайды о продукте Simbiot |
| `docs/KEYS-REGISTRY.md` | Реестр ключей и секретов хоста (S-таск 30.09) |
| `docs/PORTAL-STRUCTURE.md` | Этот файл — текстовый обзор структуры репо |
| `harness.db`, `events.db`, `simbiot.db`, `tg_inbox.db` | Локальные SQLite-сторы, в git НЕ входят (.gitignore) |
| `.env` | Ключи/секреты локально (0600), в git не входит |
## harness/ — исполнительное ядро
| Модуль | Роль |
|---||
| `es.py` | Event store + проекции (checkpoint + replay), append-only спина |
| `levels.py` | Конфиг уровней: sec/min/hour/day, интервалы, контекст, модели |
| `scheduler.py` | Планировщик тиков, батч-задачи, занятость уровней |
| `_llm_worker.py` | Рабочий LLM-тик уровня, бюджеты (токены/время/шаги) |
| `isolated_runner.py` | Изоляция запуска тиков уровня |
| `runtime.py` | Runtime-конфиг, пути, загрузка .env |
| `commands.py` | Разбор команд чата/CLI |
| `tg_inbox.py` | Входящие TG-сообщения (inbox), батч-триаж |
| `tg_commands.py` | Команды бота (setMyCommands) |
| `dashboard.py` | Веб-дашборд задач (статусы, детали по клику) |
| `voice.py` + `_fw_asr_worker.py` | Транскрипция голосовых |
| `rag_lookup.py` | Семантический поиск по базе кооператива (/root/rag) |
| `proactive.py` | Инициативные реплики в чат |
| `harness.db` | Главный стор харнеса |
## tests/ — pytest-покрытие
`test_task_batch` · `test_gate` · `test_inbox_batch` · `test_delivery_idempotency`
· `test_proactive` · `test_rag_lookup` · `test_tg_commands` · `test_tool_budget` ·
`test_voice` (см. `tests/`).
## scripts/
`safe-restart.sh` — безопасный рестарт харнеса.
## git
Репо ведётся на git.cil.by (Forgejo). В git НЕ входят: `venv/`, `*.db`,
`.env`; `.git` ≈ 60МБ (в т.ч. большие бинарные артефакты в истории — можно
почистить отдельно).
## Заметки из последних тиков
- `git log` (последние):
`05555bb` feat(levels): day ctx 1M как у hour — симметрия уровней (Alex)
`e623a10` docs: фиксация главной цели — максимизация долгосрочной AUM (Alex)
`7efe845` feat(levels): часовой контекст ~1M
- Статус git: чисто, один untracked — `lab42-conditions.html`.