feat(jivo-bot): статья «Откуда берутся заявки и законно ли это» (формулировка владельца)
Владелец 12.07.2026 дал суть: номера передают операторы связи, и только по тем абонентам, кто дал согласие на передачу данных третьим лицам и на рекламные предложения. Раньше бот на «а где вы берёте эти номера?» честно эскалировал — теперь отвечает сам, юридически корректно. + otkuda-zayavki.md: источник данных (операторы связи), согласие абонента как основание, 152-ФЗ, никаких «слитых» баз; практика для клиента (звонить можно и нужно быстро, вежливо завершать при отказе); честная оговорка «заявка — интерес, не гарантия продажи»; юрвопросы → живой специалист. Границы держатся (проверено живьём): «какой конкретно оператор — Билайн? МТС?» → эскалация; «эти номера только мне достаются?» → эскалация (эксклюзивность — жёсткая стоп-тема). Поставщик и модель распределения не раскрываются. TDD: тест на РЕАЛЬНОЙ базе знаний (3 формулировки вопроса → статья про операторов). 42/42 зелёные. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,6 +60,20 @@ it('на РЕАЛЬНОЙ базе знаний «зачем нужна Лиде
|
||||
->and(mb_strtolower($hits[0]->title))->toContain('сервис');
|
||||
});
|
||||
|
||||
it('«где вы берёте эти номера» → статья о происхождении данных и согласии абонента', function () {
|
||||
// Живой урок 12.07.2026 (формулировка владельца): номера передают операторы связи,
|
||||
// и только по тем абонентам, кто дал согласие на передачу данных третьим лицам
|
||||
// и на рекламные предложения. Раньше бот эскалировал этот частый вопрос.
|
||||
KnowledgeChunk::query()->delete();
|
||||
$this->artisan('help:rebuild-knowledge')->assertExitCode(0);
|
||||
|
||||
foreach (['а где вы берёте эти номера?', 'откуда у вас данные людей', 'это законно вообще?'] as $q) {
|
||||
$hits = app(KnowledgeSearch::class)->search($q, 3);
|
||||
expect($hits)->not->toBeEmpty()
|
||||
->and(collect($hits)->pluck('content')->implode(' '))->toContain('оператор');
|
||||
}
|
||||
});
|
||||
|
||||
it('на вопрос не по теме возвращает пусто', function () {
|
||||
expect(app(KnowledgeSearch::class)->search('какая погода в москве', 3))->toBeEmpty();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user