simbiot-harness/tests
2026-10-19 01:08:18 +00:00
..
test_addressing.py адресация: бот давно молчит в чате — строже порог и подсказка модели («тебе» — другому человеку) 2026-10-17 18:48:06 +00:00
test_agent_channel.py t-261015090129: канал агент↔агент через MCP — poll_messages (портал: очередь agent_message + курсор per-agent) → инбокс триажа (chat_id=portal:agent:<имя>, kind=agent_message), ответ ask_agent из send_reply/send_batch_reply; рефлекс демона раз в минуту; тест 24 PASS + регрессии чисто 2026-10-15 10:11:11 +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 Живая петля AUM-метрики: router_usage.json (недельное окно, накопительно) + часовые точки AumMeasured + env-доктор ключей + Δburn нед/нед в policy + спарклайн на публичный дашборд — t-261019001211-d6a921 2026-10-19 01:08:18 +00: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_cc_backend.py Движок тика claude_code: тики исполняет Claude Code (claude -p) с моделью на уровень (min Haiku 5.5, hour Sonnet 5.5, day Opus 5.5; SIMBIOT_LLM_BACKEND[_<LEVEL>], SIMBIOT_CC_MODEL_<LEVEL>, SIMBIOT_CC_API_KEY); круги доверия — хук cc_guard → trust.check_tool, MCP портала с лимитом, трасса и BudgetSpent как у Strands; настройки уровней читаются из .env инстанса 2026-10-18 21:23:24 +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_code_gate.py гейт кода в закрытии задачи: правка харнеса = коммит + тест + зелёный тест 2026-10-18 11:06:44 +00:00
test_compact.py сжатие стора с подписью + «сначала ответ, потом работа» на мин-уровне 2026-10-16 20:10:26 +00:00
test_dash_chat.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +00:00
test_decision.py decision-модель в тиках: Ollama Cloud clef:27b → локальная nimble (systemone-bench) 2026-10-16 19:21:29 +00:00
test_delivery_idempotency.py fix(delivery): идемпотентная автодоставка артефактов в TG — три атомарных барьера против дублей (t-260930083937) 2026-09-30 13:41:34 +00:00
test_events_context.py t-261017110430: подача событий EventStore в контекст тика (policy events_context) 2026-10-17 13:03:14 +00:00
test_followup.py сжатие стора с подписью + «сначала ответ, потом работа» на мин-уровне 2026-10-16 20:10:26 +00:00
test_gate.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +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 e-261015222515: память разговора в контексте тика — секция НЕДАВНИЙ РАЗГОВОР (отвеченные реплики + наш ответ тех же чатов, cap 12) рядом с батчем неотвеченных; мин-уровень больше не теряет нить после ReplySent; тест +6 PASS 2026-10-15 23:02:41 +00:00
test_instance_isolation.py merge origin/master (32 коммита портального инстанса) + burn-fallback в смерженном aum.py 2026-10-07 11:18:05 +03:00
test_kodi_core.py ядро Коди: эскалация недоделанных задач, голова task_fit, рефлексия, недельный отчёт 2026-10-17 09:32:41 +00:00
test_kodi_core_reflect.py ядро Коди: эскалация недоделанных задач, голова task_fit, рефлексия, недельный отчёт 2026-10-17 09:32:41 +00:00
test_kodi_core_tasks.py куб 4×4×4: 4 круга доверия, динамическая память D0–D3 с приватностью по кругу, голова depth 2026-10-17 10:43:12 +00:00
test_member_remove.py member_remove: безопасное удаление члена портала (t-261018141319) — описания тула + тест ядра 2026-10-18 15:22:46 +00:00
test_memory.py память: синк без записи в стор, круги из событий (не из проекции), калибровка порогов nomic 2026-10-17 11:05:09 +00: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_profile.py Профиль агента: studio (Коди, мандаты без изменений) | client — агент клиента Shkor Labs Autopilot со своим именем, владельцем и инструментами тарифа (SIMBIOT_PROFILE, SIMBIOT_AGENT_DISPLAY_NAME, SIMBIOT_OWNER_NAME, SIMBIOT_COMPANY) + тест 2026-10-18 20:14:26 +00:00
test_rag_lookup.py feat(rag)+fix(timeout): RAG-инструмент в тиках + хард-кап шагов воркера 2026-09-30 04:16:46 +00:00
test_reply_memory.py память разговора: ответ на сообщение бота — с полным его текстом, свои рассылки в памяти тика 2026-10-17 10:24:29 +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_reply_target_resolve.py t-261013131228: резолв цели реплая без текста — reply_to_desc из инбокса (chat_id, reply_to_message_id); build_context показывает содержимое документа вместо «reply на сообщение без текста»; тест 8 PASS (документ/текст/вне инбокса/контекст) 2026-10-13 13:15:44 +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 аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +00:00
test_seen_indication.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +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 круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
test_task_claim_race.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
test_task_escalation.py ядро Коди: эскалация недоделанных задач, голова task_fit, рефлексия, недельный отчёт 2026-10-17 09:32:41 +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_tg_group_ux.py 👍 на отвеченные сообщения (правка Коди t-261018103940) + тест; мусорный итог задачи не принимается 2026-10-18 10:55:02 +00:00
test_tick_latency_noise.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +00:00
test_timeout_kill.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +00:00
test_tool_budget.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +00:00
test_tool_result_cap.py кэп tool-result'ов в истории тика: срез >8k симв (после 60k суммы — 4k), полный текст в трейсе; burn-аудит 14.10 рек.1 2026-10-17 14:09:00 +00:00
test_trust.py куб 4×4×4: 4 круга доверия, динамическая память D0–D3 с приватностью по кругу, голова depth 2026-10-17 10:43:12 +00:00
test_ttft_retry.py аудит @juno42bot 2026-10-16: медиа без подписи в триаже, мин-тик по входящему, тишина сек-уровня, изоляция тестов 2026-10-16 19:32:15 +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