Files
obsidian-vault/wiki/personal-os-catchup-plan-2026-04-27.md
T

145 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
source: raw/personal-os-catchup-plan-2026-04-27.md
content_hash: 5081ceb719104e1b7c6b5edd642c1daf38b3fd7cf1a96442a00516e7cdb15379
namespace: work
last_synced: 2026-05-31
confidence: 0.9
tags: [personal-os, planning, executor, catch-up-plan]
---
# Personal OS — Catch-Up Plan (2026-04-27)
Handoff plan to the executor agent — what to build next and why.
Companion to [[personal-os-state-2026-04-27]] (current state).
## Context
Alex is a macOS Browser DRI at DuckDuckGo, ADHD profile, fully async
work. The Personal OS holds work context outside Alex's head so
comments don't get lost, the day doesn't drift, and career goals
don't get crushed by the current project.
Four-agent design: **Стратег** (Strategist, ✅), **Тактик** (Tactician,
🟡 partial), **Ретроспектор** (Retrospector, ✅), **Исполнитель**
(Executor, 🟡 v1 only).
## Architectural Principle
**No new YAML files, shell scripts, or launchd plists.** Everything
extends what's there: Postgres tables, `generate-status.js` queries,
prompts in `agent/prompts/`, and Eagle's `SOUL.md`. The system has
enough moving parts.
## Nine Deliverables (dependency-ordered)
### 1.1 Schema migration
Three changes (see [[personal-os-schema]]):
- `corrections_log` table — Tactic records pushback, Retrospector
aggregates patterns by `reason_tag` / `week_number`.
- `executor_runs` table — state machine for autonomous Executor work
(states: `analyzing → awaiting_analysis_approval → fixing → pr_open
→ ci_running → ci_failed → awaiting_user → complete | abandoned`).
- `activity_daily.quadrant` column —
`project | aor | career | strategy | other`.
### 1.2 generate-status.js — three new query blocks
- **Career: Advisor Opportunities** — ILIKE `%Project Advisor%` notes,
modified ≤14d. Empty → omit section.
- **Visibility: Active Assessments** without Alex's input in 7+ days.
- **Quadrant classification** at AW write time, dynamic top-priority
project read from config (iOS toggle today won't be the TP in June).
### 1.3 inbox-triage.md — STEP 0 gating
- **0a Focus check** — read latest `activity_daily`, check MS365
calendar for active meeting. Active meeting OR
`focus_score>60 AND current_app IN (Xcode,Cursor,VSCode) AND >20m
no switch` → exit silently unless `status.md` has 🔴 sections >3h.
- **0b Scope filter** — `#inbox` is NEW SIGNAL ONLY. Exclude overdue
(lives in daily-brief), system events, already-responded tasks.
Include only new human comments, new assignments, ship/TD status
changes, mentions in untracked tasks.
Gating in the prompt (not a wrapper) so the agent can override on
edge cases (e.g. Dominik directly tagging Alex during deep focus).
### 1.4 retrospector.md — three SQL blocks
Replaces the markdown `corrections_log.md`. Surfaces correction
patterns (≥3 in 4 weeks by `reason_tag`), quadrant drift (4-week ×
4-quadrant pivot, flag <5% for 3+ weeks), and visibility this week
(strategic comment count).
### 1.5 Eagle SOUL.md — corrections_log writeback
On pushback in any channel, Eagle classifies (`discord_pushback |
morning_brief_correction | manual`), tags the reason
(`ship-review-crunch | urgent-bug | meeting-day | ...`), INSERTs a
row via psql, then responds normally without announcing the insert.
### 1.6 Executor v2 — draft-PR autonomous flow
Single human gate: **Analysis approval.** After that, autonomous.
Pipeline: Analysis → STOP → Fix → Build (`xcodebuild`) → Test →
`executor/<gid>-<slug>` branch → push → `gh pr create --draft
--assignee @me --title "[executor] ..."` (NO `--reviewer`) →
self-review → CI poll every 10 min (max 3 auto-fix attempts).
Hard prohibitions: no push to main/develop/release, no non-draft PRs,
no `--reviewer`, no `gh pr merge`, no force-push, no `.github/` or
CI config edits.
Draft + assignee=@me + no reviewers because the goal is **durable
surface, not interruption.** Discord scrolls; GitHub doesn't.
### 1.7 MS365 MCP wired into Hermes
Calendar access for `inbox-triage`, `weekly-plan`, `daily-brief`. Only
needs `outlook_calendar_search` between now and now+1h. Wire once at
Hermes config layer, not per-prompt.
### 1.8 Vault consolidation
Move process docs into `~/obsidian/work/wiki/`. Decision rule:
**process/conventions/workflows → vault; runtime configs read by
agents → leave in place.** `.cursor/*.mdc` files are **copied** (not
moved) because Cursor IDE still reads them from `apple-browsers/.cursor/`.
Frontmatter notes the original path. Verification after every move
is non-negotiable (silent skill breakage is the failure mode).
### 1.9 Executor PR template (Option B inline)
Adapted variant — team template requires manual confirmation of
task/reviewer/description; Executor knows all three deterministically.
Inline the template in the prompt rather than checking a file into
`.github/`. The draft state IS the safety net.
## Order of Execution
Items 19 in any order. Item 10 (Executor v2 prompt) needs schema
(1.1) + vault consolidation (1.8) + PR template (1.9) done first.
**No new Discord channels needed.** Existing seven cover everything.
## Open Questions — All Resolved
- macOS repo: `~/DuckDuckGo/apple-browsers/main`, sibling executor
worktrees.
- Xcode scheme: one-time discovery during Executor v2 setup, hardcoded
into config.
- GitHub remote: `gh` CLI auto-detects from worktree.
- No CODEOWNERS file → no auto-assigned reviewers.
- Team OK with `[executor]` drafts on Alex only.
Postponed: NAS, personal, Phase 2-family.
## Definition of Done
1. Friday retrospector says specific things ("deferred bug work 4×
for ship-review-crunch", "career quadrant <5% three weeks").
2. `#inbox` shows only new human signal; silent during meetings.
3. `status.md` has `## ⚡ Career` section, empty when nothing.
4. Pushing back on Discord adds one `corrections_log` row, no
ceremony.
5. `fix [task]` in `#executor` → analysis post → approval → draft
PR in GitHub within 30 min for trivial bugs.
6. Vault contains UI skill, all `.cursor/*.mdc`, and process docs,
all reachable via `obsidian-mcp`.
## Related
[[personal-os-state-2026-04-27]] [[personal-os-schema]] [[wiki-ingest-process]] [[ddg-asana-workflow]]