From 8bc49752ea9af3eecdbd9fbc0d19644d1c4c88b8 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sat, 3 Oct 2026 21:30:15 +0600 Subject: [PATCH] [2026-10-03] eagle: personal/plans/personal-os-operating-plan-2026-10-03.md --- .../plans/personal-os-operating-plan-2026-10-03.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) mode change 100755 => 100644 personal/plans/personal-os-operating-plan-2026-10-03.md diff --git a/personal/plans/personal-os-operating-plan-2026-10-03.md b/personal/plans/personal-os-operating-plan-2026-10-03.md old mode 100755 new mode 100644 index 17c42379..5c29a422 --- a/personal/plans/personal-os-operating-plan-2026-10-03.md +++ b/personal/plans/personal-os-operating-plan-2026-10-03.md @@ -55,6 +55,18 @@ mission: "[[personal/projects/personal-os/personal-os-purpose]]" **Аудит источников:** [[personal/plans/personal-os-source-audit-2026-10-03]] фиксирует `есть / нет / свежесть / достоверность / что требуется от Алекса / точная правка / проверка` для Asana, GitHub, браузера, worktrees и Codex/Claude/Balda. Его выводы уточняют P0.1; аудит не включал автозапуск сборщиков. +### Первый исполняемый срез — запуск после согласования + +**Режим разработки:** одна активная coding-задача Personal OS за раз, один проверяемый результат на задачу, без unattended respawn; текущие Balda/Broker/Virfield уже занимают часть reviewer capacity. До достоверного учёта токенов не выдавать агенту бесконечный Ralph loop. Для первого среза предложены лимиты: одна попытка исправления после неудачной проверки, один пакет на ревью Алексу в день, целевой размер ревью до 20 минут. Фактические токены/стоимость логировать, отсутствие usage обозначать `unmetered`; численные token caps P1 согласуются отдельно. Параллельно coding-задаче можно вести read-only диагностику следующего адаптера без нового запроса к Алексу. + +1. **Собрать достоверную очередь человеческих обязательств из Asana и GitHub.** В [`sync.js`](file:///Users/admin/Developer/personal-os/sync.js) и новом `work-demand.js` различить назначение, прямой запрос/вопрос, dependency, ревью и FYI с `source ID`, временем, ролью и confidence; комментарий без ответа сам по себе не равен обязательству. В [`gh-snapshot.js`](file:///Users/admin/Developer/personal-os/gh-snapshot.js) получить все мои open PR в рабочих репозиториях и полный список текущих review requests независимо от unread, а для PR — head SHA, CI failures, approvals/changes requested и unresolved review threads. Репозитории брать из явной конфигурации и подтверждённых локальных worktrees, не только из текущего hardcoded `duckduckgo/apple-browsers`. Хранить раздельные `observed_at/stale/error`; ошибка GitHub не превращается в «нет PR». **Приёмка:** на выбранных Asana examples ложный FYI не становится «ответь»; мои 19 текущих PR в `duckduckgo/apple-browsers` не теряются из-за лимита 20; проверка review queue совпадает с текущим API/UI и имеет ссылки. **Польза:** система впервые показывает, что от меня реально ждут, без общего backlog dump. +2. **Привязать текущую работу и агентные ожидания к объектам шага 1.** В [`aw-query.js`](file:///Users/admin/Developer/personal-os/aw-query.js) вычислять `Now` из свежего переднего окна и AFK; DDG URL восстанавливать через существующий watcher или явно показывать `unknown`. Новый `context-links.js` связывает точный Asana task ID/browser PR/repo-worktree-branch-head SHA; новый `session-observer.js` читает только metadata Codex/Claude, `agent-run-adapters.js` принимает подтверждённый `needs_human` или оставляет `unknown`. **Приёмка:** Asana→browser PR→worktree→agent run даёт одну человеческую тему и отдельное агентное время; личный проект/статья не становятся автоматически «плохим отвлечением»; старое событие Xcode/VS Code не побеждает текущее окно. **Польза:** меньше ручного поиска «где остановился» и ложных переключений. +3. **Собрать один локальный focus state по обязательствам и доступной ёмкости.** Новый `capacity-model.js` вычитает подтверждённые встречи, перерывы, резерв на переключение/неожиданное и reviewer slot из установленной границы дня; неизвестный календарь/энергия явно остаются неизвестными. Новый `day-coordinator.js` выбирает одну основную тему, не более трёх ближайших действий и явные переносы; `focus.json`/`focus.md` по запросу заменяют длинный статус. Никаких push и расписания на этом шаге. **Приёмка:** перегруженный fixture-день оставляет перерыв и один reviewer slot; настоящий deadline показан с причиной, FYI и готовый agent PR не прерывают фокус. **Польза:** появляется короткий ответ «что делать сейчас и почему это посильно». +4. **Калибровать без нагрузки на Алекса.** Новый локальный `scripts/run-focus-shadow.sh`/LaunchAgent запускает только read-only incremental Asana/GitHub refresh и локальную сборку timeline/решений без карточек и уведомлений; отдельные каналы помечают `fresh/stale/failed`, целевая свежесть важных обязательств в рабочее время — до 15 минут, с проверкой API затрат и задержек. Два рабочих дня shadow-сбора и 20 интервалов разных типов сравнить с ID/URL/состояниями источников; два дня воспроизвести focus-рекомендации без доставки. Исправлять по одному правилу и сохранять пример/до/после в `calibration_cases/changes`; у Алекса уточнять максимум один вопрос в день только если ответ меняет рекомендацию. **Приёмка:** ноль ложных high-confidence привязок и выдуманных `needs_human`, нет скрытого пропуска важного обязательства, неизвестное не маскируется. **Польза:** рекомендации опираются на проверенные факты, а не на названия окон. +5. **Включить ограниченный пользовательский пилот.** После отдельного согласования границы дня и канала показывать одну карточку на естественном переходе; обычные обновления копить молча. Пять рабочих дней измерять добровольную оценку самочувствия/рваного фокуса, неплановые обращения, минуты ревью, пропущенные обязательства и использование карточки. На «неверно/слишком много» исправлять следующее предложение; неиспользуемую карточку остановить. **Приёмка:** нет обычных прерываний во время focus/meeting и после границы дня; Алекс за ≤10 секунд корректирует план. **Польза:** система начинает помогать в моменте, не создавая новый поток сообщений. + +**Граница согласования:** этот срез предполагает локальные read-only интеграции, файлы контекста, проверку на выборке и новый тихий автозапуск shadow-сборщика после теста одного прогона. Старый `com.personalos.readonly` и Executor не включать. Push-уведомления, запись в Asana/GitHub, Zoom-импорт и iPad-деплой требуют отдельного решения после работающего P0 контракта. Участие Алекса до пилота — согласовать срез; к пилоту — границу рабочего дня и канал короткой карточки. + ## 2. Что действительно есть 2026-10-03 | Слой | Проверенный факт | Граница факта |