--- source: raw/personal-os-state-2026-04-27.md content_hash: 1640cb63145b49263b9476e2c39fe443ac561fdf6c27faccc50cfc8568552614 namespace: work last_synced: 2026-05-31 confidence: 0.9 tags: [personal-os, state-snapshot, architecture, executor] --- # Personal OS — State Snapshot 2026-04-27 Current state of the Personal OS after the catch-up plan was executed. Supersedes earlier `state-2026-04-27.md` and `personal-os-plan-v3.md`. ## Infrastructure (✅ all live) - **PostgreSQL on Mac** — tasks, stories, task_edges, sync_state, signal_queue, activity_daily. See [[personal-os-schema]]. - **sync.js** — 4-source Asana fetch with incremental deltas and `sweepRecentlyCompleted()`. - **generate-status.js** — DB → `status.md` + `asana_context.md`. - **ActivityWatch** — DDG browser watcher + Xcode watcher. - **Hermes v0.11.x** — launchd daemon `ai.hermes.gateway`, Claude Code OAuth, `claude-sonnet-4-6` backend. - **Discord bot Орёл#0898** — no @-mention required. Channels: `#daily-brief #inbox #focus #executor #projects #journal #retrospector`. ## Automation Schedule Hermes crons handle data-pipeline (every 30 min, 7–21 workdays), morning-brief (08:30), eod-summary (18:00), inbox-check (every 30 min, 9–19 workdays), weekly-plan (Mon 08:00), weekly-review (Fri 17:00), retrospector (Fri 17:30 → `#retrospector`), commit-vault (23:00). Mac-level launchd agents (fire on wake after sleep): - `personal.os.heartbeat` — `:05` hourly watchdog, triggers missed one-per-day Hermes jobs. - `personal.os.wiki-ingest` — 22:00 daily, `claude -p` writes `~/obsidian/wiki/`. See [[wiki-ingest-process]]. ## Obsidian Vault Git remote: `ssh://truenas_admin@mallexxx.duckdns.org/mnt/RED_2TB/storage/git/obsidian-vault.git` (under `/mnt/` because TrueNAS wipes `/home/` on OS updates). ``` ~/obsidian/ ├── wiki/ ← LLM-generated, except confidence: 1.0 hand-written notes ├── raw/ ← symlinks to source files ├── work/ ← Eagle writeable (projects/, decisions/, tech-design/) ├── personal/ ← Eagle writeable └── family/ ← family namespace ``` ## Catch-Up Plan Execution All 10 items applied. See [[personal-os-catchup-plan-2026-04-27]] for the full plan. Notable status: - Schema migration (corrections_log, executor_runs, quadrant column) ✅ - inbox-triage STEP 0 with focus + overdue exclusion ✅ - generate-status.js: advisor + visibility + executor queue ✅ - quadrant classification + `upsertActivityDaily()` ✅ - Retrospector SQL-based patterns/quadrant drift/visibility ✅ - SOUL.md corrections_log writeback via SQL INSERT ✅ - Vault consolidation — 43 `.cursor/rules/*.mdc` in `~/obsidian/work/wiki/apple-browsers/` ✅ - Executor v2 prompt rewrite (single STOP gate, autonomous PR + CI loop) ✅ - **MS365 MCP in Hermes** — 🟡 cloud connector only, available in Claude Code sessions; `claude -p` jobs will pick it up once exposed to the CLI env. ## Executor v2 Architecture On-demand autonomous worker that evaluates the macOS backlog, prioritises, spawns a worker agent in a Discord thread under `#executor`, streams progress, opens a draft PR, self-reviews, and monitors CI. **Trigger modes:** user-initiated (`fix [task]` / `evaluate backlog`), scheduled (Friday weekly-review surface), status-driven (`## ⚡ Executor Queue` in `status.md`). **Task qualification:** assigned, not completed, no stories in 14+ days, due in ≤30 days. Macos backlog filtered separately by project name. **Worker pipeline:** Analysis → STOP (approval gate) → Fix → Build → Test → Branch → Push → `gh pr create --draft --assignee @me` (no reviewer) → Self-review → CI poll every 10 min (max 3 auto-fix attempts). **Hard prohibitions:** no push to main/develop/release, no `--reviewer` flag, no `gh pr merge`, no modifying `.github/` or CI configs. Implementation phases 4a–4e cover evaluation engine, worker spawning, PR/CI loop, feedback loop, scheduled evaluation. ## Decisions Diverging from Plan v3 1. **wiki-ingest moved from Hermes cron → launchd subprocess** — Hermes has no local filesystem; `claude -p` does. 2. **`personal-wiki` MCP replaced by `obsidian-mcp`** — DB tables dropped, vault is canonical. 3. **Single heartbeat watchdog** instead of per-job launchd plists — simpler, covers wake-from-sleep. 4. **Retrospector extracted** to standalone prompt + `#retrospector` channel — separate signal from weekly-review. 5. **NAS git path** moved to `/mnt/RED_2TB/storage/git/` (boot pool wipes on update; `backup/` was wrong directory). 6. **Phase 2-family deferred** until after Executor v2. 7. **Executor v1 prompts are manual-only** — STOP gates everywhere until v2 proves itself. 8. **wiki-ingest rewritten file-based**, no more `file_references` / `wiki_pages` DB tables. ## Known Tech Debt - Morning brief was untested (first real run scheduled 08:30 next day). - `work/projects/` empty — Eagle fills on first use. - `executor-bug-fix.md` v1 still in place — replace with v2. - Hermes memory not backed up to vault or NAS. ## Related [[personal-os-catchup-plan-2026-04-27]] [[personal-os-schema]] [[wiki-ingest-process]] [[ddg-asana-workflow]]