docs(share-ai): сообщение коммита 18105ff описывает серверные изменения, которых нет в его диффе #107

Closed
opened 2026-06-21 05:22:43 +03:00 by Ghost · 0 comments

Найдено в ходе код-ревью коммита 18105ff («feat(share-ai): label public chat with the assistant identity name»).

Проблема

В теле коммита 18105ff есть пункт «- server:», описывающий серверные изменения:

  • AiSettingsService.resolvePublicShareAssistantName
  • ShareController, возвращающий aiAssistantName на /shares/page-info

Но git diff 18105ff^ 18105ff --name-only содержит только клиентские файлы — серверных нет.

Реально эти серверные изменения вошли в родительский коммит 3936c482, чей subject с ними не связан:
«refactor(workspace-settings): extract useWorkspaceSetting hook».

Почему это важно

Сообщение вводит в заблуждение при revert / cherry-pick / bisect / blame: читающий 18105ff в отрыве считает, что серверная часть здесь, а серверная работа «спрятана» под рефакторинг-коммитом с нерелевантным заголовком.

На рантайм не влияет — контракт aiAssistantName уже присутствует в дереве (родительский коммит), поля клиента и сервера совпадают. Поэтому merge не блокируется, это вопрос гигиены истории.

Что сделать

  • Либо перенести серверные изменения в коммит с фичей (чтобы сообщение совпадало с диффом),
  • либо переформулировать тело: указать, что серверный контракт введён предыдущим коммитом, а не этим.
  • На будущее: не разбивать одну логическую фичу по коммитам так, что subject не отражает содержимое.

Severity: warning (документация / гигиена истории), не блокирует merge.

Найдено в ходе код-ревью коммита `18105ff` («feat(share-ai): label public chat with the assistant identity name»). ## Проблема В теле коммита `18105ff` есть пункт «- server:», описывающий серверные изменения: - `AiSettingsService.resolvePublicShareAssistantName` - `ShareController`, возвращающий `aiAssistantName` на `/shares/page-info` Но `git diff 18105ff^ 18105ff --name-only` содержит **только клиентские файлы** — серверных нет. Реально эти серверные изменения вошли в **родительский** коммит `3936c482`, чей subject с ними не связан: «refactor(workspace-settings): extract useWorkspaceSetting hook». ## Почему это важно Сообщение вводит в заблуждение при `revert` / `cherry-pick` / `bisect` / `blame`: читающий `18105ff` в отрыве считает, что серверная часть здесь, а серверная работа «спрятана» под рефакторинг-коммитом с нерелевантным заголовком. На рантайм не влияет — контракт `aiAssistantName` уже присутствует в дереве (родительский коммит), поля клиента и сервера совпадают. Поэтому **merge не блокируется**, это вопрос гигиены истории. ## Что сделать - Либо перенести серверные изменения в коммит с фичей (чтобы сообщение совпадало с диффом), - либо переформулировать тело: указать, что серверный контракт введён предыдущим коммитом, а не этим. - На будущее: не разбивать одну логическую фичу по коммитам так, что subject не отражает содержимое. Severity: warning (документация / гигиена истории), не блокирует merge.
Ghost added the documentation label 2026-06-21 05:22:43 +03:00
Ghost closed this issue 2026-06-21 05:49:34 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#107