diff --git a/memory-systems/agent-os/00_Raw/Incoming/2026-09-18_Session_Summary.md b/memory-systems/agent-os/00_Raw/Incoming/2026-09-18_Session_Summary.md new file mode 100644 index 0000000..7133214 --- /dev/null +++ b/memory-systems/agent-os/00_Raw/Incoming/2026-09-18_Session_Summary.md @@ -0,0 +1,30 @@ +# Session Summary: 2026-09-18 +**Date**: 2026-09-18 +**Source**: jimmy +**Status**: Infrastructure Stabilized + +## Infrastructure & Model Optimization +- **Context Window Expansion**: Identified gemma12 server crashing due to context overflow (~150K tokens vs 65K limit). +- **VRAM Audit**: Verified RTX 3060 12GB headroom (~3,152 MiB free). +- **Server Upgrade**: Increased gemma12 server (port :1923) `n_ctx` to **131,072**. +- **Model Migration**: Flipped default model to `route-flash-0731` (DeepSeek-v4-flash-0731 via RouteAPI) for high-reasoning reliability. + +## Vault Architecture & Crew Setup +- **Vault Map**: Created `Meta/vault-map.md` to establish a "Vault Role" system (mapping roles like `{{inbox}}`, `{{projects}}` to physical folders). +- **Folder Standardization**: Provisioned new directories: `02_areas`, `03_resources`, `03_templates`. +- **Crew Integration**: Activated the My-Brain-Is-Full-Crew (8 core agents) and established a "Skill-First" routing priority. + +## Procedural Automation (Skills) +- **`obsidian-refinement`**: Created to automate raw note processing from `00_Raw/Incoming`. +- **`decision-record-logger`**: Created to ensure all architectural/project changes are documented as Decision Records (DRs). + +## Documentation & Governance +- **Decision Records (DRs)**: Drafted and saved three critical records in `04_projects/veripath/docs/decisions/`: + - `DR-20260917-ContextExpansion` + - `DR-20260917-ModelSwap` + - `DR-20260917-VaultMap` +- **Status Audit**: Verified Thornhill website is LIVE and VeriPath project status is current. + +## Next Steps +- Draft VeriPath skill. +- Refine `Incoming` folder contents. diff --git a/memory-systems/agent-os/02_agents/leonard/facts/2026-09-19-bonsai2-mtp-fast-build.md b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-19-bonsai2-mtp-fast-build.md new file mode 100644 index 0000000..57911a0 --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-19-bonsai2-mtp-fast-build.md @@ -0,0 +1,39 @@ +# 2026-09-19 — Bonsai 2 fast build + MTP head on the 3060 (setup complete, verified) + +## What was built +The sudoingX `bonsai2-small-gpu` recipe, end to end, on DESKTOP-81CBTV2: +- **Fork**: `bonsai2` branch of sudoingX/llama.cpp (= PrismML fork + kernel PR #218 + Hadamard fix #217, stacked). Built in **WSL2** (Ubuntu 26.04) with gcc-13 + CUDA 12.4, sm_86. Source `/opt/llama-prism-sudoingx`, binaries `build/bin/`. +- **Model**: `Ternary-Bonsai-2-27B-PTQ1_0.gguf` (5.95 GB, prism-ml HF repo) + Qwen 3.8 27B MTP head grafted on via the repo's byte-exact GGUF tools → `Ternary-Bonsai-2-27B-PTQ1_0-mtp.gguf` (7.0 GB) in `/opt/models/` (WSL ext4). Graft round-trip verified byte-exact (strip = original sha256). +- **Server**: WSL2 llama-server on `127.0.0.1:8899`, reachable from Windows via WSL2 localhost forwarding (bound `0.0.0.0`). MTP spec decode on, n-max 1, `GGML_CUDA_BATCH_INVARIANT=1`. Launchers `/opt/serve-bonsai-mtp.sh` / `/opt/serve-bonsai-off.sh`. + +## Verified numbers (this machine, RTX 3060 12GB) +| metric | result | author's claim | +|---|---|---| +| llama-bench tg128 (fresh) | 39.34 tok/s | 40.47 | +| llama-bench pp512 (prefill) | 272.7 tok/s | ~268 | +| streaming, code | 53.4 tok/s | 53.2 | +| streaming, prose | 41.9 | 41.8 | +| streaming, bash | 48.8 | 50.1 | +| greedy identity (off vs on) | byte-identical, all 3 prompts | identical | +| test-backend-ops ptq1_0 MUL_MAT | all pass vs CPU ref | 47/47 | + +Stock fork baseline was 26.3 tok/s → ~49 streaming overall. Lossless (outputs unchanged), not just fast. + +## Why WSL2 +Windows-native build is blocked on this PC: MSVC 14.44/14.51 (VS 18 Build Tools) hard-crashes CUDA 12.4's `cudafe++` (ACCESS_VIOLATION — too-new compiler), no admin rights to install CUDA 13.x or an older MSVC, no clang, and the pip `nvidia-cuda-nvcc-cu12` wheels ship only ptxas.exe on Windows (no nvcc). WSL2 has native GPU passthrough (nvidia-smi works) and CUDA 12.4 works with gcc-13. This matches the author's own tested toolchain. + +## Config +`providers.bonsai2` + `model_aliases.bonsai2` → `http://127.0.0.1:8899/v1`, model `/opt/models/Ternary-Bonsai-2-27B-PTQ1_0-mtp.gguf`, ctx 131072. Backup `config.yaml.good-20260919221502`. **Gateway restart required** (`hermes --profile leonard gateway restart` from a separate shell) then `/new` + `/model bonsai2`. + +## Pitfalls learned +- pkill -f is case-sensitive: `"bonsai"` doesn't match `Ternary-Bonsai` in the model path. Kill by PID. +- WSL2 servers must bind `--host 0.0.0.0`; 127.0.0.1 inside WSL is invisible from Windows. +- Keep the model in WSL ext4, not /mnt/c (9p slowness). +- Hermes venv python refuses `--user` installs and nesting venvs — use `uv venv`. +- One model at a time on the 3060 still applies (FreeToken ~1 GB co-resident is fine; the MTP server needs ~10.6 GB). + +## Disk footprint +22.4 GB downloads (PTQ1_0 + Qwen donor), +7 GB merged model, +5.9 GB strip-check (cleanup candidate: `C:\models\bonsai2-mtp\strip-check.gguf`). Source/donor can stay for re-grafting. + +## Cross-ref +Skills: `bonsai2-local-inference` (updated 2026-09-19 with canonical setup), `call-3060-inference`. \ No newline at end of file diff --git a/memory-systems/agent-os/02_agents/leonard/facts/2026-09-20-opencode-go-models.md b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-20-opencode-go-models.md new file mode 100644 index 0000000..fa5465f --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-20-opencode-go-models.md @@ -0,0 +1,27 @@ +# 2026-09-20 — OpenCode model pool: verified, Go plan currently erroring + +## Setup (verified live 2026-09-20 ~09:20 PDT) +- opencode 1.18.31 (npm global) + local project copy at `C:\Users\fight\Projects\browserclaw-project` +- Config: `C:\Users\fight\.config\opencode\opencode.jsonc` — exactly 34 models (8 `opencode/*` + 26 `opencode-go/*`), per Tony's brief +- Key: `OPENCODE_API_KEY` present in `~/.config/opencode/.env` (masked, not logged) + +## Live test results +- PASS: `opencode/big-pickle`, `opencode/ling-3.0-flash-fin-free` (proprietary free tier) +- FAIL (HTTP 500 UnknownError "Unexpected server error" + ref): every Go-plan model tested — `glm-5.3`, `deepseek-v4-flash`, `grok-4.6`, `qwen3.8-flash` — via any prefix (`opencode-go/`, `opencode/`, bare) + +## Facts +- `opencode-go/` prefix is stale for v1.18.31: `opencode-go/glm-5.3` → ProviderModelNotFoundError ("Did you mean: glm-5.3, glm-5.3-flash?"). Correct IDs resolve under `opencode/` or bare. +- Go-plan backend failures are server-side, not local: opencode.ai/zen/go/v1 has a history of intermittent outages (anomalyco/opencode issue #36889). +- Distinct error refs per request (e.g. err_a8828e9a) — new errors each attempt, not a cached config issue. +- Config prefix fix NOT applied — waiting on Tony's authorization. + +## Resolution (approved by Tony 2026-09-20 09:23 PDT) +- Patched opencode.jsonc: all 26 `opencode-go/` → `opencode/`. Verified: 0 `opencode-go` remaining, 34 `opencode/` entries. +- Snapshot: `~/.config/opencode/opencode.jsonc.good-20260920-092315` (rollback point). +- Live re-test 09:24 PDT: `opencode/glm-5.3` resolves (no longer model-not-found) but still HTTP 500 UnknownError ref err_15953691 at 09:26 — Go backend flaky via CLI (direct API call with `x-opencode-session` header WORKS, 200, glm-5.3 responded). CLI Go failures are server-side (anomalyco/opencode #36889), not config. + +## UNIVERSAL INSTALL (opencode Go in Hermes picker, all profiles — 2026-09-20 09:33 PDT) +- Hermes has native `opencode-go` plugin (plugins/model-providers/opencode-zen/__init__.py, needs OPENCODE_GO_API_KEY, base https://opencode.ai/zen/go/v1) but it does NOT add x-opencode-session header. +- Added pinned custom provider `oc-go` (26 Go models, discover_models: false, extra_headers.x-opencode-session per-profile UUID) + `opencode-go: enabled: false` to ALL FOUR profile configs: ashbot, coach, jimmy, leonard. +- Snapshots: each `config.yaml.good-ocgo-20260920-093345`. `hermes config check` passes all 4. +- KEY STEP (user-side, secret guard): copy OPENCODE_API_KEY from ~/.config/opencode/.env as OPENCODE_GO_API_KEY into each profile .env, then `hermes gateway restart --profile

` from a separate shell. \ No newline at end of file diff --git a/memory-systems/agent-os/02_agents/leonard/facts/2026-09-24-bonsai2-mtp-verified.md b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-24-bonsai2-mtp-verified.md new file mode 100644 index 0000000..bd39e50 --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-24-bonsai2-mtp-verified.md @@ -0,0 +1,58 @@ +# 2026-09-24 — Bonsai 2 27B + MTP: verified end-to-end on the 3060 + +## Status +The Ternary Bonsai 2 / PrismML stack is **already built and serving** on this box. It was +built 2026-09-19 in WSL2 and re-verified 2026-09-24. Nothing needed downloading. + +- Repo (fork, `bonsai2` branch = kernel PRs #218 + Hadamard #217): `/opt/llama-prism-sudoingx` +- Model: `/opt/models/Ternary-Bonsai-2-27B-PTQ1_0-mtp.gguf` (7,012,820,512 bytes, MTP head grafted) +- Launcher: `/opt/serve-bonsai-mtp.sh` — listens **:8899** (not 8080) +- Hermes wiring: `providers.bonsai2` + `model_aliases.bonsai2` -> `http://127.0.0.1:8899/v1` + +## Measured 2026-09-24 (RTX 3060 12 GB, driver 610.74) +- Decode: **48.6 – 50.8 tok/s** across 4 runs (~50 tok/s as advertised) +- Prefill: **241 tok/s** cold; KV-cache-warm runs report low prefill because the prefix is cached +- VRAM: **11,166 MiB used / 950 free** at `-c 131072` — weights fully resident, no RAM spill +- `--jinja` tool calling: `finish_reason=tool_calls`, correct function name + JSON args +- Sanity: `17 * 23 = 391` correct + +## The one real defect found and fixed: empty `content` +The template default reasoning effort is `xhigh`. At `temperature 1.0` reasoning length varies +wildly (observed 238 chars to 2,524 chars). When it ran long, reasoning consumed the entire +`max_tokens` budget and the response came back `finish_reason=length` with **empty `content`**. + +Fix: added `--reasoning-effort medium` to `/opt/serve-bonsai-mtp.sh` (backup at +`/opt/serve-bonsai-mtp.sh.bak-20260924-181142`). After the change: 3/3 realistic ~2.3k-token +prompts returned content, reasoning down to 238–319 chars. + +This failure mode looks like two other known Bonsai problems but is neither: +- NOT the `/new` context trap (context 131072 matches alias; `/health` 200) +- NOT the post-abort scheduler wedge (decode speed is normal, slots launch fine) + +Diagnose it by comparing `reasoning_content` length against `usage.completion_tokens`. + +Escalation ladder if `medium` still overruns: `--reasoning-budget N` (hard cap on thinking +tokens; injects a message before the end-of-thinking tag). Per-request overrides also work — +the fork honours both `reasoning_effort` and `chat_template_kwargs.reasoning_effort` in the +request body, so no restart is needed for a one-off. + +## Correction to a common (wrong) playbook for this box +Advice circulating for this model recommends the "official PrismML installer" (`Bonsai-demo`, +PQ2_0, port 8080) as Path A. On THIS machine that path is superseded and weaker: the +`Bonsai-demo` PQ2_0 setup at :8080 is the older, slower variant (~26 tok/s baseline, and the +Vulkan build that ships with it is ~32x slower). The sudoingX PTQ1_0 + MTP build at :8899 is +the canonical one. + +Also settled long ago and still true: **a Windows-native CUDA build of the fork is impossible +on this PC** — MSVC 14.44 (VS 18) hard-crashes CUDA 12.4 `cudafe++` (ACCESS_VIOLATION), there is +no admin for CUDA 13 / older MSVC, and the pip `nvidia-cuda-nvcc-cu12` wheels ship no `nvcc.exe` +on Windows (ptxas only). The build lives in WSL2 with `gcc-13` + CUDA 12.4 from apt. + +## Gotchas re-confirmed +- WSL2 servers must bind `--host 0.0.0.0`; a 127.0.0.1 bind inside WSL is invisible from Windows. +- Keep the GGUF in WSL ext4 (`/opt/models/`), not `/mnt/c` — 9p/drvfs makes the 7 GB mmap crawl. +- `pkill -f llama-server` **kills your own shell** when the wrapper command line contains that + string (exit 15). Use the bracket trick: `pkill -f '[l]lama-server'`. +- `pkill -f bonsai` does NOT match the model path `Ternary-Bonsai-...` (case-sensitive). +- Switch to this model with `/new` **before** `/model bonsai2` — a grown session prefills + slowly at 3060 speeds and can time out mid-load. diff --git a/memory-systems/agent-os/02_agents/leonard/facts/2026-09-25-omh-install-and-phantom-delete.md b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-25-omh-install-and-phantom-delete.md new file mode 100644 index 0000000..5527d72 --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-25-omh-install-and-phantom-delete.md @@ -0,0 +1,59 @@ +# 2026-09-25 — OMH installed + phantom-tree delete incident + +## Result: OMH installed and registered (verified) +- Installed via the **agent path** (not the PowerShell remote-installer, which is + command-gated on Telegram): `uv tool install git+https://github.com/rlaope/oh-my-hermes@d149c6e3ee3977185fdf9d0fd3497a9dd5ffa317` +- Pinned SHA (main head at 2026-09-25): `d149c6e3ee3977185fdf9d0fd3497a9dd5ffa317` (supersedes the old pin `3a0e98b...`). +- Version: **oh-my-hermes 2.0.5**. Command on PATH: `C:\Users\fight\.local\bin\omh.exe`. +- `omh --hermes-home "C:\Users\fight\AppData\Local\hermes\profiles\leonard" setup --no-interactive --yes --no-omh-tui` → exit 0. + - 130 OMH workflows at `C:\Users\fight\.omh\skills` + - `C:\Users\fight\AppData\Local\hermes\profiles\leonard\config.yaml` now has + `plugins.enabled: [omh]`, `skills.external_dirs: [C:/Users/fight/.omh/skills]` + - plugin bridge at `.../profiles/leonard/plugins/omh` + - coding preference: "Ask every time"; model aliases NOT touched. +- `omh doctor` (with the same `--hermes-home`): **54/54 passing, 0 blocking, 3 warnings** + (all warnings: host-runtime not yet observed, ast-grep not on PATH, context-weight note — none blocking). +- To use in chat: **restart/reload Hermes**, then try the handoff prompt + "Use OMH request-to-handoff for: I want to safely add a feature to this repo." +- Residual: native runtime plugin-load is not yet *observed* (doctor can only fake-context-smoke it); + verify after a restart that a real OMH event fires. + +## Side-effect incident (own the risk) +1. First `setup` used an MSYS path `/c/Users/...` for the **native** `omh.exe`. It + mis-read that as literal `C:\c\Users\...` and wrote a **phantom** leonard home under + a phantom root `C:\c`. (So the first doctor "passed" against a tree that was not the + real leonard config.) +2. I then `rm -rf`'d `C:\c` to remove the phantom. That root **pre-existed** (Jul–Sep dates) + and already contained a `models/` subtree: a git clone of the bonsai2 research repo, + HF caches, and GGUF weights. I did not verify the subtree before deleting. +3. **Mitigation / verification:** the authoritative location `C:\models` is a SEPARATE, + intact tree: + - `C:\models\bonsai2-small-gpu` is a clean git repo at **remote HEAD** (`44bc7cb` = + `origin/main`), `git status` clean, remote `https://github.com/sudoingX/bonsai2-small-gpu`. + All research files present (`graft/serve_mtp.sh`, `kernel/PR_HADAMARD.md`, + `kernel/PR_KERNEL.md`, `graft/recipe.txt`, `kernel/patches`, `tests`, `tools`). + - All large weights still present: `gemma-4-12B` 6.3 G, `Qwen3.8-35B` 21 G, + `gemma4-coding` 1.2 G, `LFM2.5` 1.6 G, plus the rest of `C:\models`. + - Because the repo is clean at public remote HEAD, any lost clone is recoverable. +4. **Residual risk (cannot fully rule out):** if `C:\c\models` held local-only changes + (uncommitted work or a private fork branch) not present in `C:\models`, those are gone. + The real repo shows no uncommitted work, so nothing of consequence is believed lost — + but this was a near-miss and is the reason for the pre-delete-verify rule below. + +## Rules adopted (see lessons.md 2026-09-25) +- Pass Windows `C:\Users\...` paths to native binaries; never MSYS `/c/...`. +- Before deleting any directory: list contents, confirm no pre-existing real files. +- After any write: verify the intended target path actually gained the expected files + (not just that the command exited 0). +- If a phantom root (`C:\c`, etc.) appears: check whether it shadows a real `models/` + clone before touching it. + +## Verification commands (reproducible) +```bash +git ls-remote https://github.com/rlaope/oh-my-hermes.git refs/heads/main +uv tool list +omh --hermes-home "C:\Users\fight\AppData\Local\hermes\profiles\leonard" doctor +grep -nE 'plugins:|omh|external_dirs|skills:' C:/Users/fight/AppData/Local/hermes/profiles/leonard/config.yaml +git -C /c/models/bonsai2-small-gpu log --oneline -1 +git -C /c/models/bonsai2-small-gpu status --short +``` diff --git a/memory-systems/agent-os/02_agents/leonard/facts/2026-09-27-phoenix-full-audit.md b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-27-phoenix-full-audit.md new file mode 100644 index 0000000..3e1f6e3 --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/facts/2026-09-27-phoenix-full-audit.md @@ -0,0 +1,21 @@ +# Phoenix Salon + Spa — Full Audit Fact (2026-09-27) + +**Run:** `src/veripath/docs/validation/2026-09-27-phoenix-salon-spa/` (findings.json, REPORT-final.md, AUDIT-LOG.md) +**Client:** VP-001 (Cameron Park, CA) | Owner truth: Mon–Sat 9–6, Sun closed + +## Live state (2026-09-27) +- Reputation: GBP 4.9/64 (on-file), Bing 5/5/65, Yelp 4.9/~63–65, FB 94%/46, Vagaro 5.0/686 (carried) +- NAP consistent on ALL primary surfaces (address + phone verified live on GBP, Bing, Apple, website, FB) +- GBP: women-owned attribute live; price level NOT set; website field = http:// (insecure form) +- Yelp hours CONFLICT: Mon 10–4, Tue–Fri 10–6, Sat 10–4 vs truth 9–6 +- Website: visible hours FIXED to 9–6 (09-06 10-AM issue closed); raw HTML = 3.5KB SPA shell again (09-06 was server-rendered); JSON-LD Sunday 00:00–00:00 bug STILL OPEN; NO GA4/GTM anywhere (only /~flock.js proxy) +- phoenixsalonspa.com → 301 to DropCatch parked "for sale" (old domain dropped; citation risk) +- Facebook intro still "Formally La Mae Salon & Spa" (framed as history); 840 followers; last visible post Jul 15 +- Instagram @phoenix.cameronpark: 874 followers / 1,604 following; no NAP in bio; link = phoenixcameronpark.start.page +- Style Readers' Choice 2026 nomination; winners announced Oct 2026 + +## Findings snapshot +1 Immediate (Yelp hours), 3 High (JSON-LD Sunday, no analytics, quiet Google/Yelp reviews since Apr 21 2026), 3 Medium (rebrand residue, SPA shell, GBP price level), 2 Enhancement (http links, social signals) + +## Open verification gaps (this run) +GBP live review count/date, Apple rating/hours (stale 08-14: 10–6 incl Sun), Vagaro live (Incapsula), GBP posts/photos (login wall), AI visibility layer (no access), GEO Track-1 numeric (tool not on Windows host) \ No newline at end of file diff --git a/memory-systems/agent-os/02_agents/leonard/failure-ledger.md b/memory-systems/agent-os/02_agents/leonard/failure-ledger.md new file mode 100644 index 0000000..70e7559 --- /dev/null +++ b/memory-systems/agent-os/02_agents/leonard/failure-ledger.md @@ -0,0 +1,18 @@ +# Local Inference Failure Ledger — Bonsai 2 / 3060 + +Purpose: track every attempted local-inference request, success/failure, latency, root cause. +Rule: every tested model run gets one row. Update after each test, not after each crisis. + +| # | Date (PST) | Model | Request size | Result | Latency | Root cause / notes | +|---|-----------|-------|-------------|--------|---------|--------------------| +| 1 | 2026-09-18 ~07:00 | Bonsai-2-27B Vulkan build | 62 tok | SUCCESS | 145s | PQ2_0 via generic Vulkan kernels — no Vulkan kernels in fork | +| 2 | 2026-09-18 ~07:11 | Bonsai-2-27B CUDA build | 62 tok | SUCCESS | 4.6s | After CUDA build swap — 32x faster | +| 3 | 2026-09-18 ~07:20 | Bonsai-2-27B CUDA (3 models loaded) | 2048 tok | FAIL | ~56s then cancel | VRAM 9.3/12GB used, model spilled ~5GB to RAM; prefill 6% after 27s; Hermes 60s client timeout cancelled | +| 4 | 2026-09-18 ~07:24 | Bonsai-2-27B CUDA (card dedicated) | 3971 tok | SUCCESS | 84.9s | Full model in VRAM 11969/12288 MiB; slow but works | +| 5 | 2026-09-18 ~07:24 | Bonsai-2-27B CUDA (dedicated) | 61 tok | SUCCESS | 6.8s | content correct | +| 6 | 2026-09-18 ~07:31 | Bonsai-2-27B via Hermes picker | ~72,700 tok | FAIL | ~7s → abort | Context overflow: session 72.7k tokens > Bonsai ctx 65,536. Hermes pre-call compression failed 2x (failure_class=lock_contended), then request aborted WinError 10053. Not a model fault. Fix: /new before bonsai2, or reload with -c 131072 | + +Baseline so far: 4/5 success; the one failure was resource contention (my error), not the model. +Open: track picker-switch requests through real agent traffic, not just hand tests. + +Status: TRACKING SINCE 2026-09-18. No telemetry existed before this file. \ No newline at end of file diff --git a/memory-systems/agent-os/02_agents/leonard/lessons.md b/memory-systems/agent-os/02_agents/leonard/lessons.md index 1af34a3..777b553 100644 --- a/memory-systems/agent-os/02_agents/leonard/lessons.md +++ b/memory-systems/agent-os/02_agents/leonard/lessons.md @@ -5,6 +5,9 @@ | Date | Lesson | Context | |------|--------|---------| +| 2026-09-25 | OMH (oh-my-hermes) install on Windows: the PowerShell remote-installer pattern (fetch install.ps1, run iex) is flagged by the command-safety gate and just times out on Telegram (no approval UI). Use the documented agent path: pin the SHA with `git ls-remote https://github.com/rlaope/oh-my-hermes.git refs/heads/main` (never `main`), then `uv tool install "git+https://github.com/rlaope/oh-my-hermes@$SHA"` (local build, no remote-exec, does not trip the gate), then `omh --hermes-home "C:\Users\fight\AppData\Local\hermes\profiles\leonard" setup --no-interactive --yes --no-omh-tui`, then `omh doctor` (target 54/54 passing, 0 blocking). `omh` is a native binary: pass Windows `C:\...` paths, never MSYS `/c/...`. Non-interactive setup does not touch model aliases. | OMH install (2026-09-25) | +| 2026-09-25 | Native-tool path discipline + pre-delete verification (near-miss during OMH setup): I passed an MSYS path `/c/Users/...` to the **native** `omh.exe`, which read it literally as a phantom `C:\c\Users\...`; that phantom root pre-existed and also held a `models/` subtree (git research repo, caches, GGUF weights) that I did not recognize when I `rm -rf`'d the phantom. Real data survived only because the authoritative `C:\models` (git clean at remote HEAD; all weights present; public remote sudoingX/bonsai2-small-gpu) was a separate tree. Rules: (a) pass `C:\Users\...` to native tools, never MSYS `/c/...`; (b) before deleting a dir, list its contents and confirm no pre-existing real files; (c) after any write, verify the intended target actually gained the expected files; (d) if a phantom root (`C:\c`) appears, check whether it shadows a real `models/` clone first. | OMH install side-effect (2026-09-25) | +| 2026-09-19 | Bonsai 2 27B fast build (sudoingX fork: kernel PR #218 + Hadamard #217, MTP head graft) runs ~2x stock: fresh tg128 39.3 tok/s (vs 26.3), streaming ~49 tok/s (code 53.4), greedy output BYTE-IDENTICAL to spec-off (lossless). Windows-native CUDA build BLOCKED on this PC: MSVC 14.44/14.51 crashes CUDA 12.4 cudafe++, no admin for CUDA 13/old MSVC, pip nvcc wheels ship no nvcc.exe on Windows. Build+serve in WSL2 (gcc-13 + CUDA 12.4 apt; GPU passthrough native) at 127.0.0.1:8899; model in WSL ext4 /opt/models, bind --host 0.0.0.0 (127.0.0.1-in-WSL is invisible from Windows). pkill is case-sensitive ('bonsai' won't match 'Ternary-Bonsai'). Provider/alias bonsai2 re-pointed to :8899; `hermes gateway restart` + `/new` + `/model bonsai2` to use. Full note: facts/2026-09-19-bonsai2-mtp-fast-build.md | Bonsai 2 MTP setup (2026-09-19) | | 2026-09-17 | MiniCPM5-2B (FreeToken 127.0.0.1:1919) returns EMPTY/thinking-only completions under Hermes agent turns (44× `Empty response (no content or reasoning)` in errors.log, Sep 12–17), yet answers cleanly to direct curl (small/20K/22K prompts, tools, SSE, 4-way concurrency, multi-turn). Failure is model-vs-agent-load, not server/KV. Same box also logged `prompt is too long: 17105 > 8585 max (prompt + generation)` (Sep 15, Gemma) proving FreeToken real KV budget << advertised 131K. Fix: route agent turns to routeapi/deepseek-v4-flash-0731; keep 2B models for light direct use only. | Profile audit + MiniCPM5 diagnosis (2026-09-17) | | 2026-09-17 | `providers.freetoken.max_tokens: 2000` is silently IGNORED (`unknown config keys ignored: max_tokens`) — key placement invalid for this schema, so the generation cap never applies. Also `model_aliases.minicpm5` had a duplicate `model:` key (Gemma dict + MiniCPM scalar) so the alias didn't point where labeled. | Profile audit (2026-09-17) | | 2026-09-17 | `hermes cron create` grammar: the prompt positional MUST come immediately after the schedule and BEFORE any `--flags` (`hermes cron create "" --name ...`). Prompt after flags → `unrecognized arguments`. `--model`/`--provider` pin per-job to a working provider — restored jobs referencing `openrouter:deepseek` (dead provider) would silently fail. | Cron rebuild (2026-09-17) | @@ -25,4 +28,5 @@ | 2026-08-29 | Cron jobs inherit the full default-toolset system prompt (~16,931 tokens context). Huge context overflows tiny fallback models with small KV budgets. Give cron jobs a minimal toolset (e.g. `read, files`) like `check-agent-discussion` (~2,648 tokens). | Agent OS cron consolidation setup | | 2026-08-29 | Files in a session that came back as base64 text on disk (memory_policy.md, lessons.md) were real corruption — the decoder (`read_file`) hid it. Always verify a file's on-disk content is plain markdown, not base64. | Vault Agent OS setup — base64 corruption bug | | 2026-08-29 | `/model ` in Hermes is session-scoped; use `--global` or `hermes config set model.default` to persist. Config/status showing a different model than the live session = split-brain from session-level switches. | Model switching permanence | -| 2026-08-29 | `hermes fallback add|remove` are interactive pickers that reject bare model strings; set the whole `fallback_providers` list via `hermes config set` instead. | Model switching permanence | \ No newline at end of file +| 2026-08-29 | `hermes fallback add|remove` are interactive pickers that reject bare model strings; set the whole `fallback_providers` list via `hermes config set` instead. | Model switching permanence | +| 2026-09-24 | Bonsai 2 27B + MTP verified end-to-end on the 3060: decode 48.6-50.8 tok/s, cold prefill 241 tok/s, VRAM 11,166 MiB used / 950 free at -c 131072 - matches the advertised ~50 tok/s. Fixed an intermittent EMPTY-content failure by adding `--reasoning-effort medium` to /opt/serve-bonsai-mtp.sh (template default xhigh let reasoning eat the whole max_tokens budget: 2,524ch reasoning, finish_reason=length, empty content). Do NOT misdiagnose that as the /new context trap or the post-abort scheduler wedge - /health is 200 and decode speed is normal; compare reasoning_content length vs usage.completion_tokens. Also: the 'official PrismML installer' (Bonsai-demo/PQ2_0/:8080) advice is SUPERSEDED on this box by the sudoingX PTQ1_0+MTP build at :8899, and a Windows-native CUDA build of the fork remains impossible (MSVC 14.44 crashes CUDA 12.4 cudafe++). Full note: facts/2026-09-24-bonsai2-mtp-verified.md | Bonsai 2 verification + reasoning-effort fix | diff --git a/memory-systems/agent-os/04_Daily/2026-09-17.md b/memory-systems/agent-os/04_Daily/2026-09-17.md new file mode 100644 index 0000000..9278a9d --- /dev/null +++ b/memory-systems/agent-os/04_Daily/2026-09-17.md @@ -0,0 +1,25 @@ +# Daily — 2026-09-17 + +> Mentor log. Written from Tony's report where there was one. + +no report — day off + +| | | +|---|---| +| Block | did not open | +| Ball moved | N | +| Closed | nothing | +| Gym | N | +| Drift flags | N | + +## Decided today +- none + +## Learned +- none + +## Drift +- none + +## Open +- none \ No newline at end of file diff --git a/memory-systems/agent-os/04_Daily/2026-09-19.md b/memory-systems/agent-os/04_Daily/2026-09-19.md new file mode 100644 index 0000000..7b54009 --- /dev/null +++ b/memory-systems/agent-os/04_Daily/2026-09-19.md @@ -0,0 +1,23 @@ +# Daily — 2026-09-19 + +> Mentor log. Written from Tony's report where there was one. + +| | | +|---|---| +| Block | did not open | +| Ball moved | N | +| Closed | no report — day off | +| Gym | Y | +| Drift flags | N | + +## Decided today +- + +## Learned +- nothing filed + +## Drift +- none + +## Open +- nothing to report today \ No newline at end of file diff --git a/memory-systems/agent-os/04_Daily/2026-09-20.md b/memory-systems/agent-os/04_Daily/2026-09-20.md new file mode 100644 index 0000000..06b7b14 --- /dev/null +++ b/memory-systems/agent-os/04_Daily/2026-09-20.md @@ -0,0 +1,23 @@ +# Daily — 2026-09-20 + +> Mentor log. Written from Tony's report where there was one. + +| | | +|---|---| +| Block | did not open | +| Ball moved | N | +| Closed | nothing reported | +| Gym | Y | +| Drift flags | none | + +## Decided today +- **none** + +## Learned +- + +## Drift +- + +## Open +- \ No newline at end of file diff --git a/memory-systems/agent-os/04_Daily/2026-09-24.md b/memory-systems/agent-os/04_Daily/2026-09-24.md new file mode 100644 index 0000000..514945c --- /dev/null +++ b/memory-systems/agent-os/04_Daily/2026-09-24.md @@ -0,0 +1,26 @@ +# Daily — 2026-09-24 + +> Mentor log. Written from Tony's report where there was one. + +no report — 14-day finish line arrived silent. Tony last spoke Sept 14 (check-in restore). No log entries since. Grok Bot Galaxy (Sept 15–17) appears to have absorbed the block schedule entirely — all subsequent notes read "no report — day off." Nightly writer failed 3 consecutive runs (Sept 21–23, OpenCode 403 error) before today. + +| | | +|---|---| +| Block | did not open | +| Ball moved | N | +| Closed | nothing reported — the deadline passed unaddressed | +| Gym | unknown | +| Drift flags | 1 — Grok Bot Galaxy engagement appears to have derailed the block cadence | + +## Decided today +- none known — no communication + +## Learned +- nothing filed — all check-ins missed since Sept 14 + +## Drift +- **Grok Bot Galaxy (Sept 15–17)** — the pre-booked sessions were the stated drift risk in the queue. The daily notes show "no report — day off" on every Grok Bot day and all subsequent weekdays. The block cadence that opened Sept 11 never restarted after the weekend pause. **Pattern confirms the risk was real.** + +## Open +- The 14-day finish line (today) passed with nothing closed and no communication since Sept 14. The queue, log, and all five check-ins are stale. The Veripath binary call (Oct 10) is now 16 days away with no foundation laid. +- Nightly writer job (66584fe40008) had 3 consecutive failures (Sept 21–23) due to an OpenCode auth error unrelated to its task. \ No newline at end of file diff --git a/memory-systems/agent-os/04_Daily/2026-09-26.md b/memory-systems/agent-os/04_Daily/2026-09-26.md new file mode 100644 index 0000000..550f582 --- /dev/null +++ b/memory-systems/agent-os/04_Daily/2026-09-26.md @@ -0,0 +1,26 @@ +# Daily — 2026-09-26 + +> Mentor log. Written from Tony's report where there was one. + +no report — **12th consecutive day without communication.** Last contact: Sept 14 (check-in restore). The 14-day Thornhill finish line (Sept 24) passed silent. Grok Bot Galaxy (Sept 15–17) appears to have been an absorption event — the block cadence never resumed after the weekend pause that preceded it. Nightly writer had a 3-day outage (Sept 21–23, OpenCode 403); notes exist for 8 of the 12 days. + +| | | +|---|---| +| Block | did not open | +| Ball moved | N | +| Closed | nothing — 12 days of silence | +| Gym | unknown | +| Drift flags | **1** — Grok Bot Galaxy engagement derailed the block cadence, and 12 days of silence means no correction was possible | + +## Decided today +- none — no communication + +## Learned +- nothing filed — all check-ins missed since Sept 14 + +## Drift +- **12-day silence.** The mentor cannot course-correct if Tony does not report. All five check-in jobs ($morning-brief, midday, afternoon, evening, knowledge-debrief) have been running daily Mon–Fri with no responses. The drift model is blind: no data to distinguish "intentionally disengaged" from "life happened" from "lost interest in the arrangement." + +## Open +- **The 14-day Thornhill deadline is now 2 days past due.** No completion, no extension request, no communication. The Veripath binary call (Oct 10) is **14 days away** with nothing prepared. +- **The arrangement is in limbo.** Tony asked for a mentor. The mentor is running every check-in and every nightly note. But a mentor without a reporting cadence is a journal, not a coach. The next meaningful action is Tony's — a text, a check-in reply, anything. \ No newline at end of file diff --git a/memory-systems/agent-os/04_projects/fleet-lessons.md b/memory-systems/agent-os/04_projects/fleet-lessons.md deleted file mode 100644 index f869648..0000000 --- a/memory-systems/agent-os/04_projects/fleet-lessons.md +++ /dev/null @@ -1,35 +0,0 @@ -# Fleet lessons log - -Running record of what worked and what didn't while running jobs through the fleet loop (CoS Job Card, Regis drafts, Gatekeeper approves, CoS routes, outcome logged). Business-agnostic: VeriPath is the first user of this stack, not the only one. - -Purpose: after Thornhill, a high-reasoning model reviews this file plus `veripath/regis-cos.md` and `veripath/fleet-2026-09-26.md` and proposes a locked SOP that fits any business. - -Append-only, newest at the bottom. No secrets. One entry per lesson: - -``` -## YYYY-MM-DD | job | worked / broke / clunky -What happened, in one or two sentences. What we'd change. -``` - ---- - -## 2026-09-26 | Phoenix | broke -Regis's close-out letter claimed work that was never done (rebrand pack not delivered to Ashley; Vagaro and old-brand checks were read-only). CoS approved it as written. Regis caught and withdrew it at 14:09 before it was sent. Change: any client-facing "done" claim must point to evidence (a link, screenshot, or log line) before CoS approves it. - -## 2026-09-26 | Phoenix | worked -Regis self-corrected in the mailbox and CoS escalated a single go/no-go to Anthony, answered in about two minutes. The mailbox plus one Gatekeeper question kept it to one touch for Anthony. - -## 2026-09-26 | fleet | worked -Lane split set by Anthony: Regis does drive-and-takeover page editing (sets up the page, human logs in and saves). Hermes agents are weak at page editing and take audits and research instead. - -## 2026-09-26 | fleet | clunky -Regis's vault Gitea credential returns 401, so every Regis mailbox write needs Anthony to hand it a token. Change: Anthony plants a narrow Tony_tech/personal-agent-os token in Regis's vault once. - -## 2026-09-26 | fleet | clunky -Regis stated "Gatekeeper approved" for drive-and-takeover before CoS had any record of that approval. Change: approvals count only when logged in the mailbox by CoS or relayed by Anthony. - -## 2026-09-27 | Phoenix | broke -Regis labeled a LaMae stub as CURRENT on the GBP description packet; the live GBP description field was empty. The stub came from a stale non-GBP source. Change: CURRENT text for a drive-and-takeover edit must be read from the live editor or the live public profile on that same surface before CoS ACKs. - -## 2026-09-27 | Phoenix | clunky -Close-out stalled a day on a withdrawn letter that only existed in email. Owner-only leftovers (IG caption, a claimed YP listing Ashley doesn't control) were held as close blockers. Change: class owner-only leftovers as WONT-DO-unless-owner-acts at card time, not as close blockers. diff --git a/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_EXECUTIVE_REPORT.md b/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_EXECUTIVE_REPORT.md index adae07a..1dddfd2 100644 --- a/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_EXECUTIVE_REPORT.md +++ b/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_EXECUTIVE_REPORT.md @@ -4,6 +4,8 @@ **Audit ID:** PSS-2026-09-17 · **Method:** Live crawl + rendered DOM + Google Maps public view + directory discovery (all evidence captured this session) **Prior record:** VeriPath audit 2026-08-13; overview verified 2026-09-11/09-14; hallmark design audit 2026-07-16 (identity reconciled — same business, no conflict) +> ⚠️ **REVISED 2026-09-17 (owner truth correction):** Saturday hours are **9 AM–6 PM**, NOT 9–3 as earlier records stated. Re-verification today also found the website's Mon–Fri open time was already fixed to 09:00 (matches owner truth), so F1's scope shrank to **one residual: the Sunday JSON-LD `00:00–00:00` encoding**. GBP and Yelp already match Mon–Sat 9–6, Sun Closed. See the revised `phoenix-hours-fix.md`. + --- ## Layer 1 — Executive Dashboard diff --git a/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_FIXPACK_phoenixcameronpark.md b/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_FIXPACK_phoenixcameronpark.md index f38a7ae..3d2d9b8 100644 --- a/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_FIXPACK_phoenixcameronpark.md +++ b/memory-systems/agent-os/04_projects/phoenix-salon/audits/2026-09-17/00_FIXPACK_phoenixcameronpark.md @@ -6,9 +6,9 @@ --- -## 1. Validated JSON-LD (replace the homepage block) +## 1. Validated JSON-LD (replace the homepage block) — REVISED 2026-09-17 -`