From 4f4d4f77f2c7879b36af8a73386ff0e8182ffa36 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 12:27:51 +0600 Subject: [PATCH 1/7] [2026-06-04] clarify F-Droid deployment is Mac-local via CF tunnel, not VPS; mark backend server as plan --- personal/projects/nolvu-reflect-skip.md | 2 +- personal/projects/psychologist-app/overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/personal/projects/nolvu-reflect-skip.md b/personal/projects/nolvu-reflect-skip.md index 6f340f10..b2489922 100644 --- a/personal/projects/nolvu-reflect-skip.md +++ b/personal/projects/nolvu-reflect-skip.md @@ -23,7 +23,7 @@ related: ## Статус - Имя продукта: **naisei** - Активная кодовая база: `~/Developer/reflect-skip/` -- Android: публикуется на `https://reflect.qentra.top` (F-Droid) +- Android: публикуется на `https://reflect.qentra.top` (F-Droid, сервер локально на Mac через CF tunnel → localhost:8766, не VPS) - iOS: собирается через `Project.xcworkspace` → `Darwin/ReflectApp.xcodeproj` - Текущая версия: **v0.0.108** (ветка `feature/document-import`; `main` на v0.0.60, не слит) diff --git a/personal/projects/psychologist-app/overview.md b/personal/projects/psychologist-app/overview.md index 12e3bc83..133ded8c 100644 --- a/personal/projects/psychologist-app/overview.md +++ b/personal/projects/psychologist-app/overview.md @@ -271,7 +271,7 @@ Documents/UserProfile/ - Opus: $5/MTok in, $25/MTok out - **Prompt caching**: системный промпт + история кешируются (90% скидка на повторные) - **Voice**: OpenAI Realtime API (лидер по качеству) + fallback Whisper + TTS -- **Backend server**: простой Node.js/Bun API → deploy на Fly.io/Railway +- **Backend server (plan)**: простой Node.js/Bun API → deploy на Fly.io/Railway - **Database**: PostgreSQL (профили пользователей, сессии, инсайты) - **Auth**: Apple Sign In + Google Sign In (обязательно для App Store) From 2d9448cad99b6ecb29e0c91fc87c176698d6cfc0 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 12:35:17 +0600 Subject: [PATCH 2/7] [2026-06-04] Inbox triage - quiet --- work/briefs/inbox/2026-06-04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/work/briefs/inbox/2026-06-04.md b/work/briefs/inbox/2026-06-04.md index 196794c6..0ad01422 100644 --- a/work/briefs/inbox/2026-06-04.md +++ b/work/briefs/inbox/2026-06-04.md @@ -1,7 +1,7 @@ -## Inbox Triage — 2026-06-04 (since 2026-06-04T10:01) +## Inbox Triage — 2026-06-04 (since 2026-06-04T12:00:57) ### Nothing new Inbox quiet — nothing new. -_Checked: @mentions, new comments on my tasks, new assignments. Snapshot generated 04:31 UTC (10:31 local). No activity in the window._ +**Note:** @mention query skipped — `/etc/ddg/dbenv` not available on Eagle Mac (DB is on production host). Snapshot from 06:31 UTC predates SINCE. All comments in snapshot are from Jun 3 or earlier. GitHub "Needs Attention" items are persistent state, not new since SINCE. From 293939b6ecfaef274177572728e0de357a45fed0 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 12:57:01 +0600 Subject: [PATCH 3/7] =?UTF-8?q?[2026-06-04]=20add=20=D0=9A=D0=B0=D1=80?= =?UTF-8?q?=D0=B0-=D0=91=D1=83=D0=BB=D0=B0=D0=BA=20to=20places-to-visit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- family/documents/places-to-visit.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/family/documents/places-to-visit.md b/family/documents/places-to-visit.md index ee1d2409..eac9ca81 100644 --- a/family/documents/places-to-visit.md +++ b/family/documents/places-to-visit.md @@ -17,6 +17,10 @@ related: "[[family/documents/trip-packing-list]]" - [ ] фурусата - [ ] Зоологический музей - https://2gis.kg/bishkek/geo/70000001019368876 +- [ ] Эко-резорт Кара-Булак (Арашан, урочище Татыр) + - Термальные бассейны, бани, домики, SPA + - https://karabulak.kg | +996 556 980 009 + - 25 км от Бишкека - [ ] ## 🛒 Бишкек — где купить From 0110c294148268a7643fd73ee7567267ab91f964 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 14:25:51 +0600 Subject: [PATCH 4/7] [2026-06-04] eagle: Dev/apple-browsers/address-ios-onboarding-issues-merge-fix.md --- ...address-ios-onboarding-issues-merge-fix.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Dev/apple-browsers/address-ios-onboarding-issues-merge-fix.md diff --git a/Dev/apple-browsers/address-ios-onboarding-issues-merge-fix.md b/Dev/apple-browsers/address-ios-onboarding-issues-merge-fix.md new file mode 100644 index 00000000..4a94aa41 --- /dev/null +++ b/Dev/apple-browsers/address-ios-onboarding-issues-merge-fix.md @@ -0,0 +1,65 @@ +# Merge Fix: address-ios-onboarding-issues ← origin/main + +**Date:** 2026-06-04 +**Branch:** `alex/address-ios-onboarding-issues` +**Commit:** `4acf1c9737` + +## Context + +After merging `origin/main` into the feature branch, the iOS target failed to build due to a combination of upstream enum renames and code that was accidentally dropped during manual conflict resolution. + +--- + +## Root causes + +### 1. Upstream enum renames + +`origin/main` renamed two enums (removing the `Experiment` infix): + +| Old name | New name | +|---|---| +| `DuckAIQueryExperimentMode` | `DuckAIQueryMode` | +| `DuckAIQueryExperimentPromptSource` | `DuckAIQueryPromptSource` | + +The old source file `DuckAIQueryExperimentMode.swift` was deleted upstream but its Xcode project reference was not removed during the merge, causing a `project.pbxproj` orphan. + +### 2. Code dropped during conflict resolution in `MainViewController.swift` + +When resolving conflicts, several blocks of code that existed only on the feature branch were incorrectly discarded in favour of the incoming `main` version: + +- `bindAIChatChromeChipToCurrentTab()` and its call site. +- `loadUrlRespectingAIBoundary` call sites (URL loading that respects the AI query boundary). +- AI chat history delegate wiring. + +### 3. Upstream API additions without corresponding branch updates + +- `TabSwitcherStaticButton` gained a required `showMenuOnLongPress:` constructor argument. +- Two new protocol methods were added to `TabDelegate` and `TabSwitcherButtonDelegate`. +- `OnboardingPixelReporter` gained a new `measureDuckAIFireDialogImpression()` requirement. + +### 4. Deleted upstream API still referenced on branch + +- `DuckAIQueryExperimentCohort` enum (used in `UnifiedToggleInputFeature`) was removed on `main`; the branch code was updated to remove that dependency. + +--- + +## Files changed + +| File | What was fixed | +|---|---| +| `OnboardingIntroViewModel.swift` | Renamed enum references | +| `OnboardingView.swift` | Renamed enum references | +| `OnboardingPixelReporter.swift` | Renamed enum refs + added `measureDuckAIFireDialogImpression()` | +| `ContextualDaxDialogsFactory.swift` | Updated pixel-firing call to new method name | +| `RebrandedContextualDaxDialogFactory.swift` | Same as above | +| `UnifiedToggleInputFeature.swift` | Restored `isToggleHiddenOnDuckAITab` without deleted cohort enum | +| `OnboardingPixelReporterMock.swift` | Enum renames + added missing mock method | +| `MainViewController.swift` | Restored dropped AI-chat binding, URL boundary logic, new protocol stubs, updated constructor calls, removed deleted API calls | +| `project.pbxproj` | Removed orphan reference to deleted `DuckAIQueryExperimentMode.swift` | +| `Package.resolved` (×3) | Accepted upstream SPM dependency version bumps | + +--- + +## Possible follow-up + +The merge resolution was done by patching the already-merged working tree rather than by redoing the merge from scratch. If a cleaner history is desired, the merge commit could be reset and the merge re-done with these fixes applied interactively. The complete list of changes above serves as a reference for what conflicts to resolve in that scenario. From 472d311834ca172d68ca00ab5def6bed46f1cc3e Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 14:34:31 +0600 Subject: [PATCH 5/7] =?UTF-8?q?2026-06-04=20inbox=20triage=20(14:00=20run)?= =?UTF-8?q?=20=E2=80=94=20quiet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- work/briefs/inbox/2026-06-04.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/work/briefs/inbox/2026-06-04.md b/work/briefs/inbox/2026-06-04.md index 0ad01422..5676d45a 100644 --- a/work/briefs/inbox/2026-06-04.md +++ b/work/briefs/inbox/2026-06-04.md @@ -5,3 +5,13 @@ Inbox quiet — nothing new. **Note:** @mention query skipped — `/etc/ddg/dbenv` not available on Eagle Mac (DB is on production host). Snapshot from 06:31 UTC predates SINCE. All comments in snapshot are from Jun 3 or earlier. GitHub "Needs Attention" items are persistent state, not new since SINCE. + +--- + +## Inbox Triage — 2026-06-04 (since 2026-06-04T14:00:24) + +### Nothing new + +Inbox quiet — nothing new. + +Snapshot generated at 08:30 UTC (covers since SINCE = 08:00 UTC). No new human comments, @mentions, or task assignments found. Most recent comment in snapshot: Jun 4 05:13 UTC (Dax the Duck bot, excluded). AOR flash/metrics comments are follower-channel noise, excluded per scope filter. From aab5aa46a7b04053a8ce2fa0790536697cf14879 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 15:22:59 +0600 Subject: [PATCH 6/7] 2026-06-04 fix hermes-docker-kraken: runs via compose, not docker run Co-authored-by: Cursor --- family/how-to/hermes-docker-kraken.md | 83 ++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 14 deletions(-) diff --git a/family/how-to/hermes-docker-kraken.md b/family/how-to/hermes-docker-kraken.md index a8069da1..af9290cf 100644 --- a/family/how-to/hermes-docker-kraken.md +++ b/family/how-to/hermes-docker-kraken.md @@ -1,7 +1,7 @@ --- title: Hermes Docker on Kraken created: '2026-05-23' -updated: '2026-05-29' +updated: '2026-06-04' type: tech namespace: personal tags: [hermes, docker, kraken, infra, how-to] @@ -15,23 +15,78 @@ related: ## Key Rule -Hermes runs via **`docker run`**, NOT `docker compose`. No compose file. +Hermes runs via **`docker compose`** from the `hermes-build/` directory. -## Launch Pattern +## Directory Layout (on Kraken) -```bash -docker run -d \ - --name hermes \ - --restart unless-stopped \ - -v ~/.hermes:/root/.hermes \ - ... \ - hermes-image:tag +``` +/srv/.../docker/ +├── hermes-build/ ← build + run from here +│ ├── Dockerfile ← clones upstream NousResearch/hermes-agent +│ ├── docker-compose.yml ← canonical compose file +│ ├── config.yaml ← unused at build time (runtime config is in hermes/config/) +│ └── .env ← all secrets/API keys (sourced by compose) +└── hermes/ + └── config/ ← mounted as /opt/data (HERMES_HOME) inside container ``` -(Add actual flags from the running container: `docker inspect hermes`) +## Compose File (`hermes-build/docker-compose.yml`) + +```yaml +services: + kraken: + build: + context: . + dockerfile: Dockerfile + image: hermes-kraken:latest + container_name: hermes-kraken + stdin_open: true + tty: true + restart: unless-stopped + volumes: + - /srv/.../docker/hermes/config:/opt/data + - /home/kraken/obsidian:/vault:rw + environment: + - HERMES_ALLOW_ROOT_GATEWAY=1 + env_file: + - .env + command: gateway + network_mode: host +``` + +## Managing the Container + +```bash +cd /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/docker/hermes-build + +docker compose up -d # start +docker compose down # stop +docker compose pull # pull new image (if from registry) +docker compose build # rebuild image from Dockerfile +docker compose restart # restart +docker compose logs -f # follow logs +``` + +## Image + +Built locally from `Dockerfile` — clones **upstream** `NousResearch/hermes-agent` +(`--depth=1` from `main`). Not a custom fork. To update Hermes: + +```bash +cd /srv/.../docker/hermes-build +docker compose build --no-cache +docker compose up -d +``` + +## Volumes + +| Host path | Container path | Purpose | +|-----------|----------------|---------| +| `hermes/config/` | `/opt/data` | `HERMES_HOME` — config, sessions, skills, memory | +| `/home/kraken/obsidian` | `/vault` | Obsidian vault read/write access | ## Notes -- Using `docker run` keeps restart behavior explicit -- No compose means no accidental `docker compose down` wipes it -- Config/memory volume: `~/.hermes` on Kraken host +- `network_mode: host` — port 8642 is directly on the Kraken host, no port mapping needed +- `HERMES_ALLOW_ROOT_GATEWAY=1` — required since container runs as root +- All secrets in `hermes-build/.env` (not committed) From 2970ad1f42d6c60e109c997e26e4908d65cf380c Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 4 Jun 2026 18:05:16 +0600 Subject: [PATCH 7/7] [2026-06-04] eagle: work/briefs/inbox/2026-06-04.md --- work/briefs/inbox/2026-06-04.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/work/briefs/inbox/2026-06-04.md b/work/briefs/inbox/2026-06-04.md index 5676d45a..a122809b 100644 --- a/work/briefs/inbox/2026-06-04.md +++ b/work/briefs/inbox/2026-06-04.md @@ -15,3 +15,11 @@ Inbox quiet — nothing new. Inbox quiet — nothing new. Snapshot generated at 08:30 UTC (covers since SINCE = 08:00 UTC). No new human comments, @mentions, or task assignments found. Most recent comment in snapshot: Jun 4 05:13 UTC (Dax the Duck bot, excluded). AOR flash/metrics comments are follower-channel noise, excluded per scope filter. + +--- + +## Inbox Triage — 2026-06-04 (since 2026-06-04T16:30:57) + +### Nothing new + +Inbox quiet — no new human signals since 16:30 local (11:30 UTC). Snapshot synced at 11:46 UTC. Only new item after SINCE: automated Dax CI notification at 11:41 UTC (alpha build ready for Ship Review: iOS Address onboarding) — excluded as bot event.