6.1 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-05-31 | 0.9 |
|
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_logtable — Tactic records pushback, Retrospector aggregates patterns byreason_tag/week_number.executor_runstable — state machine for autonomous Executor work (states:analyzing → awaiting_analysis_approval → fixing → pr_open → ci_running → ci_failed → awaiting_user → complete | abandoned).activity_daily.quadrantcolumn —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 ORfocus_score>60 AND current_app IN (Xcode,Cursor,VSCode) AND >20m no switch→ exit silently unlessstatus.mdhas 🔴 sections >3h. - 0b Scope filter —
#inboxis 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 1–9 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:
ghCLI 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
- Friday retrospector says specific things ("deferred bug work 4× for ship-review-crunch", "career quadrant <5% three weeks").
#inboxshows only new human signal; silent during meetings.status.mdhas## ⚡ Careersection, empty when nothing.- Pushing back on Discord adds one
corrections_logrow, no ceremony. fix [task]in#executor→ analysis post → approval → draft PR in GitHub within 30 min for trivial bugs.- Vault contains UI skill, all
.cursor/*.mdc, and process docs, all reachable viaobsidian-mcp.
Related
personal-os-state-2026-04-27 personal-os-schema wiki-ingest-process ddg-asana-workflow