Ключевые решения¶
ADR-001: один package, три роли¶
Статус: принято.
Решение: процессы разделены командами запуска, а не repositories/packages. Причина — общий домен и небольшой MVP.
ADR-002: NATS JetStream между crawler и indexer¶
Статус: принято.
Решение: событие нужно сохранять при остановленном indexer и повторно доставлять без ACK. Core NATS для этого недостаточен.
ADR-003: PostgreSQL fixed-window limiter¶
Статус: принято.
Решение: Redis удалён как второй state store ради одного счётчика. Атомарность обеспечивается SELECT FOR UPDATE.
ADR-004: exact pgvector search¶
Статус: принято.
Решение: на малом корпусе approximate index не нужен. Точка пересмотра — измеренный p95 или рост корпуса, а не беспокойство диаграммы.
ADR-005: fake AI является полноценным режимом¶
Статус: принято.
Решение: fixture demo и CI должны работать без GPU, сети и model downloads. Live provider сохраняет тот же protocol.
ADR-006: статический UI¶
Статус: принято.
Решение: одна форма Search/Ask не оправдывает Angular/React. UI остаётся доступным, адаптивным и тестируемым статически.