simbiot-harness/tests
2026-10-13 11:44:43 +00:00
..
test_audit.py feat(day): криптоаудит стор/команд (ed25519, genesis-граница), метрика AUM (замер+policy+пилот), правки для портал-развёртывания (t-260930083716, t-260929161138, t-260930110622) 2026-10-02 00:34:07 +00:00
test_aum.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_budget_stub_guard.py guard(tasks): «бюджет исчерпан» — не результат (e-261001074527): complete со стабом → ValueError + авто-requeue в ready; батч-финал тика со стабом → requeue всего клея; tests/test_budget_stub_guard.py 14 checks (FAILS 0) 2026-10-01 08:25:05 +00:00
test_close_stale_failed.py auto-collapse stale failed (e-261003094432, просьба Alex): failed>24ч → closed архивом 2026-10-03 10:11:40 +00:00
test_dash_chat.py tests: dash-chat hermetic suite (7/7) — лента БД портала, секрет команд, anchor-дедуп, коллапс повторов 2026-10-02 22:12:58 +00:00
test_delivery_idempotency.py fix(delivery): идемпотентная автодоставка артефактов в TG — три атомарных барьера против дублей (t-260930083937) 2026-09-30 13:41:34 +00:00
test_gate.py feat(gate): гейт важности LLM-тика по per-level порогу + model в событиях 2026-09-30 08:29:54 +00:00
test_guard_ready_race.py fix(guard)+feat(dash): requeue ready-гонка не валила тик (e-261001083543-0eab6d); дашборд «🔧 в работе» + elapsed (t-261001082111); пакет покупателя предпродажи (t-261001085722) 2026-10-01 09:11:23 +00:00
test_inbox_batch.py feat(inbox): батч-триаж входящих TG — сводный ответ закрывает все сообщения за один тик (t-260930064924) 2026-09-30 10:12:47 +00:00
test_instance_isolation.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_msg_artifact_race.py t-261009160906: анти-гонка уровней min/hour на входящих TG — привязка артефакта к сообщению (-m), guard в deliver_artifact, reply_artifact в read model, тест гонки (8 PASS) + концепт ИИШНИЦЫ 2026-10-09 16:16:09 +00:00
test_no_clone_inbox.py test: служебный текст inbox не порождает задачу-клон (t-261004160532-0fb500) — регресс обоих фиксов (e-261003125707 'list'=доска, e-261004134613 task<ID>=чтение): парсер, CLI-гварды (счёт задач не растёт, несуществующий ID → exit 2), инбокс-уровень ('list'/ID в тексте → команда/речь, без клонов); 4 теста pytest+plain 2026-10-04 17:15:55 +00:00
test_portal_mcp.py t-261010093054: MCP портала кооператива как стандартный тул харнеса — portal_mcp (booking_slots/booking_create, реестры, казна, лента), guardrail на деньги-тулы, 4 вызова/тик, трейс PortalMcpCalled, cli mcp-call, тест 18 PASS 2026-10-10 10:19:09 +00:00
test_proactive.py feat(proactive): инициативные реплики харнеса в чат — ритм/анти-спам/банк тем AUM (t-260930073419) 2026-09-30 11:15:49 +00:00
test_rag_lookup.py feat(rag)+fix(timeout): RAG-инструмент в тиках + хард-кап шагов воркера 2026-09-30 04:16:46 +00:00
test_reply_routing.py t-261013113629: маршрутизация ответов TG в чат-источник — chat_type/chat_title в MessageReceived, дефолтный чат уведомлений = личка Alex (chat_id>0 фолбэк для старых записей); тест 11 PASS (группа→группа, личка→личка, смешанный батч, дефолт) 2026-10-13 11:44:43 +00:00
test_repo_sync.py feat(scheduler): fetch origin + детектор дрейфа репо в дневном тике (t-261007082307-2e2294) — _repo_sync_check: git fetch + behind/ahead замер RepoSynced (1/день, дедуп), эскалация при behind>0 два дня ПОДРЯД (счётчик из истории стора — рестарт демона не сбрасывает); fetch-fail фиксируется честно (behind=unknown), тик не валит; порог SIMBIOT_REPO_SYNC_MAX_AGE_DAYS (default 2); тест 17 проверок hermetic (git-песочница), весь сюит 20/20 зелёный; живой прогон: behind=0 ahead=13, baseline записан 2026-10-08 10:32:05 +03:00
test_router_env_fallback.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_seen_indication.py t-261010092931: typing «печатает…» весь тик LLM — без привязки к pending-инбоксу; чаты из всего TG-инбокса, фолбэк на чат харнеса; тест: всё seen/пустой инбокс/только портал/чат неизвестен (25 PASS) 2026-10-10 10:05:14 +00:00
test_submit_title_guard.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_task_batch.py TG: входящее взято в работу — emoji-реакция 👀 + typing на время тика (e-261002202857, t-261002205233) 2026-10-02 21:15:48 +00:00
test_tg_commands.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_tg_documents.py feat: входящие documents/photo на диск при приёме (t-261005135853-186b42) — гейтвей скачивает документ/фото (getFile→download, атомарно через .part) в inbox/files/<file_unique_id>.<ext> (paths.inbox_files_dir, SIMBIOT_INBOX_FILES_DIR), путь+имя+размер+mime в MessageReceived; идемпотентно по file_unique_id, сбой getFile (истёкший файл) не валит поллер — file_id остаётся; фото — максимальный размер; тест 22 PASS + регресс voice/seen/batch зелёный 2026-10-05 14:17:03 +00:00
test_timeout_kill.py fix isolated_runner: TimeoutExpired has no .pid (e-261003004801) — Popen start_new_session + killpg(proc.pid), group+children reaped; scheduler None-guard in r2 double-close guard (mocked es in tests); regression test test_timeout_kill 2026-10-03 01:17:34 +00:00
test_tool_budget.py fix(worker): убрать limits.turns — стоп без текста, дайджесты пустели 2026-09-30 04:24:58 +00:00
test_voice_video.py test: видео→текст в voice-пайплайне (t-261004160531-ed25ed) — extract_audio_track на живых ffmpeg-фикстурах (ogg/opus, без дорожки→None), роутинг kind=video ≤60с сразу в large-v3-turbo, >60с через base-лестницу, audio_track_failed, e2e MessageReceived→транскрипт+идемпотентность; 6 тестов pytest+plain 2026-10-04 17:05:06 +00:00