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

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


sharixopen:knowledge:architecture:api_contracts

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
sharixopen:knowledge:architecture:api_contracts [2026/10/31 11:24] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:architecture:api_contracts [2026/10/31 22:35] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 210: Строка 210:
             "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
 } }
Строка 331: Строка 340:
   * [[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~~
  
sharixopen/knowledge/architecture/api_contracts.txt · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX