diff --git a/personal/projects/personal-os/personal-os-data-analysis-workflow-2026-10-09.md b/personal/projects/personal-os/personal-os-data-analysis-workflow-2026-10-09.md index d8b1e72e..168dfa93 100755 --- a/personal/projects/personal-os/personal-os-data-analysis-workflow-2026-10-09.md +++ b/personal/projects/personal-os/personal-os-data-analysis-workflow-2026-10-09.md @@ -9,7 +9,7 @@ tags: - data-analysis - workflow - knowledge-graph -updated: '2026-10-14' +updated: '2026-10-18' --- # Personal OS — анализ выгружаемых данных: контекст, связывание и workflow @@ -17,14 +17,46 @@ updated: '2026-10-14' **Историческая сверка E1 до замены worker 14.10:** 21/28 проектов по ID scan 06.10, 35 080/35 080 memberships, 11 недоступных прямых задач и 1 685 отсутствующих внешних dependency targets. Это не новый live-ID обход. Текущий [план E1–E5](/Users/admin/Developer/personal-os/planning/personal-os-action-plan-2026-10-05.md). -Дата исходного исследования: 2026-10-09, Asia/Bishkek. Обновлено: 2026-10-14 по сохранённым результатам БД, двум resolver jobs и проверке дашборда. +Дата исходного исследования: 2026-10-09, Asia/Bishkek. Уточнено 18.10.2026: процесс, точные условия архивного отбора и место результатов модели в этапах E1–E5 сверены с кодом и сохранёнными selection.json. Срез 14.10 ниже сохранён как история. -**Статус на 14.10.2026:** локальный стенд прошёл синтетические проверки и реальные одиночные извлечения на Asana. В основной БД 486 анализов / 486 работ (480 completed), все 12 244 claims — кандидаты. Рабочая выборка и схема v2 существуют; независимый эталон качества и semantic acceptance не завершены. RLM-циклы ранних прогонов не дошли до FINAL. Отдельный resolver ворктри через Windmill прошёл две попытки, 7/7 цитат и оба input hash проверены; смысловые связи не приняты. Архивный пакет выполнен вручную, постоянный incoming-контур и graph runtime не подключены. Подробности: [[work-claims-results-2026-10-12]] и [[personal-os-rlm-stand-results-2026-10-10]]. +**Исторический статус на 14.10.2026:** локальный стенд прошёл синтетические проверки и реальные одиночные извлечения на Asana. В основной БД 486 анализов / 486 работ (480 completed), все 12 244 claims — кандидаты. Рабочая выборка и схема v2 существуют; независимый эталон качества и semantic acceptance не завершены. RLM-циклы ранних прогонов не дошли до FINAL. Отдельный resolver ворктри через Windmill прошёл две попытки, 7/7 цитат и оба input hash проверены; смысловые связи не приняты. Архивный пакет выполнен вручную, постоянный incoming-контур и graph runtime не подключены. Подробности: [[work-claims-results-2026-10-12]] и [[personal-os-rlm-stand-results-2026-10-10]]. -**Согласованный порядок:** проверяемый локальный RLM на небольшом наборе связных работ → расширение на архив → подключение incoming. Подробный текущий статус и шаги — в разделе 9. +**Порядок и текущая реализация:** конкретный процесс и условия отбора приведены в разделе 0. С 15.10 включено инкрементальное обновление выводов; его [контракт и проверка](/Users/admin/Developer/personal-os/planning/work-claim-updates-2026-10-15.md). Раздел 9 сохраняет исходный план испытаний и датированные результаты. Связанные документы: [[personal-os-action-plan-2026-10-05]], [[personal-os-six-layer-analysis-2026-10-05]], [[personal-os-evidence-graph-design-2026-10-04]], [[personal-os-system-review-index]]. +## 0. Полный процесс: от отбора данных до использования результата + +Этот файл описывает процесс анализа данных Personal OS целиком. В общем [[personal-os-action-plan-2026-10-05|плане E1–E5]] разбор и проверка работ относятся к E2; выбор механизмов — к E3; определение личной ответственности и важности — к E4; использование для дня и ретроспекции — к E5. Документ включён в [[personal-os-system-review-index|индекс проекта]]. + +### 0.1. Как получен существующий архивный результат — 10–12.10.2026 + +1. **Отбор по участию.** Из локальной `tasks` выбрать записи с `assignee_gid=1202406491309495` (Алекс), исключить `possibly_deleted`. По цепочке `parent.gid` поднять каждую до корневой работы (до восьми переходов); объединить одинаковые корни. +2. **Отбор по времени.** Сохранить корень, если хотя бы одна назначенная Алексу задача в нём открыта, независимо от давности; для остальных сохранить корни, где максимальный `modified_at` задач Алекса не раньше 11.10.2025. Верхняя граница — снимок выгрузки 11.10.2026. Для первой и второй партий нижняя граница была 11.07.2026; третья расширила её до 11.10.2025. Фильтр использует дату изменения задач Алекса, а не дату завершения корня. +3. **Отбор по типу.** По названию, проекту и короткому описанию классифицировать корни как `work`, `recurring`, `rotation`, `admin`, `personal`, `unknown`; сначала правила, затем модель для неразрешённых случаев. Для подробного извлечения выбрать `kind=work` и корни, присутствующие в `asana_task_current`. +4. **Состав партий.** Из выбранных работ брать сначала открытые, затем остальные по последнему изменению; исключать IDs предыдущих партий и исходной ручной выборки. Сохранённые партии: 80 (50 открытых + 30 остальных), 98 (53 + 45), 294 (0 + 294). Итого 472 автоматически отобранные работы; отдельно 14 исходных контрольных работ = 486 работ каталога. Здесь «открытая» означает наличие открытой задачи Алекса внутри работы. +5. **Сбор контекста.** Для каждой работы собрать корень, рекурсивные подзадачи до глубины 4, родителей, доступные зависимости и явно упомянутые задачи, memberships, описания и существенные события. Удалить типы шума вроде лайков и реакций. Сохранить `records.json` и манифест. Затем `build_input.py` собирает пакет модели, выбирая события и ограничивая тексты. +6. **Обработка.** Одним вызовом локальной Qwen27B извлечь предмет работы, затронутые компоненты, решения/отмены/реализацию/выпуск, хронологию, участников, роль Алекса, ссылки и неизвестности. Для утверждений о состоянии и событий требуются ссылки на записи и короткие цитаты. +7. **Результат.** Сохранить полный ответ в `work_analysis_runs`, отдельные элементы в `work_claims` со статусом `candidate`; проверить существование evidence IDs. Опубликовать каталог [[work-claims-results-2026-10-12]]. + +Проверенные основания: [отбор и SQL](/Users/admin/Developer/personal-os/scripts/rlm-e2-set.js), [порядок партий и даты](/Users/admin/Developer/personal-os/tools/rlm-lab/run_queue.sh), [экспорт окружения](/Users/admin/Developer/personal-os/scripts/rlm-sample-export.js), [пакет и инструкция модели](/Users/admin/Developer/personal-os/tools/rlm-lab/build_input.py), [вызов, загрузка и проверки](/Users/admin/Developer/personal-os/tools/rlm-lab/run_batch.sh). Состав партий перепроверен по `datasets/private/{sample-2026-10-10,e2-2026-10-11,e2b-2026-10-11,e2c-2026-10-11}/selection.json`. + +### 0.2. Дальнейшие этапы плана: что делать с результатом и для чего + +| Шаг | Какие записи взять | Что сделать | Для какого результата | +|---|---|---|---| +| Проверка смысла, E2 | Контрольные примеры разных работ, состояний и видов участия из каталога | Codex сопоставляет выводы с оригиналами: решения, отмены, результаты, время, роль Алекса и важные пропуски. Алекс разрешает до пяти подготовленных неоднозначностей за подход | Независимый эталон, перечень ошибок анализатора и проверка исправлений на других работах | +| Связывание и выбор метода, E2–E3 | Проверенные работы и кандидаты из Asana/GitHub/Mattermost/Zoom/заметок | Сохранить явные связи по IDs; найти и проверить смысловые связи; сравнить способы поиска и обработки на одном эталоне | Контекст работы с её решениями, документами, обсуждениями и зависимостями | +| Личная ответственность и важность, E4 | Открытые работы и связи с назначениями, review, обязательствами, областями ответственности и целями Алекса | Разделить прямые обязанности, зависимость от коллег, консультацию/review, полезный контекст и карьерные возможности; оценить сроки, влияние и готовность | Обоснованный список того, что требует участия Алекса, и порядок внимания | +| План дня, E5 | Ранжированные обязательства, зависимости и доступные окна дня | Выбрать посильное следующее действие и резерв, пересмотреть при существенном изменении | Конкретный план работы на день | +| Карьерный обзор и ретроспекция, E4–E5 | История участия и подтверждённые результаты за выбранный период | Сопоставить вклад Алекса с результатом; собрать основания для обзора; сравнить план и факт | Подготовка встреч, описание вклада и корректировка нагрузки/приоритетов | + +Тексты, JSON и источники имеют разные роли: полный ответ сохраняет воспроизводимость прогона; типизированные элементы используются для поиска и дальнейших расчётов; цитаты позволяют проверять вывод; пользовательский обзор показывает краткий результат и раскрывает основания по запросу. + +### 0.3. Как обновление работает после архивного прохода + +С 15.10.2026 `f/analyse/work_claims_extract` запускается каждые пять минут, по одной работе за проход, без пересечения запусков. Сканирование берёт ранее успешно разобранные работы и корни новых открытых задач на Алексе. Изменившийся снимок Asana, точно связанных PR/review, work items и принятых связей дизайнов ставится в очередь. Модель возвращает `add/update/withdraw` к устойчивым IDs; сохраняются версии, цитаты и ручные решения. Повтор одинакового снимка пропускается без вызова модели. Этот отбор описан в [discoverWorks](/Users/admin/Developer/personal-os/scripts/work-claim-sources.js), обработка — в [work-claim-updates.js](/Users/admin/Developer/personal-os/scripts/work-claim-updates.js), включение и проверки — в [отчёте 15.10](/Users/admin/Developer/personal-os/planning/work-claim-updates-2026-10-15.md). + ## 1. Задача Превратить выгрузки Asana, GitHub, Mattermost, Zoom и проектные заметки в общий рабочий контекст: @@ -235,7 +267,7 @@ Graphiti передаёт при извлечении отношений пре - Вечер 2026-10-10: вся система описана как потоки в локальном Windmill (скелеты, без логики); одиночное извлечение из второго прогона — поток `f/analyse/work_claims_extract` со статусом PROPOSED. См. [[personal-os-windmill-system-map-2026-10-10]]. -### 9.2. Дальнейшие шаги и условия перехода +### 9.2. Исходный план испытаний 10.10 и условия перехода 1. **Выбрать данные после развёртывания стенда.** Начальный ориентир — 10–15 связных работ, а не случайные отдельные записи. Алекс выбирает состав; для каждой работы собрать оригиналы, родителей/подзадачи, memberships, существенные комментарии, PR и связанные обсуждения. Зафиксировать snapshot, IDs, версии/hash, время события и загрузки, недостающие материалы. Реальные данные в стенд пока не загружать до выбора. 2. **Зафиксировать проверяемый результат и эталон.** Задать схему: предмет работы, отношения, предложение/решение/отмена/реализация/выпуск, время, конкретные источники и фрагменты, неизвестности. Составить независимые ожидаемые ответы по оригиналам; разделить примеры для настройки и отложенной проверки по работам, избегая утечки соседних записей. @@ -273,7 +305,7 @@ Graphiti передаёт при извлечении отношений пре Предварительные модельные выводы не служат независимым эталоном для оценки той же модели. Проверка человеком сосредоточена на важных неоднозначностях и контрольных примерах, а не на ручном разборе всех десятков тысяч задач. -**Следующий ожидаемый результат:** выбранный малый набор и рабочий проверяемый срез RLM на нём. **Результат последующих испытаний:** «история + новое изменение → найденный контекст → проверяемые связи/состояние», оценка массового прогона и обоснованный выбор моделей и готового компонента. Малый набор и одиночный рабочий срез получены; полный RLM-цикл, независимое качество и обработка incoming ещё не приняты. См. датированные результаты выше. +**Ожидаемый результат исходного плана 10.10:** выбранный малый набор и рабочий проверяемый срез RLM на нём. **Результат последующих испытаний:** «история + новое изменение → найденный контекст → проверяемые связи/состояние», оценка массового прогона и обоснованный выбор моделей и готового компонента. Малый набор и одиночный рабочий срез получены; полный RLM-цикл, независимое качество и обработка incoming ещё не приняты. См. датированные результаты выше. ## 10. Открытые вопросы diff --git a/personal/projects/personal-os/personal-os-system-review-index.md b/personal/projects/personal-os/personal-os-system-review-index.md index 0eff3af3..dcafa7e2 100755 --- a/personal/projects/personal-os/personal-os-system-review-index.md +++ b/personal/projects/personal-os/personal-os-system-review-index.md @@ -4,7 +4,7 @@ status: draft-review revision: R2 + six-layer-analysis -updated: '2026-10-14' +updated: '2026-10-18' --- # Personal OS: план и анализ шести уровней @@ -24,7 +24,9 @@ updated: '2026-10-14' | Документ | Назначение | |---|---| -| [[personal-os-windmill-system-map-2026-10-10]] | Карта системы в Windmill: 18 потоков по стадиям fetch/observe/analyse/publish/attend, обзорный холст, источник `windmill/system-map.yaml`. | +| [[personal-os-data-analysis-workflow-2026-10-09]] | Полный процесс анализа данных. §0: точные фильтры и даты архивного отбора, партии 472 + 14 работ, операции модели, проверка результата и его использование; место в E2–E5 и инкрементальное обновление. §§5–7: обработка корпуса, поиск и связывание, архив и incoming. §9: история испытаний. | +| [[work-claims-results-2026-10-12]] | Каталог 486 работ с исходными ответами локальной модели и ссылками на источники; результат архивного прохода процесса анализа. | +| [[personal-os-windmill-system-map-2026-10-10]] | Карта системы в Windmill: 21 поток по стадиям fetch/observe/analyse/publish/attend, обзорный холст, источник `windmill/system-map.yaml`. | | [[personal-os-db-browser]] | Локальный браузер БД: запуск на `127.0.0.1:4317`, источник `personal_os` на `localhost:5432`, проверка read-only SQL и доступных локальных решений. | | [[personal-os-action-plan-2026-10-05]] | Текущая очередь E1–E5: ближайшие пакеты, поставки, проверки и зависимости. | | [[personal-os-system-review-2026-10-04]] | Полный план: роли, data flow, инструкции, расписания, SC1–SC8, AC01–AC16 и R0–R4. |