| Предыдущая версия справа и слеваПредыдущая версия | |
| sharixopen:knowledge:architecture:api_contracts [2026/10/31 11:24] – [sharixknowledge] approved package sx_knowledge_api_open | sharixopen:knowledge:architecture:api_contracts [2026/10/31 22:35] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open |
|---|
| "source": "Содержание текущей страницы и проверенный словарь классификации", | "source": "Содержание текущей страницы и проверенный словарь классификации", |
| "body_scope": "classification_and_navigation_only" | "body_scope": "classification_and_navigation_only" |
| | }, |
| | "owner_requirements": { |
| | "date": "2026-11-01", |
| | "API-001": "queued: explicit category blocking reason", |
| | "SYNC-001": "investigating: successful sync clears sync-owned lifecycle error unless explicit blocker", |
| | "server_fix_verified": false, |
| | "SYNC-002": "analysis only: maintenance and automatic technical recovery across profiles", |
| | "APPR-001": "analysis only: approval revocation requires explicit substantial event", |
| | "implementation_authorized": false |
| } | } |
| }, | }, |
| "content_sha256": "09907689d8f6a10776f7a27c1378056143bd6f8d46fe988e0644a55033a2c6bc", | "content_sha256": "2e0e44b4fcd6555b6852bbd6b0789f49dd1fce418abccc2244b8eed81df0c8b7", |
| "schema": 1 | "schema": 1 |
| } | } |
| * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/urls.py|sharix-open-backend: urls.py]]. | * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/urls.py|sharix-open-backend: urls.py]]. |
| * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/3e05f96d8fbae165c7b7f91d58048ff81c866be4/core/urls.py|sharix-open-webapp-base: core/urls.py]]. | * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/3e05f96d8fbae165c7b7f91d58048ff81c866be4/core/urls.py|sharix-open-webapp-base: core/urls.py]]. |
| | |
| | ===== Требование владельца: причины блокировки и lifecycle (01.11.2026) ===== |
| | **Статус: согласовано, поставлено в очередь API-001 / SYNC-001; это не объявление готового исправления.** |
| | |
| | Если активация категории заблокирована нарушенной синхронизацией или lifecycle Сервиса на Platform, ответ API должен явно сообщать эту причину. Не ограничиваться общим HTTP 403 или can_submit=false. Требуются стабильный код причины, безопасное объяснение, фактический статус Platform и идентификатор диагностики; при наличии — отдельное состояние sync и разрешённый следующий шаг. Точный HTTP-код/формат уточняются при реализации, без изменения существующего мобильного контракта. |
| | |
| | Различать права пользователя, бизнес-согласование категории, lifecycle Сервиса, техническую ошибку синхронизации и недоступность Platform. ShariX Open передаёт допустимую структурированную причину от владельца решения, сохраняя границы модулей; ключи и сырые ошибки не возвращаются. HTTP 200 у контрольного status-запроса подтверждает чтение ответа, а не право активации категории. Локально сохранённый active и фактический lifecycle Platform могут различаться; это различие должно быть видно клиенту. |
| | |
| | После успешной синхронизации lifecycle не должен оставаться в ошибке, вызванной этой синхронизацией, если нет иных явных препятствий. Успех импорта не одобряет изменённую редакцию Сервиса, не отменяет отключение/удаление или отдельное административное решение. При таком препятствии возвращать его явную причину. Не считать старый last_success_at доказательством текущего успешного восстановления и не стирать происхождение ошибки до завершения согласованного восстановления. |
| | |
| | Чтение диагностики не меняет lifecycle и не создаёт заявку. Выполнение требований и приёмка конкретных установок подтверждаются отдельно. |
| | |
| | ===== Уточнение владельца: обслуживание и событие отзыва согласования ===== |
| | **01.11.2026, SYNC-002 / APPR-001: согласовано; пока анализ и очередь изменений, без внедрения.** Это уточнение определяет целевое поведение и дополняет описанный выше разбор текущей реализации. |
| | |
| | Временная недоступность, таймаут, перезапуск и переключение production/testing должны отражаться как технический режим обслуживания, сохраняя действующее бизнес-согласование. После восстановления связи и успешной синхронизации обслуживание завершается автоматически; новая бизнес-активация только ради возврата связи не требуется. Не смешивать бизнес-допуск, подтверждённую редакцию данных, доступность и состояние выполнения sync. |
| | |
| | При переключении профиля другая Platform должна видеть обслуживание своей связи, а не сломанную интеграцию или отзыв согласования. Возврат в профиль не требует повторного согласования без отдельного существенного события. Состояния, credentials, идентификаторы, cursor/ack и callbacks разных профилей должны оставаться изолированными; невыбранный профиль не получает данные namespace выбранного. Проверки ключа и предметных прав сохраняются. Протокол обслуживания, допустимые операции в нём и additive-совместимость со старым мобильным API ещё проектируются. |
| | |
| | **Согласование снимается только явным наступлением события, которое предусматривает такой отзыв.** Это может быть изменение согласуемых критически важных данных/редакции либо явное решение уполномоченного участника; каталог полей и иных существенных оснований подлежит сверке с существующими domain owners. Потеря связи, таймаут, backoff и переключение профиля сами по себе такими событиями не являются. |
| | |
| | Для отзыва сохраняются основание, источник/инициатор, время, область и затронутая согласованная редакция. Поздний callback и повтор события не должны отменять решение другой редакции. Восстановленная связь снимает техническое обслуживание, но не отменяет действительный отзыв, отключение/удаление или иное явное бизнес-препятствие. |
| | |
| | Требование API-001 сохраняется: если maintenance/синхронизация блокируют действие с категорией, ответ сервера явно показывает причину и различает её с отсутствием согласования или прав. Применение этих требований и приёмка конкретных установок пока не подтверждены. |
| |
| ~~SHARIX_KNOWLEDGE_RELATED~~ | ~~SHARIX_KNOWLEDGE_RELATED~~ |
| |