6.4 KiB
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 — 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 aggregatesexecutor_runs(task_gid, worktree_path, branch_name, pr_url, state, ci_attempts, thread_id, timestamps) — state machine for autonomous Executoractivity_daily.quadrantcolumn — 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 time —
PROJECT_TO_QUADRANTmap, 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_dailyfocus_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 patterns —
reason_tagGROUP 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.
Related
personal-os-state-2026-04-27 personal-os-architecture personal-os-schema personal-os-agent-rules personal-os-self-modification ddg-asana-workflow