--- type: note description: Personal assistant for processing daily voice/text entries from Telegram. Classifies content, saves thoughts to Obsidian with wiki-links, generates HTML reports. Integrates Your Business context (clients, projects, CRM). Triggers on /process command or daily 21:00 cron. name: dbrain-processor depends_on: [autograph] --- # d-brain Processor Process daily entries → thoughts (Obsidian) + HTML report (Telegram). Integrates with Your Business data for business context. ## CRITICAL: Output Format **ALWAYS return RAW HTML. No exceptions. No markdown. Ever.** Your final output goes directly to Telegram with `parse_mode=HTML`. Rules: 1. ALWAYS return HTML report — even if entries already processed 2. ALWAYS use the template below — no free-form text 3. NEVER use markdown syntax (**, ##, ```, -) 4. NEVER explain what you did in plain text — put it in HTML report WRONG: ```html Title ``` CORRECT: Title ## Processing Flow 1. **Load personal context** — Read goals/1-yearly, goals/2-monthly, goals/3-weekly 2. **Load business context**: - Read `business/_index.md` — Your Business (клиенты, проекты, CRM) - Read `projects/_index.md` — личные проекты (если релевантно) 3. **Read daily** — daily/YYYY-MM-DD.md 4. **Process entries** — Classify → task or thought, detect business mentions 5. **Create cards (autograph)** — new entities/thoughts become vault cards per the autograph template (type, description-as-snippet, tags, status); tasks become checklist entries in the daily note / project notes 6. **Build links** — Connect notes with [[wiki-links]], link to business entities 7. **Generate HTML report** — business activity + day summary 8. **Log actions to daily** — append action log entry (see below) 9. **Evolve MEMORY.md** — update long-term memory if needed (see below) 10. **Capture observations** — record friction signals to handoff.md (see below) ## ОБЯЗАТЕЛЬНО: Логирование в daily/ **После ЛЮБЫХ изменений в vault — СРАЗУ пиши в `daily/YYYY-MM-DD.md`:** Формат: ``` ## HH:MM [text] {Описание действий} **Создано/Обновлено:** - [[path/to/file|Name]] — описание ``` **Что логировать:** - Создание файлов в thoughts/ - Обновление business/ или projects/ - Добавление task-записей в daily/проекты - Синхронизация с внешними системами **Пример:** ``` ## 14:30 [text] Обработка ежедневных записей **Создано задач:** 2 - [ ] Follow-up Acme Corp (due: завтра, p2) - [ ] Подготовить КП Unilever (due: пятница, p2) **Сохранено мыслей:** 1 - [[thoughts/ideas/product-launch|Product Launch]] — идея запуска ``` **Зачем:** Audit trail + контекст для будущих обработок. ## Evolve MEMORY.md (Step 9 Detail) **ЦЕЛЬ:** Поддерживать MEMORY.md актуальным. Не добавлять, а ЭВОЛЮЦИОНИРОВАТЬ. ### Когда обновлять MEMORY.md Проверь после обработки entries — есть ли информация достойная долгосрочной памяти? ### Write Rules: Что достойно MEMORY.md **ПИСАТЬ:** - ✅ Key decisions с impact (pivot, tool choice, architecture change) - ✅ Изменения в pipeline (новый лид, закрытая сделка, изменение статуса) - ✅ Финансовые изменения (оплаты получены, долги, новые контракты) - ✅ Новые паттерны/инсайты (learnings) - ✅ Изменения в Active Context (новый ONE Big Thing, Hot Projects) - ✅ Новые ключевые контакты (с context) **НЕ ПИСАТЬ:** - ❌ Ежедневные мелочи (встречи, звонки без impact) - ❌ Временные заметки (оставить в daily/) - ❌ Дубликаты того что уже есть - ❌ Детали проектов (оставить в business/crm/, projects/) - ❌ Тривиальные задачи ### Как обновлять (evolve, не append) **Принцип:** Новое ЗАМЕНЯЕТ устаревшее, не добавляется рядом. | Ситуация | Действие | |----------|----------| | Новое противоречит старому | ЗАМЕНИТЬ старую информацию | | Новое дополняет старое | Добавить в существующую секцию | | Информация устарела | Удалить или архивировать | **Пример 1 — Изменение статуса проекта:** ``` Old: "| Acme Corp NCP Meals | p1 | Активная разработка | $XXK |" New info: "Acme Corp NCP Meals сдан клиенту" → ЗАМЕНИТЬ на: "| Acme Corp NCP Meals | ✅ | Завершён | $XXK |" ``` **Пример 2 — Новое решение:** ``` Добавить в Key Decisions таблицу: | 2026-02-01 | Отказ от X в пользу Y | причина | impact | ``` **Пример 3 — Изменение в pipeline:** ``` Old: "| LogisticsLead | Hot | $XXK |" New info: "LogisticsLead подписал контракт" → Удалить из Pipeline → Добавить в Hot Projects или Financial Context ``` ### Секции MEMORY.md для обновления | Секция | Когда обновлять | |--------|-----------------| | Active Context | Изменение ONE Big Thing, Hot Projects, Pipeline | | Key Decisions | Новое решение с impact | | Financial Context | Оплаты, долги, контракты | | Key People | Новый важный контакт | | Learnings | Новый паттерн/инсайт | | Current Crisis | Изменение в текущей критической ситуации | ### Формат Edit Используй Edit tool для точечных изменений: ``` Edit MEMORY.md: old_string: "| LogisticsLead | Hot | $XXK |" new_string: "| LogisticsLead | ✅ Signed | $XXK |" ``` ### В отчёте Если обновил MEMORY.md, добавь секцию: ```html 🧠 MEMORY.md обновлён: • Active Context → Hot Projects updated • Key Decisions → +1 новое решение ``` ## Capture Observations (Step 10 Detail) **ЦЕЛЬ:** Записывать friction signals, паттерны и идеи для улучшения системы. ### Когда записывать После обработки проверь — были ли проблемы или наблюдения? | Тип | Когда | |-----|-------| | `[friction]` | mcp-cli errors, timeouts, empty daily, broken links, unexpected data | | `[pattern]` | Повторяющийся паттерн (задачи всегда overdue, daily пустой по выходным) | | `[idea]` | Идея для улучшения pipeline, schema, отчёта | ### Формат Append в `vault/.session/handoff.md` секцию `## Observations`: ```markdown ## Observations - [friction] YYYY-MM-DD: transcription timeout 3x — retry спас, но -60 сек - [pattern] YYYY-MM-DD: daily без entries 2 дня подряд — выходные? - [idea] YYYY-MM-DD: CRM карточки без deal_deadline = невидимые дедлайны ``` ### Правила - Одна строка на наблюдение (конкретика, не абстракции) - Дата обязательна - Не повторять уже записанные observations - Когда observations ≥10 → сигнал для system improvement session ### В отчёте Если записаны observations, добавь: ```html 👁 Observations: • [friction] mcp-cli timeout 3x ``` --- ## Entry Format ## HH:MM [type] Content Types: [voice], [text], [forward from: Name], [photo] ## Business Context Integration **ТОЧКА ВХОДА:** `business/_index.md` — читай для понимания бизнес-контекста. ### Структура: ``` business/ ├── _index.md ← Статистика, обзор ├── crm/ ← ВСЁ: компании + сделки + проекты в одном файле ├── network/ ← Структура холдинга └── events/ ← Мероприятия ``` ### Распознавание упоминаний При обработке entries ищи упоминания клиентов и проектов: | Паттерн | Действие | |---------|----------| | "звонил [Client]" | Найти `business/crm/{client}.md`, добавить связь | | "по проекту [Client]" | Найти `business/crm/{client}.md` | | "встреча с [Client]" | Создать задачу + связать с `business/crm/{client}.md` | | "отправил КП для [Client]" | Связать с `business/crm/{client}.md` | ### Поиск клиента по имени 1. Имя → kebab-case: "Acme Corp" → `acme-corp`, "Bi Group" → `bi-group` 2. Искать: `business/crm/{kebab-case}.md` 3. Если не найден — fuzzy search по `grep -l "{name}" business/crm/` ### Создание связей Когда упомянут клиент/проект, добавляй wiki-links: **В задачу:** ``` "Follow-up [[business/crm/acme-corp|Acme Corp]] по снекам" ``` **В thought:** ``` Связано с: [[business/crm/techco|TechCo]], [[business/crm/phonebrand-smm|PhoneBrand SMM]] ``` ### Приоритет задач с бизнесом | Условие | Приоритет | |---------|-----------| | Клиент с priority: High + deadline | p1 | | Активный проект (In progress) | p2 | | Клиент с priority: High | p2 | | Клиент с priority: Mid | p3 | | Prospect без срочности | p4 | ## Classification task → checklist entry in daily/project notes idea/reflection/learning → thoughts/ (see references/classification.md) client/project mention → link to Business/Projects + create task if actionable ## Projects Context Integration **Точка входа:** `projects/_index.md` ### Структура: ``` projects/ ├── _index.md # Clients overview ├── clients/ # Clients └── leads/ # Leads ``` ### Распознавание упоминаний | Паттерн | Файл | |---------|------| | "[Client A]" | projects/clients/{client-a}.md | | "[Client B]" | projects/clients/{client-b}.md | | "AI обучение", "воркшоп" | projects/ контекст | ### Отличие от Business - **Business** = основной бизнес - **Projects** = личные проекты (консалтинг, обучение) Если entry упоминает AI/ML обучение — ищи в projects/ сначала. ## Contacts Context Integration **Точка входа:** `contacts/_index.md` ### Распознавание имён в entries Ищи паттерны: - "созвонился с [Contact] из [Client]" - "встреча с @username" - "Имя Фамилия написал" ### Классификация | Индикатор | Категория | Vault Link | |-----------|-----------|------------| | Known business clients | business | `business/crm/{client}` | | AI/обучение expertise, known leads | projects | `projects/leads/{name}` | | Остальные | personal | — | ### В отчёте Если в entries упомянуты люди, добавь секцию: ```html 👤 Упомянуто контактов: • [Contact Name] (business → [[business/crm/acme-corp]]) • [Contact Name] (personal) ``` ## Priority Rules p1 — Client deadline, urgent p2 — Aligns with ONE Big Thing or monthly priority p3 — Aligns with yearly goal p4 — Operational, no goal alignment ## Process Goals Preference When creating tasks, prefer PROCESS over OUTCOME formulations. **Outcome (less effective):** - "Закрыть сделку с X" - "Запустить продукт" - "Подготовить программу" **Process (more effective):** - "Отправить follow-up клиенту X" (actionable, controllable) - "2h deep work на MVP" (time-bounded) - "Показать драфт программы коллеге" (checkpoint) **When to transform:** - Entry sounds vague/outcome-focused → make it specific/process-focused - User says "нужно сделать X" → create actionable next step, not X itself - Goal mentioned → create task that MOVES TOWARD goal, not goal itself See: references/process-goals.md for patterns and examples. ## Thought Categories 💡 idea → thoughts/ideas/ 🪞 reflection → thoughts/reflections/ 🎯 project → thoughts/projects/ 📚 learning → thoughts/learnings/ ## HTML Report Template Output RAW HTML (no markdown, no code blocks): 📊 Обработка за {DATE} 🎯 Текущий фокус: {ONE_BIG_THING} 📓 Сохранено мыслей: {N} • {emoji} {title} → {category}/ ✅ Создано задач: {M} • {task} ({priority}, {due}) 🏢 Business Activity: • {client} — {action} • {project} — {status update} Упомянуто клиентов: {N} | Проектов: {M} 📋 Process Goals: • {process goal 1} → {status} • {process goal 2} → {status} {N} активных | {M} требуют внимания Создано новых: {K} 📅 Загрузка на неделю: Пн: {n} | Вт: {n} | Ср: {n} | Чт: {n} | Пт: {n} | Сб: {n} | Вс: {n} ⚠️ Требует внимания: • {overdue or stale goals} 🔗 Новые связи: • [[Note A]] ↔ [[Note B]] ⚡ Топ-3 приоритета: 1. {task} 2. {task} 3. {task} 📈 Прогресс: • {goal}: {%} {emoji} 🧠 MEMORY.md: • {section} → {change description} (если обновлено) --- Обработано за {duration} ## If Already Processed If all entries have `` marker, return status report: 📊 Статус за {DATE} 🎯 Текущий фокус: {ONE_BIG_THING} 📋 Process Goals: • {process goal 1} → {status} • {process goal 2} → {status} {N} активных | {M} требуют внимания 📅 Загрузка на неделю: Пн: {n} | Вт: {n} | Ср: {n} | Чт: {n} | Пт: {n} | Сб: {n} | Вс: {n} ⚠️ Требует внимания: • {overdue count} просроченных • {today count} на сегодня ⚡ Топ-3 приоритета: 1. {task} 2. {task} 3. {task} --- Записи уже обработаны ранее ## Allowed HTML Tags — bold (headers) — italic (metadata) — commands, paths — strikethrough — underline text — links ## FORBIDDEN in Output NO markdown: **, ##, -, *, backticks NO code blocks (triple backticks) NO tables NO unsupported tags: div, span, br, p, table Max length: 4096 characters. ## References Read these files as needed: - references/about.md — User profile, decision filters - references/classification.md — Entry classification rules - references/goals.md — Goal alignment logic - references/process-goals.md — Process vs outcome goals, transformation patterns - references/links.md — Wiki-links building - references/rules.md — Mandatory processing rules - references/report-template.md — Full HTML report spec - references/business.md — Business client/project context, search patterns - references/contacts.md — Contacts search and classification ## Business Quick Reference **Точка входа:** `business/_index.md` **Поиск клиента:** ``` grep -l "Acme Corp" business/crm/ → business/crm/acme-corp.md ``` **Активные сделки:** ``` grep -l "deal_status:" business/crm/ ``` **High priority клиенты:** ``` grep -l "priority: High" business/crm/ ``` **Frontmatter полей:** - type: crm - industry, priority, status, region, owner, responsible - deal_status, deal_deadline (для активных сделок) - updated ## Relevant Skills - [[vault/.claude/skills/autograph/SKILL|autograph]] — Typed vault engine: graph, decay, MOC, dedup