Orion vault — clean initial history

Knowledge vault (Orion/PARA) migrated from the pre-Orion 484vault on
2026-10-01. Deliberately orphaned: prior history contained a plaintext
password and stays local-only on branch archive/pre-boilerplate-history.
Secrets and live Hermes state are gitignored.
This commit is contained in:
Avi 2026-10-02 08:34:04 -05:00
commit a66996ac10
233 changed files with 103810 additions and 0 deletions

View file

@ -0,0 +1,34 @@
---
type: project
id: PROD-5
area: Products
done_when: "Avi records and replays voice notes daily in the Android S.H.O.N.A.R. with no open blockers and calls it his keeper app."
status: open
updated: 2026-10-01
tags:
- hub
- products
---
# PROD-5 S.H.O.N.A.R. (Android)
## What this is
S.H.O.N.A.R. — the Android voice recorder app (local-only, no INTERNET permission; v0.1.56 on device). Companion to PROD-8 S.H.O.N.A.R. Desktop; separate projects, same name per owner.
## Tasks
_See `sources/` — pre-Orion notes preserved verbatim; promote live tasks here as they're worked._
## Open items
_None registered yet (migration)._
## Key files
- Code: `~/Projects/Shonar/`
- Sources (pre-Orion notes, preserved): `sources/`
## People
_None yet._

View file

@ -0,0 +1,36 @@
---
project: shonar
status: active
last-updated: 2026-09-18T03:35:00-05:00
hermes-owned: true
local-path: /home/avi/Projects/Shonar/
tech-stack: [Android (Kotlin/Compose), local-only]
---
# S.H.O.N.A.R.
Self-hosted voice-notes app. Renamed from "Sonar" 2026-09-08 at user request. Backend package `shonar`, env prefix `SHONAR_`.
## Architecture (current, 2026-09-14 pivot)
- **Local-only Android app is the product (2026-09-14):** `8c510f4` removed network entirely — no INTERNET permission; providers/sync/backend/desktop dropped from `main`. Prior desktop/server work preserved on branch `deferred/desktop-server` @ `7b34368` (never deleted, see [[User Preferences]]).
- **Follow-ups:** `d9f3d0b` StrictMode (debug) + off-main-thread IO (root resolver, file import, DateFormat), `a445105` optional local release signing (keystores gitignored; passwords via `~/.gradle/gradle.properties`), `d68aab5` always-stoppable playback + release build + storage-access prompt. Verified: `assembleDebug` + `testDebugUnitTest` BUILD SUCCESSFUL (offline).
- **Separate live desktop repo:** `~/Projects/Shonar Desktop` (branch `master`, engine `:8000` via `desktop-dev.sh`) still runs the desktop app; latest `c25d3ab` bundles whisper base model + standalone provisioning. Runtime state `~/.config/shonar-desktop/` (`settings.json` read at engine start; `engine.db`).
- **Desktop STATUS audited 2026-09-16 (`134742f`, tree clean):** all prior open items closed — job adoption (`ba54cb8`), upload-mapping sidecar reuse, the skipped test is intentional (`test_ai_adapters.py:55` skips when faster-whisper is installed). Whisper Large v3 provisioning verified end-to-end in an isolated HF cache (2.9 GB download ~2.5 min, loads 4.6 s CPU int8, transcribes). pytest 80 passed / 1 skipped; engine healthz ok; engine + app run via `desktop-dev.sh`.
- **Android:** M1–M8 done via `CustomShonarProvider` / `LocalOnlyProvider`; Home Assistant integration DEFERRED (preserved under `deferred/home-assistant/` + branch of same name, 2026-09-08 pivot).
- **Old desktop source:** lives only on `deferred/desktop-server` @ `7b34368` (removed from main `8c510f4`); the dead `~/Projects/Shonar/desktop` leftovers dir was deleted 2026-09-14.
- **Forgejo consolidated 2026-09-27:** repos folded into `avi/S.H.O.N.A.R.` (local origin repointed, `c35e693` live). See [[Forgejo git.atitlan.io]].
## Infrastructure
- Ollama = systemd user service (`~/.config/systemd/user/ollama.service`, models in `~/.local/share/ollama-home`).
- User recordings: `~/Music/Recordings`.
## Latest progress / next
- **Android (2026-09-17/18, HEAD `9c866c8`):** live theme/accent settings work (user confirmed colors on-device); Record FAB + `primaryContainer` follow `accent_color` (Material3 FABs paint primaryContainer, not primary); reset button hidden on non-editable settings. Release APK signed with local key (`keystores/shonar-release.jks`, passwords in `~/.gradle/gradle.properties`) — release vs debug signatures differ, switching requires uninstall (app data wiped; `/sdcard/Music/Recordings` files survive and re-index). v0.1.56 verified on Pixel 8 Pro.
- **Desktop (2026-09-18):** Summarize rescue fallback committed `3061629` (ollama `qwen3:4b` fallback provider active on the running engine; verified backend pytest + gradle tests green). No open work on the feature.
- **Auth trap (desktop engine):** engine rotates refresh tokens with reuse detection — an agent calling `/auth/refresh` with the token in `~/.config/shonar-desktop/auth.json` silently revokes the app's session. Never consume it; ask the user to re-login or run the curl themselves.
- Main repo history clean through local-only pivot.
- **Next (desktop, post-audit 2026-09-16):** optional stale-404 cleanup of `pump-error.log`; then pick new feature work.
- **Next (Android):** no open blockers; widget heads-up lag closed unresolved by user (see [[shonar-widget-heads-up-10s-lag]]); dead `shonar-15min-updates` cron deleted.
- **Roadmap TODOs (backend, deferred branch):** M9 (FTS endpoints, exports, deletion sweep), M10 (dark mode/a11y/docs), diarization, at-rest encryption, account purge sweep.
Related: [[Projects Index]] · [[User Preferences]] · [[System Architecture]]

View file

@ -0,0 +1,17 @@
---
last-updated: 2026-09-18T03:30:00-05:00
hermes-owned: true
tags: [shonar, android, notifications, pixel-8-pro]
---
# Shonar record widget: ~10 s notification lag on Pixel 8 Pro
**Symptom (2026-09-17):** tapping the Shonar record widget, the recording notification pill takes ~10 s to appear.
**Diagnosis:** recording itself starts in ~0.2 s. StackScroll logcat shows the SystemUI heads-up pill "appearing" ~10.2 s after the tap — the delay is Android SystemUI's heads-up presentation, not the app. Other apps show heads-up instantly, so it is Shonar-specific in how SystemUI treats the channel, but the app-side pipeline is instant.
**App-side fixes shipped (pushed `c942865`):** widget bitmaps (fixes Lawnchair gray-theming the widget), trampoline `taskAffinity` (widget tap was revealing the app), notification channel v3 HIGH + 60 ms tick.
**Status:** CLOSED UNRESOLVED by user decision 2026-09-18 ("you have not been successful... I am deciding to focus on other things"). Recording works instantly; only the pill presentation is delayed. If reopened: the remaining suspect is SystemUI channel/ongoing-notification handling on the Pixel launcher, not app code.
Related: [[Shonar]] · [[Troubleshooting Index]]