5.3 KiB
source, content_hash, namespace, last_synced, confidence, tags
| source | content_hash | namespace | last_synced | confidence | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| raw/personal-os-state-2026-04-27.md | 1640cb63145b49263b9476e2c39fe443ac561fdf6c27faccc50cfc8568552614 | work | 2026-05-29 | 0.8 |
|
Personal OS — State Snapshot (2026-04-27)
Supersedes state-2026-04-27.md and personal-os-plan-v3.md. Reflects the catch-up plan executed on 2026-04-27. See personal-os-catchup-plan-2026-04-27 for the deliverables that produced this state.
What's built
Infrastructure
- PostgreSQL on Mac — see personal-os-schema for tables.
sync.js— 4-source Asana fetch (my_tasks,following,delegated,project:*), incremental deltas,sweepRecentlyCompleted().generate-status.js— DB →status.md+asana_context.md.possibly_deletedfilter fixed; now also writes advisor + visibility + executor queue blocks, and the quadrant column onactivity_daily.- ActivityWatch — DDG browser watcher + Xcode watcher running.
- Hermes v0.11.x — launchd daemon
ai.hermes.gateway, Claude Code OAuth, modelclaude-sonnet-4-6. - Discord bot Орёл#0898 — no @-mention needed. Channels:
#daily-brief #inbox #focus #executor #projects #journal #retrospector.
Hermes cron schedule
| 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 on wake)
personal.os.heartbeat—:05hourly. Readsjobs.json, fires any missed once-per-day Hermes jobs.personal.os.wiki-ingest— 22:00 daily.claude -psubprocess writes~/obsidian/wiki/. See wiki-ingest-process.
Scripts
run-pipeline.sh,run-wiki-ingest.sh,commit-vault.sh,hermes-heartbeat.sh.
Vault layout (~/obsidian/)
wiki/— mix of LLM-generated andconfidence: 1.0human notes.raw/— symlinks to source files for ingest.work/,personal/— Eagle write-allowed;family/exists.- Git remote on ZFS data pool:
ssh://truenas_admin@mallexxx.duckdns.org/mnt/RED_2TB/storage/git/obsidian-vault.git.
Agent prompts (~/Developer/personal-os/agent/prompts/)
daily-brief.md, weekly-plan.md, weekly-review.md, inbox-triage.md, generate-status.md, wiki-ingest.md, executor-bug-fix.md, executor-td-review.md.
Retrospector (Phase 3 — live)
Friday-only. Surfaces: correction patterns (3+ times), velocity vs scope, vault git activity, exactly one decision question.
What's not done
| Item | Status |
|---|---|
| Phase 2-family (VPS, family Hermes, iCloud sync) | Deferred until after Phase 4 |
work/projects/ notes |
Empty — Eagle fills on first use |
| Executor v2 end-to-end live run | Prompt written, not tested on real task |
| MS365 MCP in Hermes | Cloud connector works in Claude Code; no local npm package |
Catch-up plan 2026-04-27 items 1, 3–10 ✅; item 2 (MS365) 🟡.
Executor v2 — architecture summary
User-initiated in #executor ("fix [task]"), scheduled via Friday weekly-review, or status-driven via ## ⚡ Executor Queue. Worker spawns in a Discord thread, streams progress, opens a draft PR assigned to Alex (never tags humans), runs a CI polling loop (every 10 min, max 3 auto-fix attempts). Full state machine in executor_runs table. See personal-os-catchup-plan-2026-04-27 for design rationale.
Worktrees live at ~/DuckDuckGo/apple-browsers.git/.claude/worktrees/executor-{gid}-{slug}/. Scheme: DuckDuckGo macOS in .xcworkspace, xcbeautify required. UI tests via ddg-vm MCP (VirtualBuddy).
Decisions divergent from plan v3
- Wiki-ingest moved from Hermes cron → launchd subprocess (needs local FS access).
personal-wikiMCP replaced withobsidian-mcp— DB tables dropped.- Single
personal.os.heartbeatinstead of per-job launchd plists. - Retrospector extracted from weekly-review → own prompt, cron, channel.
- NAS git path moved to
/mnt/RED_2TB/storage/git/(ZFS data pool, not boot pool). - Phase 2-family deferred until after Phase 4.
- Executor v1 prompts manual-only with STOP gates (v2 adds autonomy).
- wiki-ingest rewritten file-based (SHA256 in frontmatter) — DB tables superseded.
Known issues / tech debt
- Morning brief never smoke-tested (medium).
- Executor v1 prompts manual-only — replace with v2 (medium).
wiki-ingestusesclaude -pwithout--allowedTools(low).- NAS SSH key still in boot pool
/home/— must move to/mnt/RED_2TB/before next TrueNAS update (high). - Hermes memory
~/.hermes/memory/not backed up.
Key Points
- Postgres + Hermes + launchd + Obsidian vault are the four pillars; everything extends one of those.
- All 10 catch-up items shipped except MS365 MCP in Hermes (cloud-only).
- Executor v2 = single STOP gate at Analysis, then autonomous draft PR + CI loop.
- Boot-pool-vs-data-pool distinction matters: persistent data must live under
/mnt/RED_2TB/.
Related
personal-os-catchup-plan-2026-04-27 personal-os-schema wiki-ingest-process