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

5.6 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-06-01 0.8
personal-os
planning
executor
catchup

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

Handoff doc for the executor agent: what to build next and why. Companion to personal-os-state-2026-04-27 (state snapshot). All open questions resolved at write time; postponed: NAS migration, personal, Phase 2-family.

Architectural Principle

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. The system has enough moving parts.

Nine Deliverables (Dependency Order)

1. Schema migration

Three additions to personal-os-schema:

  • corrections_log — Tactic records pushback by reason_tag, Retrospector aggregates patterns. Table beats markdown because Retrospector needs GROUP BY.
  • executor_runs — state machine for autonomous executor work (analyzing → awaiting_analysis_approval → fixing → pr_open → ci_running → ci_failed → awaiting_user → complete). Survives worker crashes mid-run.
  • activity_daily.quadrant column — project | aor | career | strategy | other for Retrospector drift detection.

2. generate-status.js — three new query blocks

  • Advisor pipeline: last 14d advisor-tagged tasks → new ## ⚡ Career section. Empty result → omit (no noise).
  • Visibility gaps: open Assessment / O-N / O-L tasks where Alex hasn't commented in 7+ days → ## 📊 Visibility section.
  • Quadrant classification at AW write time: map project → quadrant using a static map plus a dynamic "current top priority" slot read from config so it shifts as focus shifts.

3. inbox-triage.md STEP 0

Gating + scope filter at prompt level (not wrapper) so the agent can override on edge cases:

  • Active calendar meeting → silent exit.
  • focus_score > 60 + Xcode/Cursor + 20+ min uninterrupted → silent unless 🔴 section is 3h+ stale.
  • Scope: only new signal (new human comments, new assignments, Ship/TD status changes, new mentions). Never overdue tasks (those belong in daily-brief, not #inbox).

4. retrospector.md — SQL-based blocks

  • Correction patterns: reason_tag count ≥ 3 in last 4 weeks.
  • Quadrant drift: pivot weeks × quadrants; flag any quadrant < 5% for 3+ weeks. Career quadrant gets strongest flag — it's first to collapse.
  • Visibility: weekly count of strategic comments — measurable proxy for the "thin Strategic Leadership" EP3 gap.

5. Eagle SOUL.md — corrections_log writeback

On any user pushback, classify reason_tag and INSERT INTO corrections_log before responding. Eagle writes, no separate hook — the natural moment to capture a correction is during the conversation.

6. Executor v2 — draft-PR flow

Single human gate: Analysis approval. Then autonomous: worktree → build → test → branch → push → gh pr create --draft --assignee @me (no --reviewer) → self-review comment → CI loop (poll every 10 min, auto-fix up to 3 attempts, escalate on exhaustion).

Hard prohibitions baked into the prompt: never push to main / develop / release/*, never non-draft PR, never --reviewer, never gh pr merge, never modify .github/ or CI configs without explicit thread confirmation.

Draft + assignee=@me + no reviewers = durable surface visible in "assigned to me" without dragging the team into WIP work.

7. Microsoft 365 MCP into Hermes

Wire outlook_calendar_search into the Hermes MCP config so inbox-triage, weekly-plan, and daily-brief can all check for active meetings. STEP 0 gating depends on this. Wire once at the config layer, not per prompt.

8. Vault consolidation

Move process docs from ~/Developer/personal-os/ into ~/obsidian/work/wiki/. Runtime files (system-prompt.md, agent/prompts/*.md, SOUL/IDENTITY) stay in place. Decision rule: process/convention → vault; runtime config → original location. Copy (don't move) apple-browsers/.cursor/*.mdc files because Cursor IDE still reads them in-tree. Verification step is non-negotiable — run each prompt/skill end-to-end after the move.

9. Executor PR template (Option B — inline)

Team PR template requires manual confirmation of task / reviewer / description. For the autonomous flow all three are deterministic. Inline a variant in the executor prompt that auto-generates the body (task link, root cause, fix summary, build/test status, self-review checklist, notes for reviewer). Draft state is the safety net.

Execution Order

Items 19 are largely independent; only Executor v2 (item 6 prompt rewrite) requires schema (1), vault consolidation (8), and PR template (9) first. Each step ends with a concrete test (insert a row, run a query, post to thread, etc.).

"Done" Looks Like

  1. Retrospector says specific things ("deferred 4×", "Career <5% for 3 weeks", "3 strategic comments vs 0").
  2. #inbox stays signal-dense — empty or 12 entries most days, no pings during meetings.
  3. status.md has a ## ⚡ Career section.
  4. Pushback in any channel → one DB row, no ceremony.
  5. "fix [task]" in #executor → analysis → approval → draft PR within 30 min for trivial bugs, CI runs autonomously.
  6. Vault is the one searchable surface for .mdc, UI testing skill, and process docs via obsidian-mcp.

personal-os-state-2026-04-27 personal-os-schema wiki-ingest-process ddg-asana-workflow