5.6 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-06-01 | 0.8 |
|
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 byreason_tag, Retrospector aggregates patterns. Table beats markdown because Retrospector needsGROUP 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.quadrantcolumn —project | aor | career | strategy | otherfor Retrospector drift detection.
2. generate-status.js — three new query blocks
- Advisor pipeline: last 14d advisor-tagged tasks → new
## ⚡ Careersection. Empty result → omit (no noise). - Visibility gaps: open Assessment / O-N / O-L tasks where Alex
hasn't commented in 7+ days →
## 📊 Visibilitysection. - 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_tagcount ≥ 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 1–9 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
- Retrospector says specific things ("deferred 4×", "Career <5% for 3 weeks", "3 strategic comments vs 0").
#inboxstays signal-dense — empty or 1–2 entries most days, no pings during meetings.status.mdhas a## ⚡ Careersection.- Pushback in any channel → one DB row, no ceremony.
- "fix [task]" in
#executor→ analysis → approval → draft PR within 30 min for trivial bugs, CI runs autonomously. - Vault is the one searchable surface for
.mdc, UI testing skill, and process docs via obsidian-mcp.
Related
personal-os-state-2026-04-27 personal-os-schema wiki-ingest-process ddg-asana-workflow