← Вернуться в личное дело
МАТЕРИАЛ № 03 QA PERSONNEL FILE / KR–01 STATUS: OPEN

API и
данные

Когда интерфейс показывает только следствие, иду глубже: смотрю запрос, ответ и состояние данных.

Формат кейсаREST / JSON
ПроверяюКонтракт / коды / конфликты
ФокусЦелостность и граница данных
01 / API

Что вернул сервис

Проверяю тело запроса, код ответа, структуру JSON и поведение при корректных и некорректных данных.

02 / ДАННЫЕ

Что можно синхронизировать

Отдельно проверяю, какие поля действительно переносимы, а какие обязаны оставаться только на устройстве.

РЕАЛЬНЫЙ КОНТРАКТ · МОТИ

Синхронизация состояния с контролем ревизии

PARTIAL · LIVE RETEST NEEDED
Ресурс/state
МетодыGET / PUT
Защита от конфликтаexpectedRevision
ЧТЕНИЕ
GET /state
200 OK
{
  "revision": 7,
  "state": { ... }
}
ОБНОВЛЕНИЕ
PUT /state
Content-Type: application/json
{
  "expectedRevision": 7,
  "state": { ... }
}
ПроверкаОжиданиеЗачем
Корректная ревизия200

Состояние сохраняется, revision увеличивается на единицу.

Устаревшая ревизия409

Сервер возвращает актуальное состояние и не затирает чужое изменение.

Нет expectedRevision422

Обновление отклоняется до записи данных.

Некорректный JSON400

Сервис возвращает понятную ошибку invalid_json.

Неизвестный путь404

Ответ не маскируется успешным статусом.

МОЖНО ПЕРЕНОСИТЬ

Показатели Моти, память, характер, факты о хозяйке, доверие и версия схемы.

ОСТАЁТСЯ НА УСТРОЙСТВЕ

Ключи и токены, creator key, геометрия окон, Accessibility и локальная AI-среда.

ПОДТВЕРЖДЕНО

Базовая синхронизация четырёх полей работала; обработка ревизии и кодов ответа присутствует в клиенте и сервере.

НЕ ЗАСЧИТАНО

Расширенный ответ с памятью, характером, ownerFacts и trust требует повторного живого GET /state после запуска актуального сервера.