diff --git a/personal/plans/personal-os-operating-plan-2026-10-03.md b/personal/plans/personal-os-operating-plan-2026-10-03.md index 1149bd64..e8d07cb9 100755 --- a/personal/plans/personal-os-operating-plan-2026-10-03.md +++ b/personal/plans/personal-os-operating-plan-2026-10-03.md @@ -17,7 +17,7 @@ updated: '2026-10-04' **Утверждённое решение от 2026-10-03:** сначала запустить контур управления самочувствием, фокусом и посильной нагрузкой Алекса. Его главная проблема сейчас — **рваный фокус**: одновременно идут его задачи и много агентных задач, которые неожиданно возвращаются к нему как ревью/решения. Технические источники дают факты, но само приложение на переднем плане не определяет рабочую тему. Кодинговые агенты — второй контур, ограниченный человеческим временем ревью и токенами. Этот документ заменяет прежнюю версию плана от 2026-10-03, где на первое место ошибочно поставлена техническая надёжность feed. -**Состояние выполнения на 2026-10-04:** пакеты A–C реализованы для подтверждённых источников; D работает как локальный shadow-фокус с явными `unknown`; E запущен как тихий сбор 3 октября. `com.personalos.focus-shadow` выполнял полный цикл 3 октября (последний код 0), после этого запускается по будням 08:00–20:00 каждые 15 минут. Корпоративный Mattermost теперь собирается отдельным read-only клиентом каждые 15 минут. Двухдневная калибровка, ручная проверка 20 интервалов и пользовательский пилот ещё не завершены. Старый Executor, push-уведомления и запись в Asana/GitHub не включены. Миссия: [[personal/projects/personal-os/personal-os-purpose]]. Текущее состояние: [[personal/projects/personal-os/personal-os-status-2026-10]]. +**Состояние выполнения на 2026-10-04:** пакеты A–C реализованы для подтверждённых источников; D работает как локальный shadow-фокус с явными `unknown`; E запущен как тихий сбор. `com.personalos.focus-shadow` работает по будням 08:00–20:00 каждые 15 минут; проверка 4 октября: 54 запуска, последний код 0, последний снимок 00:41 +06. Корпоративный Mattermost собирается отдельным read-only клиентом. Zoom: два transcript сохранены, ночной LaunchAgent включён на 02:15, первый запуск по расписанию ещё впереди. Через Balda на Monterey/Xcode 13 запущено создание пустого iPad-проекта; сборка и установка нового приложения не подтверждены. Двухдневная калибровка, ручная проверка 20 интервалов и пользовательский пилот ещё не завершены. Старый Executor, push-уведомления и запись в Asana/GitHub не включены. Миссия: [[personal/projects/personal-os/personal-os-purpose]]. Текущее состояние: [[personal/projects/personal-os/personal-os-status-2026-10]]. ## 1. Системная задача и критерий пользы @@ -88,7 +88,7 @@ updated: '2026-10-04' 4. **Калибровать без нагрузки на Алекса.** Новый локальный `scripts/run-focus-shadow.sh`/LaunchAgent запускает только read-only incremental Asana/GitHub refresh и локальную сборку timeline/решений без карточек и уведомлений; отдельные каналы помечают `fresh/stale/failed`, целевая свежесть важных обязательств в рабочее время — до 15 минут, с проверкой API затрат и задержек. Два рабочих дня shadow-сбора и 20 интервалов разных типов сравнить с ID/URL/состояниями источников; два дня воспроизвести focus-рекомендации без доставки. Исправлять по одному правилу и сохранять пример/до/после в `calibration_cases/changes`; у Алекса уточнять максимум один вопрос в день только если ответ меняет рекомендацию. **Приёмка:** ноль ложных high-confidence привязок и выдуманных `needs_human`, нет скрытого пропуска важного обязательства, неизвестное не маскируется. **Польза:** рекомендации опираются на проверенные факты, а не на названия окон. 5. **Включить ограниченный пользовательский пилот.** После отдельного согласования границы дня и канала показывать одну карточку на естественном переходе; обычные обновления копить молча. Пять рабочих дней измерять добровольную оценку самочувствия/рваного фокуса, неплановые обращения, минуты ревью, пропущенные обязательства и использование карточки. На «неверно/слишком много» исправлять следующее предложение; неиспользуемую карточку остановить. **Приёмка:** нет обычных прерываний во время focus/meeting и после границы дня; Алекс за ≤10 секунд корректирует план. **Польза:** система начинает помогать в моменте, не создавая новый поток сообщений. -**Утверждённая граница:** локальные read-only интеграции, файлы контекста, проверка на выборке и новый тихий автозапуск shadow-сборщика после теста одного прогона. Старый `com.personalos.readonly` и Executor остаются выключенными. Push-уведомления, запись в Asana/GitHub, Zoom-импорт и iPad-деплой требуют отдельного решения после работающего P0 контракта. Участие Алекса до пилота больше не требуется; к пилоту нужны граница рабочего дня и канал короткой карточки. +**Утверждённая граница плана от 3 октября:** локальные read-only интеграции, файлы контекста, проверка на выборке и тихий автозапуск shadow-сборщика. Позже Zoom-экспорт отдельно включён и создание пустого iPad-проекта запущено; это не означает приёмку iPad-клиента или автоматического импорта новых встреч. Старый `com.personalos.readonly` и Executor остаются выключенными. Push-уведомления и запись в Asana/GitHub не включены. До пользовательского пилота нужны граница рабочего дня и канал короткой карточки. ### Передача в следующую сессию — исполняемые пакеты @@ -188,8 +188,8 @@ updated: '2026-10-04' ### Параллельно: Zoom и iPad, но по контракту P0 -- **Zoom:** существующие записи найти через фактический источник учётной записи; импортировать одну прошлую встречу в `meeting_context` с участниками, решениями, обещаниями, сроками и ссылкой/фрагментом. Обязательства попадают в рабочий контекст, подтверждённый вклад — в карьерный; это влияет на план *после встречи*, а не создаёт ещё один длинный brief. Затем идемпотентный импорт новых. Новый адаптер `zoom-import.js` и миграция `meeting_context`; метод доступа выбирается после проверки аккаунта, старую заметку [[personal/projects/personal-os/zoom-ai-transcript-export]] считать вариантами, не доказанным текущим доступом. Приёмка: одна существующая встреча даёт проверяемое обязательство и/или факт вклада со ссылкой, повторный импорт не создаёт дубль. -- **iPad Desk:** установка на физический iPad уже подтверждена. Передать агенту ограниченное приложение «фокус сейчас / вместимость дня / когда вернуться / одно ожидание меня / свежесть», читающее `focus.json` по LAN с минимальными полями. iPad — пассивный интерфейс того же контура; не проект по повторной проверке установки. Приёмка: на iPad виден тот же focus state, после отключения сети ясно показана устаревшая версия; нет лишних алертов. +- **Zoom:** текущий доступ к My Notes подтверждён через отдельный headless Chrome. Два transcript сохранены с `note_id` и источником; первый запуск по расписанию 5 октября и импорт первой новой заметки ещё нужно проверить. Следующий содержательный этап — из сохранённого transcript извлечь проверяемые решения, обещания, сроки и вклад с ссылкой на фрагмент; кандидаты проходят review перед попаданием в рабочий/карьерный профиль. Повторный импорт не должен создавать дубль. См. [[personal/projects/personal-os/zoom-ai-transcript-export]]. +- **iPad Desk:** установка прежнего тестового проекта на физический iPad была подтверждена; создание нового пустого проекта через Balda на Monterey/Xcode 13 запущено 4 октября. Следующая контрольная точка — собираемый проект и артефакт установки нового приложения. Первый экран читает ограниченный `focus.json` по LAN: «фокус сейчас / одно ожидание меня / свежесть / нет связи». Приёмка: на iPad виден тот же focus state, после отключения сети ясно показана устаревшая версия; нет лишних алертов. ## 5. Последовательность, зависимости, участие Алекса @@ -197,6 +197,6 @@ updated: '2026-10-04' 2. **P0.1 — блокер фактов:** после аудита собрать тихую временную линию человека/агентов/рабочих тем, проверить привязки к Asana/PR/meeting/worktree и честно показать неизвестные интервалы. Проверить 20 интервалов и два дня без новых сообщений Алексу. 3. **P0.2 — затем блокер решений:** выбрать посильную работу из Asana, PR, TD, Ship Review, встреч, team growth и агентных ревью по роли, пользе, сроку, энергии и доступному времени; испытать перегруженный день до включения schedule. 4. **P0.3 → P0.4:** показать один короткий живой focus state, провести 5 рабочих дней измеряемого пилота с возможностью исправить перегрузку. Только после этого решать о регулярной доставке. -5. **P1 и параллельные ветки:** включить ограниченный coding loop с учётом review/tokens; импортировать Zoom; отдать тот же focus state на iPad. Balda/Broker/Virfield не дублировать. +5. **P1 и параллельные ветки:** продолжить ограниченный coding loop с учётом review/tokens; проверить первый ночной Zoom-запуск и извлечение кандидатов из transcript; принять пустой iPad-проект и затем вывести тот же focus state на устройство. Balda/Broker/Virfield не дублировать. **Необходимое участие Алекса в пилоте:** перед доставкой карточки — граница рабочего дня и канал; затем по желанию один короткий сигнал «полезно/неверно/слишком много» и ручная смена энергии/фокуса, когда захочется. Система не требует ежедневного ведения журнала. Внешние записи и старый автономный Executor этим планом не разрешены. diff --git a/personal/plans/personal-os-v2-plan.md b/personal/plans/personal-os-v2-plan.md index 8cb18dcf..c5b740e1 100755 --- a/personal/plans/personal-os-v2-plan.md +++ b/personal/plans/personal-os-v2-plan.md @@ -5,12 +5,14 @@ tags: - plan - v2 created: '2026-10-03' -updated: '2026-10-03' +updated: '2026-10-04' status: draft --- # Personal OS v2 — план перезапуска -> Черновик 2026-10-03. Вход: [[personal/projects/personal-os/personal-os-status-2026-10]] · +> Исторический черновик 2026-10-03: заменён утверждённым [[personal/plans/personal-os-operating-plan-2026-10-03]]. iPad-идея здесь описывает старый тестовый проект, не новое приложение, создание которого запущено через Balda 4 октября. Текущий статус: [[personal/projects/personal-os/personal-os-status-2026-10]]. +> +> Исходный вход: [[personal/projects/personal-os/personal-os-status-2026-10]] · > уроки: [[personal/projects/personal-os/personal-os-failed-approaches]]. > Пометка **⚠️ проверить** = моё допущение, не подтверждено фактом. diff --git a/personal/projects/personal-os/personal-os-status-2026-10.md b/personal/projects/personal-os/personal-os-status-2026-10.md index 258110d0..b41293b7 100755 --- a/personal/projects/personal-os/personal-os-status-2026-10.md +++ b/personal/projects/personal-os/personal-os-status-2026-10.md @@ -12,11 +12,11 @@ confidence: 1 ## Коротко -- **Тихий read-only сбор работает.** `com.personalos.focus-shadow` запущен каждые 15 минут (12 запусков, последний код 0); после ночи расписание ограничено рабочими днями 08:00–20:00. Результаты: `~/context/shadow.json`, `shadow.md`, `focus.json`, `shadow-history/`. Доставки карточек и старого Executor нет. +- **Тихий read-only сбор работает.** `com.personalos.focus-shadow` загружен по будням 08:00–20:00 каждые 15 минут; проверка 4 октября: 54 запуска, последний код 0. Последний снимок `~/context/shadow.json` и `focus.json` создан 4 октября в 00:41 +06; в воскресенье новый рабочий снимок не ожидается. Доставки карточек и старого Executor нет. - **Корпоративный Mattermost подключён отдельно.** Клиент с собственной Chrome-сессией читает сообщения `chat.duckduckgo.com` каждые 15 минут (первый запуск 21 сообщение из 202 каналов, повторный 0 новых; LaunchAgent код 0). Тест на `mm.qentra.top` дал 265 сообщений из 9 каналов; Qentra не добавлена в фоновое расписание. Токены/куки в Personal OS не копируются, файлы снимков имеют режим 0600. - **iTerm и рабочие ветки учитываются.** Последний снимок: 78 worktrees, 40 с незавершёнными изменениями, 2157 изменённых путей, 64 коммита за 30 дней. Диффы не сохраняются. Из 53 интервалов iTerm 18 привязаны к worktree по пути в заголовке, прочие остаются `unknown`. - **Outlook подключён только как активность окна.** За последний снимок интервалов Outlook нет; письма и встречи не читаются. Outlook Email/Calendar connectors отключены администратором; для Graph нужен разрешённый client ID/tenant ID с `Mail.Read` и `Calendars.Read`. Календарь остаётся `unknown`. -- **Zoom My Notes загружается ночью.** Отдельный headless Chrome запускается в 02:15, читает мои новые заметки и закрывается после импорта. Два transcript сохранены в Obsidian как Markdown/JSON с дедупликацией по `note_id`; повторный запуск не создал дубликатов. LaunchAgent проверен: код 0. Код импорта и запасного API-пути сохранён в коммитах `4b403ed` и `2728aee`; тесты Zoom: 14/14. Детали: [[personal/projects/personal-os/zoom-ai-transcript-export]]. +- **Zoom My Notes настроен на ночной импорт.** `com.personalos.zoom-browser` запускает отдельный headless Chrome в 02:15. Два transcript от 29 сентября сохранены в Obsidian как Markdown/JSON с дедупликацией по `note_id`; два ручных запуска LaunchAgent завершились с кодом 0, но нашли 0 новых заметок. Первый запуск по расписанию ожидается 5 октября; импорт новой заметки этим расписанием ещё не проверен. Детали: [[personal/projects/personal-os/zoom-ai-transcript-export]]. - **Пилот не завершён.** Двухдневная калибровка, ручная проверка 20 интервалов и пятидневный пользовательский пилот впереди. План: [[personal/plans/personal-os-operating-plan-2026-10-03]]. Аудит: [[personal/plans/personal-os-source-audit-2026-10-03]]. ## Проверенные источники (основной снимок 2026-10-04 00:41 +06; Zoom проверен 10:16 +06) @@ -31,14 +31,14 @@ confidence: 1 | Mattermost | Корпоративный и тестовый снимки `fresh`; фоновый сбор включён только для корпоративного сервера. | | iTerm | Частичная привязка к worktree по точному пути shell prompt в заголовке окна. | | Outlook/календарь | Активность приложения — частично; сообщения, события и тема встречи — `unknown`. | -| Zoom My Notes | Ночной headless-импорт включён на 02:15. Два transcript сохранены в Obsidian; повторный импорт пропустил оба. Chrome закрывается после запуска. | +| Zoom My Notes | LaunchAgent включён на 02:15; два transcript в Obsidian. Ручные запуски: код 0, новых заметок 0. Первый запуск по расписанию — 5 октября. | | Balda | Подтверждённого read-only контракта для этого среза нет. | ## Что остаётся выключенным - Старый Executor, Hermes briefs и их push-уведомления остаются на паузе после инцидента 2026-04/05 ([[personal/projects/personal-os/executor-security-analysis]]). - Старый `com.personalos.readonly` не является контуром нового shadow-сбора. -- Запись в Asana/GitHub, доставка focus-карточек и iPad-клиент не включены. +- Запись в Asana/GitHub и доставка focus-карточек не включены. Создание пустого iPad-проекта через Balda на Monterey/Xcode 13 запущено пользователем; сборка и установка нового приложения ещё не подтверждены. ## Что живо рядом (не Personal OS, но связано) @@ -59,7 +59,7 @@ confidence: 1 1. Проверить 20 разнообразных интервалов и два рабочих дня shadow-сбора; исправить ложные уверенные связи и пропуски обязательств. 2. Настроить локальный импорт выгруженных транскриптов других агентов и извлечение сигнала раздражения из сообщений Алекса; проверить ложные срабатывания, не создавая диалог с Personal OS. 3. Получить разрешённый Microsoft Graph app (tenant ID, client ID, делегированные `Mail.Read`/`Calendars.Read`) для чтения Outlook; до этого встречи не учитываются как подтверждённая занятость. -4. Проверить первый запуск Zoom My Notes по ночному расписанию 2026-10-05; ручной запуск LaunchAgent уже завершился с кодом 0. +4. Проверить первый запуск Zoom My Notes по ночному расписанию 2026-10-05 и отдельно подтвердить импорт первой новой заметки. Ручные запуски уже завершились с кодом 0, но новых заметок не нашли. 5. Перед доставкой карточки согласовать границу рабочего дня и канал; затем провести пятидневный пилот с короткой обратной связью. 6. Старый Executor возвращать только после контролей безопасности и лимитов ревью/токенов из утверждённого плана. diff --git a/personal/projects/personal-os/zoom-ai-transcript-export.md b/personal/projects/personal-os/zoom-ai-transcript-export.md index f13987ec..32acff9c 100755 --- a/personal/projects/personal-os/zoom-ai-transcript-export.md +++ b/personal/projects/personal-os/zoom-ai-transcript-export.md @@ -90,14 +90,15 @@ Webhook: ## Caveats - My Notes transcript retention включён и управляется политикой аккаунта. Заметки могут удаляться автоматически. -- Два transcript сохранены в Obsidian. Повторный браузерный импорт пропустил оба без изменений. LaunchAgent `com.personalos.zoom-browser` проверен ручным запуском: завершился с кодом 0; Chrome закрылся. Старый Codex heartbeat остановлен. -- Пользовательский Chrome может оставаться закрытым: расписание использует отдельный headless-профиль. +- Два transcript от 29 сентября сохранены в Obsidian. Два ручных запуска LaunchAgent завершились с кодом 0, но нашли 0 новых заметок; по ночному расписанию импорт ещё не проверен. Первый запуск по расписанию — 5 октября. Старый Codex heartbeat остановлен. +- Пользовательский Chrome может оставаться закрытым: расписание использует отдельный headless-профиль. `ZOOM_BROWSER_SINCE` по умолчанию равен `2026-09-30`; более ранние заметки требуют явного backfill. ## Recommended path 1. ✅ Headless-экспортёр и ночной LaunchAgent активны; отдельный Chrome-профиль авторизован. 2. ✅ Markdown + JSON сохраняются в Obsidian с дедупликацией по `note_id`. -3. ⏳ Индексация сохранённых transcript в pgvector ещё не реализована. +3. ⏳ Проверить запуск 5 октября по расписанию и первый новый transcript; код 0 при `scanned: 0` доказывает только успешный пустой проход. +4. ⏳ Превращение всех сохранённых transcript в проверенные обязательства/карьерные факты и индексация в pgvector ещё не завершены. ---