From bb3fc73642a1e8ed8f96592ac9d9567e43a49fc9 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 28 May 2026 20:01:35 +0600 Subject: [PATCH 01/12] [2026-05-28] inbox triage 18:06-18:11 and 19:31: both quiet windows, no Alex-directed activity --- work/briefs/inbox/2026-05-28-1931.md | 7 +++++++ work/briefs/inbox/2026-05-28.md | 22 ++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 work/briefs/inbox/2026-05-28-1931.md diff --git a/work/briefs/inbox/2026-05-28-1931.md b/work/briefs/inbox/2026-05-28-1931.md new file mode 100644 index 00000000..4efd42a9 --- /dev/null +++ b/work/briefs/inbox/2026-05-28-1931.md @@ -0,0 +1,7 @@ +## Inbox Triage — 2026-05-28 (since 2026-05-28T18:31 Almaty / 13:31 UTC) + +### Nothing new + +Inbox quiet — no new human comments, @mentions, or GitHub review requests since last sync. + +_Snapshot freshness: asana_context.md generated at 13:32 UTC (essentially same as SINCE). DB confirmed: 0 new stories after 13:31 UTC._ diff --git a/work/briefs/inbox/2026-05-28.md b/work/briefs/inbox/2026-05-28.md index 90d37ddb..12de59fa 100644 --- a/work/briefs/inbox/2026-05-28.md +++ b/work/briefs/inbox/2026-05-28.md @@ -1,25 +1,19 @@ -## Inbox Triage — 2026-05-28 (since 2026-05-28 17:05) +## Inbox Triage — 2026-05-28 (since 18:06) ### Nothing new +Inbox quiet — nothing new. -Inbox quiet — nothing new requiring action. - -**What I checked (window: 17:05 → 17:35 local sync, Almaty):** -- @mentions on Alex (direct DB query, all scopes): 0 directed at Alex +**Window: 18:06 → 18:11 local (last sync 12:11 UTC):** +- @mentions on Alex (direct DB query, all scopes): 0 - New human comments on Alex's open tasks: 0 - New task assignments to Alex: 0 - New comments on delegated tasks: 0 - Ship Review / Tech Design / Incident state changes: 0 - Rotation changes: 0 -**Stories observed in window but excluded (not directed at Alex):** -- 2× `at_mention` on *All Company Meeting Agenda 2026-05-29* — Shula edited the description; Alex's gid not in the linked profiles. Follower noise. -- *Sorting in big HTML is 15sec compared to Vivaldi's 2 second* — Max self-comment ("I'll check today"); assigned to Max, not Alex. -- 4× `comment_added` from Brindy closing out old Bartek-owned proposals (linter version, flaky tests, App Store reviews, Maintenance pain points) — follower-only, no Alex involvement. -- *macOS App Release 1.191.0* — Dominik commenting to Fernando about release submission status; Alex follower-only. +**Activity in window, excluded per scope filter:** +- 10× `story_reaction_added` — 👍 reactions on All Company Meeting Agenda 2026-05-29, Apple Weekly Team Meeting, Internal Product Feedback items, and one on **[ON HOLD] iOS: Demo tracker blocking after chat in onboarding** (Costas). Reactions are informational, not human comments requiring response. -**Standing items still owed a reply** (from prior briefs, not re-surfaced — see status.md `🔴 Comments awaiting reply`): AOR Weekly Flash Report (Brenna P, May 25), AOR Crypto IA (Jake Abel, May 26 — handover), AOR Web Tracking Protections Help Page (Kate M., May 27). +*Gating: Day=4 (Thu), Hour=18 Almaty → no Dominik 1:1 window. Apple Weekly DB check → no row today. MS365 live calendar check → BLOCKED by lethal-trifecta hook → skipped. Deep-focus check (Cursor) overridden by 🔴 overdue items >3h old → continued.* -*Gating: Day=4 (Thu), Hour=16 Almaty → no Dominik 1:1 quiet window. Apple Weekly DB check → no row today. MS365 live calendar check → BLOCKED by lethal-trifecta hook → skipped. Current app = Code Review (not Xcode/Cursor/Code/Terminal) → focus check not applicable, proceeded.* - -*Prior triage today extended through 17:00. This run picks up the 17:05 → 17:35 window. Sync was at 17:35; window covered by last sync.* +Saved to `/Users/admin/obsidian/work/briefs/inbox/2026-05-28.md` (appended as the 18:14 check to today's running log). From fbab605c39c0804ac39700f3fcda64e882e52e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Thu, 28 May 2026 14:03:22 +0000 Subject: [PATCH 02/12] [2026-05-28] taiga sync: work/briefs/inbox/2026-05-28-1931.md work/briefs/inbox/2026-05-28.md --- work/briefs/inbox/2026-05-28-1931.md | 7 ------- work/briefs/inbox/2026-05-28.md | 22 ++++++++++++++-------- 2 files changed, 14 insertions(+), 15 deletions(-) delete mode 100644 work/briefs/inbox/2026-05-28-1931.md diff --git a/work/briefs/inbox/2026-05-28-1931.md b/work/briefs/inbox/2026-05-28-1931.md deleted file mode 100644 index 4efd42a9..00000000 --- a/work/briefs/inbox/2026-05-28-1931.md +++ /dev/null @@ -1,7 +0,0 @@ -## Inbox Triage — 2026-05-28 (since 2026-05-28T18:31 Almaty / 13:31 UTC) - -### Nothing new - -Inbox quiet — no new human comments, @mentions, or GitHub review requests since last sync. - -_Snapshot freshness: asana_context.md generated at 13:32 UTC (essentially same as SINCE). DB confirmed: 0 new stories after 13:31 UTC._ diff --git a/work/briefs/inbox/2026-05-28.md b/work/briefs/inbox/2026-05-28.md index 12de59fa..90d37ddb 100644 --- a/work/briefs/inbox/2026-05-28.md +++ b/work/briefs/inbox/2026-05-28.md @@ -1,19 +1,25 @@ -## Inbox Triage — 2026-05-28 (since 18:06) +## Inbox Triage — 2026-05-28 (since 2026-05-28 17:05) ### Nothing new -Inbox quiet — nothing new. -**Window: 18:06 → 18:11 local (last sync 12:11 UTC):** -- @mentions on Alex (direct DB query, all scopes): 0 +Inbox quiet — nothing new requiring action. + +**What I checked (window: 17:05 → 17:35 local sync, Almaty):** +- @mentions on Alex (direct DB query, all scopes): 0 directed at Alex - New human comments on Alex's open tasks: 0 - New task assignments to Alex: 0 - New comments on delegated tasks: 0 - Ship Review / Tech Design / Incident state changes: 0 - Rotation changes: 0 -**Activity in window, excluded per scope filter:** -- 10× `story_reaction_added` — 👍 reactions on All Company Meeting Agenda 2026-05-29, Apple Weekly Team Meeting, Internal Product Feedback items, and one on **[ON HOLD] iOS: Demo tracker blocking after chat in onboarding** (Costas). Reactions are informational, not human comments requiring response. +**Stories observed in window but excluded (not directed at Alex):** +- 2× `at_mention` on *All Company Meeting Agenda 2026-05-29* — Shula edited the description; Alex's gid not in the linked profiles. Follower noise. +- *Sorting in big HTML is 15sec compared to Vivaldi's 2 second* — Max self-comment ("I'll check today"); assigned to Max, not Alex. +- 4× `comment_added` from Brindy closing out old Bartek-owned proposals (linter version, flaky tests, App Store reviews, Maintenance pain points) — follower-only, no Alex involvement. +- *macOS App Release 1.191.0* — Dominik commenting to Fernando about release submission status; Alex follower-only. -*Gating: Day=4 (Thu), Hour=18 Almaty → no Dominik 1:1 window. Apple Weekly DB check → no row today. MS365 live calendar check → BLOCKED by lethal-trifecta hook → skipped. Deep-focus check (Cursor) overridden by 🔴 overdue items >3h old → continued.* +**Standing items still owed a reply** (from prior briefs, not re-surfaced — see status.md `🔴 Comments awaiting reply`): AOR Weekly Flash Report (Brenna P, May 25), AOR Crypto IA (Jake Abel, May 26 — handover), AOR Web Tracking Protections Help Page (Kate M., May 27). -Saved to `/Users/admin/obsidian/work/briefs/inbox/2026-05-28.md` (appended as the 18:14 check to today's running log). +*Gating: Day=4 (Thu), Hour=16 Almaty → no Dominik 1:1 quiet window. Apple Weekly DB check → no row today. MS365 live calendar check → BLOCKED by lethal-trifecta hook → skipped. Current app = Code Review (not Xcode/Cursor/Code/Terminal) → focus check not applicable, proceeded.* + +*Prior triage today extended through 17:00. This run picks up the 17:05 → 17:35 window. Sync was at 17:35; window covered by last sync.* From 4cc4e8ebc596af14d0f3c92d128b462d5ca8e281 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 28 May 2026 23:01:54 +0600 Subject: [PATCH 03/12] [2026-05-28] htpc-bazzite-proton: vk-login-helper replaces Lutris workaround, wiki sync timestamps refresh --- wiki/htpc-bazzite-proton.md | 45 +++++---------------- wiki/personal-os-catchup-plan-2026-04-27.md | 4 +- wiki/personal-os-schema.md | 4 +- wiki/personal-os-state-2026-04-27.md | 4 +- wiki/wiki-ingest-process.md | 4 +- 5 files changed, 19 insertions(+), 42 deletions(-) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index 11d7e1c3..1c78bb80 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -119,7 +119,7 @@ VK Play версии игр запускаются через лаунчер VK Известно: - VK Play официально подтвердил совместимость Atomic Heart со Steam Deck/Proton. - Для авторизации используется `mycomgames://` URL-схема. На HTPC без Steam Deck API может потребоваться ручной ввод логина/пароля. -- Альтернатива: Lutris с конфигом из gist.github.com/keyCat (обработчик `mycomgames://` схемы). +- Для обработки `mycomgames://` редиректа используется `vk-login-helper` скрипт. - Перед первым запуском может понадобиться `protontricks -555655402 vcrun2019`. ### Как добавить VK Play игру @@ -128,52 +128,29 @@ VK Play версии игр запускаются через лаунчер VK 3. Установить игру через лаунчер (Atomic Heart уже установлен) 4. После авторизации игра появится в библиотеке VK Play -### Lutris login workaround (shared prefix with Steam/Proton) +### VK Play login через vk-login-helper (shared prefix with Steam/Proton) **Проблема:** Steam CEF browser не умеет обрабатывать `mycomgames://` URL-схему, необходимую для OAuth-логина VK Play. При клике "Login" — `ERR_NETWORK_IO_SUSPENDED`. -**Решение:** использовать Lutris для первичной авторизации, потом запускать игру через Steam/Proton. +**Решение:** запустить GameCenter напрямую через Proton с `STEAM_COMPAT_DATA_PATH`, а потом использовать Steam/Proton для запуска игр. `mycomgames://` редирект перехватывается `.desktop` MIME-обработчиком, который запускает `vk-login-helper`. -### Implementation status (2026-05-28) - -Все компоненты настроены через SSH (Kraken → HTPC). Последний шаг (логин) требует GUI-сеанса на HTPC. +### Implementation status (2026-05-28, updated) | Component | Status | Notes | |-----------|--------|-------| | `d:` dosdevices symlink (→ Data) | ✅ | `/run/media/bazzite/Data` | -| `handle-vkplay-scheme` script | ✅ | `~/.local/bin/` — обрабатывает `mycomgames://` через Proton 10.0 | -| `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop` | -| Lutris flatpak | ✅ | `flathub net.lutris.Lutris` | -| Lutris game config (shared prefix) | ✅ | `~/.config/lutris/games/vk-play-shared.yml` | -| `start-vk.cmd` in Proton prefix | ✅ | `drive_c/VKPlay/gamecenter/start-vk.cmd` | +| `vk-login-helper` script | ✅ | `~/.local/bin/` — запускает GameCenter через Proton 10.0 в Steam prefix | +| `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop`, исполняет `vk-login-helper` | | Steam shortcut VK GameCenter | ✅ | AppID=-1973339958, GE-Proton10-34 | | Steam shortcut Atomic Heart VK | ✅ | AppID=-1973339958 (через GameCenter) | | Atomic Heart installed (97GB) | ✅ | `/run/media/bazzite/Data/gamecenter/atomic heart/` | **Осталось сделать (на HTPC в десктоп-режиме):** -1. Открыть Lutris → VK Play Game Center → Login -2. Авторизоваться в браузере, разрешить `mycomgames://` -3. Вернуться в игровой режим -4. Запустить Atomic Heart через Steam → ожидать что токен в shared prefix работает - -1. Установить Lutris через flatpak: - ``` - flatpak install flathub net.lutris.Lutris - ``` - -2. Создать кастомный пресет VK GameCenter в Lutris, указав **тот же Wine prefix**, что использует Steam: - ``` - ~/.local/share/Steam/steamapps/compatdata/-1973339958/pfx/ - ``` - -3. Зарегистрировать `mycomgames://` protocol handler — поместить .desktop-файл, который ассоциирует схему с Lutris: - - Референс: https://gist.github.com/keyCat/a77b1d4d1e0f651b9d3a9818e7f739c5 - -4. Выполнить логин через Lutris — откроется внешний браузер, авторизация сработает, редирект `mycomgames://` попадёт в Lutris. - -5. После успешного логина запускать игру через Steam — токен уже лежит в shared prefix, `mycomgames://` больше не нужен. - -**Почему shared prefix:** игра (Atomic Heart, 97GB) НЕ копируется — она уже установлена в `/run/media/bazzite/Data/gamecenter/atomic heart/` через Steam-версию VK GameCenter. Lutris будет использовать тот же префикс, где уже есть dosdevices symlink `d:` → `/run/media/bazzite/Data` и все токены авторизации. +1. Открыть браузер → зайти на https://account.vkplay.ru/login/ +2. Авторизоваться — `mycomgames://` редирект попадёт в `vk-login-helper`, который запустит GameCenter +3. Закрыть GameCenter +4. Переключиться в игровой режим +5. Запустить Atomic Heart через Steam --- diff --git a/wiki/personal-os-catchup-plan-2026-04-27.md b/wiki/personal-os-catchup-plan-2026-04-27.md index 4bc52e44..5ae6f02e 100644 --- a/wiki/personal-os-catchup-plan-2026-04-27.md +++ b/wiki/personal-os-catchup-plan-2026-04-27.md @@ -1,8 +1,8 @@ --- source: raw/personal-os-catchup-plan-2026-04-27.md -content_hash: 5081ceb719104e1b7c6b5edd642c1daf38b3fd7cf1a96442a00516e7cdb15379 +content_hash: a394fdbc79a4d10d3eb7ce4bbfcfcb65d42365e21bf26f95e7452eaa774a38b7 namespace: work -last_synced: 2026-04-28 +last_synced: 2026-05-28 confidence: 0.8 tags: [personal-os, planning, catchup, executor, retrospector] --- diff --git a/wiki/personal-os-schema.md b/wiki/personal-os-schema.md index 0ab9e5bb..e264d4ea 100644 --- a/wiki/personal-os-schema.md +++ b/wiki/personal-os-schema.md @@ -1,8 +1,8 @@ --- source: raw/schema.sql -content_hash: 71b47e47b483834c887de14c76d5b16506d90ad64198d76a92a7b3731132dab8 +content_hash: e4b3c6d78750f66f349a40f4c571a5ea96a69b549ef7f34a227110255d50da94 namespace: work -last_synced: 2026-04-27 +last_synced: 2026-05-28 confidence: 0.9 tags: [schema, postgres, database, asana, wiki] --- diff --git a/wiki/personal-os-state-2026-04-27.md b/wiki/personal-os-state-2026-04-27.md index b7f798a2..a0080ed7 100644 --- a/wiki/personal-os-state-2026-04-27.md +++ b/wiki/personal-os-state-2026-04-27.md @@ -1,8 +1,8 @@ --- source: raw/personal-os-state-2026-04-27.md -content_hash: 1640cb63145b49263b9476e2c39fe443ac561fdf6c27faccc50cfc8568552614 +content_hash: d3948b6c5a50792eb0d406aa9f52988434ccbd0c18ebc958e3ae1cfbcf1b0b3e namespace: work -last_synced: 2026-04-28 +last_synced: 2026-05-28 confidence: 0.8 tags: [personal-os, state, executor, infrastructure] --- diff --git a/wiki/wiki-ingest-process.md b/wiki/wiki-ingest-process.md index 5e801b25..1aa43665 100644 --- a/wiki/wiki-ingest-process.md +++ b/wiki/wiki-ingest-process.md @@ -1,8 +1,8 @@ --- source: raw/wiki-ingest-prompt.md -content_hash: 29f6a0914d428cf62eeb2a832d6b3048edf3e1d16aa7714c09f686377394d128 +content_hash: f751c64c7b2b2fa39b9606303ac00f5069315c5688b7858b1c79c5d23db66f9b namespace: work -last_synced: 2026-04-27 +last_synced: 2026-05-28 confidence: 0.9 tags: [wiki, ingest, agent, prompt] --- From a9bded95625d5824dc1ef17d9b56b56568eb32c3 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 28 May 2026 23:27:35 +0600 Subject: [PATCH 04/12] [2026-05-28] Atomic Heart VK: Lutris login done, vk-login-helper, doc updated --- wiki/htpc-bazzite-proton.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index 1c78bb80..d1f78e76 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -15,7 +15,7 @@ tags: - doom title: HTPC Bazzite — Proton Compatibility type: tech -updated: '2026-05-27' +updated: '2026-05-28' --- # HTPC Bazzite — Windows Game Proton Compatibility @@ -33,7 +33,7 @@ on Proton 8.0. - **Rayman Origins** (fixed 2026-05-23 — GE-Proton10-34 + `WINEDLLOVERRIDES=\"d3d9=b\" %command%`) - Samurai Gunn (works but **gamepad not detected**) - GTA V, Cuphead (assumed; not retested) -- **VK GameCenter** (GE-Proton10-34, `Data/gamecenter/GameCenter/`) +- **VK GameCenter** (GE-Proton10-34, shared prefix c Lutris, авторизация через Lutris + `vk-login-helper`) - **Atomic Heart VK** (через VK GameCenter, 97GB, `Data/gamecenter/atomic heart/`) - **Doom 3 BFG** (через flatpak Classic-RBDOOM-3-BFG) @@ -141,16 +141,21 @@ VK Play версии игр запускаются через лаунчер VK | `d:` dosdevices symlink (→ Data) | ✅ | `/run/media/bazzite/Data` | | `vk-login-helper` script | ✅ | `~/.local/bin/` — запускает GameCenter через Proton 10.0 в Steam prefix | | `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop`, исполняет `vk-login-helper` | +| Lutris VK Play запись "vk" | ✅ | `~/.var/app/net.lutris.Lutris/config/lutris/games/vk.yml` — shared prefix, DLL скопированы в `/run/media/bazzite/Data/gamecenter/` | +| VK Play авторизация | ✅ | Login выполнен 2026-05-28 через Lutris | | Steam shortcut VK GameCenter | ✅ | AppID=-1973339958, GE-Proton10-34 | | Steam shortcut Atomic Heart VK | ✅ | AppID=-1973339958 (через GameCenter) | | Atomic Heart installed (97GB) | ✅ | `/run/media/bazzite/Data/gamecenter/atomic heart/` | -**Осталось сделать (на HTPC в десктоп-режиме):** -1. Открыть браузер → зайти на https://account.vkplay.ru/login/ -2. Авторизоваться — `mycomgames://` редирект попадёт в `vk-login-helper`, который запустит GameCenter -3. Закрыть GameCenter -4. Переключиться в игровой режим -5. Запустить Atomic Heart через Steam +**Login ready ✅** +- Авторизация в VK Play выполнена через Lutris (shared prefix) +- После закрытия Lutris/GameCenter переключиться в игровой режим +- Запустить Atomic Heart через Steam — токен работает в shared prefix + +**Если login сбросится:** +1. Открыть Lutris → "vk" → Play +2. В GameCenter нажать Login — браузер, `mycomgames://` редирект +3. Закрыть Lutris, запустить через Steam --- @@ -278,7 +283,7 @@ Systemd user service (`/etc/systemd/user/saves-backup.service`): 2. Atomic Bomberman: 32-bit Wineprefix outside Proton 3. Discworld Noir: try cd1 or mount `.nrg` images 4. Metro Exodus: Goldberg Steam emulator? -5. **Atomic Heart VK:** test VK Play авторизацию, при необходимости `protontricks vcrun2019` +5. ~~**Atomic Heart VK:** test VK Play авторизацию, при необходимости `protontricks vcrun2019`~~ ✅ Login готов 6. **Doom 3 BFG:** test с Luxtorpeda → rbdoom-3-bfg ## See Also From 8be2db7c3cd6c0a7c7331ac9b73984d5ca8fd1bb Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 28 May 2026 23:41:24 +0600 Subject: [PATCH 05/12] [2026-05-28] doc: add Lutris game config locations to Key Infra Notes --- wiki/htpc-bazzite-proton.md | 1 + 1 file changed, 1 insertion(+) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index d1f78e76..32e59041 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -240,6 +240,7 @@ print(f"{named} named entries") - **shortcuts.vdf**: `~/.steam/steam/userdata/147839491/config/shortcuts.vdf` (binary VDF) - **config.vdf**: `~/.steam/steam/config/config.vdf` (text VDF, CompatToolMapping block) +- **Lutris locallly added game config**: `~/.config/lutris/games/-.yml` (без `name:`, name только в БД `~/.var/app/net.lutris.Lutris/data/lutris/pga.db`) - **Wine prefix**: `~/.local/share/Steam/steamapps/compatdata//pfx/` - **protontricks**: Flatpak, needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam` - **Background jobs**: `systemd-run --user --unit=` From e67785c4bc8e8d40e0d19d7e4bca603999e67d88 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 00:00:44 +0600 Subject: [PATCH 06/12] [2026-05-29] htpc-bazzite-proton: fix Lutris PGA DB path (~/.local/share/lutris/pga.db, not ~/.var/app/) --- wiki/htpc-bazzite-proton.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index 32e59041..a741d431 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -141,7 +141,7 @@ VK Play версии игр запускаются через лаунчер VK | `d:` dosdevices symlink (→ Data) | ✅ | `/run/media/bazzite/Data` | | `vk-login-helper` script | ✅ | `~/.local/bin/` — запускает GameCenter через Proton 10.0 в Steam prefix | | `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop`, исполняет `vk-login-helper` | -| Lutris VK Play запись "vk" | ✅ | `~/.var/app/net.lutris.Lutris/config/lutris/games/vk.yml` — shared prefix, DLL скопированы в `/run/media/bazzite/Data/gamecenter/` | +| Lutris VK Play запись "vk" | ✅ | `~/.config/lutris/games/vk-1779988111.yml` — name хранится только в PGA DB по пути `~/.local/share/lutris/pga.db` (не `~/.var/app/` — это fake). Shared prefix, DLL скопированы в `/run/media/bazzite/Data/gamecenter/` | | VK Play авторизация | ✅ | Login выполнен 2026-05-28 через Lutris | | Steam shortcut VK GameCenter | ✅ | AppID=-1973339958, GE-Proton10-34 | | Steam shortcut Atomic Heart VK | ✅ | AppID=-1973339958 (через GameCenter) | @@ -240,8 +240,7 @@ print(f"{named} named entries") - **shortcuts.vdf**: `~/.steam/steam/userdata/147839491/config/shortcuts.vdf` (binary VDF) - **config.vdf**: `~/.steam/steam/config/config.vdf` (text VDF, CompatToolMapping block) -- **Lutris locallly added game config**: `~/.config/lutris/games/-.yml` (без `name:`, name только в БД `~/.var/app/net.lutris.Lutris/data/lutris/pga.db`) -- **Wine prefix**: `~/.local/share/Steam/steamapps/compatdata//pfx/` +- **Lutris locally added game config**: `~/.config/lutris/games/-.yml` (без `name:`, name только в БД `~/.local/share/lutris/pga.db`) - **protontricks**: Flatpak, needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam` - **Background jobs**: `systemd-run --user --unit=` - **GE-Proton**: extract tar.gz into `~/.steam/steam/compatibilitytools.d/`, restart Steam From 9c3c3d69f73337ffd0bc22fae7df0319e8df500b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Thu, 28 May 2026 18:01:24 +0000 Subject: [PATCH 07/12] [2026-05-28] taiga sync: wiki/htpc-bazzite-proton.md wiki/personal-os-catchup-plan-2026-04-27.md wiki/personal-os-schema.md wiki/personal-os-state-2026-04-27.md wiki/wiki-ingest-process.md --- wiki/htpc-bazzite-proton.md | 58 ++++++++++++++------- wiki/personal-os-catchup-plan-2026-04-27.md | 4 +- wiki/personal-os-schema.md | 4 +- wiki/personal-os-state-2026-04-27.md | 4 +- wiki/wiki-ingest-process.md | 4 +- 5 files changed, 46 insertions(+), 28 deletions(-) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index a741d431..11d7e1c3 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -15,7 +15,7 @@ tags: - doom title: HTPC Bazzite — Proton Compatibility type: tech -updated: '2026-05-28' +updated: '2026-05-27' --- # HTPC Bazzite — Windows Game Proton Compatibility @@ -33,7 +33,7 @@ on Proton 8.0. - **Rayman Origins** (fixed 2026-05-23 — GE-Proton10-34 + `WINEDLLOVERRIDES=\"d3d9=b\" %command%`) - Samurai Gunn (works but **gamepad not detected**) - GTA V, Cuphead (assumed; not retested) -- **VK GameCenter** (GE-Proton10-34, shared prefix c Lutris, авторизация через Lutris + `vk-login-helper`) +- **VK GameCenter** (GE-Proton10-34, `Data/gamecenter/GameCenter/`) - **Atomic Heart VK** (через VK GameCenter, 97GB, `Data/gamecenter/atomic heart/`) - **Doom 3 BFG** (через flatpak Classic-RBDOOM-3-BFG) @@ -119,7 +119,7 @@ VK Play версии игр запускаются через лаунчер VK Известно: - VK Play официально подтвердил совместимость Atomic Heart со Steam Deck/Proton. - Для авторизации используется `mycomgames://` URL-схема. На HTPC без Steam Deck API может потребоваться ручной ввод логина/пароля. -- Для обработки `mycomgames://` редиректа используется `vk-login-helper` скрипт. +- Альтернатива: Lutris с конфигом из gist.github.com/keyCat (обработчик `mycomgames://` схемы). - Перед первым запуском может понадобиться `protontricks -555655402 vcrun2019`. ### Как добавить VK Play игру @@ -128,34 +128,52 @@ VK Play версии игр запускаются через лаунчер VK 3. Установить игру через лаунчер (Atomic Heart уже установлен) 4. После авторизации игра появится в библиотеке VK Play -### VK Play login через vk-login-helper (shared prefix with Steam/Proton) +### Lutris login workaround (shared prefix with Steam/Proton) **Проблема:** Steam CEF browser не умеет обрабатывать `mycomgames://` URL-схему, необходимую для OAuth-логина VK Play. При клике "Login" — `ERR_NETWORK_IO_SUSPENDED`. -**Решение:** запустить GameCenter напрямую через Proton с `STEAM_COMPAT_DATA_PATH`, а потом использовать Steam/Proton для запуска игр. `mycomgames://` редирект перехватывается `.desktop` MIME-обработчиком, который запускает `vk-login-helper`. +**Решение:** использовать Lutris для первичной авторизации, потом запускать игру через Steam/Proton. -### Implementation status (2026-05-28, updated) +### Implementation status (2026-05-28) + +Все компоненты настроены через SSH (Kraken → HTPC). Последний шаг (логин) требует GUI-сеанса на HTPC. | Component | Status | Notes | |-----------|--------|-------| | `d:` dosdevices symlink (→ Data) | ✅ | `/run/media/bazzite/Data` | -| `vk-login-helper` script | ✅ | `~/.local/bin/` — запускает GameCenter через Proton 10.0 в Steam prefix | -| `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop`, исполняет `vk-login-helper` | -| Lutris VK Play запись "vk" | ✅ | `~/.config/lutris/games/vk-1779988111.yml` — name хранится только в PGA DB по пути `~/.local/share/lutris/pga.db` (не `~/.var/app/` — это fake). Shared prefix, DLL скопированы в `/run/media/bazzite/Data/gamecenter/` | -| VK Play авторизация | ✅ | Login выполнен 2026-05-28 через Lutris | +| `handle-vkplay-scheme` script | ✅ | `~/.local/bin/` — обрабатывает `mycomgames://` через Proton 10.0 | +| `.desktop` → MIME `x-scheme-handler/mycomgames` | ✅ | Зарегистрирован на `Vkplay-scheme-handler.desktop` | +| Lutris flatpak | ✅ | `flathub net.lutris.Lutris` | +| Lutris game config (shared prefix) | ✅ | `~/.config/lutris/games/vk-play-shared.yml` | +| `start-vk.cmd` in Proton prefix | ✅ | `drive_c/VKPlay/gamecenter/start-vk.cmd` | | Steam shortcut VK GameCenter | ✅ | AppID=-1973339958, GE-Proton10-34 | | Steam shortcut Atomic Heart VK | ✅ | AppID=-1973339958 (через GameCenter) | | Atomic Heart installed (97GB) | ✅ | `/run/media/bazzite/Data/gamecenter/atomic heart/` | -**Login ready ✅** -- Авторизация в VK Play выполнена через Lutris (shared prefix) -- После закрытия Lutris/GameCenter переключиться в игровой режим -- Запустить Atomic Heart через Steam — токен работает в shared prefix +**Осталось сделать (на HTPC в десктоп-режиме):** +1. Открыть Lutris → VK Play Game Center → Login +2. Авторизоваться в браузере, разрешить `mycomgames://` +3. Вернуться в игровой режим +4. Запустить Atomic Heart через Steam → ожидать что токен в shared prefix работает -**Если login сбросится:** -1. Открыть Lutris → "vk" → Play -2. В GameCenter нажать Login — браузер, `mycomgames://` редирект -3. Закрыть Lutris, запустить через Steam +1. Установить Lutris через flatpak: + ``` + flatpak install flathub net.lutris.Lutris + ``` + +2. Создать кастомный пресет VK GameCenter в Lutris, указав **тот же Wine prefix**, что использует Steam: + ``` + ~/.local/share/Steam/steamapps/compatdata/-1973339958/pfx/ + ``` + +3. Зарегистрировать `mycomgames://` protocol handler — поместить .desktop-файл, который ассоциирует схему с Lutris: + - Референс: https://gist.github.com/keyCat/a77b1d4d1e0f651b9d3a9818e7f739c5 + +4. Выполнить логин через Lutris — откроется внешний браузер, авторизация сработает, редирект `mycomgames://` попадёт в Lutris. + +5. После успешного логина запускать игру через Steam — токен уже лежит в shared prefix, `mycomgames://` больше не нужен. + +**Почему shared prefix:** игра (Atomic Heart, 97GB) НЕ копируется — она уже установлена в `/run/media/bazzite/Data/gamecenter/atomic heart/` через Steam-версию VK GameCenter. Lutris будет использовать тот же префикс, где уже есть dosdevices symlink `d:` → `/run/media/bazzite/Data` и все токены авторизации. --- @@ -240,7 +258,7 @@ print(f"{named} named entries") - **shortcuts.vdf**: `~/.steam/steam/userdata/147839491/config/shortcuts.vdf` (binary VDF) - **config.vdf**: `~/.steam/steam/config/config.vdf` (text VDF, CompatToolMapping block) -- **Lutris locally added game config**: `~/.config/lutris/games/-.yml` (без `name:`, name только в БД `~/.local/share/lutris/pga.db`) +- **Wine prefix**: `~/.local/share/Steam/steamapps/compatdata//pfx/` - **protontricks**: Flatpak, needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam` - **Background jobs**: `systemd-run --user --unit=` - **GE-Proton**: extract tar.gz into `~/.steam/steam/compatibilitytools.d/`, restart Steam @@ -283,7 +301,7 @@ Systemd user service (`/etc/systemd/user/saves-backup.service`): 2. Atomic Bomberman: 32-bit Wineprefix outside Proton 3. Discworld Noir: try cd1 or mount `.nrg` images 4. Metro Exodus: Goldberg Steam emulator? -5. ~~**Atomic Heart VK:** test VK Play авторизацию, при необходимости `protontricks vcrun2019`~~ ✅ Login готов +5. **Atomic Heart VK:** test VK Play авторизацию, при необходимости `protontricks vcrun2019` 6. **Doom 3 BFG:** test с Luxtorpeda → rbdoom-3-bfg ## See Also diff --git a/wiki/personal-os-catchup-plan-2026-04-27.md b/wiki/personal-os-catchup-plan-2026-04-27.md index 5ae6f02e..4bc52e44 100644 --- a/wiki/personal-os-catchup-plan-2026-04-27.md +++ b/wiki/personal-os-catchup-plan-2026-04-27.md @@ -1,8 +1,8 @@ --- source: raw/personal-os-catchup-plan-2026-04-27.md -content_hash: a394fdbc79a4d10d3eb7ce4bbfcfcb65d42365e21bf26f95e7452eaa774a38b7 +content_hash: 5081ceb719104e1b7c6b5edd642c1daf38b3fd7cf1a96442a00516e7cdb15379 namespace: work -last_synced: 2026-05-28 +last_synced: 2026-04-28 confidence: 0.8 tags: [personal-os, planning, catchup, executor, retrospector] --- diff --git a/wiki/personal-os-schema.md b/wiki/personal-os-schema.md index e264d4ea..0ab9e5bb 100644 --- a/wiki/personal-os-schema.md +++ b/wiki/personal-os-schema.md @@ -1,8 +1,8 @@ --- source: raw/schema.sql -content_hash: e4b3c6d78750f66f349a40f4c571a5ea96a69b549ef7f34a227110255d50da94 +content_hash: 71b47e47b483834c887de14c76d5b16506d90ad64198d76a92a7b3731132dab8 namespace: work -last_synced: 2026-05-28 +last_synced: 2026-04-27 confidence: 0.9 tags: [schema, postgres, database, asana, wiki] --- diff --git a/wiki/personal-os-state-2026-04-27.md b/wiki/personal-os-state-2026-04-27.md index a0080ed7..b7f798a2 100644 --- a/wiki/personal-os-state-2026-04-27.md +++ b/wiki/personal-os-state-2026-04-27.md @@ -1,8 +1,8 @@ --- source: raw/personal-os-state-2026-04-27.md -content_hash: d3948b6c5a50792eb0d406aa9f52988434ccbd0c18ebc958e3ae1cfbcf1b0b3e +content_hash: 1640cb63145b49263b9476e2c39fe443ac561fdf6c27faccc50cfc8568552614 namespace: work -last_synced: 2026-05-28 +last_synced: 2026-04-28 confidence: 0.8 tags: [personal-os, state, executor, infrastructure] --- diff --git a/wiki/wiki-ingest-process.md b/wiki/wiki-ingest-process.md index 1aa43665..5e801b25 100644 --- a/wiki/wiki-ingest-process.md +++ b/wiki/wiki-ingest-process.md @@ -1,8 +1,8 @@ --- source: raw/wiki-ingest-prompt.md -content_hash: f751c64c7b2b2fa39b9606303ac00f5069315c5688b7858b1c79c5d23db66f9b +content_hash: 29f6a0914d428cf62eeb2a832d6b3048edf3e1d16aa7714c09f686377394d128 namespace: work -last_synced: 2026-05-28 +last_synced: 2026-04-27 confidence: 0.9 tags: [wiki, ingest, agent, prompt] --- From d72aee8af02a9e82cb924bba5cfa4af6c730d09d Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 00:41:10 +0600 Subject: [PATCH 08/12] =?UTF-8?q?[2026-05-29]=20VK=20Play=20accounts=20?= =?UTF-8?q?=E2=80=94=20xxxellam@gmail.com=20+=20mallexxx@mail.ru?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wiki/htpc-bazzite-proton.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index a741d431..dddfa9d5 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -113,6 +113,10 @@ Proton ломает текстуры — известный регресс. **Ф ## VK Play / VK GameCenter на Bazzite +### Аккаунты VK Play +- **Основной:** `xxxellam@gmail.com` — Google, залогинен на Bazzite +- **Дополнительный:** `mallexxx@mail.ru` — подключён к VK Play + ### Общая схема VK Play версии игр запускаются через лаунчер VK GameCenter (`GameCenter.exe`) поверх Proton. Лаунчер отвечает за авторизацию и лицензирование (в т.ч. Denuvo-эмуляцию). From 9623a4ba7db60006582601e46c753d0490a0b9ff Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 00:44:59 +0600 Subject: [PATCH 09/12] [2026-05-29] Atomic Heart: vkplay://play/0.2015959 URL in VDF + doc --- wiki/htpc-bazzite-proton.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki/htpc-bazzite-proton.md b/wiki/htpc-bazzite-proton.md index dddfa9d5..1d0fd73e 100644 --- a/wiki/htpc-bazzite-proton.md +++ b/wiki/htpc-bazzite-proton.md @@ -34,7 +34,7 @@ on Proton 8.0. - Samurai Gunn (works but **gamepad not detected**) - GTA V, Cuphead (assumed; not retested) - **VK GameCenter** (GE-Proton10-34, shared prefix c Lutris, авторизация через Lutris + `vk-login-helper`) -- **Atomic Heart VK** (через VK GameCenter, 97GB, `Data/gamecenter/atomic heart/`) +- **Atomic Heart VK** (через VK GameCenter, 97GB, `Data/gamecenter/atomic heart/`, URL-схема `vkplay://play/0.2015959`) - **Doom 3 BFG** (через flatpak Classic-RBDOOM-3-BFG) ## Removed from Steam shortcuts ✅ From 67fee70ba3e674f31de101d0f2d016a3edf12e6b Mon Sep 17 00:00:00 2001 From: Kraken Date: Fri, 29 May 2026 01:04:25 +0600 Subject: [PATCH 10/12] [2026-05-29] vault sync: family/documents/movies-watchlist.md --- family/documents/movies-watchlist.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/family/documents/movies-watchlist.md b/family/documents/movies-watchlist.md index 53c7551c..06e166cd 100644 --- a/family/documents/movies-watchlist.md +++ b/family/documents/movies-watchlist.md @@ -153,8 +153,8 @@ related: - [ ] Песочный человек - [ ] Киберслав - [ ] Неприличные соседи - - [ ] ❓ Kick Ass - - [ ] ❓ Вуаеристы + - [ ] Kick Ass + - [ ] Вуаеристы - [ ] Я буду жить - [ ] 🗓️ Дорогой Санта (2024/2011) - [ ] 🧟‍♀️ Zombieland @@ -216,6 +216,9 @@ related: - Аллея кошмаров (2021) ★7.0 - Аллея кошмаров (1947) ★7.2 - Nightmare Alley (2010) ★3.2 + - Аллея кошмаров (2021) ★7.0 + - Аллея кошмаров (1947) ★7.2 + - Nightmare Alley (2010) ★3.2 - [ ] The kill room - [ ] The burial - [ ] Past lives @@ -241,6 +244,9 @@ related: - Останься со мной (1986) ★7.8 - Stand By Me (2021) ★8.2 - Stand by Me (2016) ★8.4 + - Останься со мной (1986) ★7.8 + - Stand By Me (2021) ★8.2 + - Stand by Me (2016) ★8.4 - [ ] Вуди вудпекер едет в лагерь - [ ] 🗓️ 12 обезьян (1995/2015) - [ ] Вокзал для двоих @@ -249,7 +255,7 @@ related: - [ ] Я не киллер - [ ] Leave the world behind - [ ] Civil war - - [ ] Подземелье вкусностей + - [ ] ⬇️ Подземелье вкусностей - [ ] Великолепная афера - [ ] Исчезновение 1988 - [ ] Секс и дзен @@ -415,14 +421,17 @@ related: - Фарго (1996) ★7.8 - Фарго (2014) ★8.3 - Уэллс Фарго (1937) ★5.5 + - Фарго (1996) ★7.8 + - Фарго (2014) ★8.3 + - Уэллс Фарго (1937) ★5.5 - [ ] Уолл стрит: деньги не спят - - [ ] Место встречи изменить нельзя + - [ ] ⬇️ Место встречи изменить нельзя - [ ] ❓ 17 мгновений весны - [ ] Эпидемия - [x] Диктатор - [x] Борат - [x] Бруно - - [ ] Хищник + - [ ] ⬇️ Хищник - [ ] ⬇️Области тьмы - [ ] Курасава скрытая крепость - [ ] особенности национальной политики @@ -644,7 +653,7 @@ related: - [ ] Принцесса Мононоке - [ ] ⬇️ Твое имя - [ ] ⬇️ Унесённые призраками - - [ ] Ходячий замок + - [ ] ⬇️ Ходячий замок ## Новинки👎 - [ ] [Супермен](https://www.kinopoisk.ru/film/997647/) (2025) IMDb 7.0 KP 6.7 From cea0db4168005d03eccea106637593dd56a25b3a Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 03:03:06 +0600 Subject: [PATCH 11/12] [2026-05-29] hermes kraken+eagle+deployment patterns, htpc magic4pc+steam emulators, tv luna-send --- .../wiki-curation-runs/2026-05-29.md | 107 ++++++++++++++++++ wiki/concepts/hermes-deployment-patterns.md | 82 ++++++++++++++ wiki/index.md | 5 +- wiki/log.md | 30 +++++ wiki/tech/hermes-docker-kraken.md | 4 +- wiki/tech/hermes-eagle-mac.md | 1 + wiki/tech/hermes-kraken-api.md | 93 +++++++++++++++ wiki/tech/htpc-magic4pc.md | 97 +++++++++++++++- wiki/tech/htpc-steam-emulators.md | 50 +++++++- wiki/tech/tv-luna-send.md | 103 +++++++++++++++++ 10 files changed, 563 insertions(+), 9 deletions(-) create mode 100644 personal/projects/personal-os/wiki-curation-runs/2026-05-29.md create mode 100644 wiki/concepts/hermes-deployment-patterns.md create mode 100644 wiki/tech/hermes-kraken-api.md create mode 100644 wiki/tech/tv-luna-send.md diff --git a/personal/projects/personal-os/wiki-curation-runs/2026-05-29.md b/personal/projects/personal-os/wiki-curation-runs/2026-05-29.md new file mode 100644 index 00000000..ea3aaf70 --- /dev/null +++ b/personal/projects/personal-os/wiki-curation-runs/2026-05-29.md @@ -0,0 +1,107 @@ +--- +date: 2026-05-29 +status: complete +--- +# Wiki Curation — 2026-05-29 + +## Done + +- **Conflict scan:** No git conflict markers in ~/obsidian/ ✅ +- **Previous run (2026-05-28):** status=complete, no Unfinished ✅ +- **Orientation:** SCHEMA.md, index.md (50 pages), log.md (last 30 lines) +- **Sessions:** No sessions for 2026-05-29 (cron run itself — not crystallizable) +- **Vault changes since 2026-05-28 02:00:** + - `family/how-to/magic4pc-webos.md` — detailed WebOS TV app: build + (--openssl-legacy-provider pitfall), deploy.sh flow, auto-launch + logic (boot/wake run-state files), Back+keyboard WebOS quirk + - `family/how-to/tv-luna-send.md` + `htpc-webos-luna.md` — luna-send + SSH workaround (`script(1)` PTY trick), wrapper script location and + usage, subscribe-mode limitation + - `family/how-to/htpc-migration-plan.md` — EmuDeck Flatpak save paths + table (8 emulators), ROM symlink structure from Data partition, + non-Steam Windows games library paths + - `family/projects/aide-kraken-backend.md` — Hermes Kraken as + OpenAI-compatible API backend for Android Aide app via Cloudflare + Tunnel (created 2026-05-13, newly surfaced) + - `family/schedule/vacation-july-august-2026.md` — personal schedule, + skipped (out of scope) +- **Inbox:** ~/obsidian/wiki/raw/inbox/ empty (processed/ has 1 old file) ✅ + +### Crystallization — new pages + +**tech/tv-luna-send.md** (new) — WebOS TV luna-send via SSH +- Sources: `family/how-to/tv-luna-send.md` + `family/how-to/htpc-webos-luna.md` +- `script(1)` PTY workaround, `tv-luna-send.sh` wrapper usage, common + Luna URIs, subscribe-mode limitation + +**tech/hermes-kraken-api.md** (new) — Hermes Kraken OpenAI API server +- Source: `family/projects/aide-kraken-backend.md` +- Architecture diagram (Aide → CF Tunnel → hermes-kraken:8642), config, + container restart command, Aide Android setup, Cloudflare tunnel + reconfiguration + +### Crystallization — updated pages + +**tech/htpc-magic4pc.md** (updated) — WebOS TV app side added +- WebOS build section (webpack Node 25 pitfall) +- deploy.sh flow + IPK packaging pitfalls +- Auto-launch logic (boot/wake run-state files, init.d script) +- Back key + system keyboard quirk (`_kbWasOpen` fix) +- Added `[[tech/tv-luna-send]]` cross-link + +**tech/htpc-steam-emulators.md** (updated) — EmuDeck paths added +- Full EmuDeck Flatpak save paths table (8 emulators) +- ROM symlink commands from Data partition to ~/Emulation/roms/ +- Non-Steam Windows games library paths + +### Synthesis (MANDATORY) + +**concepts/hermes-deployment-patterns.md** (new) +- Co-occurrence: `hermes-eagle-mac` + `hermes-docker-kraken` + new + `hermes-kraken-api` = 3 Hermes deployment pages, no synthesis existed +- Three models compared: Eagle native (claude-proxy, launchd, Zulip + transport), Kraken Docker (docker run, no compose), Kraken API server + (OpenAI-compat endpoint, Cloudflare Tunnel, mobile clients) +- Added backlinks from hermes-docker-kraken + hermes-eagle-mac + +### Navigation updated + +- `index.md`: 3 entries added (tv-luna-send, hermes-kraken-api, + hermes-deployment-patterns); count 50→53; date bumped to 2026-05-29 +- `log.md`: entry appended + +## Validation fixes + +All 5 new/modified wiki pages passed pre-commit validation checks: +- NO_FRONTMATTER: ✅ +- BARE_MULTI_LINK in related: ✅ (all YAML lists, no inline multi-links) +- WIKILINK_IN_FIELD: ✅ +- VARIATION_SELECTOR: ✅ +- TITLE_LOOKS_LIKE_SLUG: ✅ (all titles human-readable) +- ALIASES_MISSING_BILINGUAL: ✅ (no aliases fields on new pages) + +No fixes needed post-validation. + +Also updated hermes-docker-kraken.md and hermes-eagle-mac.md for +cross-links — both passed frontmatter validation. + +## Unresolved conflicts + +(none) + +## Unfinished + +(none) + +## Stats + +- Conflicts resolved: 0 +- Inbox processed: 0 (empty) +- Sessions crystallized: 0 / 0 checked (no sessions today) +- Pages created: 3 (tv-luna-send, hermes-kraken-api, + hermes-deployment-patterns) +- Pages updated: 4 (htpc-magic4pc, htpc-steam-emulators, + hermes-docker-kraken, hermes-eagle-mac) +- Synthesis pages created: 1 (hermes-deployment-patterns) +- Lint issues: 0 +- Validation issues fixed: 0 diff --git a/wiki/concepts/hermes-deployment-patterns.md b/wiki/concepts/hermes-deployment-patterns.md new file mode 100644 index 00000000..eebbc98d --- /dev/null +++ b/wiki/concepts/hermes-deployment-patterns.md @@ -0,0 +1,82 @@ +--- +title: Hermes Deployment Patterns +created: '2026-05-29' +updated: '2026-05-29' +type: concept +namespace: personal +tags: [hermes, architecture, agent, eagle, kraken, infra] +sources: [] +confidence: medium +related: + - "[[tech/hermes-eagle-mac]]" + - "[[tech/hermes-docker-kraken]]" + - "[[tech/hermes-kraken-api]]" + - "[[personal-os-architecture]]" +--- + +# Hermes Deployment Patterns + +Three distinct ways Hermes runs in the Personal OS ecosystem. Each serves +a different access model and client type. + +## Pattern 1: Eagle Native (Mac M4) + +**Where:** Eagle Mac M4 Max, native process (not Docker) +**Transport:** Zulip (Docker) +**Model backend:** `openclaw-claude-proxy` on port 3456 — wraps +`claude --print` as an OpenAI-compatible endpoint, preserving tool_use. +**Autostart:** launchd (`ai.claude-proxy.plist`) + +**Why native:** Mac file system access, MCP tools (obsidian-mcp), and the +cron wiki-curation job all need full host access. Docker would require +volume mounts for every integration. + +**Key pitfall:** `claude-proxy` wrapper script must `source ~/.hermes/.env` +explicitly — launchd does not inherit login session env. See +[[tech/hermes-eagle-mac]]. + +## Pattern 2: Kraken Docker (RPi5) + +**Where:** Kraken RPi5, `docker run` (not compose) +**Transport:** Zulip (same instance or separate) +**Model backend:** Gemini or OpenRouter via Hermes gateway +**Autostart:** `--restart unless-stopped` on the container + +**Why docker run, not compose:** explicit restart behavior; avoids accidental +`docker compose down` wipes. Config volume: `~/.hermes` on Kraken host. + +See [[tech/hermes-docker-kraken]]. + +## Pattern 3: Kraken API Server (OpenAI-compat) + +**Where:** Kraken RPi5, same hermes-kraken container +**Transport:** HTTPS via Cloudflare Tunnel (`kraken.qentra.top`) +**Model backend:** Gemini / OpenRouter (same gateway) +**Clients:** Android Aide app (BYOK → Custom Endpoint), any OpenAI SDK + +**Why Cloudflare Tunnel:** no port-forwarding on home router required. +The tunnel terminates at cloudflared running with `network_mode: host`, +hitting `localhost:8642` directly. + +See [[tech/hermes-kraken-api]]. + +## Comparison + +| Dimension | Eagle Native | Kraken Docker | Kraken API | +|-----------|-------------|---------------|-----------| +| Model | claude-sonnet via proxy | Gemini/ORouter | Gemini/ORouter | +| Transport | Zulip | Zulip | HTTPS REST | +| Clients | Cron, MCP tools | Zulip bot clients | Mobile / OpenAI SDK | +| External access | No | No | Yes (CF Tunnel) | +| MCP/tools | Full (host access) | Docker volumes | Not applicable | +| Rate limits | Claude OAuth (proxy workaround) | API keys | API keys | + +## Design Principle + +Hermes deployments follow the client's access model: +- **Interactive/tool-heavy** → Eagle native (full host, MCP) +- **Always-on background** → Kraken Docker (low-power, 24/7) +- **Mobile / external** → Kraken API server (HTTPS, standard protocol) + +This avoids running a single large instance with conflicting requirements. +See [[personal-os-architecture]] for the full system overview. diff --git a/wiki/index.md b/wiki/index.md index a602d6b8..eaf131ee 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -7,7 +7,7 @@ updated: '2026-05-25' > Content catalog. Every wiki page listed with a one-line summary. > Read this first to find relevant pages for any query. -> Last updated: 2026-05-28 | Total pages: 50 +> Last updated: 2026-05-29 | Total pages: 53 ## Personal OS — Core @@ -51,7 +51,9 @@ updated: '2026-05-25' - [[tech/reflect-skip-fuse]] — New SwiftUI View requires manual Kotlin stub in 2 places - [[tech/arr-stack-taiga]] — Taiga arr stack (2026-05-20), config, router.py location - [[tech/hermes-eagle-mac]] — Hermes on Eagle Mac M4; claude-proxy, Zulip setup, known pitfalls +- [[tech/hermes-kraken-api]] — Hermes Kraken OpenAI-compat API server; Cloudflare Tunnel, Aide Android client - [[tech/jellyfin-transcode-rpi5]] — Jellyfin RPi5 transcoding pitfalls; PGS/subtitle handling +- [[tech/tv-luna-send]] — WebOS TV luna-send via SSH; script(1) PTY workaround, wrapper, common URIs - [[tech/vault-git-sync]] — Vault git sync via Taiga bare repo; setup, pull hooks, pitfalls - [[tech/vps-qentra]] — VPS qentra.top: IP, nginx+Cloudflare stack, subdomain setup - [[tech/xgimi-play6-setup]] — XGIMI Play 6 (GMUI 6): ADB-over-network setup, launcher, keyboard @@ -73,6 +75,7 @@ updated: '2026-05-25' - [[concepts/executor-security-incident]] — Post-mortem: autonomous Asana boundary crossing (May 2026); root causes - [[concepts/agent-memory-architecture]] — LLM agent memory taxonomy (arXiv 2603.07670) applied to personal-os - [[concepts/knowledge-lifecycle]] — How knowledge flows from session to permanent wiki memory +- [[concepts/hermes-deployment-patterns]] — Three Hermes deployment models: Eagle native, Kraken Docker, Kraken API server - [[concepts/multi-agent-design-patterns]] — Five reusable patterns: orchestrator/worker, scope tables, memory layers, role specialization ## Concepts — Vault & Wiki diff --git a/wiki/log.md b/wiki/log.md index 203246c6..2deabb29 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -76,6 +76,36 @@ type: meta - Lint: watchlist-automation.md has tags [watchlist, automation, synthesis] not in SCHEMA taxonomy (pre-existing); torrents tag on media-pipeline-pitfalls.md also pre-existing; no broken wikilinks in new/modified pages - Validation: all 4 modified/created pages passed pre-commit checks ✅ +## [2026-05-29] update | Crystallization + synthesis (Hermes deployment patterns) + +- Conflicts: 0 found (scan: all ~/obsidian/**/*.md) +- Previous run (2026-05-28): status=complete, no Unfinished ✅ +- Inbox: empty +- Sessions: none for 2026-05-29 (no sessions found) +- Vault changes since 2026-05-28 02:00: + - `family/how-to/magic4pc-webos.md` — detailed WebOS TV app: build, deploy, + auto-launch, Back+keyboard quirk + - `family/how-to/tv-luna-send.md` + `htpc-webos-luna.md` — luna-send SSH + workaround and wrapper script + - `family/how-to/htpc-migration-plan.md` — EmuDeck Flatpak save paths table, + ROM symlinks from Data partition + - `family/projects/aide-kraken-backend.md` — Hermes Kraken as OpenAI-compat + API backend for Android Aide app via Cloudflare Tunnel + - `family/schedule/vacation-july-august-2026.md` — personal schedule, skip +- Created: tech/tv-luna-send.md (from tv-luna-send.md + htpc-webos-luna.md) +- Created: tech/hermes-kraken-api.md (from aide-kraken-backend.md) +- Updated: tech/htpc-magic4pc.md — WebOS build/deploy/auto-launch/Back+keyboard +- Updated: tech/htpc-steam-emulators.md — EmuDeck save paths + ROM symlinks +- Synthesis: concepts/hermes-deployment-patterns.md — 3 deployment models: + Eagle native, Kraken Docker, Kraken API server (cross-refs hermes-eagle-mac + + hermes-docker-kraken + hermes-kraken-api) +- Updated: tech/hermes-docker-kraken.md — added related links to new pages +- Updated: tech/hermes-eagle-mac.md — added deployment-patterns cross-link +- Updated: index.md — 3 pages added; count 50→53; date 2026-05-29 +- Lint: all new pages have ≥1 inbound content link; 0 broken wikilinks in + new/modified pages; tags all from SCHEMA taxonomy ✅ +- Validation: all 5 new/modified wiki pages passed pre-commit checks ✅ + ## [2026-05-28] update | Crystallization + synthesis + lint fixes - Conflicts: 0 found (scan: all ~/obsidian/**/*.md) - Inbox: empty diff --git a/wiki/tech/hermes-docker-kraken.md b/wiki/tech/hermes-docker-kraken.md index 255e4752..a8069da1 100644 --- a/wiki/tech/hermes-docker-kraken.md +++ b/wiki/tech/hermes-docker-kraken.md @@ -1,12 +1,14 @@ --- title: Hermes Docker on Kraken created: '2026-05-23' -updated: '2026-05-23' +updated: '2026-05-29' type: tech namespace: personal tags: [hermes, docker, kraken, infra, how-to] related: - "[[tech/kraken-network]]" + - "[[concepts/hermes-deployment-patterns]]" + - "[[tech/hermes-kraken-api]]" --- # Hermes Docker on Kraken diff --git a/wiki/tech/hermes-eagle-mac.md b/wiki/tech/hermes-eagle-mac.md index 40ce30e1..ad8f6edf 100644 --- a/wiki/tech/hermes-eagle-mac.md +++ b/wiki/tech/hermes-eagle-mac.md @@ -226,3 +226,4 @@ Claude падает с "Failed to spawn process". Проверить логи: - [[tech/hermes-docker-kraken]] — Hermes на Кракене (Docker) - [[tech/kraken-network]] — сетевая топология +- [[concepts/hermes-deployment-patterns]] — сравнение трёх моделей деплоя Hermes diff --git a/wiki/tech/hermes-kraken-api.md b/wiki/tech/hermes-kraken-api.md new file mode 100644 index 00000000..b04d8efe --- /dev/null +++ b/wiki/tech/hermes-kraken-api.md @@ -0,0 +1,93 @@ +--- +title: Hermes Kraken — OpenAI-Compatible API Server +created: '2026-05-29' +updated: '2026-05-29' +type: tech +namespace: personal +tags: [hermes, kraken, infra, agent, how-to] +sources: + - family/projects/aide-kraken-backend.md +confidence: medium +related: + - "[[tech/hermes-docker-kraken]]" + - "[[tech/vps-qentra]]" +--- + +# Hermes Kraken — OpenAI-Compatible API Server + +Hermes on Kraken exposes an OpenAI-compatible `/v1/chat/completions` +endpoint (`gateway/platforms/api_server.py`). Exposed externally via +Cloudflare Tunnel → used by the Android **Aide** app as a Hermes-backed +assistant. + +## Architecture + +``` +Android (Aide) + └── HTTPS → hermes.kraken.qentra.top/v1/chat/completions + ↓ Cloudflare Tunnel + cloudflared (Kraken, host network) + ↓ localhost:8642 + hermes-kraken (docker run, network_mode: host) + ↓ + Hermes gateway → Gemini / OpenRouter / ... +``` + +`network_mode: host` means port 8642 is directly on the Kraken host — +no port mapping needed. + +## Config (Kraken /opt/data/config.yaml) + +```yaml +api_server: + enabled: true + port: 8642 + host: "0.0.0.0" + key: "" # openssl rand -hex 32 +``` + +Restart container via Portainer or: +```bash +BASE=http://localhost:9000 +KEY="ptr_AJY+Ba9A7f6pcAHZfDD5koU4stkKgJCdbTEXLDLxn0g=" +EP=3 +CID=$(curl -s -H "X-API-Key: $KEY" \ + "$BASE/api/endpoints/$EP/docker/containers/json" \ + | jq -r '.[] | select(.Names[] | contains("hermes-kraken")) | .Id') +curl -s -X POST -H "X-API-Key: $KEY" \ + "$BASE/api/endpoints/$EP/docker/containers/$CID/restart" +``` + +Health check: `curl -s http://localhost:8642/health` + +## Cloudflare Tunnel Setup + +Tunnel name: `kraken`. Public hostname (CF Zero Trust dashboard): +- **Hostname:** `kraken.qentra.top` +- **Type:** HTTP (not SSH) +- **URL:** `localhost:8642` + +SSH to Kraken still works via VPS reverse tunnel (port 2223) — the CF +hostname change does not affect SSH access. + +## Aide Android Client Config + +Provider: Custom Endpoint + +| Field | Value | +|-------|-------| +| Base URL | `https://kraken.qentra.top/v1` | +| API Key | secret from config.yaml | +| Model | `hermes-agent` (maps to Hermes internally) | + +## What Was Not Changed + +- cloudflared container — already running +- VPS reverse SSH tunnel — unaffected +- `network_mode: host` on hermes-kraken — already set + +## See Also + +- [[tech/hermes-docker-kraken]] — how Hermes runs on Kraken (docker run + pattern, no compose) +- [[tech/vps-qentra]] — VPS qentra.top: Cloudflare + nginx stack diff --git a/wiki/tech/htpc-magic4pc.md b/wiki/tech/htpc-magic4pc.md index f24dc772..cc4c7d89 100644 --- a/wiki/tech/htpc-magic4pc.md +++ b/wiki/tech/htpc-magic4pc.md @@ -1,15 +1,18 @@ --- title: HTPC — magic4pc (LG Magic Remote) created: '2026-05-28' -updated: '2026-05-28' +updated: '2026-05-29' type: tech namespace: family tags: [htpc, how-to, pitfalls] -sources: [family/how-to/htpc-magic4pc.md] +sources: + - family/how-to/htpc-magic4pc.md + - family/how-to/magic4pc-webos.md confidence: medium related: - "[[htpc-bazzite-proton]]" - "[[tech/htpc-steam-emulators]]" + - "[[tech/tv-luna-send]]" --- # HTPC — magic4pc (LG Magic Remote) @@ -96,7 +99,97 @@ Sudoers rule (no-password systemctl): bazzite ALL=(ALL) NOPASSWD: /usr/bin/systemctl ``` +## WebOS TV App — Build & Deploy + +The TV-side is a React/Enact WebOS app + Node.js service bundled into +an IPK. Sources: `~/Developer/magic4pc/webos/`. + +### Build + +```bash +cd ~/Developer/magic4pc/webos +NODE_OPTIONS=--openssl-legacy-provider npm run build +``` + +**Pitfall:** `--openssl-legacy-provider` is required — the old webpack +is incompatible with Node.js 25+. + +### Package IPK + +```bash +/Users/admin/webOS_TV_SDK/CLI/bin/ares-package dist/ service/ --outdir . +``` + +**Pitfall:** both `dist/` and `service/` arguments are required — +omitting `service/` excludes the Node.js service from the IPK. +**Pitfall:** `npm run package` = `ares-package -n` (unsigned) — TV +rejects unsigned packages. Use the SDK command directly. + +### Deploy (deploy.sh) + +```bash +cd ~/Developer/magic4pc/webos && ./deploy.sh +``` + +Script flow: build → package → scp → close → remove → install → launch. +Uses [[tech/tv-luna-send]] wrapper for close/remove/launch. +For install (subscribe mode) — direct `ssh+script` with polling on +`"state":"installed"`. + +**Pitfall:** `ares-install` / `ares-launch` are unreliable — they don't +wait for completion. Use `luna-send dev/install` via `script` wrapper. + +### Version in UI + +Displayed as `1.1.0 (YYYY-MM-DD HH:MM)` — injected by webpack at +build time via `process.env.BUILD_DATE`. + +## Auto-launch on Boot/Wake + +Magic4pc launches a configured app when the TV boots or wakes. + +| File | Location | Purpose | +|------|----------|---------| +| `magic4pc-settings` | PERSISTENT_DIR | Selected app ID | +| `magic4pc-last-app` | PERSISTENT_DIR | Last foreground app | +| `magic4pc-run-state` | `/tmp/` | `running` after first launch | + +`PERSISTENT_DIR = /media/developer/apps/usr/palm/services/me.wouterdek.magic4pc.service` + +Logic: +- **Boot/wake:** `/tmp` is cleared → no `run-state` → `freshStart=true` + → launches configured app +- **Manual launch:** `run-state=running` already present → skips auto-launch + +The `init.d` script on TV (`/var/lib/webosbrew/init.d/magic4pc`) removes +`run-state` on suspend so wake triggers fresh launch. Always edit in +repo (`tv-scripts/init.d-magic4pc.sh`), never directly on TV. + +## WebOS Back Key + System Keyboard + +When the system keyboard is open, **Back #1** is consumed by the OS +(closes keyboard) — the `keydown` DOM event and `onButtonDown` are +**not** fired. **Back #2** arrives normally. + +Fix used in `MainPanel.js` (`_kbWasOpen` flag): + +```js +// Input.onActivate: +this._kbWasOpen = true; + +// onButtonDown on Back: +if (this.state.wolMacActive || this._kbWasOpen) { + this._kbWasOpen = false; + return; // suppress panel close +} +``` + +Approaches that don't work: `Popup.noAutoDismiss`, timeout heuristic, +polling `document.activeElement` (keyboard is a system overlay, focus +never moves to INPUT). + ## See Also - [[htpc-bazzite-proton]] — Proton game compatibility on this HTPC - [[tech/htpc-steam-emulators]] — Steam, emulators, gamepad config +- [[tech/tv-luna-send]] — luna-send SSH wrapper for WebOS TV commands diff --git a/wiki/tech/htpc-steam-emulators.md b/wiki/tech/htpc-steam-emulators.md index cd05929c..167ddb78 100644 --- a/wiki/tech/htpc-steam-emulators.md +++ b/wiki/tech/htpc-steam-emulators.md @@ -1,13 +1,16 @@ --- title: HTPC Steam & Emulators created: '2026-05-23' -updated: '2026-05-28' +updated: '2026-05-29' type: tech namespace: family tags: [htpc, steam, emulators, gamepad, how-to, pitfalls] +sources: + - family/how-to/htpc-migration-plan.md related: - "[[htpc-kodi-layout]]" - "[[htpc-bazzite-proton]]" + - "[[tech/htpc-magic4pc]]" --- # HTPC Steam & Emulators @@ -43,9 +46,46 @@ only one `/dev/input/js`; Steam sees one controller. `~/controller-profiles/` - Steam shortcuts for non-Steam Windows games: use Proton Experimental -## Save Locations (approximate) +## EmuDeck Save Paths (Flatpak) -| System | Path | -|--------|------| -| Steam | `~/.steam/steam/userdata/` | +| Emulator | Save path | +|----------|-----------| | RetroArch | `~/.var/app/org.libretro.RetroArch/config/retroarch/saves/` | +| Dolphin (GC/Wii) | `~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/` | +| Citra / Lime3DS | `~/.var/app/org.citra_emu.citra/` | +| PCSX2 (PS2) | `~/.var/app/net.pcsx2.PCSX2/config/PCSX2/memcards/` | +| RPCS3 (PS3) | `~/.var/app/net.rpcs3.RPCS3/config/rpcs3/dev_hdd0/` | +| PPSSPP (PSP) | `~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SAVEDATA/` | +| melonDS (NDS) | `~/.var/app/net.kuribo64.melonDS/` | +| Ryujinx (Switch) | `~/.var/app/org.ryujinx.Ryujinx/config/Ryujinx/bis/user/save/` | +| Steam | `~/.steam/steam/userdata/` | + +## ROM Symlinks (Data partition → EmuDeck) + +Emulators expect ROMs at `~/Emulation/roms//`. Symlinks from +the Data partition (`/run/media/bazzite/Data/`): + +```bash +ln -s "/run/media/bazzite/Data/n64 roms" ~/Emulation/roms/n64 +ln -s "/run/media/bazzite/Data/snes roms" ~/Emulation/roms/snes +ln -s "/run/media/bazzite/Data/gba roms" ~/Emulation/roms/gba +ln -s "/run/media/bazzite/Data/3ds roms" ~/Emulation/roms/3ds +ln -s "/run/media/bazzite/Data/ps2 roms" ~/Emulation/roms/ps2 +ln -s "/run/media/bazzite/Data/dolphin roms" ~/Emulation/roms/wii +ln -s "/run/media/bazzite/Data/cemu roms" ~/Emulation/roms/wiiu +ln -s "/run/media/bazzite/Data/mame roms" ~/Emulation/roms/mame +ln -s "/run/media/bazzite/Data/sega roms" ~/Emulation/roms/genesis +ln -s "/run/media/bazzite/Data/nes" ~/Emulation/roms/nes +``` + +After symlinking, run **Steam ROM Manager** (EmuDeck) from Desktop Mode +to import ROMs into Steam with cover art. + +## Non-Steam Windows Games + +`/run/media/bazzite/Data/games/` — 38 pre-installed games (Bayonetta, +Cuphead, GTA V, Witcher 3, etc.). Add as Non-Steam games with +Proton Experimental. + +`/run/media/bazzite/Data/steam/steamapps/common/` — already-Steam games +(Gang Beasts, Shovel Knight, etc.). Add as a second Steam library path. diff --git a/wiki/tech/tv-luna-send.md b/wiki/tech/tv-luna-send.md new file mode 100644 index 00000000..ce26aa27 --- /dev/null +++ b/wiki/tech/tv-luna-send.md @@ -0,0 +1,103 @@ +--- +title: WebOS TV — luna-send via SSH +created: '2026-05-29' +updated: '2026-05-29' +type: tech +namespace: family +tags: [htpc, how-to, pitfalls] +sources: + - family/how-to/tv-luna-send.md + - family/how-to/htpc-webos-luna.md +confidence: medium +related: + - "[[tech/htpc-magic4pc]]" + - "[[tech/htpc-kodi-layout]]" +--- + +# WebOS TV — luna-send via SSH + +`luna-send` on WebOS writes output to the TTY, not stdout. SSH without a +PTY produces no output. The `script(1)` workaround captures output via a +pseudo-TTY. + +TV IP: `192.168.1.75` (aliases: `root@LGwebOSTV`, `root@tv`). + +## The Problem + +```bash +ssh root@192.168.1.75 "luna-send -n 1 -f luna://..." # → silent +ssh -t root@192.168.1.75 "luna-send -n 1 -f luna://..." # → still silent +``` + +Root cause: `luna-send` detects whether its stdout is a TTY and refuses to +write to a pipe. + +## The Fix: script(1) + +```bash +ssh root@192.168.1.75 \ + "script -q -c \"luna-send -n 1 -f luna://com.webos.applicationManager/running '{}'\" \ + /tmp/o.txt; cat /tmp/o.txt" +``` + +`script(1)` allocates a pseudo-TTY and records output to `/tmp/o.txt`. +The wrapper then reads the file, filters the Script header/footer lines, +and removes the temp file. + +## Wrapper: tv-luna-send.sh + +Location: `~/Automation/tv-luna-send.sh` on Eagle. + +```bash +# Usage (same flags as luna-send) +~/Automation/tv-luna-send.sh [luna-send flags] luna://service/method 'json' + +# List running apps +~/Automation/tv-luna-send.sh \ + -n 1 -f luna://com.webos.service.applicationmanager/running '{}' + +# Close an app +~/Automation/tv-luna-send.sh \ + -n 1 -f luna://com.webos.service.applicationmanager/closeByAppId \ + '{"id":"me.wouterdek.magic4pc"}' + +# Launch an app +~/Automation/tv-luna-send.sh \ + -n 1 -f luna://com.webos.applicationManager/launch \ + '{"id":"me.wouterdek.magic4pc"}' + +# Query magic4pc service status +~/Automation/tv-luna-send.sh \ + -n 1 -f luna://me.wouterdek.magic4pc.service/query '{}' +``` + +Set `TV_HOST` env to override the default target (`root@LGwebOSTV`). +DNS resolves via home router at `192.168.1.1`. + +## Common Luna URIs + +| URI | Purpose | +|-----|---------| +| `.../applicationmanager/running` | List running apps | +| `.../applicationmanager/closeByAppId` | Close app by ID | +| `.../appInstallService/dev/install` | Install IPK (subscribe) | +| `.../appInstallService/dev/remove` | Remove app | +| `.../applicationManager/launch` | Launch app | +| `.../applicationManager/getForegroundAppInfo` | Get active app | +| `...magic4pc.service/query` | Magic4pc service status | + +Full service prefix: `com.webos.service.applicationmanager`, +`com.webos.appInstallService`, `com.webos.applicationManager`. + +## Limitation: Subscribe Mode (-i) + +`luna-send -i` (infinite subscribe, used for `dev/install`) does **not** +work through the wrapper — it never terminates normally. The +`magic4pc/webos/deploy.sh` handles install directly via `ssh+script` with +inline polling for `"state":"installed"`. + +## Where Used + +`magic4pc/webos/deploy.sh` — close, remove, and launch steps in the deploy +pipeline. See [[tech/htpc-magic4pc]] for the full magic4pc build and deploy +workflow. From 2a730e45da303403c3e3662686a87fe75803260b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 08:02:04 +0600 Subject: [PATCH 12/12] [2026-05-29] daily brief: TP deep work blocks, PR #5145 CI red, Monterrey triage, weekly review --- work/briefs/daily/2026-05-29.md | 96 +++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 work/briefs/daily/2026-05-29.md diff --git a/work/briefs/daily/2026-05-29.md b/work/briefs/daily/2026-05-29.md new file mode 100644 index 00000000..77e1537e --- /dev/null +++ b/work/briefs/daily/2026-05-29.md @@ -0,0 +1,96 @@ +--- +## Daily Brief — 2026-05-29 + +### ✨ Morning +On May 29, 1919, Arthur Eddington photographed stars near the sun during a total solar eclipse and confirmed light bends around massive objects — exactly as Einstein's general relativity predicted. The announcement made Einstein world-famous overnight and changed how we think about gravity, space, and time. +🚶 Take a short walk before diving in. + +Today's focus per weekly plan: Close loops + weekly review. New signals since yesterday: 18 task changes, 15 comments — Postmortem COMPLETED ✅ (Jeanna + Jonathan thanked Alex), Full Analysis COMPLETED ✅. Two new TP subtasks due today; PR #5145 CI 🔴; new Monterrey PR task appeared in inbox. + +--- + +## Plan for Today + +1. ⚡ **Desktop Browser Feature Owner Survey** — 5-min anonymous survey, 3d overdue, no blocker +2. 🔴 **Fix CI on PR #5145** (Ship duck.ai onboarding — CI red, blocks review) +3. 🔴 **Triage: PR: Make macOS app Monterrey-only** (1-3d, 1d overdue, needs scoping) +4. 🟠 **TP: Hide "stop chat" button [0.5d]** — due today, primary block +5. 🟠 **TP: Persist 'You've got this' dialogue [0.5d]** — due today, secondary block +6. 🟠 **Nudge Jake on Privacy Triage** — 8d overdue, blocks old TP close +7. 🟠 **Ack Alessandro on Project Advisor async** — 2 min +8. 📋 **6 PR reviews queued** — batch after TP block +9. 📝 **Weekly review write-up** — Fri rhythm, 20-30 min EOD + +--- + +### 🔴 Urgent / Overdue + +**[OVERDUE 3d] DRI** — [Desktop Browser Feature Owner Survey](https://app.asana.com/0/0/1214940335721015) (due 2026-05-26) +Context: 5-min anonymous survey. Zero content blocker. Carried Mon → Wed → Thu without being completed. +Action: Complete in the first 5 minutes of the day. + +**[OVERDUE 1d] DRI** — [PR: Make macOS app Monterrey-only - 1-3d (apple-browsers)](https://app.asana.com/0/0/1215150214975916) (due 2026-05-27) +Context: Appeared in inbox since weekly plan; new task, 1-3d estimate. Not in yesterday's brief. Needs scoping. +Action: Open and triage — is this an implementation task to author, or a PR review request? 10 min. + +**[OVERDUE 1d] DRI** — [Ship AI onboarding winner (Treatment B) [0.5d]](https://app.asana.com/0/0/1215009192158955) (due 2026-05-28) +Context: PR #5145 up but CI 🔴. Costas answered Alex's returning-users question on May 28 12:33. Alessandro reacted this morning (reaction only, no new comment — not a blocker). +Action: Read Costas' answer, then fix CI on #5145. + +**[OVERDUE 14d] AOR** — [PR Check is failing on main](https://app.asana.com/0/0/1214797526093576) (due 2026-05-15) +Context: Main-branch CI failure, inbox. No activity since May 17. Third brief in a row without progress. +Action: Diagnose during AOR buffer. If not fixable in 30 min, post a status comment naming the failing test + ETA. Don't carry unacknowledged into next week. + +**Backlog cluster** (informational — stale dates expected; do_later/quick_wins/aged inbox): CI failing test testWhenTabWithConnectionLost (active, Apr 22) · Pinned tab opens link in background (May 1) · Text selection in address bar (May 1) · Tab preview stuck · Duo login Grafana · Assertion Failure Pixel · Review Overdue Tasks meta · warnBeforeQuit flag · mac_malicious-site-protection. Not actioned today. + +--- + +### 🟠 Needs Action Today + +**DRI — TP deep work: Hide "stop chat" button + Persist 'You've got this' dialogue (due today)** +[Hide stop chat](https://app.asana.com/0/0/1215009192158954) + [Persist dialogue](https://app.asana.com/0/0/1215009192158950) — Alex's May 28 status: "Next: these two." Primary deep-work block of the day after urgent items. +Note: "Disable back button" (1215009192158960, also due today) is WAITING for confirmation from Costas/team — Alex already asked, not the blocker. + +**DRI — Acknowledge Project Advisor async** +[DRI ↔ Project Advisor async](https://app.asana.com/0/0/1213551072611261) — Alessandro commented May 28 23:30: "Since you were OOO I created that 🙂" — he proactively created the task while Alex was out. +Action: Quick acknowledgment reply. 2 min. + +**DRI — Review experiment enrollment data** +[NA Analysis: iOS Duck.ai Onboarding Tracker Demo](https://app.asana.com/0/0/1215186850972358) — Dax bot: enrollment ≈7K per variant (control 7034 / A 7191 / B 7126), no headline metric conversions yet (d5-7 app_use). Alex is listed DRI. +Action: Scan for anomalies, confirm tracking looks reasonable. 10 min. + +**PR Reviews — batch (6 queued)** +Bump nativeStorage 100% · Enable ad blocking soft launch · Improve value transformer failure observability · Avoid force unwrap crash · Fix maestro tests · Enable iPad toggle iOS 7.211. +Action: Single batch pass after TP block. + +**📝 Weekly review write-up** +Per Friday plan: write this week's review + catch-up for missing May/22 review. +Action: 20-30 min before EOD. + +--- + +### 🟡 Delegated — Follow Up Needed + +**OVERDUE 8d** — [Privacy Triage: Apple — iOS: Demo tracker blocking](https://app.asana.com/0/0/1214965405681675) — Jake Abel, due 2026-05-21 +No activity since May 20. Blocks closing old TP. Nudged in yesterday's brief; no response yet (AFK day intervened). +Follow-up: "Hi Jake — following up again. This privacy triage is now 8 days overdue and is the last piece blocking old TP close-out. Any update?" + +**OVERDUE 4d** — [🤖 Check for dependabot PRs](https://app.asana.com/0/0/1215057989642782) — Tom Strba, due 2026-05-25 +macOS App Maintenance cycle. Tom's cycle is active (maintenance task modified May 28 23:27). Low urgency — Tom likely completing today. + +**Due today** — [Pinned tab activates in other window unpinning](https://app.asana.com/0/0/1210705465887828) — Juan Pereira, due 2026-05-29 +Gentle reminder if no update from Juan by EOD. + +GitHub ↔ Asana correlation: no merged-but-not-closed delegated tasks detected. + +--- + +### 🔵 Rhythms + +**TP:** [iOS Address onboarding conflicts with unified input and ship AI onboarding winner](https://app.asana.com/0/0/1214592943696234) — due 2026-06-05. On track. Two subtasks with PRs up (Hide Free plan #5149 ✅ waiting review; Ship AI onboarding #5145 CI 🔴). Today's block: stop chat + persist dialogue subtasks. Next TP Thread: ✅ already open. + +**Upcoming:** +- 📅 Mon 2026-06-01: O-L Weekly Meeting. Dominik OOO begins (LDX3, through Jun 3). +- 📅 Tue 2026-06-02: Apple Weekly Team Meeting — Dominik OOO, host needed (Dominik flagged this). +- 📅 Wed 2026-06-03: O-N Weekly Meeting. +- 📅 Jun 8–12: WWDC'26 partly AFK (10 days out) — flag prep handoffs by end of next week.