63 lines
No EOL
3.8 KiB
Markdown
63 lines
No EOL
3.8 KiB
Markdown
# Структура портала 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`. |