[2026-10-04] eagle: personal/projects/personal-os/personal-os-status-2026-10.md personal/projects/personal-os/project-truth-analyzer.md
This commit is contained in:
1 parent
81801ca178
commit
f4875ab705
2 files changed
+24
-12
No files matched your search
@@ -17,7 +17,7 @@ confidence: 1
|
||||
- **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 настроен на ночной импорт.** `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]].
|
||||
- **Первый срез проектной правды подключён к shadow.** Подготовка к career advisor ошибочно приняла обсуждённые code-initialized Core Data models за актуальное направление: 30 сентября конверсию отменили после проверки Xcode 27, существующие модели оставили. Новый read-only analyzer для VSCode/SPM сводит датированные Asana/GitHub/Zoom/проектные события, а для CPM — текущие Asana parent + 19 прямых подзадач и выбранные PR; он пишет `~/context/projects.json` с явным `coverage_scope`; claim-gate блокирует неподтверждённое внедрение. Код и тест готовы; живой прогон 4 октября дал полный свежий статус через прямое read-only чтение недостающего Asana-комментария. `~/context/projects.json` создан с режимом 0600, проверка внедрения отклонена. Полный shadow-прогон во временной папке прошёл; повторный shadow-прогон прошёл в режиме `json_only`, без DB-миграции. Для следующих advisor briefs добавлен playbook, который обновляет и читает project state; вторничная автоматизация `career-advisor-call-weekly-preparation` включена на 09:00; первый запуск ещё не проверен. Отдельный Codex-агент теперь запланирован на рабочие дни в 08:30: он анализирует первичные источники и обновляет `briefs/project-truth/current.md`; первый датированный обзор двух проектов сделан 4 октября вручную, самостоятельный запуск ещё не проверен. Сборщик `projects.json` сам по себе агентом не является. Контракт и первая приёмка: [[personal/projects/personal-os/project-truth-analyzer]].
|
||||
- **Первый срез проектной правды подключён к shadow.** Подготовка к career advisor ошибочно приняла обсуждённые code-initialized Core Data models за актуальное направление: 30 сентября конверсию отменили после проверки Xcode 27, существующие модели оставили. Новый read-only analyzer для VSCode/SPM сводит датированные Asana/GitHub/Zoom/проектные события, а для CPM — текущие Asana parent + 19 прямых подзадач и выбранные PR; он пишет `~/context/projects.json` с явным `coverage_scope`; claim-gate блокирует неподтверждённое внедрение. Код и тест готовы; живой прогон 4 октября подтвердил свежесть только настроенных источников через прямое read-only чтение недостающего Asana-комментария. `~/context/projects.json` создан с режимом 0600, проверка внедрения отклонена. Полный shadow-прогон во временной папке прошёл; повторный shadow-прогон прошёл в режиме `json_only`, без DB-миграции. Для следующих advisor briefs добавлен playbook, который обновляет и читает project state; вторничная автоматизация `career-advisor-call-weekly-preparation` включена на 09:00; первый запуск ещё не проверен. Отдельное расписание проектного Codex-агента остановлено после создания без разрешения; самостоятельных запусков не было. `briefs/project-truth/current.md` — ручной пример, не автоматический результат. ID источников вручную внёс Codex; discovery и связывание проектов не реализованы. Сборщик `projects.json` сам по себе агентом не является. Контракт и первая приёмка: [[personal/projects/personal-os/project-truth-analyzer]].
|
||||
- **Пилот не завершён.** Двухдневная калибровка, ручная проверка 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)
|
||||
@@ -57,7 +57,7 @@ confidence: 1
|
||||
|
||||
## Что осталось до пилота
|
||||
|
||||
1. Расширить реестр за пределы двух проверенных проектов. Для CPM связать подтверждённые Zoom-решения и актуальные проектные проверки; текущий снимок покрывает Asana и выбранные PR, но не продуктовый эффект. Для новых проектов проверять Asana-подзадачи, решения и PR. `projects.json` уже подтверждает Core Data code-init cancelled, cleanup open, PR #7080 Draft.
|
||||
1. Заменить ручной реестр автоматическим обнаружением проектов и доказуемым связыванием Asana, GitHub, Zoom и Obsidian. Текущий JSON покрывает только два вручную выбранных проекта; для CPM нет подтверждённого Zoom-решения и продуктового эффекта. После evidence packets провести ручной агентский пилот и проверку вывода до любого расписания.
|
||||
2. Проверить 20 разнообразных интервалов и два рабочих дня shadow-сбора; исправить ложные уверенные связи и пропуски обязательств.
|
||||
3. Настроить локальный импорт выгруженных транскриптов других агентов и извлечение сигнала раздражения из сообщений Алекса; проверить ложные срабатывания, не создавая диалог с Personal OS.
|
||||
4. Получить разрешённый Microsoft Graph app (tenant ID, client ID, делегированные `Mail.Read`/`Calendars.Read`) для чтения Outlook; до этого встречи не учитываются как подтверждённая занятость.
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
# Personal OS — актуальное состояние проектов
|
||||
|
||||
Статус: **первый срез работает через JSON; PostgreSQL-история необязательна и не включена** · 2026-10-04. Настроены два проекта: VSCode/SPM и CPM. Для CPM текущий live-снимок содержит открытую родительскую задачу, 19 прямых подзадач и выбранные PR #6844/#6951/#7037 (все merged). CPM пока покрывает только Asana и GitHub; связанного Zoom-решения, актуальной проверки из проектной заметки и измеренного продуктового эффекта в этом снимке нет. Поле `coverage_scope` сообщает эту границу потребителям. Живой прогон 2026-10-04 12:53 +06 получил полный свежий статус: Asana comment прочитан напрямую, Zoom и проектная заметка доступны, GitHub PR Draft. `~/context/projects.json` создан с режимом 0600; claim-check отвергает `implemented` и принимает `cancelled`. Проверка `node --test test/project-truth.test.js` проходит. Полный shadow-прогон во временную папку 2026-10-04 12:55 +06 прошёл: `shadow.json`, `projects.json` и `focus.json` показывают свежий проектный статус; повторный полный shadow-прогон 2026-10-04 13:29 +06 подтвердил `project_truth.persistence=json_only` и свежий `focus.json`. Для следующих career advisor briefs создан `agent/one-on-one-prep-playbook.md`, который требует свежий `projects.json` и claim-check; вторничная автоматизация `career-advisor-call-weekly-preparation` включена на 09:00; первый запуск ещё не проверен.
|
||||
Статус на 2026-10-04: работает только прототип сборщика по двум проектам. ID источников вручную выбрал и внёс Codex; система не обнаруживает проекты и связи сама. `fresh` означает доступность настроенных источников, а не полную правду о проекте. Обзор `briefs/project-truth/current.md` написан вручную. Расписание проектного Codex-агента `personal-os-project-truth-agent` остановлено после создания без разрешения; самостоятельных запусков не было. Вторничная подготовка advisor call остаётся активной по прежнему поручению пользователя, её первый запуск не проверен. PostgreSQL-миграция подготовлена, но не применена.
|
||||
|
||||
## Что обрабатывает агент
|
||||
## Фактический data flow прототипа
|
||||
|
||||
`project-evidence.js` и `project-truth.js` — детерминированный сборщик и сверка заданных ID; сами они не рассуждают как LLM-агент. Отдельный Codex-агент по `agent/project-truth-agent-playbook.md` анализирует первичные Asana/GitHub/Zoom/Obsidian-улики, ищет поздние противоречия и пишет датированный обзор `briefs/project-truth/current.md`. Первый обзор подготовлен 4 октября вручную. Heartbeat `personal-os-project-truth-agent` включён на рабочие дни в 08:30; его первый самостоятельный запуск ещё не проверен. Advisor playbook читает обзор вместе с обновлённым `projects.json`.
|
||||
`project-truth-projects.json` содержит вручную заданные внешние ID: для VSCode/SPM — Asana parent/две задачи/комментарий, конкретный Zoom note и timestamp, PR #7080, путь к Obsidian-заметке; для CPM — Asana parent и PR #6844/#6951/#7037. Прямые подзадачи CPM подтягиваются из Asana автоматически. Другие проекты, новые PR, комментарии и Zoom-решения автоматически не открываются.
|
||||
|
||||
Asana mirror/API, GitHub API, локальный Zoom JSON и Obsidian-заметка → `project-evidence.js` создаёт датированные события → `project-truth.js` выбирает последнее событие для каждого указанного предмета и отмечает ограниченные конфликты → `source-snapshot.js` пишет `~/context/projects.json` → focus получает краткую проекцию. Advisor playbook читает этот снимок и проверяет первоисточники. Это детерминированный код, не LLM-анализ проекта. `briefs/project-truth/current.md` — ручной пример, не выход запущенного агента.
|
||||
|
||||
## Целевая архитектура (не реализована)
|
||||
|
||||
1. **Обнаружение:** адаптеры перечисляют активные проекты и новые записи из Asana, GitHub, Zoom, Obsidian и задач агентов. В обычной работе никто не вписывает ID каждой задачи/PR/встречи вручную; конфиг содержит только подключения и правила доступа.
|
||||
2. **Связывание:** система создаёт стабильную внутреннюю идентичность проекта и связывает материалы сначала по явным URL/ID, затем предлагает смысловые совпадения с доказательством. Неоднозначные материалы остаются несвязанными; название само по себе не подтверждает связь.
|
||||
3. **Журнал доказательств:** сохраняются source ID/URL, время события и получения, фрагмент или hash, тип факта, область действия и история изменений. Более позднее решение может отменить раннее; старые факты не удаляются.
|
||||
4. **Анализ агентом:** LLM получает пакет одного проекта, ищет поздние противоречия и возвращает структурированные утверждения по отдельным измерениям: proposal, decision/cancellation, implementation, local verification, merge, release, measured impact, open work. У каждого утверждения — evidence IDs, дата, scope, confidence и open questions.
|
||||
5. **Проверка и публикация:** код проверяет существование ссылок, свежесть, порядок событий и допустимость переходов. `completed` не доказывает `implemented`; `merged` не доказывает `released` или эффект. При пробеле или конфликте публикуется `unknown/conflict`. Версионированный `project_state` становится единственным входом focus, career и других агентских сценариев.
|
||||
|
||||
Первый запуск агентского шага — вручную на VSCode/SPM и CPM с проверкой результата человеком. Расписание и запись во внешние рабочие системы не входят в этот пилот и требуют отдельного решения.
|
||||
|
||||
## Зачем
|
||||
|
||||
@@ -28,12 +40,12 @@ Focus, дневной план, подготовка к career advisor call и
|
||||
|
||||
## Текущий охват и следующий шаг
|
||||
|
||||
VSCode/SPM имеет `coverage_scope=correlated_decision_task_pr`; CPM — `coverage_scope=current_asana_tasks_and_selected_prs`. Статус `fresh` означает свежесть настроенных источников, а не полноту сведений обо всех решениях проекта. Следующий кодовый шаг — пополнить реестр другими активными проектами и связывать Zoom/проектные заметки только с подтверждёнными ID и решениями. Первый запуск вторничной автоматизации — 2026-10-06; его результат ещё не проверен.
|
||||
VSCode/SPM: вручную связаны четыре источника; Core Data code-init отменён, cleanup открыт, PR #7080 Draft. CPM: текущий Asana parent + 19 прямых подзадач и выбранные PR; Zoom-решения, релиз и измеренный эффект не установлены. Следующий инженерный шаг — автоматическое обнаружение проектов и доказуемое связывание новых материалов. Ручной реестр остаётся тестовым fixture до замены. Первый запуск advisor automation 2026-10-06 ещё не проверен.
|
||||
|
||||
## Реализация и приёмка
|
||||
## Исправление прототипа: конкретные этапы
|
||||
|
||||
1. **Реестр — работает.** `project-truth-projects.json` связывает VSCode/SPM с Asana, Zoom, заметкой и PR; CPM — с Asana parent, автоматически читаемыми прямыми подзадачами и выбранными PR. `migrations/004_project_truth.sql` подготовлена, но не применена; JSON-путь не зависит от неё.
|
||||
2. **Сбор и сверка — работают.** `project-evidence.js` читает настроенные источники без записи в них. `project-truth.js` разделяет решение, задачу, PR и проверку, учитывает время событий и помечает конфликт или неполный источник.
|
||||
3. **Потребители — подключены.** `source-snapshot.js` пишет `~/context/projects.json` (0600); focus и advisor playbook используют свежесть и `coverage_scope`. Claim-check блокирует неподтверждённое внедрение.
|
||||
4. **Проверка — пройдена.** 45 тестов из `test/*.test.js`; живой refresh двух проектов и полный shadow-прогон с `project_truth.persistence=json_only` прошли 4 октября. Первый запуск автоматизации advisor call 6 октября ещё не проверен.
|
||||
5. **Следующая граница.** Для CPM добавить подтверждённые Zoom-решения и актуальные проверки продукта; затем включать следующие проекты по конкретным Asana/PR/Zoom ID. Статус `fresh` означает только свежесть уже настроенных источников.
|
||||
1. **Сделано 4 октября:** README, Obsidian и playbook исправлены: расписание проектного агента остановлено, `current.md` ручной, охват частичный. **Приёмка:** ни один документ не утверждает, что агент уже работает.
|
||||
2. Добавить discovery и entity linking: перечисление проектов/задач, PR и Zoom notes; явные связи и очередь неподтверждённых кандидатов. **Приёмка:** новая подзадача и PR появляются без ручной правки JSON; чужой PR не приписывается проекту по похожему названию.
|
||||
3. Сделать версионированные evidence packets без DB-миграции в пилоте. **Приёмка:** по каждому выводу видны событие, дата и первоисточник; история отмены не пропадает.
|
||||
4. Запустить вручную LLM-анализ одного проекта со структурированным JSON-результатом и валидатором. **Приёмка:** VSCode/SPM показывает proposal → cancellation, не `implemented`; CPM merged PRs не становятся release/impact.
|
||||
5. После проверки на двух проектах подключить валидированный `project_state` к advisor/focus и отдельно решить, нужен ли регулярный запуск. **Приёмка:** устаревший или конфликтный вывод становится `unknown` с причиной; первый advisor brief проходит сверку с источниками.
|
||||
Reference in new issue
Block a user