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

6.4 KiB
Raw Blame History

source, content_hash, namespace, last_synced, confidence, tags
source content_hash namespace last_synced confidence tags
raw/personal-os-catchup-plan-2026-04-27.md 5081ceb719104e1b7c6b5edd642c1daf38b3fd7cf1a96442a00516e7cdb15379 work 2026-04-28 0.8
personal-os
planning
catchup
executor
retrospector

Personal OS — Catch-Up Plan (2026-04-27)

Handoff document for the executor agent: what to build next, in what order, and why. Companion to personal-os-state-2026-04-27.

Context

Alex (macOS Browser DRI at DuckDuckGo, ADHD profile, async-first) needs the Personal OS to hold work context outside his head — so comments don't get lost, focus is protected, and career goals don't get crushed by current projects.

Original four-agent design — Стратег / Тактик / Ретроспектор / Исполнитель. Stratan and Retrospector shipped; Tactic 🟡 partial; Executor 🟡 v1 with manual STOP gates only.

Catching up on: career tracking, inbox triage hygiene, focus-aware ping gating, structured corrections_log, quadrant column on activity_daily, Executor v2, MS365 MCP wiring, vault consolidation, Executor PR template.

Architectural principle (reinforced)

No new YAML files. No new shell scripts. No new launchd plists. Everything extends existing components: postgres tables, generate-status.js queries, prompt files in agent/prompts/, Eagle's SOUL.md rules. See personal-os-architecture.

Six deliverables (dependency-ordered)

1.1 Schema migration

Three changes — see personal-os-schema:

  • corrections_log (id, date, week_number, source, original_plan, correction, deferred_gids[], reason_tag) — Tactic writes, Retrospector aggregates
  • executor_runs (task_gid, worktree_path, branch_name, pr_url, state, ci_attempts, thread_id, timestamps) — state machine for autonomous Executor
  • activity_daily.quadrant column — values: project | aor | career | strategy | other

Why tables not markdown: Retrospector needs aggregates ("X deferred 3+ times in 4 weeks"); SQL trivial, LLM-parsing markdown each time is fragile.

1.2 generate-status.js — three new SQL blocks

  • Career: Advisor pipeline — open tasks tagged "Project Advisor", surface as ## ⚡ Career — Advisor Opportunities
  • Career: Visibility gaps — Assessments / O-N / O-L tasks where Alex hasn't commented in 7+ days
  • Quadrant classification at AW write timePROJECT_TO_QUADRANT map, with current top-priority project read dynamically from config (not hardcoded — drifts wrong silently otherwise)

1.3 inbox-triage.md — STEP 0 gating + overdue exclusion

Two-part gate added at the top of the prompt (not a wrapper script — wrapper bypasses agent judgment):

  • Focus check: read latest activity_daily focus_score + active calendar event. Skip if in meeting, or focus_score > 60 in editor for >20min, unless 🔴 sections older than 3h.
  • Scope filter: inbox = NEW signal only. Exclude overdue (those belong in daily-brief), already-responded, system events, bot noise. Include only new human comments, new assignments, ship/TD status changes, mentions.

1.4 retrospector.md — three new SQL blocks

Replace markdown corrections_log.md reads with:

  • Correction patternsreason_tag GROUP BY HAVING COUNT >= 3 over 4 weeks
  • Quadrant drift — 4-week × quadrant pivot; flag any quadrant <5% for 3+ weeks (career gets the strongest flag)
  • Visibility this week — count of strategic comments by Alex; surfaces career signal as a measurable proxy for the EP3 "thin Strategic Leadership" gap

1.5 Eagle SOUL.md — corrections_log writeback

When user pushes back in any channel, BEFORE responding: classify pushback type, infer reason_tag from message context, INSERT into corrections_log via psql, then respond normally. Don't announce the insert. Eagle is already in conversation — capturing in-context beats post-hoc log parsing.

1.6 Executor v2 — single STOP gate, then autonomous

Replace v1's many gates with one gate after Analysis (the consequential decision). Then: fix → build → test → branch (executor/<gid>-<slug>) → push → gh pr create --draft --assignee @me (no --reviewer) → self-review comment → CI poll loop (every 10min, max 3 auto-fix attempts).

Hard prohibitions: never push non-executor/* branches, never non-draft PRs, never --reviewer, never gh pr merge, never modify .github/ or deps without thread confirmation.

Draft + assignee=@me + no reviewers gives a durable, ADHD-friendly surface (visible in "assigned to me", ignored by branch-protection auto-merge, no reviewer noise).

1.7 MS365 MCP into Hermes

One-time Hermes MCP config change benefits multiple prompts (inbox-triage, weekly-plan, daily-brief). Used in STEP 0 to detect active meetings via outlook_calendar_search. MS365 chosen over Google because it's the actual workspace.

1.8 Vault consolidation

Move into ~/obsidian/work/wiki/: process docs from ~/Developer/personal-os/, the UI testing skill, copies of apple-browsers/.cursor/*.mdc files. Decision rule: process/convention/knowledge → vault; runtime configs → original location. Verify each prompt/skill end-to-end after move — silent path-reference breakage is the failure mode. Copy .mdc (don't move) — Cursor still reads them in place.

1.9 PR template — Executor variant

Team's PR template requires manual confirmation of task/reviewer/description. For autonomous flow all three are deterministic. Use inline template generation (Option B) in the Executor prompt — auto-generate body from analysis + diff. Draft state is the safety net; Alex polishes on flip-to-ready.

Execution order

1, 2, 4, 5 unblocked. 3 needs MS365 (#2). 6 needs schema (#1) + quadrants (#5). 7 needs schema (#1). 8, 9 unblocked. 10 (Executor v2) needs 1, 8, 9. No new Discord channels needed.

"Done" looks like

Friday Retrospector says specific things ("deferred bug work 4× for ship-review-crunch"); inbox shows only new human signals (silent during meetings); ## ⚡ Career section in status.md; pushback creates one corrections_log row; fix [task] in #executor produces an analysis post → approval gate → draft PR within 30min for trivial bugs; vault contains all .mdc + UI skill + process docs reachable via obsidian-mcp.

personal-os-state-2026-04-27 personal-os-architecture personal-os-schema personal-os-agent-rules personal-os-self-modification ddg-asana-workflow