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
+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. Скачать медиа: