fix(secretary): тема = предметная область (не тип проблемы) + статус-handoff v2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,50 @@
|
||||
# Эпик «пушистое дерево» секретаря — СТАТУС и HANDOFF (для следующей сессии)
|
||||
|
||||
**Дата:** 2026-06-25 · **Состояние main:** `1b40f2d` (A+B+C влиты, забэкаплены в gitea) · полная сюита
|
||||
`tools` — **4665 зелёных + 1 todo** · флаг `SECRETARY_FLUFFY` **выключен** → живой секретарь не тронут.
|
||||
**Дата:** 2026-06-25 (A/B/C) → **обновлено 26.06.2026 (v2)** · **Состояние main:** `91ded23` (v2 влит) ·
|
||||
секретарский свод — **269 зелёных + 1 todo** · флаг `SECRETARY_FLUFFY` **ВКЛЮЧЁН** → v2 активен на живом
|
||||
секретаре. **Свежее — в разделе «⭐ ОБНОВЛЕНИЕ 26.06» ниже; разделы про A/B/C — исторические.**
|
||||
|
||||
## ⭐ ОБНОВЛЕНИЕ 26.06.2026 — v2 «архив + стрижка + двусторонний мост» РЕАЛИЗОВАН и в main
|
||||
|
||||
После A/B/C владелец прогнал живого секретаря и заказал крупную доработку. Спроектировано диалогом и
|
||||
реализовано TDD (инлайн, 11 задач). **Дизайн:** `…/specs/2026-06-25-secretary-archive-and-pruning-design.md`
|
||||
(§12 — авторитетная сводка; §10 — кнопка-аудит отложена; §11 — ревизия конвейера). **План:**
|
||||
`…/plans/2026-06-25-secretary-fluffy-pipeline-v2.md`. **Коммит:** `91ded23` (main, 20 файлов, +1501) +
|
||||
follow-up тема-калибровка.
|
||||
|
||||
**Что нового против A/B/C:**
|
||||
- **Две грядки + двусторонний мост:** брейншторм пасёт КАНДИДАТОВ (рождает + точит/мутирует своих + критик
|
||||
полноты `gaps` + видит ВСЕ шаги); садовник пасёт ВЕТКИ (close/мутировал/отпал/carry/reopen) + мост
|
||||
`сплав↓` (ветка→кандидат, потеряла опору) / `повысить↑` (кандидат→ветка, владелец заговорил всерьёз).
|
||||
- **Смерть только: close(пруф) · отпал(вытеснение стволом). Таймера НЕТ** (спящая ветка живёт — основа ТЗ).
|
||||
Анти-пинг-понг: переход моста по событию.
|
||||
- **Тема + важность** при рождении (🔴🟡⚪ для владельца-не-программиста) → **ёлочка-пульт** (мёртвое в пульт не идёт).
|
||||
- **Прозревший ловец** (видит все шаги + волю + реестр + надгробия — ловит ЗАБЫТОЕ, не дублируя).
|
||||
- **Два рендера:** `protocol.md` (чистый пульт-ёлочка) + НОВЫЙ `tools/secretary-render-archive.mjs` →
|
||||
`архив.md` (полный леджер со статусами + родословной по шагам — сырьё ТЗ). Воркер пишет ОБА под флагом.
|
||||
- **Кандидаты первоклассны** (фикс §1 — переживают reconcile: `preserveRegistry`+снимок distill).
|
||||
- **Скромный садовник** (несёт, почти не убивает — принцип «здоровое дерево, не красивое»; кнопка-парикмахер
|
||||
declutter В УТИЛЬ; тема/важность ОРГАНИЗУЮТ, не прячут).
|
||||
- **Модель по ролям:** дефолт флэш на 5 ролях; про — только БУДУЩАЯ кнопка-аудит здоровья (§10, формат
|
||||
«рецензент ИСТОЧНИКА, а не конспекта» — вердикт: слой-1 одной сессии ≈ 1.27М токенов, перечитать целиком нельзя).
|
||||
|
||||
**Тесты:** секретарский свод **269 зелёных + 1 todo** (27 файлов). Классический путь (флаг OFF) сохранён как fallback.
|
||||
|
||||
**Дело «секретарь-лидерра» ПЕРЕСОБРАНО** продакшн-конвейером v2 на флэше (`.scratch/sec/liderra-rebuild.mjs`,
|
||||
сессия `c77e33d7`) и ПОДМЕНЕНО в `docs/secretary/секретарь-лидерра/` (старое сохранено как `protocol.old.*` —
|
||||
прибрано после приёмки). Критик полноты поймал реальные дыры (защита сырых логов, health-чек, нагрузка).
|
||||
|
||||
**Песочница `.scratch/sec/` ВОССТАНОВЛЕНА и АКТИВНА** (`v3.mjs` — эталон-прототип всей v2-конструкции на живом
|
||||
флэше; `liderra-rebuild.mjs` — пересборка дела). **НЕ удалять — продолжаем.** (Раздел «Уборка сделана 25.06»
|
||||
ниже про удаление песочницы — УСТАРЕЛ.)
|
||||
|
||||
**Хвосты v2 (follow-up, не блокеры):** (1) дробление тем на МАЛЕНЬКИХ делах — флэш плодит близкие синонимы
|
||||
(«настройка дела»/«управление делами»); предметность тем починена калибровкой, слияние синонимов — задача
|
||||
про-аудита или лёгкого пост-прохода. (2) Кнопка-аудит здоровья (§10) — отложена на будущее. (3) Гравитация
|
||||
кандидат→ствол — всё ещё `it.todo` (суждение редактора).
|
||||
|
||||
---
|
||||
**Ниже — ИСТОРИЧЕСКИЙ статус A/B/C (25.06).**
|
||||
|
||||
## Что это за эпик
|
||||
Превратить вывод секретаря из «ободранного дерева» (ствол + куча статичных скрытых веток) в **пушистое
|
||||
@@ -71,7 +114,9 @@
|
||||
живой секретарь их уже берёт; без ключа воркер моделей не вызовет (тихий no-LLM, только сырьё+шаг).
|
||||
|
||||
**После включения:** прогнать реальную тему, глянуть `protocol.md` (догоняющий — растёт по мере фон-разбора).
|
||||
Если ок — убрать песочницу `.scratch/sec/*` (CLAUDE.md п.11) и удалить ветку `feat/secretary-worker-b`.
|
||||
|
||||
**Уборка сделана 25.06:** песочница `.scratch/sec/` удалена (промпты в боевом коде A), ветка
|
||||
`feat/secretary-worker-b` удалена (слита в main). Осталось только включение (выше).
|
||||
|
||||
## Два честных хвоста (follow-up, не блокеры)
|
||||
- **Гравитация** — не реализована (см. выше). Если нужна — отдельная задача: доработка редактор-промпта,
|
||||
@@ -84,7 +129,7 @@
|
||||
## Опорные файлы (карта)
|
||||
- **Находки + дизайн-решения + макет:** `docs/secretary/протокол-наставника/прогон/НАХОДКИ.md` (раздел
|
||||
«ДИЗАЙН-РЕШЕНИЯ 25.06»), `…/прогон/ФИНАЛЬНЫЙ-ВИД-макет.md`.
|
||||
- **Песочница (источник промптов A):** `.scratch/sec/v2.mjs` (убрать после живого прогона).
|
||||
- **Песочница** `.scratch/sec/` — УДАЛЕНА 25.06 (промпты перенесены в боевой код A: `secretary-{harvest,gardener,apply,armor}.mjs`).
|
||||
- **Спеки/планы A,B,C:** `docs/superpowers/specs/2026-06-25-secretary-*.md`, `…/plans/2026-06-25-secretary-*.md`.
|
||||
- **Боевой код B:** `tools/secretary-{queue,lock,spawn,worker,enqueue}.mjs` + правки
|
||||
`{stop-hook,harvest,index,flag}.mjs` + `.test.mjs`.
|
||||
|
||||
@@ -20,7 +20,9 @@ const PASSPORT = [
|
||||
// Доп-поля при рождении (тема/важность — для ёлочки-пульта и группировки; title — заголовок карточки/надгробия).
|
||||
const TITLE_ADD = '\nДОП-ПОЛЯ в КАЖДЫЙ объект-находку/идею:'
|
||||
+ '\n "title" — короткий заголовок ≤8 слов;'
|
||||
+ '\n "тема" — ярлык темы 1-2 слова для группировки (ПЕРЕИСПОЛЬЗУЙ из «СПИСКА ТЕМ», новую — только если не подходит);'
|
||||
+ '\n "тема" — ШИРОКИЙ ярлык ПРЕДМЕТНОЙ области (О ЧЁМ пункт: напр. «хранилище», «поиск», «перенос», «безопасность»), 1-2 слова.'
|
||||
+ '\n ЭТО НЕ тип проблемы и НЕ имя линзы — «хрупкость»/«доказательства»/«допущение» как тему ЗАПРЕЩЕНО (это про КАК, а нужно про ЧТО).'
|
||||
+ '\n СТРОГО переиспользуй ярлык из «СПИСКА ТЕМ»; новую заводи ТОЛЬКО если предметная область совсем иная. Темы — это разделы ТЗ, держи их ШИРОКИМИ.'
|
||||
+ '\n "важность" — для ВЛАДЕЛЬЦА-не-программиста: "high"|"medium"|"low" (влияние НА ДЕЛО, не на технику).';
|
||||
|
||||
// Брейншторм v2: точит СВОИХ кандидатов (мутация) + критик полноты (зияющий пробел целого пласта).
|
||||
|
||||
Reference in New Issue
Block a user