--- source: raw/personal-os-state-2026-04-27.md content_hash: 1640cb63145b49263b9476e2c39fe443ac561fdf6c27faccc50cfc8568552614 namespace: work last_synced: 2026-05-30 confidence: 0.9 tags: [personal-os, state, snapshot, executor, hermes] --- # Personal OS — State Snapshot (2026-04-27) Current-state snapshot of the Personal OS as of 2026-04-27 (updated 04-28). Supersedes earlier `state-2026-04-27.md` and `personal-os-plan-v3.md`. The catch-up plan from the same date has been executed — see [[personal-os-catchup-plan-2026-04-27]] for what was scoped, and the status table below for what landed. ## What's running ### Infrastructure - PostgreSQL (Mac) with the [[personal-os-schema]] tables. - `sync.js` — 4-source Asana fetcher with incremental deltas and `sweepRecentlyCompleted()`. - `generate-status.js` — DB → `status.md` + `asana_context.md`, `possibly_deleted` filter fixed. - ActivityWatch watchers for DDG browser + Xcode. - Hermes v0.11.x — launchd daemon `ai.hermes.gateway`, Claude Code OAuth, model `claude-sonnet-4-6`. - Discord bot **Орёл#0898** — no @-mention required. Channels: `#daily-brief #inbox #focus #executor #projects #journal #retrospector`. ### Hermes cron jobs | Job | Schedule | Channel | |-----|----------|---------| | data-pipeline | */30 7-21 workdays | silent | | morning-brief | 08:30 workdays | #daily-brief | | eod-summary | 18:00 workdays | #daily-brief | | inbox-check | */30 9-19 workdays | #inbox | | weekly-plan | Mon 08:00 | #daily-brief | | weekly-review | Fri 17:00 | #daily-brief | | retrospector | Fri 17:30 | #retrospector | | commit-vault | 23:00 daily | silent | ### launchd agents (fire after wake) - `personal.os.heartbeat` — :05 hourly, watchdog for missed jobs. - `personal.os.wiki-ingest` — 22:00 daily, runs the [[wiki-ingest-process]] via local `claude -p`. ### Vault layout (~/obsidian/) NAS git remote: `ssh://truenas_admin@mallexxx.duckdns.org/mnt/RED_2TB/storage/git/obsidian-vault.git`. Directories: `wiki/` (LLM-generated + hand-written confidence-1.0 pages), `raw/` (symlinks: schema.sql, wiki-ingest-prompt.md, etc.), `work/`, `personal/`, `family/`. Hand-written pages include [[ddg-asana-workflow]], `personal-os-architecture.md`, `agent-rules`, `sync-pipeline`, `vault-filling-guide`. ## Catch-up plan execution status All 10 items from the 2026-04-27 catch-up plan landed except for the MS365 MCP wiring, which is partial (cloud connector confirmed in Claude Code; no local npm package, so Hermes `claude -p` jobs can only use it once it reaches the Claude CLI environment). See [[personal-os-catchup-plan-2026-04-27]] for the detailed scope. | # | Item | Status | |---|------|--------| | 1 | Schema migration (corrections_log, executor_runs, quadrant) | ✅ | | 2 | MS365 MCP in Hermes | 🟡 partial | | 3 | inbox-triage STEP 0 (focus + overdue exclusion) | ✅ | | 4 | generate-status.js: advisor + visibility + executor queue | ✅ | | 5 | quadrant classification + activity_daily upsert | ✅ | | 6 | retrospector SQL blocks | ✅ | | 7 | SOUL.md corrections_log writeback | ✅ | | 8 | Vault consolidation (43 .cursor/rules/*.mdc) | ✅ | | 9 | Executor PR template (inline) | ✅ | | 10 | Executor v2 prompt rewrite | ✅ | ## Executor v2 design On-demand worker that evaluates the macOS task backlog, prioritises, spawns a sub-agent under a Discord thread in `#executor`, and drives a draft PR + autonomous CI loop. Trigger modes: user-initiated in `#executor`, scheduled Friday weekly-review suggestion, or status-driven via the `## ⚡ Executor Queue` section of `status.md`. Task qualification: assigned to me, not completed, no stories in 14+ days, due within 30 days. macOS-browser backlog evaluated separately. Handled types: bug with clear repro, bug requiring UI (VM via ddg-vm MCP), stalled tech design, stalled ship review, planned-but-unmoved. Worker flow runs inside a sibling worktree at `~/DuckDuckGo/apple-browsers.git/.claude/worktrees/executor-{gid}-{slug}/`, posts streaming progress to its Discord thread, opens a `--draft` PR assigned to `@me` with no human reviewers, self-reviews, and polls `gh pr checks` every 10 min. Max 3 auto-fix attempts on red CI before escalating with state `awaiting_user`. Phases: 4a (evaluation engine) → 4b (worker spawning + threads) → 4c (PR + CI loop) → 4d (feedback loop) → 4e (scheduled evaluation). ## Decisions vs original plan v3 Eight documented divergences (see source for full text): 1. wiki-ingest moved from Hermes cron → launchd subprocess (filesystem I/O). 2. Custom `personal-wiki` MCP replaced with `obsidian-mcp` package. 3. Per-job launchd plists collapsed into one heartbeat watchdog. 4. Retrospector extracted to its own prompt + cron + channel. 5. NAS git path moved from `/home/` (boot pool, wiped on update) to `/mnt/RED_2TB/storage/git/`. 6. Phase 2-family deferred until after Phase 4. 7. Executor v1 prompts kept manual-only with STOP gates; v2 adds the autonomous PR/CI loop. 8. wiki-ingest rewritten from DB-first to file-based — SHA256 in frontmatter, no DB tables involved. ## Known issues / tech debt - Morning brief never smoke-tested before this date (first real run was 2026-04-28 08:30). - `work/projects/` vault directory still empty. - wiki-ingest runs `claude -p` without `--allowedTools` — may attempt unavailable tools. - NAS SSH key authorized_keys still on boot-pool `/home/` — needs to move under `/mnt/RED_2TB/` before next TrueNAS update (High severity). - `~/.hermes/memory/` not in vault or NAS backup. ## Deferred Phase 2-family (VPS Ubuntu 24.04, family Hermes, iCloud sync, `~/obsidian → iCloud` symlink, hourly NAS rsync) — postponed indefinitely until Executor v2 is fully live. ## Related [[personal-os-catchup-plan-2026-04-27]] [[personal-os-schema]] [[wiki-ingest-process]] [[ddg-asana-workflow]]