Failed to authenticate. API Error: 401 Invalid authentication credentials

[2026-05-19] vault sync
This commit is contained in:
Alexey Martemyanov
2026-05-19 03:09:57 +06:00
parent 3eaea604d7
commit a81be87b5f
9 changed files with 302 additions and 5 deletions
@@ -0,0 +1,57 @@
---
date: 2026-05-19
status: complete
---
# Wiki Curation — 2026-05-19
## Done
- **Conflict scan:** No git conflict markers found across ~/obsidian/ ✅
- **Previous run (2026-05-18 02:00):** Status = complete, no Unfinished — nothing to resume
- **Orientation:** Read SCHEMA.md (20 pages in table), index.md (22 pages listed), log.md (last 40 lines)
- **Change detection:**
- `family/projects/watchlist-sync.md` — new watchlist-sync project spec → added note to `concepts/kraken-media-stack.md`
- `family/how-to/openmediavault-rpi5.md` — updated with Transmission hook + PGS→SRT (already captured in tech pages from yesterday's 02:00 run)
- `personal/projects/personal-os/executor-orchestrator-redesign.md` — detailed orchestrator redesign → crystallized ✅
- `personal/projects/psychologist-app/` — product spec for separate app; not wiki domain, skipped
- 3 tech pages from yesterday's 02:00 run were NOT in index.md: hermes-docker-kraken, jellyfin-transcode-rpi5, truenas-inpxer → fixed ✅
- **Inbox:** `raw/inbox/` empty ✅
- **Sessions (2026-05-19):** 2 sessions checked; both cover psychologist app UX (not wiki domain); executor-orchestrator knowledge crystallized from personal/ file instead
- **Pages created (2):**
- `wiki/concepts/executor-orchestrator.md` — Eagle spawns Executor as separate Hermes profile; auto-approval table; GTD orchestration idea; Hermes Profiles mechanism
- `wiki/concepts/knowledge-lifecycle.md` — synthesis of agent-memory-architecture + vault-strategy + wiki-ingest-process: 3 barriers, tools table, degradation risks
- **Pages updated (2):**
- `wiki/concepts/kraken-media-stack.md` — watchlist-sync section added; updated: 2026-05-19
- `wiki/index.md` — 5 missing entries added (3 tech pages from yesterday + 2 new concepts); total 27 pages; updated: 2026-05-19
- **Frontmatter fixes (3 pages, lint):**
- `tech/hermes-docker-kraken.md` — added namespace: work
- `tech/jellyfin-transcode-rpi5.md` — added namespace: work
- `tech/truenas-inpxer.md` — added namespace: work
- **Wikilinks added:** all 3 tech pages now have 2+ outbound wikilinks
- **Synthesis page:** `concepts/knowledge-lifecycle.md` — cross-synthesis of agent-memory-architecture + vault-strategy + wiki-ingest-process (co-occurring in 3+ pages, no prior synthesis)
- **Lint:** 27 pages; frontmatter ✅; wikilinks ✅; orphans: none ✅; sizes: all <200 lines ✅; no broken links ✅
- **Validation:** 7 modified files — all OK ✅
- **Log:** appended 2026-05-19 entry to wiki/log.md
## Validation fixes
- none (all 7 files passed clean after frontmatter namespace additions)
## Unresolved conflicts
(none)
## Unfinished
(none)
## Stats
- Conflicts resolved: 0
- Inbox processed: 0
- Sessions crystallized: 0 / 2 checked (executor-orchestrator crystallized from personal/ file, not session)
- Synthesis pages created: 1 (concepts/knowledge-lifecycle)
- Pages created: 2 (executor-orchestrator, knowledge-lifecycle)
- Pages updated: 2 (kraken-media-stack, index.md) + 3 frontmatter fixes (tech pages)
- Lint issues fixed: 4 (3 missing namespace fields + 3 missing index entries from yesterday)
- Validation issues fixed: 0
+98
View File
@@ -0,0 +1,98 @@
---
namespace: work
tags:
- architecture
- agent
- executor
- orchestrator
created: '2026-05-19'
updated: '2026-05-19'
type: concept
confidence: 0.85
sources:
- personal/projects/personal-os/executor-orchestrator-redesign.md
---
# Executor-as-Worker — Orchestrator Pattern
Архитектурный паттерн для запуска задач: Eagle как orchestrator спавнит Executor как отдельный worker-процесс с собственной Zulip-идентичностью.
## Проблема
Текущий режим (inline execution):
- Eagle берёт задачу прямо в разговорном треде
- Спрашивает разрешения у Alex в середине задачи — блокирует поток
- Тесная связность между conversational layer и execution layer
## Целевая архитектура
```
Alex → Eagle (orchestrator, Zulip topic)
↓ spawn
Executor (worker, отдельный Hermes-профиль)
↓ пишет в #executor
Eagle мониторит #executor (2-мин cron)
↓ auto-approve безопасные действия
↓ эскалирует неоднозначные → @mention Alex
```
## Протокол сообщений (Executor → Eagle)
```
[STATUS: investigation] Analysing bug GID 123456...
[REQUEST: create_worktree] Branch: fix/tab-preview-stuck
[REQUEST: run_tests] Scheme: macOS UI Tests CI
[STATUS: pr_open] Draft PR: https://github.com/...
[DONE: pr_ready] PR #1234 opened, CI green
[ESCALATE: scope_expansion] Found unrelated issue — should I fix it?
```
## Таблица auto-approve (Eagle)
| Тип сообщения | Действие |
|---|---|
| `[REQUEST: create_worktree]` | ✅ auto-approve |
| `[REQUEST: run_build]` | ✅ auto-approve |
| `[REQUEST: run_tests]` | ✅ auto-approve |
| `[REQUEST: open_draft_pr]` | ✅ auto-approve |
| `[REQUEST: push_branch]` | ✅ auto-approve |
| `[REQUEST: post_asana_comment]` | ⚠️ показать Alex, ждать |
| `[REQUEST: merge_pr]` | ❌ всегда эскалация |
| `[ESCALATE: *]` | ⚠️ всегда эскалация |
| `[ESCALATE: scope_expansion]` | ❌ deny + notify Alex |
## Реализация через Hermes Profiles
- **Механизм**: Hermes Profiles → `~/.hermes/profiles/executor/` с SOUL.md, отдельным Zulip bot token, отдельным gateway.
- **Команда**: `hermes profile create executor --clone`
- **Bot identity**: "Исполнитель" (не Eagle)
## Мониторинг Eagle
Eagle **не** запускает непрерывный процесс мониторинга. Вместо этого:
- Hermes cron каждые 2 мин → читает последние 20 сообщений из `#executor` по текущему `executor_run_id`
- Structured messages → O(1) парсинг без LLM
- Sliding window — не полный тред
## GTD-фреймворк оркестрации (идея, 2026-05-18)
> Eagle как orchestrator должен управлять очередью задач по GTD-принципам: capture all inputs → clarify → organize → execute. Это высвободит ручную координацию (~2-4ч/день).
## Шаги реализации
1. Определить message protocol (structured tags)
2. Добавить Zulip sender в executor worker prompts
3. Создать Eagle monitoring cron (2 мин, `#executor` stream)
4. Реализовать auto-approval logic в monitoring prompt
5. Добавить `@mention Alex` на эскалацию
6. Тест с dry-run executor run
## Open Questions
- Как Executor «спавнится» как отдельный bot? (Profile A vs отдельный gateway vs `hermes run -p executor-worker.md`)
- Concurrent runs: нужен `run_id` в каждом сообщении
## Связанные страницы
- [[personal-os-architecture]] — полная карта агентов и executor modes (v2 bash daemons)
- [[personal-os-agent-rules]] — правила поведения агентов
- [[concepts/agent-memory-architecture]] — memory model для агентов
+82
View File
@@ -0,0 +1,82 @@
---
namespace: work
tags:
- agent
- memory
- wiki
- synthesis
- vault
created: '2026-05-19'
updated: '2026-05-19'
type: concept
confidence: 0.9
sources:
- wiki/concepts/agent-memory-architecture.md
- wiki/concepts/vault-strategy.md
- wiki/wiki-ingest-process.md
- wiki/personal-os-self-modification.md
---
# Knowledge Lifecycle — From Session to Permanent Memory
Синтез: как знание движется от рабочей сессии к постоянной памяти в personal-os. Объединяет [[concepts/agent-memory-architecture]], [[concepts/vault-strategy]] и [[wiki-ingest-process]].
## Общая схема
```
Событие/Разговор
Working Memory (контекст сессии, эфемерный)
│ session_search + SHA256 hash
Episodic Memory (SQLite sessions, сжатые саммари)
│ crystallization (wiki-curation cron 02:00)
Semantic Memory (wiki/ pages, постоянное знание)
│ wiki-ingest 22:00 (launchd, claude -p)
│ overflow rule (>150 chars → vault)
Procedural Memory (skills/, workflows)
```
## Три барьера кристаллизации
Не всё знание заслуживает кристаллизации. Барьеры:
| Уровень | Критерий | Место |
|---------|----------|-------|
| Session → Wiki | Painful to re-derive? Fits domain? Contains facts (not conversation)? | `wiki/` |
| Wiki → MEMORY.md | Стабильный факт, ≤150 символов? | `~/.hermes/MEMORY.md` |
| Any → Skills | Пошаговая процедура, повторяемая? | `~/.hermes/skills/` |
**Правило overflow:** MEMORY.md — только короткие стабильные факты. Детали → в wiki с pointer в MEMORY.md: `"media-pipeline питфолы → wiki/tech/media-pipeline-pitfalls.md"`.
## Три задачи vault (не смешивать)
1. **Vault Enrichment** — frontmatter + aliases + wikilinks на `personal/`, `family/`
2. **LLM Wiki** — crystallization sessions → `wiki/` (этот файл про это)
3. **Proactive Research** — агент генерирует гипотезы → `wiki/research-queue.md` → Saturday cron
## Риски деградации
- **Summarization drift:** после 3+ циклов сжатия теряются критические инструкции. Решение: vault как immutable store (не перезаписывать, только аппендить/обновлять dated sections).
- **Repetitive behavior:** без weekly reflection агент деградирует (Generative Agents, 48ч без рефлексии). Фикс: Retrospector каждую пятницу читает corrections_log.
- **Orphaned knowledge:** факт записан, но никогда не читается. Фикс: lint (orphan pages), провалидированные wikilinks.
## Инструменты в personal-os
| Инструмент | Функция |
|-----------|---------|
| wiki-curation cron (02:00) | Crystallization: sessions → wiki |
| wiki-ingest launchd (22:00) | Synthesis: raw/ symlinks → wiki pages |
| `session_search` | Episodic retrieval |
| obsidian MCP | Semantic retrieval |
| MEMORY.md | Fast facts, overflow pointers |
| research-queue.md | Proactive research agenda |
## Связанные страницы
- [[concepts/agent-memory-architecture]] — когнитивная таксономия памяти (episodic/semantic/procedural)
- [[concepts/vault-strategy]] — три задачи vault: enrichment, LLM wiki, proactive research
- [[wiki-ingest-process]] — hash-based incremental ingest из raw/ symlinks
- [[personal-os-self-modification]] — как система эволюционирует через корректировки
+12 -1
View File
@@ -1,7 +1,7 @@
---
title: Kraken Media Server — Full Stack
created: '2026-05-18'
updated: '2026-05-18'
updated: '2026-05-19'
type: concept
tags:
- kraken
@@ -72,6 +72,17 @@ Prowlarr (RuTracker) → Radarr (7878) / Sonarr (8989)
- ⏳ Трекер-парсеры (Steps D-F): audio/non-video scanner, fixture тесты для rutor/nnm-club
- ⏳ Transmission torrent-fix: 271/293 файлов без привязки после pipeline apply
## Watchlist Sync (в разработке, 2026-05-19)
Python-сервис `~/Developer/watchlist-sync` для автоматической синхронизации `family/documents/movies-watchlist.md` с Radarr/Sonarr/Jellyfin:
- **parse** → `[ ]`/`[x]`/`❓`/`⬇️` статусы из .md
- **resolve** → TMDB + KP API → ID + тип (movie/tv)
- **sync-down** → добавить в Radarr/Sonarr батчами по 5
- **sync-up** → Jellyfin watched history → `[x]` в .md
- **AI curation** → Hermes Kraken cron, disambiguation ❓ → Zulip `#personal::Kraken torrents`
Stage 2 (после 50+ просмотров): персонализированные рекомендации по профилю (3 списка: вдвоём / один / семейное).
## Агент-доступ
Kraken-Hermes в контейнере (`hermes-kraken`) доступен через Zulip. Скачать медиа:
+8 -3
View File
@@ -9,7 +9,7 @@ updated: '2026-05-16'
# Wiki Index
Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation cron.
> Last updated: 2026-05-18 | Total pages: 22
> Last updated: 2026-05-19 | Total pages: 27
## Core Architecture
@@ -34,7 +34,9 @@ Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation c
- [[concepts/agent-memory-architecture]] — Three-level memory model (episodic/semantic/procedural) for LLM agents; overflow rules; Hermes implementation
- [[concepts/vault-strategy]] — Three distinct vault tasks: enrichment, LLM wiki accumulation, proactive research; topic map principle
- [[concepts/kraken-media-stack]] — Full Kraken media server: media-pipeline (Swift) + *arr stack + Jellyfin; pitfalls synthesis
- [[concepts/kraken-media-stack]] — Full Kraken media server: media-pipeline (Swift) + *arr stack + Jellyfin + watchlist-sync; pitfalls synthesis
- [[concepts/executor-orchestrator]] — Executor-as-worker pattern: Eagle spawns Executor as separate Hermes profile; auto-approval rules; GTD orchestration idea
- [[concepts/knowledge-lifecycle]] — How knowledge moves from session to permanent memory: barriers, tools, degradation risks
## Entities
@@ -44,8 +46,11 @@ Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation c
- [[tech/media-pipeline-pitfalls]] — Swift media-pipeline: §9.x score engine, transliteration, KP rate limit, Docker run pattern
- [[tech/vault-namespace]] — Vault namespace rules: work/personal/family separation, write permissions, agent access
- [[tech/kraken-network]] — Kraken network topology, WireGuard, media volume mount paths
- [[tech/kraken-network]] — Kraken network topology, WireGuard, media volume mount paths, *arr stack, HDD error recovery
- [[tech/htpc-steam-emulators]] — HTPC Steam/emulator rules, gamepad config, save paths
- [[tech/hermes-docker-kraken]] — Hermes Docker on Kraken: docker run rules, HERMES_SKIP_CHOWN, pitfalls
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin PGS/ASS subtitle transcoding pitfalls on RPi5; pgsrip conversion; Transmission hook
- [[tech/truenas-inpxer]] — TrueNAS inpxer book library: paths, Badger DB lock pitfall
## Workflows
+26
View File
@@ -145,3 +145,29 @@ Activity log for the daily Eagle wiki-curation cron job.
- **Vault root triage:** 4 empty Untitled*.md files — still 0 bytes, cannot delete via MCP; flagged for manual `rm`
- **Lint:** 0 pages with missing wikilinks (fixed above) ✅; no orphans ✅; no broken links ✅; no new pages created
## [2026-05-19] wiki-curation | 5 pages created/2 updated, 3 tech pages added to index
- **Conflict scan:** No git conflict markers found across ~/obsidian/ ✅
- **Previous run (2026-05-18 02:00):** Status = complete, no Unfinished section — nothing to resume
- **Change detection:**
- `family/projects/watchlist-sync.md` — new watchlist-sync project spec → added note to `concepts/kraken-media-stack.md`
- `family/how-to/openmediavault-rpi5.md` — updated (Transmission hook + PGS→SRT complete) → already captured in `tech/jellyfin-transcode-rpi5.md` (written yesterday by 02:00 run)
- `personal/projects/personal-os/executor-orchestrator-redesign.md` — redesign spec → crystallized to wiki
- `personal/projects/psychologist-app/` — product spec for separate app; not wiki domain, skip
- **Inbox:** `raw/inbox/` empty ✅
- **Sessions crystallized (2026-05-19):** 2 sessions checked; 0 crystallized (psychologist app UX work — not wiki domain); executor-orchestrator crystallized from personal/ file
- **Pages created (2):**
- `concepts/executor-orchestrator.md` — Eagle/Executor orchestrator pattern, auto-approval rules, Hermes Profiles mechanism
- `concepts/knowledge-lifecycle.md` — synthesis: how knowledge moves from session to permanent memory (barriers, tools, degradation risks)
- **Pages updated (2):**
- `concepts/kraken-media-stack.md` — added watchlist-sync section; bumped updated to 2026-05-19
- `index.md` — added 5 missing entries (hermes-docker-kraken, jellyfin-transcode-rpi5, truenas-inpxer, executor-orchestrator, knowledge-lifecycle); bumped to 27 pages, 2026-05-19
- **Frontmatter fixes (3 tech pages missing namespace field):**
- `tech/hermes-docker-kraken.md` — added namespace: work ✅
- `tech/jellyfin-transcode-rpi5.md` — added namespace: work ✅
- `tech/truenas-inpxer.md` — added namespace: work ✅
- **Wikilinks added:** all 3 new tech pages now have 2+ outbound wikilinks ✅
- **Lint:** 27 pages scanned; frontmatter ✅; wikilinks ✅; orphans: none ✅; sizes: all <200 lines ✅
- **Validation:** 7 files checked — all OK ✅
+6
View File
@@ -1,6 +1,7 @@
---
title: Hermes Docker на Кракене — Правила запуска
type: reference
namespace: work
tags:
- hermes
- docker
@@ -44,3 +45,8 @@ docker run -d \
| `HERMES_ALLOW_ROOT_GATEWAY` | `1` |
| `HERMES_SKIP_CHOWN` | `1` |
| `HERMES_UID/GID` | ❌ не задавать |
## Связанные страницы
- [[tech/kraken-network]] — сетевая топология и инфра Кракена
- [[concepts/kraken-media-stack]] — полный медиастек на Кракене
+7 -1
View File
@@ -1,6 +1,7 @@
---
title: Jellyfin Транскод на RPi5 — PGS/Subtitle Pitfalls
type: reference
namespace: work
tags:
- jellyfin
- kraken
@@ -71,8 +72,13 @@ pgs-to-srt.sh /media
## Итог по субтитрам
| Тип | Direct Play | Транскод |
|-----|------------|---------|
|-----|------------|---------|
| Нет субтитров | ✅ | — |
| Внешний SRT | ✅ | — |
| ASS/SSA | ❌ | burn-in, 275% CPU |
| PGS (MKS/MKV) | ❌ | burn-in, 275% CPU |
## Связанные страницы
- [[concepts/kraken-media-stack]] — полный медиастек: *arr + Jellyfin + media-pipeline
- [[tech/kraken-network]] — инфра Кракена, HDD error recovery
+6
View File
@@ -1,6 +1,7 @@
---
title: TrueNAS Inpxer — Книги & Pitfalls
type: reference
namespace: work
tags:
- truenas
- inpxer
@@ -34,3 +35,8 @@ for book in *.epub; do upload "$book"; done
# Правильно (последовательно с паузой):
for book in *.epub; do upload "$book"; sleep 3; done
```
## Связанные страницы
- [[entities/library-app]] — книжная библиотека на TrueNAS (inpxer UI)
- [[concepts/kraken-media-stack]] — полный стек на Кракене (медиа + книги)