Files
obsidian-vault/personal/projects/personal-os/personal-os-production-acceptance.md
T

18 KiB
Raw Blame History

Personal OS — аудит и приёмка

Проверено 13 ноября 2026

Personal OS частично выполняет Capture и Clarify. Общий жизненный цикл Organize → Reflect → Engage пока не подтверждён. Миссия в порядке приоритета: самочувствие, посильная нагрузка и непрерывный фокус, граница рабочего дня, рабочие и карьерные результаты.

Фактический контур

  • Asana: Windmill запускает сбор каждые пять минут без перекрытия. Worker обновляет PostgreSQL через события и обход проектных и личных списков. Отдельный Asana Inbox имел последний успешный снимок 4 ноября.
  • GitHub: свежие собственные PR и запросы ревью читаются в focus-shadow. SQL-зеркало, из которого читает черновик E5, на момент аудита было от 18 октября. Эти пути имеют разные даты обновления.
  • Zoom: LaunchAgent читает доступные Owned by me, сохраняет транскрипты и индекс в Obsidian. Исправленный запуск обработал 20 заметок, сохранил или обновил 9 транскриптов. Охват календаря не установлен.
  • Mattermost: версии постов и треды доступны по архиву до 2 ноября. Текущий корпоративный collector возвращает auth_required.
  • ActivityWatch, IDE, браузер, локальные ветки и сессии: focus-shadow пишет локальные снимки каждые 15 минут по будням. Подтверждённая ёмкость дня, календарь и события Balda в проверенном снимке отсутствовали.
  • Анализ утверждений: Windmill каждые пять минут передаёт не более одного задания локальной модели. Промпт извлекает add/update/withdraw по изменённому источнику и проверяемой цитате. При аудите 12 518 утверждений были кандидатами, записей ручной проверки не было, 1 991 запись задания по 287 работам имела статус blocked.
  • Пилот обсуждений ищет точные ссылки, общие PR и редкие слова. Модель предлагает связи с цитатами. Прототип discussion_actions извлекает обязательства, выполнение и изменения объёма из переданного пакета. Его сквозной автоматический запуск не подтверждён.
  • Ручной триаж классифицирует корни Asana, разрешение work items запускается по запросу из UI. Локальный E5 отбирает до шести работ эвристикой, генератор выдаёт действия, второй вызов модели проверяет их, код укладывает до трёх в общий бюджет. На сервере E4, E5, принятие утверждений и ретроспектива были заглушками.
  • Полная матрица текущих целей и важности DDG ещё не реализована. В Asana одноимённые поля Priority имеют разные GID. Схема проекта и подтверждённые правила DDG требуются до общего ранжирования. Синтетический стенд CP-SAT проверил размещение, применимость к рабочему дню не установлена.

Независимое ревью

  • Asana удаляла адресный запрос после любого более позднего комментария Алекса в той же задаче.
  • Прототип обсуждений принял чужое обещание за действие Алекса и закрыл его сообщением о том, что ревью всё ещё нужно.
  • При одинаковых окнах низкая энергия увеличивала расчёт фокуса. После границы дня формировалась локальная карточка ревью.
  • Для GTD нужны следующие действия, Waiting For с владельцем и датой сверки, отложенное, проекты с результатом и Weekly Review.
  • Для leadership нужны владелец результата, исполнитель следующего шага, принимающий решение и адресаты коммуникации. Карьерные свидетельства должны показывать вклад, обратную связь и помощь коллегам.

Источники: GTD, Weekly Review, DRI, DACI, Google re:Work.

Критерии допуска

  1. Локальные задачи. Открытое действие из Zoom/Mattermost видно в My Tasks с источником, проектом или явным отсутствием связи, состоянием и основанием. Ошибочная атрибуция, повтор и ложное закрытие не проходят. Тот же запрос из двух каналов имеет один ID и доказательства из обоих. Повторный прогон не меняет очередь. Недоступный источник и непроверенный кандидат видны отдельно.
  2. Work History. Страница работает через обычный локальный UI, показывает проекты, описание наблюдаемой работы, время, ссылки и статус с указанием даты наблюдения. ActivityWatch, IDE, Git и агентные сессии различаются. Повторные снимки не завышают время. Неопознанные интервалы остаются видимыми, активность не выдаётся за завершённый результат.
  3. Достоверность действий. Прогнать на реальных версиях Zoom, Mattermost, Asana и GitHub: открытие, сохранение ID, закрытие по точному результату, обновление объёма, потеря доступа и восстановление. Проверить ложное закрытие, неизвестного адресата и неверного исполнителя.
  4. Приоритет. Реальные актуальные цели, AoR и карьерные направления версионируются. Поля DDG сопоставляются по проекту и GID. Неизвестное значение явно отображается. Проверки: конфликт критериев, важное без срока, командный запрос, зависимости и невозможность вместить обязательства.
  5. Границы и исполнение. Проверить календарь, ручной ввод ёмкости, резерв ревью, низкую энергию и окончание дня. Артефакт ИИ проходит проверку и создаёт запрос на ревью. Завершение, отклонение и изменение источника отражаются в очереди и плане.
  6. Теневой пилот. Пять реальных рабочих дней с измерением пропусков, ложных закрытий, незапланированных переключений, минут человеческого ревью и предложений вне рабочего времени. Выпуск после зафиксированной приёмки, наблюдаемости отказов и проверки восстановления.

