Failed to authenticate. API Error: 401 Invalid authentication credentials
[2026-05-19] vault sync
This commit is contained in:
@@ -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
|
||||
@@ -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 для агентов
|
||||
@@ -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]] — как система эволюционирует через корректировки
|
||||
@@ -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
@@ -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
@@ -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 ✅
|
||||
|
||||
@@ -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]] — полный медиастек на Кракене
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]] — полный стек на Кракене (медиа + книги)
|
||||
|
||||
Reference in New Issue
Block a user