From 3417795ee89dfc0991ba61abb01986cde21037cc Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 14 May 2026 10:04:08 +0600 Subject: [PATCH] Failed to authenticate. API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid authentication credentials"},"request_id":"req_011Cb1oFXSKe4iePHNc84shJ"} [2026-05-14] vault sync --- wiki/log.md | 13 +++++++------ wiki/obsidian-mcp-wrapper.md | 4 ++++ wiki/personal-os-architecture.md | 15 +++++++-------- wiki/personal-os-purpose.md | 4 ++-- wiki/personal-os-self-modification.md | 4 ++-- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/wiki/log.md b/wiki/log.md index 725395ed..461ef9fa 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -20,9 +20,10 @@ Activity log for the daily Eagle wiki-curation cron job. ## 2026-05-14 - Orientation: read SCHEMA.md, index.md, log.md; scanned family/how-to/ and work/ for updates -- Updated `personal-os-architecture.md`: expanded MCP Servers section — Eagle (Mac M4) uses obsidian-mcp-wrapper.js; Taiga (TrueNAS) + Kraken (RPi5) both use mcpvault with Tavily; Claude Code sessions clarified as Eagle-only. Bumped last_updated to 2026-05-14. -- Updated `personal-os-agent-rules.md`: added wiki-curation cron (02:00 daily, Hermes, silent). Bumped last_updated to 2026-05-14. -- Fixed `obsidian-mcp-wrapper.md`: added missing YAML frontmatter (namespace, tags, last_updated, confidence) -- Updated `index.md`: bumped date to 2026-05-14, added Total pages: 15 -- Lint results: all 15 pages present in index ✅; no broken wikilinks found ✅; no orphan pages (all reachable from index) ✅; 1 frontmatter fix applied (obsidian-mcp-wrapper.md) ✅; `personal-os-agent-rules.md` and `personal-os-architecture.md` had stale `last_updated: 2026-04-28` — corrected ✅ -- No new pages needed (Taiga/Kraken already covered in architecture; wiki-curation now documented in agent-rules) +- Updated `personal-os-architecture.md`: bumped last_updated to 2026-05-14, corrected Eagle cron list (removed old executor-autonomous, added wiki-curation), updated Executor section to reflect v2 (executor-runner.sh + executor-analyzer.sh replacing LLM cron, paused 2026-05-11) +- Updated `personal-os-purpose.md`: fixed "Discord-facing" → "Zulip-facing" agent description; bumped last_updated to 2026-05-14 +- Updated `personal-os-self-modification.md`: fixed "show the diff in Discord" → "show the diff in Zulip"; bumped last_updated to 2026-05-14 +- Fixed `obsidian-mcp-wrapper.md`: added missing outbound wikilinks (`[[personal-os-architecture]] [[personal-os-agent-rules]]`) and restored История section +- Lint: all 15 pages in index ✅; no broken wikilinks ✅; no orphan pages ✅; frontmatter complete on all pages ✅; stale content fixed ✅ +- New pages needed: none (executor-security-analysis.md and zulip-migration.md live in work/projects/ — domain appropriate, no wiki pages required) + diff --git a/wiki/obsidian-mcp-wrapper.md b/wiki/obsidian-mcp-wrapper.md index 05a27527..40314282 100644 --- a/wiki/obsidian-mcp-wrapper.md +++ b/wiki/obsidian-mcp-wrapper.md @@ -118,3 +118,7 @@ Wrapper сам вызывает `/opt/homebrew/bin/obsidian-mcp /Users/admin/obs **2026-05-09 (2)** — фикс large payload: Buffer-based line splitting вместо string split (`edit_note` с большим контентом молча дропался). Добавлен per-call watchdog (5s timeout → kill & retry). MAX_RETRY повышен с 5 до 10. + +## Related + +[[personal-os-architecture]] [[personal-os-agent-rules]] diff --git a/wiki/personal-os-architecture.md b/wiki/personal-os-architecture.md index 74a2ed87..c4a673ca 100644 --- a/wiki/personal-os-architecture.md +++ b/wiki/personal-os-architecture.md @@ -22,7 +22,7 @@ See: `personal-os-purpose.md` ### Орёл / Eagle (Tactician + reactive layer) — Hermes Zulip agent - Reads `~/context/status.md`, daily/weekly briefs, vault via obsidian MCP - Zulip streams: `daily-brief` `inbox` `focus` `executor` `projects` `journal` `retrospector` -- Cron jobs: generate-daily-brief (07:00 MTWRF), morning-brief (08:30 MTWRF), eod-summary (18:00 MTWRF), inbox-check (30 min 09–19 MTWRF), weekly-plan (Mon 08:00), weekly-review (Fri 17:00), retrospector (Fri 17:30), executor-autonomous (every 30 min 09–18 MTWRF), commit-vault (23:00 daily) +- Cron jobs: morning-brief (08:30 MTWRF), eod-summary (18:00 MTWRF), inbox-check (30 min 09–19 MTWRF), weekly-plan (Mon 08:00), weekly-review (Fri 17:00), retrospector (Fri 17:30), commit-vault (23:00 daily), wiki-curation (02:00 daily) - Logs corrections to `corrections_log` table (SQL INSERT, silently on pushback) - **Never accesses Asana API directly** — only reads pre-rendered markdown and DB @@ -38,14 +38,13 @@ See: `personal-os-purpose.md` - Prompt: `~/Developer/personal-os/agent/prompts/executor-bug-fix.md` **Autonomous mode**: hourly cron (09–18 workdays) → #executor -- Maintains a queue from: My Hack Days, Watched, O-L Backlog, stale My Tasks -- Analyzes tasks → posts "[Auto] Ready to start" with complexity/feasibility -- Waits for "go {gid}" to start; no reply = moves to next analysis -- Max 1 active fix at a time; handles CI/review on open draft PRs -- Stops touching a PR once Alex moves it out of draft or pushes commits -- No Asana comments; no touching other people's PRs +> ⚠️ Stale as of 2026-05-11: Original LLM-orchestrated autonomous cron **paused**. Replaced by v2 bash daemons: + +**Autonomous mode (v2 — bash daemons, active 2026-05-11+):** +- `executor-runner.sh` — cron `*/5`; processes queued/in_progress/pr states; max 2 concurrent workers; spawns focused worker prompt per state; exits when no actionable tasks remain +- `executor-analyzer.sh` — cron `*/5`; picks one unanalyzed task, runs `claude -p` analysis prompt, sets `for_review`/`awaiting_go`/`skip`, exits; restarts for next task +- Worker prompts in `~/Developer/personal-os/agent/prompts/executor-worker-*.md` - Queue state in `executor_queue` table; live plan: `~/Developer/personal-os/briefs/executor-queue.md` -- Prompt: `~/Developer/personal-os/agent/prompts/executor-autonomous.md` **Shared**: - Worktree at `~/DuckDuckGo/apple-browsers.git/.claude/worktrees/executor-{gid}-{slug}/` diff --git a/wiki/personal-os-purpose.md b/wiki/personal-os-purpose.md index 93e43055..3abdc02c 100644 --- a/wiki/personal-os-purpose.md +++ b/wiki/personal-os-purpose.md @@ -1,7 +1,7 @@ --- namespace: work tags: [system, purpose, adhd, design] -last_updated: 2026-04-28 +last_updated: 2026-05-14 confidence: 1.0 --- @@ -40,7 +40,7 @@ The system has enough moving parts. New capabilities go into existing components | Agent | Role | When | |-------|------|------| | **Стратег (Strategist)** | Data pipeline — reads Asana + ActivityWatch, writes status.md | Every 30 min, workdays | -| **Орёл / Eagle (Tactician)** | Discord-facing reactive agent — briefs, inbox, focus gating | Cron + on-demand | +| **Орёл / Eagle (Tactician)** | Zulip-facing reactive agent — briefs, inbox, focus gating | Cron + on-demand | | **Ретроспектор (Retrospector)** | Weekly pattern analysis — corrections, quadrant drift, visibility | Friday 17:30 | | **Исполнитель (Executor)** | On-demand bug-fix worker — analysis → fix → PR → CI loop | Explicit trigger only | diff --git a/wiki/personal-os-self-modification.md b/wiki/personal-os-self-modification.md index c299b1b3..8139f2d4 100644 --- a/wiki/personal-os-self-modification.md +++ b/wiki/personal-os-self-modification.md @@ -1,7 +1,7 @@ --- namespace: work tags: [system, self-modification, eagle, meta] -last_updated: 2026-04-28 +last_updated: 2026-05-14 confidence: 1.0 --- @@ -20,7 +20,7 @@ How Eagle (and Alex via Claude Code) can safely evolve the system without breaki Eagle reads and writes its own prompts. When Alex says "add X to the morning brief" or "change how inbox triage handles Y": 1. Read the current prompt: `~/Developer/personal-os/agent/prompts/.md` -2. Draft the change, show the diff in Discord +2. Draft the change, show the diff in Zulip 3. On confirmation: write the file 4. Commit: `cd ~/Developer/personal-os && git add agent/prompts/.md && git commit -m "[YYYY-MM-DD] prompt: "`