Инструменты пользователя

Инструменты сайта


sharixopen:knowledge:scenarios:basic_bot

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

sharixopen:knowledge:scenarios:basic_bot [2026/10/28 21:31] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:scenarios:basic_bot [2026/10/31 12:14] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 12: Строка 12:
             "ShariXKnowledgeOpenKnowledgeModulesHandlers",             "ShariXKnowledgeOpenKnowledgeModulesHandlers",
             "ShariXKnowledgeScenarios"             "ShariXKnowledgeScenarios"
 +        ],
 +        "depends_on": [
 +            "ShariXKnowledgeOpenKnowledgeModulesHandlers"
 +        ],
 +        "verified_by": [
 +            "ShariXKnowledgeVerification"
         ]         ]
     },     },
     "extensions": {     "extensions": {
         "taxonomy": {         "taxonomy": {
-            "domain": "business_processes",+            "domain": "integrations",
             "lifecycle": "implemented",             "lifecycle": "implemented",
-            "component": "handlers",+            "component": "handlers_examples, handlers_backend",
             "parents": [             "parents": [
                 "ShariXKnowledgeScenarios"                 "ShariXKnowledgeScenarios"
             ],             ],
             "terms": [             "terms": [
-                "XMPP", +                "audience_developer", 
-                "diagnostics", +                "audience_operator", 
-                "first-party", +                "audience_administrator", 
-                "BPMN"+                "audience_support", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "material_scenario", 
 +                "topic_operations_diagnostics", 
 +                "topic_handlers_blockly", 
 +                "topic_handlers_runtime", 
 +                "xmpp", 
 +                "first_party_handler", 
 +                "bpmn", 
 +                "blockly", 
 +                "generated_python"
             ]             ]
         },         },
Строка 110: Строка 127:
                 "xmpp_diagnostic_basic"                 "xmpp_diagnostic_basic"
             ]             ]
 +        },
 +        "classification": {
 +            "schema": "sharix.knowledge.classification.v1",
 +            "products": [
 +                "sharix_open"
 +            ],
 +            "audiences": [
 +                "developer",
 +                "operator",
 +                "administrator",
 +                "support",
 +                "ai"
 +            ],
 +            "material": "scenario",
 +            "topics": [
 +                "operations/diagnostics",
 +                "handlers/blockly",
 +                "handlers/runtime"
 +            ],
 +            "tag_terms": [
 +                "audience_developer",
 +                "audience_operator",
 +                "audience_administrator",
 +                "audience_support",
 +                "audience_ai",
 +                "product_sharix_open",
 +                "material_scenario",
 +                "topic_operations_diagnostics",
 +                "topic_handlers_blockly",
 +                "topic_handlers_runtime",
 +                "xmpp",
 +                "first_party_handler",
 +                "bpmn",
 +                "blockly",
 +                "generated_python"
 +            ],
 +            "registry_document": "ShariXKnowledgeClassification",
 +            "state_meaning": "implemented — описана проверенная реализация исходников; серверный runtime отдельно; review — состояние текста"
 +        },
 +        "editorial_review": {
 +            "date": "2026-10-31",
 +            "scope": "Конкретизация действий, условий, результатов и диагностики; перечисления; исходные BPMN сохранены",
 +            "current_source_records_verified": 10,
 +            "original_source_evidence_recheck": "После git fetch все исходные SHA-256 совпали; source_evidence содержит текущие проверенные commits",
 +            "canonical_regeneration": {
 +                "kind": "first_party",
 +                "compared_python_paths": [
 +                    "handlers/open_basic_bot.py"
 +                ],
 +                "generator_sources_verified": 11,
 +                "handler_executed": false
 +            },
 +            "runtime_checked": false,
 +            "correction": "Строка «Сообщение отправлено» пишется до send_message; сам лог не подтверждает успех вызова или доставку"
         }         }
     },     },
-    "content_sha256": "75b0e55119ab5614c793a5fca696e0add5401a1d33735f34933549418e91d338",+    "content_sha256": "99b71eade93ad4d4af93f813d564096d2e108df5998d317b939246b5792894f4",
     "schema": 1     "schema": 1
 } }
Строка 119: Строка 190:
 ~~NOCACHE~~ ~~NOCACHE~~
  