Рабочий порядок: локальные задачи и Work History → надёжная очередь → оценка целей и DDG → границы и исполнение → теневой пилот. Прогоны на сохранённых данных и синтетические тесты отмечаются отдельно от штатных запусков.

Проверки реализации, 13 ноября 2026

  • Штатный DB Browser на порту 4317. В Chrome проверены My Tasks с карточкой из реального Zoom и ссылками на источник и Asana, переход в Work History и раскрытие наблюдений. API за два дня прочитал 102 архивных снимка, показал 19 групп и 41 запись работ, из них 31 со связью с Asana. Группы могут включать репозитории и непривязанные наблюдения. История ограничена сохранёнными снимками.
  • Штатная выборка за 14 дней прочитала 422 архивных снимка без ошибок чтения, показала 54 группы и 153 записи со связью с Asana. В выдаче подтверждены ActivityWatch, Git, Codex и Claude. Прошли 39 тестов Node с PostgreSQL и HTTP, а также 3 Python-регрессии.
  • Публикация обсуждения проверена на одном вручную подготовленном пакете. В My Tasks отображается действие «Обновить техдизайн» на проверке, потому что дата встречи не подтверждена. Автоматическая сборка пакетов и свежий Mattermost ещё не приняты.
  • Регрессии проверяют отсутствие ложного закрытия Asana по произвольному комментарию, автора обещания, подтверждение результата и отсутствие карточек после рабочей границы. В истории проверено объединение пересекающихся интервалов.
  • Локальный E4 требует версионированную политику и проверенные действия. Синтетическая проверка подтвердила порядок по обязательному сроку и различение одноимённых полей по проекту и GID. Источник общей матрицы DDG и актуальный профиль для реального ранжирования пока не подтверждены. Найденные проектные Impact/Effort-матрицы имеют собственный контекст.
  • Полная приёмка остаётся открытой. Требуются свежий вход в Mattermost, проверка актуальных целей и матрицы DDG, событийный цикл исполнения и пятидневный теневой пилот.
  • Локальная сборка пакетов из архивов и зеркала Asana дала 8 групп Mattermost с точной ссылкой на задачу и участием Алекса. Все восемь помечены как неполные и устаревшие. Из 19 заметок Zoom восемь не имеют подтверждённой даты. Автоматическая точная выборка не связала ни одной датированной записи Zoom с единственной задачей. Для реального кейса CPM связь подтверждена вручную и отображается как требующая проверки.

Карта промптов и выборок

  • Асана → work-demand.js: открытые собственные назначения, отслеживаемые задачи, комментарии за 30 дней, зависимости. generate-attention.js выводит до пяти карточек на раздел, day-coordinator.js выбирает до трёх карточек для локального просмотра.
  • work_claims_extract → scripts/work-claim-sources.js → scripts/work-claim-updates.js: новые корни и ранее разобранные работы, дерево и версия источников, связанные PR, треды и дизайны. Промпт возвращает точечные изменения с ID и буквальной цитатой. Ручные решения защищены.
  • work_triage → classify.py: правила, затем пачки до 20 неясных корней по имени, проекту и началу описания. Промпт возвращает тип задачи и короткую причину.
  • work_situation → scripts/work-dashboard.js: агент запускается по запросу из браузера. Промпт предлагает связать существующее, создать черновик, отслеживать локально, исключить или оставить неизвестным. Требует ID и цитату из пакета.
  • discussion-context-pilot.js: точные ссылки, общий PR, редкие термины. Для Zoom также название и дата как кандидаты. Промпт подтверждает связи двумя цитатами. discussion_actions.py: обязательство, выполнение и объём. Для завершения требуется отдельно подтверждённый артефакт по тому же действию.
  • Локальный E5: открытые назначения, потомки до глубины 8, родительский контекст, шесть комментариев на задачу, до 500 связанных или собственных PR. Рейтинг отбора: Critical Path +100, Top Priority +60, Active +20, близкий срок +30, затем внешний комментарий +30 и локальная ветка впереди +25. Максимум шесть работ. Генератор предлагает до двух действий и одну подготовку на работу, допускает один раунд до трёх адресных чтений. Отдельный вызов той же модели проверяет факты. После проверки сортировка учитывает Critical Path +100, Top Priority +60, запрос +30 и близкий срок +20. Локальный прототип выбирает до трёх действий в общий бюджет с 30% резервом. Серверный E5 на момент аудита оставался заглушкой.
  • Целевая оценка использует подтверждённые текущие цели, роли, AoR, карьерные направления, поля матрицы DDG по проекту и GID, сроки, зависимости и цену участия. Жёсткие сроки и пределы времени учитываются явно. Рабочая политика и веса требуют проверки на реальных сравнительных случаях.

Текущие блокировки

  • Пакетный запуск на локальной модели прервался по тайм-ауту на первом архивном пакете Mattermost. Предыдущая очередь осталась доступна. Для серии добавлена изоляция ошибок по пакетам. Штатное расписание не включено.
  • Локальный E5 удерживает действия при отсутствии переданной оценки E4. Это проверено отдельным тестом. Реальные цели и исходная матрица DDG ещё нужны для полной сквозной проверки.
  • Корпоративный профиль Mattermost открыт штатной командой повторного входа. До успешного входа свежий сбор и проверка реального межканального дубля остаются открытыми.