[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
7cd298592d
commit
abc34531f0
2 files changed
+8
-8
No files matched your search
@@ -26,10 +26,10 @@ 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; его результат ещё не проверен.
|
||||
|
||||
## Порядок реализации
|
||||
## Реализация и приёмка
|
||||
|
||||
1. **Реестр и схема.** Добавить `migrations/004_project_truth.sql` с `project_events`, `project_states` и свежестью источников; завести явную карту VSCode/SPM → Asana parent/subtasks, GitHub repo/PR, Zoom note ID, Obsidian project note. Событие хранит отдельные поля для состояния задачи и состояния технического решения.
|
||||
2. **Read-only сбор.** В `project-evidence.js` читать Asana tasks/stories из локального mirror, текущий статус связанных PR из GitHub, сохранённые Zoom JSON и проектную заметку. Писать датированные события с точными ссылками и `observed_at`; дубли убирать по source ID. Недоступный источник помечать stale/failed, не считать его пустым.
|
||||
3. **Сверка.** В `project-truth.js` строить `project_state` по последовательности proposal → later decision/cancellation → actual code/PR → verification. Явная отмена перекрывает предложение; Asana completed не означает implemented; GitHub close → reopen даёт текущий Draft. Неразрешённое противоречие — `conflict` со ссылками.
|
||||
4. **Подключение потребителей.** Включить `project_state` в `source-snapshot.js` и локальный `~/context/projects.json` (0600). `day-coordinator.js` и advisor/career prompts читают эту проекцию; утверждения «внедрено/выпущено» без evidence и свежего статуса блокируются. Интеграция остаётся без записи в Asana/GitHub и без уведомлений.
|
||||
5. **Приёмка.** `node --test test/project-truth.test.js`: Zoom proposal 29 сентября → отмена 30 сентября/1 октября → существующие `.xcdatamodeld` в SPM → PR #7080 close/reopen/Draft → cleanup open. Дополнительно проверить stale source и конфликт; выполнить один тихий shadow-прогон. Только после этого расширять карту на другие проекты. Shadow-калибровка и Zoom/iPad идут параллельно.
|
||||
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` означает только свежесть уже настроенных источников.
|
||||
Reference in new issue
Block a user