[2026-10-04] eagle: personal/career/profile.md personal/career/zoom-evidence/my-note_LKv7PP5oRNWI9GIMVfUIQg_27399f2c5d5f.md personal/plans/personal-os-operating-plan-2026-10-03.md personal/projects/personal-os/personal-os-purpose.md personal/projects/personal-os/personal-os-status-2026-10.md personal/projects/personal-os/project-truth-analyzer.md work/tech-design/coredata-code-defined-models.md work/zoom-evidence/my-note_LKv7PP5oRNWI9GIMVfUIQg_27399f2c5d5f.md
This commit is contained in:
1 parent
b865a02788
commit
f1ad02ba35
8 files changed
+69
-14
No files matched your search
@@ -1,7 +1,10 @@
|
||||
---
|
||||
namespace: personal
|
||||
tags: [career, profile, zoom-evidence]
|
||||
updated: 2026-10-03
|
||||
tags:
|
||||
- career
|
||||
- profile
|
||||
- zoom-evidence
|
||||
updated: '2026-10-04'
|
||||
---
|
||||
# Карьерный профиль — Alex
|
||||
|
||||
@@ -9,6 +12,11 @@ updated: 2026-10-03
|
||||
|
||||
- **2026-09-29, Apple Weekly:** Alex представил техническое предложение по замене Core Data managed object model ресурсов в SPM на модели, создаваемые кодом. Он обосновал его тестируемостью и возможностью миграций. Возражений на встрече не прозвучало; Jonathan сказал, что Alex готов двигаться дальше. [Источник в Zoom](https://us01mynotes.zoom.us/LKv7PP5oRNWI9GIMVfUIQg), 20:11:35–20:12:53; [локальный транскрипт](/Users/admin/Developer/personal-os/zoom-recordings/my-note_LKv7PP5oRNWI9GIMVfUIQg/transcript.txt).
|
||||
|
||||
## Последующее решение и статус
|
||||
|
||||
- **2026-09-30/10-01:** после проверки Xcode 27 / Swift 6.4 принято решение оставить существующие Core Data model files в SPM; переход на модели, создаваемые кодом, отменён. [Asana subtask с комментарием](https://app.asana.com/0/0/1218854852229979), [[work/projects/vscode-migration/vscode-migration]], [[work/projects/vscode-migration/findings]]. Закрытие Asana-задачи не означает реализации. Подтверждённый карьерный факт — Alex представил альтернативу и скорректировал решение по новой технической информации.
|
||||
- Открытый follow-up: [удалить runtime test hacks](https://app.asana.com/0/0/1218987523298563). [PR #7080](https://github.com/duckduckgo/apple-browsers/pull/7080) относится к упаковке браузера в Swift package и был закрыт и вновь открыт 2026-10-02; сейчас Draft. Это не внедрение code-init моделей.
|
||||
|
||||
## Предположения
|
||||
|
||||
- Реализация и её результат этой встречей не подтверждены.
|
||||
- Итог проекта по сборке браузера в целом требует отдельной проверки перед заявлением о доставленном результате.
|
||||
@@ -5,6 +5,8 @@ Transcript: zoom-recordings/my-note_LKv7PP5oRNWI9GIMVfUIQg/transcript.txt
|
||||
Source: https://us01mynotes.zoom.us/LKv7PP5oRNWI9GIMVfUIQg
|
||||
|
||||
> Automatic candidates. Verify context before treating these as commitments or career facts.
|
||||
>
|
||||
> **Superseded:** Core Data code-init was proposed here on 2026-09-29, then cancelled after Xcode 27 / Swift 6.4 validation. Existing model files remain. See [[work/projects/vscode-migration/vscode-migration]] and [Asana 1218854852229979](https://app.asana.com/0/0/1218854852229979). This meeting is evidence of a proposal, not implementation.
|
||||
|
||||
- **contribution** · 20:11:35 · Alex Martemyanov: “Yeah, there is a proposal that is currently a work in progress, and we are working on it with some.”
|
||||
- **contribution** · 20:11:52 · Alex Martemyanov: “Uh, the proposal is to get rid of the core data managed object models that are currently used as resources and files, and there are packs that compile them under SPM.”
|
||||
|
||||
@@ -25,6 +25,10 @@ updated: '2026-10-04'
|
||||
|
||||
Приоритеты строго такие: (1) хорошо себя чувствовать, (2) эффективно распределять нагрузку и фокус, (3) сохранять баланс жизни/работы, (4) выполнять и улучшать рабочие и карьерные результаты. Больший объём работы не компенсирует ухудшение первых трёх целей. ActivityWatch — наблюдение за поведением компьютера, **не датчик самочувствия и не оценка продуктивности человека**.
|
||||
|
||||
### P0: актуальное состояние проектов для всех агентных сценариев
|
||||
|
||||
Аудит к career advisor call 2026-10-04 показал сбой: обсуждённое в Zoom предложение о code-initialized Core Data models было позже отменено, но агент трактовал закрытую Asana-подзадачу и старый разговор как действующий результат. **Добавить read-only project-truth analyzer** между сбором источников и любым focus/career/advisor выводом. Он различает предложение, решение, отмену, внедрение, проверку и открытый follow-up; хранит время, ссылку, свежесть, confidence и supersedes. При конфликте даёт `unknown` и не выдаёт неподтверждённое внедрение. Первый fixture — [[personal/projects/personal-os/project-truth-analyzer]]: Core Data code-init отменён, существующие модели сохранены под Xcode 27, cleanup открыт. Параллельная калибровка shadow-сбора продолжается; выпуск карьерных claims о проекте зависит от этой проверки.
|
||||
|
||||
### Сигнал раздражения из выгруженных транскриптов агентов — требование Алекса от 2026-10-04
|
||||
|
||||
**Источником служит выгрузка транскриптов общения Алекса с другими агентами, а не диалог с Personal OS.** Явная грубость или брань в сообщении Алекса агенту — предварительный сигнал раздражения в соответствующем рабочем интервале. Анализировать вместе с темой задачи, повторными неудачами агента и очередью ревью: это может объяснять цену работы и перегрузку. Не превращать сигнал в диагноз, оценку продуктивности или окончательный вывод о самочувствии; явная оценка Алекса имеет приоритет.
|
||||
@@ -195,8 +199,9 @@ updated: '2026-10-04'
|
||||
|
||||
1. **Сейчас — тихий сбор запущен, калибровка не завершена.** Сверить 20 интервалов на двух рабочих днях, включая iTerm, DDG URL, личную работу и агентные ожидания; отметить ошибочные привязки. До пятидневного пользовательского пилота уточнить границу рабочего дня и канал карточки.
|
||||
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-запуск и извлечение кандидатов из transcript; принять пустой iPad-проект и затем вывести тот же focus state на устройство. Balda/Broker/Virfield не дублировать.
|
||||
3. **P0.1b — проектная правда:** собрать один датированный и проверяемый `project_state` из Asana/PR/Zoom/проектных заметок; на VSCode/SPM fixture отличить отменённый Core Data code-init от открытого Draft PR по package-сборке и открытого cleanup. Использовать проекцию в advisor/career outputs до новых утверждений о статусе. См. [[personal/projects/personal-os/project-truth-analyzer]].
|
||||
4. **P0.2 — затем блокер решений:** выбрать посильную работу из Asana, PR, TD, Ship Review, встреч, team growth и агентных ревью по роли, пользе, сроку, энергии и доступному времени; испытать перегруженный день до включения schedule.
|
||||
5. **P0.3 → P0.4:** показать один короткий живой focus state, провести 5 рабочих дней измеряемого пилота с возможностью исправить перегрузку. Только после этого решать о регулярной доставке.
|
||||
6. **P1 и параллельные ветки:** продолжить ограниченный coding loop с учётом review/tokens; проверить первый ночной Zoom-запуск и извлечение кандидатов из transcript; принять пустой iPad-проект и затем вывести тот же focus state на устройство. Balda/Broker/Virfield не дублировать.
|
||||
|
||||
**Необходимое участие Алекса в пилоте:** перед доставкой карточки — граница рабочего дня и канал; затем по желанию один короткий сигнал «полезно/неверно/слишком много» и ручная смена энергии/фокуса, когда захочется. Система не требует ежедневного ведения журнала. Внешние записи и старый автономный Executor этим планом не разрешены.
|
||||
@@ -27,6 +27,7 @@ status: current-mission
|
||||
|
||||
## Что система должна понимать
|
||||
|
||||
- **Текущее состояние проектов:** связывать подзадачи, решения во встречах и комментариях, PR и фактические проверки в одну датированную картину по проекту. Отличать обсуждённую альтернативу от внедрённой и отменённой; downstream фокус и карьерные выводы используют проверенное состояние, а конфликт остаётся неизвестным. См. [[personal/projects/personal-os/project-truth-analyzer]].
|
||||
- **Рабочие обязательства:** Asana — основной источник задач, назначений, комментариев, сроков, Tech Designs и Ship Reviews; GitHub — PR, CI, review requests и ожидание ответов; встречи и team growth — часть рабочего и карьерного контекста. Ни просрочка, ни комментарий сами по себе не доказывают срочность.
|
||||
- **Фактическая работа и контекст:** ActivityWatch показывает переднее приложение, AFK, окна работы, перерывы и переключения. Работа может происходить в VS Code, Codex, Claude, Asana, браузере на PR/документах или во встрече; приложение **не равно рабочей задаче**. Git worktrees, ветки, PR, Asana task и сессии агентов помогают восстановить конкретную рабочую тему. Время агента и время Алекса учитываются раздельно. Старый Cursor больше не является актуальным рабочим инструментом.
|
||||
- **Личный контекст:** личный проект, чтение статьи или открытый сайт могут быть исследованием для работы, сознательным отдыхом или уходом от текущей темы. Система отмечает наблюдаемый контекст и неопределённость, но не называет это «плохим отвлечением» по домену или приложению; намерение и самочувствие подтверждает только Алекс.
|
||||
|
||||
@@ -17,6 +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]].
|
||||
- **Нужен проектный слой правды.** Аудит для career advisor ошибочно принял обсуждённые code-initialized Core Data models за актуальное направление: 30 сентября конверсию отменили после проверки Xcode 27, существующие модели оставили. Отдельный P0 analyzer должен сводить решения, реализацию и открытые пункты из Asana/GitHub/Zoom в проверенное состояние проекта для всех следующих сценариев. Контракт и первая приёмка: [[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)
|
||||
@@ -56,12 +57,13 @@ 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 и отдельно подтвердить импорт первой новой заметки. Ручные запуски уже завершились с кодом 0, но новых заметок не нашли.
|
||||
5. Перед доставкой карточки согласовать границу рабочего дня и канал; затем провести пятидневный пилот с короткой обратной связью.
|
||||
6. Старый Executor возвращать только после контролей безопасности и лимитов ревью/токенов из утверждённого плана.
|
||||
1. Реализовать read-only project-truth analyzer на одном проекте: Asana + GitHub + Zoom + проектная заметка → текущие решения/реализация/open items. Приёмка — правильно отвергнуть Core Data code-init как отменённый и не принять временное закрытие и reopening PR за внедрение.
|
||||
2. Проверить 20 разнообразных интервалов и два рабочих дня shadow-сбора; исправить ложные уверенные связи и пропуски обязательств.
|
||||
3. Настроить локальный импорт выгруженных транскриптов других агентов и извлечение сигнала раздражения из сообщений Алекса; проверить ложные срабатывания, не создавая диалог с Personal OS.
|
||||
4. Получить разрешённый Microsoft Graph app (tenant ID, client ID, делегированные `Mail.Read`/`Calendars.Read`) для чтения Outlook; до этого встречи не учитываются как подтверждённая занятость.
|
||||
5. Проверить первый запуск Zoom My Notes по ночному расписанию 2026-10-05 и отдельно подтвердить импорт первой новой заметки. Ручные запуски уже завершились с кодом 0, но новых заметок не нашли.
|
||||
6. Перед доставкой карточки согласовать границу рабочего дня и канал; затем провести пятидневный пилот с короткой обратной связью.
|
||||
7. Старый Executor возвращать только после контролей безопасности и лимитов ревью/токенов из утверждённого плана.
|
||||
|
||||
## Связанные
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Personal OS — актуальное состояние проектов
|
||||
|
||||
Статус: **запланированный P0-слой, не реализован** · 2026-10-04
|
||||
|
||||
## Зачем
|
||||
|
||||
Focus, дневной план, подготовка к career advisor call и карьерная память должны читать одно проверенное состояние каждого проекта. Сейчас эти сценарии независимо собирают фрагменты из Asana, GitHub, Zoom и Obsidian и могут принять закрытую альтернативу за реализованную работу.
|
||||
|
||||
## Контракт
|
||||
|
||||
- Локальный read-only сбор событий по каждому проекту: Asana parent/subtasks и комментарии, GitHub PR/commit/review, Zoom решения, текущая проектная заметка. Связывать точными ID/URL и временем. Сырой транскрипт не дублировать.
|
||||
- Сохранять `project_id`, `work_item_id`, `claim`, `state` (`proposed|approved|cancelled|implemented|verified|released|unknown`), `event_time`, `observed_at`, `source_ref`, `scope`, `supersedes`, `confidence`, `open_questions`. Состояние задачи в Asana и состояние технического решения — разные поля.
|
||||
- При конфликте проверять последовательность: предложение → явное решение/отмена → код и PR → проверка сборки. Более поздний явный комментарий об отмене перевешивает раннее предложение и checkbox `completed`; событие закрытия PR не доказывает текущий статус — нужно проверить последующее reopening; Draft PR не доказывает merge или внедрение. Если подтверждения недостаточно, выводить `unknown/conflict` со ссылками, без уверенной формулировки.
|
||||
- Публиковать краткий `project_state`: цель, принятые и отменённые решения, реально внедрённое и проверенное, открытые пункты, кто/что ждёт Алекса, свежесть и ссылки. Пересчитывать при новых событиях и периодически. Производные агенты используют этот снимок и проверяют его свежесть, прежде чем утверждать текущий статус.
|
||||
- Карьерный факт отделять от результата реализации: предложение, исследование и корректный отказ после новых данных могут быть вкладом; внедрение заявлять только по подтверждённому коду/проверке. Подготовка к звонку и другие brief-сценарии должны ссылаться на `project_state` и блокировать противоречащие ему claims.
|
||||
|
||||
## Первая приёмка: VSCode/SPM migration
|
||||
|
||||
1. Zoom Apple Weekly 2026-09-29: Alex представил **предложение** о code-initialized Core Data models, не результат внедрения.
|
||||
2. [Asana subtask 1218854852229979](https://app.asana.com/0/0/1218854852229979) закрыта; комментарий Alex от 2026-09-30 объясняет, что Xcode 27 / Swift 6.4 swiftbuild компилирует существующие Core Data модели в SPM, поэтому конверсия больше не нужна. Открыта [cleanup task 1218987523298563](https://app.asana.com/0/0/1218987523298563) для удаления runtime test hacks.
|
||||
3. [[work/projects/vscode-migration/vscode-migration]] помечает модели в коде **Cancelled** 2026-10-01. Существующие `.xcdatamodeld` и codegen classes остаются ресурсами пакета; `.momd` читается из `Bundle.module`, сборка проверена на Xcode 27.2. См. [[work/projects/vscode-migration/findings]].
|
||||
4. [GitHub PR #7080](https://github.com/duckduckgo/apple-browsers/pull/7080) — отдельная работа по сборке браузера как Swift package; 2026-10-02 его закрыли и вновь открыли, сейчас он Draft. Его нельзя использовать как доказательство реализации code-initialized models. Закрытый [PR #6976](https://github.com/duckduckgo/apple-browsers/pull/6976) касается AssetCatalogPlugin.
|
||||
5. Итоговый статус для всех потребителей: **code-initialized Core Data models — cancelled; действующие модели сохранены и совместимы с Xcode 27 build system; cleanup test hacks — open**. Карьерный факт: Alex исследовал и представил альтернативу, затем изменил решение на основании новой возможности toolchain.
|
||||
|
||||
## Порядок реализации
|
||||
|
||||
1. Сделать один read-only вертикальный срез для VSCode/SPM: события → доказательства → актуальная проекция; проверить этот конфликт и событие закрытия с последующим reopening PR.
|
||||
2. Ввести gate для advisor brief и карьерного профиля: статус проекта берётся из проекции, claims о внедрении без доказательства отклоняются.
|
||||
3. После приёмки расширить на остальные активные проекты и подключить `project_state` к `work_timeline` и `work_demand`. Shadow-калибровка и Zoom/iPad идут параллельно, без дополнительных уведомлений.
|
||||
@@ -8,9 +8,13 @@ tags:
|
||||
- persistence
|
||||
- spm
|
||||
- build
|
||||
status: draft
|
||||
chosen-approach: 'Schemas defined in Swift with full version history; explicit lightweight migration'
|
||||
status: cancelled
|
||||
chosen-approach: >-
|
||||
Schemas defined in Swift with full version history; explicit lightweight
|
||||
migration
|
||||
asana: TODO
|
||||
updated: '2026-10-04'
|
||||
superseded_by: Xcode 27 / Swift 6.4 SPM Core Data model support
|
||||
---
|
||||
**Author:** Alexey Martemyanov
|
||||
**Reviewer:** Sam Symons
|
||||
@@ -19,6 +23,8 @@ asana: TODO
|
||||
|
||||
---
|
||||
|
||||
> **Historical proposal — cancelled 2026-10-01.** Xcode 27 / Swift 6.4 swiftbuild compiles existing Core Data models as SPM resources, so the code-defined conversion was not implemented. The Asana subtask was completed to close the obsolete approach, not to mark its implementation. See [[work/projects/vscode-migration/vscode-migration]] and [Asana task 1218854852229979](https://app.asana.com/0/0/1218854852229979). The design below records the superseded reasoning.
|
||||
|
||||
## Background & Requirements
|
||||
|
||||
We're moving development and CI to VS Code and SwiftPM builds that don't go through Xcode.
|
||||
|
||||
@@ -5,6 +5,8 @@ Transcript: zoom-recordings/my-note_LKv7PP5oRNWI9GIMVfUIQg/transcript.txt
|
||||
Source: https://us01mynotes.zoom.us/LKv7PP5oRNWI9GIMVfUIQg
|
||||
|
||||
> Automatic candidates. Verify context before treating these as commitments or career facts.
|
||||
>
|
||||
> **Superseded:** The meeting supported proceeding with a code-init Core Data proposal, but the approach was cancelled after Xcode 27 / Swift 6.4 validation on 2026-09-30/10-01. Existing model files remain. See [[work/projects/vscode-migration/vscode-migration]] and [Asana 1218854852229979](https://app.asana.com/0/0/1218854852229979). These quotes do not prove implementation.
|
||||
|
||||
- **contribution** · 20:11:31 · Jonathan Jackson: “Alex, looks like you are up next with a proposal.”
|
||||
- **commitment** · 20:12:17 · Alex Martemyanov: “situated in one code place, and be testable, migratable, and so on. So, I want to hear if there's any objections, or I will just proceed with it.”
|
||||
|
||||
Reference in new issue
Block a user