Files
brain/tools/secretary-hookutil.mjs
T
Дмитрий d44254a0e1 feat(secretary): качество выжимки — тема+время, флажок по сессии, дедуп, промпт без шума, стабильная тема, навигация протокол->Слой 1
- оглавление: реальная тема (поле «тема» в моторе) + дата со временем вместо заглушки (дело)
- флажок по сессии secretary-mode-<session>.json — параллельные сессии не смешиваются
- дедуп при записи (applyExtraction) — не плодим одинаковые пункты
- промпт-дисциплина: игнор служебного шума, «воля» только у [ЮЗЕР], решения не вопросы
- стабильная тема (первая непустая, не уезжает на тему хода)
- провенанс несёт сессию (@<session>) -> навигация в raw/<session>.log; steps/ убраны как дубли
- мёртвый код снят: secretary-slice + computePeriod + buildStepLinks

37 тестов green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:30:02 +03:00

15 lines
837 B
JavaScript

// Чистые утилиты для тонких переходников секретаря.
/** Проверка пригодности файла-хода перед записью ссылок: UTF-8, без BOM, непусто. */
export function verifyEncoding(content) {
if (typeof content !== 'string' || content.length === 0) return { ok: false, reason: 'empty' };
if (content.charCodeAt(0) === 0xFEFF) return { ok: false, reason: 'BOM' };
return { ok: true, reason: 'utf8' };
}
/** Оглавление дел как подсказка для старта сессии. */
export function renderIndexContext(indexMd) {
const body = typeof indexMd === 'string' && indexMd.trim() ? indexMd.trim() : '(дел пока нет)';
return `Открытые дела (протоколы секретаря):\n${body}`;
}