publish делает первую попытку и до retries повторов (retries=0 — одна попытка), PublishFailed.attempts — фактическое число попыток. Комментарий PUBLISH_RETRIES в config.py уточнён. Докстринги: PublishFailed не значит «не доставлено» (T11.3), колбэк подписки должен возвращаться быстро (T11.4). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>