-**Область:** ShariX Open. **Обработчик:** ''open_basic_bot''. Это системный first-party handler без типа/рабочего статуса Ticket. Проверено 29.10.2026: опубликованный Python побайтово совпадает с каноническим first-party Blockly renderer. Выбранная версия, XMPP-сервер и runtime config конкретной установки проверяются отдельно.+**Назначение:** [[sharixopen:knowledge:classification:materials#scenarij_processa|Сценарий процесса]]. **Продукт:** [[sharixopen:knowledge:classification:products#sharix_open|ShariX Open]]. 
 + 
 +**Для кого:** [[sharixopen:knowledge:classification:audiences#razrabotchik|Разработчик]] · [[sharixopen:knowledge:classification:audiences#operator_razvjortyvanija|Оператор развёртывания]] · [[sharixopen:knowledge:classification:audiences#administrator|Администратор]] · [[sharixopen:knowledge:classification:audiences#podderzhka|Поддержка]] · [[sharixopen:knowledge:classification:audiences#nejroset|Нейросеть]]. 
 + 
 +**Темы:** [[sharixopen:knowledge:classification:topics#diagnostika|Эксплуатация → Диагностика]] · [[sharixopen:knowledge:classification:topics#blockly|Обработчики → Blockly]] · [[sharixopen:knowledge:classification:topics#runtime|Обработчики → Runtime]]. 
 + 
 + 
 + 
 +**Область:** ShariX Open. **Обработчик:** ''open_basic_bot''. Это системный first-party handler без типа/рабочего статуса Ticket. 31.10.2026 исходники повторно получены из Git. First-party Python совпал с каноническим renderer; отдельно проверены операция xmpp_diagnostic_basic и общий launcher. Сам обработчик и его внешние действия при анализе не запускались. Выбранная версия, настройки и работоспособность конкретной установки проверяются отдельно.
  
 ===== Назначение и канонический контракт ===== ===== Назначение и канонический контракт =====
-Бот выполняет минимальную диагностику XMPP: при запуске отправляет сообщение самому себе и умеет записывать факт получения разрешённых входящих сообщений. Он не обрабатывает заказ, не меняет Ticket, не собирает отчёты других handlers и не реализует диалог поддержки.+Бот предназначен для минимальной диагностики XMPP: 
 + 
 +  * при запуске вызывает отправку сообщения самому себе; 
 +  * callback записывает факт получения разрешённых входящих сообщений; 
 +  * заказ и Ticket этим обработчиком не изменяются; 
 +  * сбор отчётов других handlers и диалог поддержки здесь не реализованы. 
 + 
 +Каноническая цепочка: 
 + 
 +  - Blockly workspace содержит typed root и операцию xmpp_diagnostic_basic. 
 +  - Из workspace генерируется Python с bind_first_party_handler. 
 +  - Runtime сверяет program tuple с каталогом builtin handler. 
 +  - Проверяет runtime module, build_binding и полноту XMPP binding.
  
-Blockly workspace содержит typed root и операцию ''xmpp_diagnostic_basic''. Из него генерируется обычный Python, вызывающий ''bind_first_party_handler''. Runtime сверяет program tuple с каталогом builtin handler, проверяет runtime module/build_binding и полноту XMPP binding. При несовпадении контракт отклоняется, а не исполняется произвольная другая операция.+Несовпадение контракта отклоняется. Реализацию операции анализируют отдельно от короткого generated wrapper.
  
 Реализация typed operation находится в ''first_party_operations/open_basic_bot.py'' и тоже включена в закреплённые источники. Побайтовое совпадение маленького generated wrapper не заменяет анализа этого файла и общего launcher. BPMN описательные, isExecutable=false; Blockly XML/JSON при запуске не интерпретируется. Реализация typed operation находится в ''first_party_operations/open_basic_bot.py'' и тоже включена в закреплённые источники. Побайтовое совпадение маленького generated wrapper не заменяет анализа этого файла и общего launcher. BPMN описательные, isExecutable=false; Blockly XML/JSON при запуске не интерпретируется.
Строка 266: Строка 357:
 </sharix-bpmn> </sharix-bpmn>
  
-Общий launcher загружает конкретную выбранную Python version, регистрирует message callback, запускает XMPP loop и ждёт connected_event в пределах ''TIME_TO_CONNECT''. При неуспехе возвращается ненулевой результат, применяются общие ограничения внутренних перезапусков. Наличие импортированного модуля ещё не означает установленное соединение.+Общий launcher:
  
-После подключения operation записывает диагностические логи и отправляет на собственный JID строку с JID и локальным datetime. Нет ожидания echo, receipt или ответа пользователя. Затем start_handler возвращает. В текущем launcher нормальный возврат приводит к остановке XMPP loop и успешному выходу, а не к постоянному ожиданию входящих сообщений. Возможный повтор со стороны внешнего service manager зависит от его конфигурации, не от бесконечного цикла в этой operation.+  - Загружает выбранную Python version. 
 +  - Регистрирует message callback и запускает XMPP loop. 
 +  - Ждёт connected_event не дольше TIME_TO_CONNECT. 
 +  - Если соединение не установлено — возвращает ненулевой результат; далее действует общая политика внутренних перезапусков.
  
-Поэтому лог «Сообщение отправлено» и успешный выход подтверждают прохождение соответствующего вызова, но не доказывают получение сообщения, устойчивость соединения или готовность всех бизнес-handler API. Отсутствие собственного echo до остановки не следует автоматически считать отказом XMPP.+Успешный import ещё не означает соединение. 
 + 
 +После подключения операция: 
 + 
 +  - Записывает диагностические строки в журнал. 
 +  - Вызывает send_message на собственный JID с JID и локальным datetime в тексте. 
 +  - Возвращает управление без ожидания echo, receipt или ответа пользователя. 
 +  - При нормальном возврате launcher останавливает XMPP loop и завершает запуск. 
 + 
 +Постоянного listener в этой операции нет. Повтор со стороны внешнего service manager определяется его конфигурацией. 
 + 
 +Что подтверждают наблюдаемые признаки: 
 + 
 +  * **Строка «Сообщение отправлено»:** записана до send_message, поэтому сама не подтверждает даже успешный возврат этого вызова. 
 +  * **Нормальный возврат операции:** вызов отправки не бросил исключение; доставка и прочтение этим не доказаны. 
 +  * **Успешное завершение launcher:** относится к этому диагностическому запуску, а не к готовности всех бизнес-handler API. 
 + 
 +Отсутствие собственного echo до остановки само по себе не доказывает отказ XMPP.
  
 ===== Что делает входящий callback (BPMN) ===== ===== Что делает входящий callback (BPMN) =====
Строка 382: Строка 493:
 </sharix-bpmn> </sharix-bpmn>
  
-Принимаются только типы chat и normal. Resource часть JID отбрасывается; bare sender должен совпасть с техническим allowlist: open_basic_bot или test_user в настроенном EJ_HOST. Body проверяется на None, а не на непустой текст. При прохождении фильтра записывается только «Сообщение получено».+Входящий callback:
  
-Callback не выполняет текст как команду, не отсылает echo, не сохраняет бизнес-объект и не выдаёт права. Наличие такого диагностического callback не означает долговременного listener: время его работы ограничено жизненным циклом текущего launcher, описанным выше.+  - Пропускает только chat и normal. 
 +  - Отбрасывает resource у JID отправителя. 
 +  - Проверяет bare sender по allowlist: open_basic_bot или test_user в настроенном EJ_HOST. 
 +  - Проверяет body is not None, без требования непустой строки. 
 +  - Записывает только «Сообщение получено». 
 + 
 +Callback не выполняет текст как команду и не отправляет echo. Время его работы ограничено жизненным циклом launcher.
  
 ===== Настройка и диагностика ===== ===== Настройка и диагностика =====
 JID строится из botname и EJ_HOST; credentials загружает штатная конфигурация, значения секретов в Wiki не публикуются. Используйте существующий путь управления runtime version/config и штатные журналы. Не подменяйте его отдельным интерпретатором Blockly. JID строится из botname и EJ_HOST; credentials загружает штатная конфигурация, значения секретов в Wiki не публикуются. Используйте существующий путь управления runtime version/config и штатные журналы. Не подменяйте его отдельным интерпретатором Blockly.
  
-Разделяйте bootstrap/версию, binding contract, установление XMPP, вызов send и фактическое получение. Для ошибки подключения смотрите TIME_TO_CONNECT, состояние XMPP и общую политику перезапусков; для отсутствующего inbound-лога — тип сообщения, bare JID, allowlist и то, оставался ли процесс ещё запущен. Здесь нет Ticket recheck timer или waiting reason: переносить диагностику SERVICE_REQUEST на этого бота нельзя.+Диагностику разделить на этапы: 
 + 
 +  - Выбранная версия и bootstrap. 
 +  - Binding contract. 
 +  - Установление XMPP в пределах TIME_TO_CONNECT. 
 +  - Вызов send и его ошибка/нормальный возврат. 
 +  - Фактическое получение: тип, bare JID, allowlist и работающий в этот момент процесс. 
 + 
 +У этого бота нет Ticket recheck timer и waiting reason; параметры ожидания SERVICE_REQUEST к нему неприменимы.
  
 ===== Проверенные источники ===== ===== Проверенные источники =====
sharixopen/knowledge/scenarios/basic_bot.txt · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX