- Add serve.py to resolve clean Quartz URLs to .html files - Regenerate Quartz site with correct baseUrl http://100.118.5.51:9120 - 196 HTML files emitted; all internal links now resolve
92 lines
40 KiB
HTML
92 lines
40 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" dir="ltr"><head><title>Current State</title><meta charset="utf-8"/><link rel="preload" href="./index-bb6c1746.css" as="style"/><link rel="preload" href="./prescript-2bfc6315.js" as="script"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Schibsted Grotesk:wght@400;700&family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&family=IBM Plex Mono:wght@400;600&display=swap"/><link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin="anonymous"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="og:site_name" content="Agent Estate Wiki"/><meta property="og:title" content="Current State"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Current State"/><meta name="twitter:description" content="Current State Updated: 2026-08-14 Attested facts Config version: 33 — Verified, ~/.hermes/config.yaml, 2026-07-25 Default profile: default — Verified, WebUI prompt, 2026-07-22 Timezone: Australia/Perth — User-provided + Verified in config, 2026-07-22 Main provider: custom:litellm → http://litellm:40..."/><meta property="og:description" content="Current State Updated: 2026-08-14 Attested facts Config version: 33 — Verified, ~/.hermes/config.yaml, 2026-07-25 Default profile: default — Verified, WebUI prompt, 2026-07-22 Timezone: Australia/Perth — User-provided + Verified in config, 2026-07-22 Main provider: custom:litellm → http://litellm:40..."/><meta property="og:image:alt" content="Current State Updated: 2026-08-14 Attested facts Config version: 33 — Verified, ~/.hermes/config.yaml, 2026-07-25 Default profile: default — Verified, WebUI prompt, 2026-07-22 Timezone: Australia/Perth — User-provided + Verified in config, 2026-07-22 Main provider: custom:litellm → http://litellm:40..."/><meta property="twitter:domain" content="http://100.118.5.51:9120"/><meta property="og:url" content="https://http//100.118.5.51:9120/current-state"/><meta property="twitter:url" content="https://http//100.118.5.51:9120/current-state"/><link rel="icon" href="./static/icon.png"/><meta name="description" content="Current State Updated: 2026-08-14 Attested facts Config version: 33 — Verified, ~/.hermes/config.yaml, 2026-07-25 Default profile: default — Verified, WebUI prompt, 2026-07-22 Timezone: Australia/Perth — User-provided + Verified in config, 2026-07-22 Main provider: custom:litellm → http://litellm:40..."/><meta name="generator" content="Quartz"/><link href="./index-bb6c1746.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-735924e0.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-589c1cea.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-bbc3f7c0.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-2911f5d1.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-e427079e.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-53b25b2b.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-c93c6a44.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-8a06014f.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-77d6a441.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-6ee21cee.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-1ea6ad18.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-34bdfded.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-788c9ca3.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-642859cd.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-4abc06bd.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-274a3dfe.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-94cb6c84.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-58d5ff56.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./component-7262b5a7.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./static/resource-style-a5c806d2.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./static/resource-style-6bd36952.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./static/resource-style-9857b007.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="./static/resource-style-d3a1a224.css" rel="stylesheet" type="text/css" data-persist="true"/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" rel="stylesheet" type="text/css" data-persist="true"/><script src="./prescript-2bfc6315.js" type="application/javascript" data-persist="true"></script><script type="application/javascript" data-persist="true">const fetchData = fetch("./static/contentIndex.json").then(data => data.json())</script><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Schibsted%20Grotesk%3Awght%40400%3B700&family=Source%20Sans%20Pro%3Aital%2Cwght%400%2C400%3B0%2C600%3B1%2C400%3B1%2C600&family=IBM%20Plex%20Mono%3Awght%40400%3B600&display=swap"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image" content="https://http://100.118.5.51:9120/current-state-og-image.webp"/><meta property="og:image:url" content="https://http://100.118.5.51:9120/current-state-og-image.webp"/><meta name="twitter:image" content="https://http://100.118.5.51:9120/current-state-og-image.webp"/><meta property="og:image:type" content="image/webp"/></head><body data-slug="current-state" data-basepath="//100.118.5.51:9120"><div id="quartz-root" class="page" data-frame="default"><div id="quartz-body"><div class="left sidebar"><h2 class="page-title"><a href=".">Agent Estate Wiki</a></h2><div class="mobile-only"><div class="spacer"></div></div><div class="flex-component" style="flex-direction: row; flex-wrap: nowrap; gap: 0.5rem;"><div style="flex-grow: 1; flex-shrink: 1; flex-basis: auto; order: 0; align-self: center; justify-self: center;"><div class="search"><button class="search-button" aria-label="Search" aria-expanded="false"><svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title>Search</title><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg><p>Search</p></button><div class="search-container"><div class="search-space"><input autocomplete="off" class="search-bar" name="search" type="text" aria-label="Search for something..." placeholder="Search for something..."/><div class="search-layout" data-preview="true" data-field-priority="["title","content","tags"]"></div></div></div></div></div><div style="flex-grow: 0; flex-shrink: 1; flex-basis: auto; order: 0; align-self: center; justify-self: center;"><button class="darkmode" aria-label="Dark mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35" xml:space="preserve" aria-label="Dark mode"><title>Dark mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100" xml:space="preserve" aria-label="Light mode"><title>Light mode</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,35.368s22.008,14.65,35.368,14.65c13.361,0,25.921-5.203,35.369-14.65 c3.872-3.871,7.064-8.328,9.491-13.246C97.826,68.608,97.611,67.309,96.76,66.458z"></path></svg></button></div><div style="flex-grow: 0; flex-shrink: 1; flex-basis: auto; order: 0; align-self: center; justify-self: center;"><button class="readermode" aria-label="Reader mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="readerIcon" fill="currentColor" stroke="currentColor" stroke-width="0.2" stroke-linecap="round" stroke-linejoin="round" width="64px" height="64px" viewBox="0 0 24 24" aria-label="Reader mode"><title>Reader mode</title><g transform="translate(-1.8, -1.8) scale(1.15, 1.2)"><path d="M8.9891247,2.5 C10.1384702,2.5 11.2209868,2.96705384 12.0049645,3.76669482 C12.7883914,2.96705384 13.8709081,2.5 15.0202536,2.5 L18.7549359,2.5 C19.1691495,2.5 19.5049359,2.83578644 19.5049359,3.25 L19.5046891,4.004 L21.2546891,4.00457396 C21.6343849,4.00457396 21.9481801,4.28672784 21.9978425,4.6528034 L22.0046891,4.75457396 L22.0046891,20.25 C22.0046891,20.6296958 21.7225353,20.943491 21.3564597,20.9931534 L21.2546891,21 L2.75468914,21 C2.37499337,21 2.06119817,20.7178461 2.01153575,20.3517706 L2.00468914,20.25 L2.00468914,4.75457396 C2.00468914,4.37487819 2.28684302,4.061083 2.65291858,4.01142057 L2.75468914,4.00457396 L4.50368914,4.004 L4.50444233,3.25 C4.50444233,2.87030423 4.78659621,2.55650904 5.15267177,2.50684662 L5.25444233,2.5 L8.9891247,2.5 Z M4.50368914,5.504 L3.50468914,5.504 L3.50468914,19.5 L10.9478955,19.4998273 C10.4513189,18.9207296 9.73864328,18.5588115 8.96709342,18.5065584 L8.77307039,18.5 L5.25444233,18.5 C4.87474657,18.5 4.56095137,18.2178461 4.51128895,17.8517706 L4.50444233,17.75 L4.50368914,5.504 Z M19.5049359,17.75 C19.5049359,18.1642136 19.1691495,18.5 18.7549359,18.5 L15.2363079,18.5 C14.3910149,18.5 13.5994408,18.8724714 13.0614828,19.4998273 L20.5046891,19.5 L20.5046891,5.504 L19.5046891,5.504 L19.5049359,17.75 Z M18.0059359,3.999 L15.0202536,4 L14.8259077,4.00692283 C13.9889509,4.06666544 13.2254227,4.50975805 12.7549359,5.212 L12.7549359,17.777 L12.7782651,17.7601316 C13.4923805,17.2719483 14.3447024,17 15.2363079,17 L18.0059359,16.999 L18.0056891,4.798 L18.0033792,4.75457396 L18.0056891,4.71 L18.0059359,3.999 Z M8.9891247,4 L6.00368914,3.999 L6.00599909,4.75457396 L6.00599909,4.75457396 L6.00368914,4.783 L6.00368914,16.999 L8.77307039,17 C9.57551536,17 10.3461406,17.2202781 11.0128313,17.6202194 L11.2536891,17.776 L11.2536891,5.211 C10.8200889,4.56369974 10.1361548,4.13636104 9.37521067,4.02745763 L9.18347055,4.00692283 L8.9891247,4 Z"></path></g></svg></button></div></div><div class="explorer nav-files-container" data-behavior="link" data-collapsed="collapsed" data-savestate="true" data-data-fns="{"order":["filter","map","sort"],"sortFn":"(a2, b2) => {\n if (!a2.isFolder && !b2.isFolder || a2.isFolder && b2.isFolder) {\n return (a2.displayName || \"\").localeCompare(b2.displayName || \"\", void 0, {\n numeric: true,\n sensitivity: \"base\"\n });\n }\n if (!a2.isFolder && b2.isFolder) {\n return 1;\n }\n return -1;\n }","filterFn":"(node) => node.slugSegment !== \"tags\"","mapFn":"(node) => {\n return node;\n }"}"><button type="button" class="explorer-toggle mobile-explorer hide-until-loaded" data-mobile="true" aria-controls="explorer-18" aria-label="Explorer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><button type="button" class="title-button explorer-toggle desktop-explorer" data-mobile="false" aria-expanded="true"><h2>Explorer</h2><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-18" class="explorer-content" aria-expanded="false" role="group"><ul class="explorer-ul overflow" id="list-0"><li class="overflow-end"></li></ul></div><template id="template-file"><li><a href="#" class="nav-file-title tree-item-self"></a></li></template><template id="template-folder"><li><div class="folder-container nav-folder-title tree-item-self"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon nav-folder-collapse-indicator collapse-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div><button class="folder-button"><span class="folder-title"></span></button></div></div><div class="folder-outer"><ul class="content tree-item-children"></ul></div></li></template></div></div><div class="center"><div class="page-header"><div class="popover-hint"><nav class="breadcrumb-container" aria-label="breadcrumbs"><div class="breadcrumb-element"><a href="./">Home</a><p> ❯ </p></div><div class="breadcrumb-element"><a href>Current State</a></div></nav><h1 class="article-title">Current State</h1><details class="note-properties metadata-container" open data-collapsed="false"><summary class="note-properties-header"><span class="note-properties-title">Properties</span><span class="note-properties-count">1</span></summary><table class="note-properties-table"><tbody><tr class="note-properties-row metadata-property"><td class="note-properties-key metadata-property-key">tags</td><td class="note-properties-value metadata-property-value"><span class="note-properties-tags"><a href="./tags/system" class="internal internal-link tag-link">system</a></span></td></tr></tbody></table></details><p show-comma="true" class="content-meta"><time datetime="2026-08-13T16:00:00.000Z">Aug 14, 2026</time><span>7 min read</span></p></div></div><article class="popover-hint"><div class="markdown-preview-view markdown-rendered"><h1 id="current-state">Current State<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#current-state" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h1>
|
||
<p>Updated: 2026-08-14</p>
|
||
<h2 id="attested-facts">Attested facts<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#attested-facts" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>Config version:</strong> 33 — Verified, <code>~/.hermes/config.yaml</code>, 2026-07-25</li>
|
||
<li><strong>Default profile:</strong> <code>default</code> — Verified, WebUI prompt, 2026-07-22</li>
|
||
<li><strong>Timezone:</strong> <code>Australia/Perth</code> — User-provided + Verified in config, 2026-07-22</li>
|
||
<li><strong>Main provider:</strong> <code>custom:litellm</code> → <code>http://litellm:4000/v1</code> — Verified, <code>~/.hermes/config.yaml</code>, 2026-07-22</li>
|
||
<li><strong>Default model:</strong> <code>freellmapi-auto</code> — Verified, <code>~/.hermes/config.yaml</code>, 2026-07-22</li>
|
||
<li><strong>Fallback/aux provider:</strong> <code>custom:omni</code> → <code>http://omni:20128/v1</code> — Verified, config, 2026-08-13 (migrated from <code>custom:omniroute</code>, CT600)</li>
|
||
<li><strong>OmniRoute host:</strong> <code>omni.kangaroo-eel.ts.net</code> → <code>100.93.204.4</code> — Verified, DNS resolution, 2026-08-13</li>
|
||
<li><strong>Memory backend:</strong> Mnemosyne — Verified, config, 2026-07-22</li>
|
||
<li><strong>Memory enabled:</strong> true — Verified, config, 2026-07-22</li>
|
||
<li><strong>Streaming enabled:</strong> true — Verified, config, 2026-07-22</li>
|
||
<li><strong>Dashboard public URL:</strong> <code>https://hermes.martinwa.org/</code> — Verified, config, 2026-07-22</li>
|
||
<li><strong>Pet config:</strong> enabled/slug null — Verified, config, 2026-07-22</li>
|
||
<li><strong>WebUI connected platforms:</strong> local, api_server, discord, email, homeassistant, mattermost, ntfy, slack, telegram, webhook — Verified, WebUI session, 2026-07-22</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-02">Recent Changes (2026-08-02)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-02" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>Browser backend reverted:</strong> Camoufox restored as primary on 2026-07-30. Steel Browser (CT201) experiment ended — CDP issues + DeepSeek 0731 tool name validation. <code>browser.cloud_provider: camofox</code>, <code>camera_provider: camofox</code>. Steel plugin disabled. See <a href="./comparisons/steel-vs-camoufox" class="internal internal-link" data-slug="comparisons/steel-vs-camoufox">steel-vs-camoufox</a> and <a href="./decisions/rollback-steel-to-camofox" class="internal internal-link" data-slug="decisions/rollback-steel-to-camofox">rollback-steel-to-camofox</a>.</li>
|
||
<li><strong>Mnemosyne capture fix (2026-08-01):</strong> Automatic conversational capture was broken by stringified YAML (<code>sync_roles: "['user']"</code>). Fixed by rewriting structured Mnemosyne settings with native YAML types. See <a href="./incidents/2026-08-01-mnemosyne-capture-failure" class="internal internal-link" data-slug="incidents/2026-08-01-mnemosyne-capture-failure">2026-08-01-mnemosyne-capture-failure</a>.</li>
|
||
<li><strong>Mnemosyne vector coverage gap discovered:</strong> Only 159/1,476 working memories (10.8%) have vector embeddings. 0/458 episodic memories have embeddings. Semantic search is mostly FTS5 fallback.</li>
|
||
<li><strong>DeepSeek V4 Flash 0731:</strong> Post-training bump, same model ID, same pricing. Terminal Bench 2.1: 82.7 (up from 61.8). Stricter tool name validation (<code>^[a-zA-Z0-9_-]+$</code>) — may cause issues with OmniRoute-transformed tool names.</li>
|
||
<li><strong>Uber Eats report upgraded:</strong> Now uses Camofox authenticated session (not stale cookies.txt). HTML + wiki report generated. Cron job updated with <code>camofox-browser-automation</code> + <code>browser-backend-verification</code> skills.</li>
|
||
<li><strong>GitHub Trending Radar — Daily Digest removed:</strong> Stopped by user on 2026-08-02. Weekly roundup still active.</li>
|
||
<li><strong>Ops profile renamed:</strong> Tembo → Tusk. All SOUL.md, skill references, and memory entries updated.</li>
|
||
<li><strong>Wiki audit cron job created:</strong> Runs nightly at 23:59 AWST — reviews past 24h of conversation for wiki changes.</li>
|
||
<li><strong>Ops profile Mnemosyne enabled:</strong> Mnemosyne plugin enabled on ops profile with <code>profile_isolation: true</code> — Tusk gets its own memory bank, separate from default (Rhino). Zero cross-contamination. Verified end-to-end 2026-08-02. Config: <code>~/.hermes/profiles/ops/config.yaml</code> (<code>memory.mnemosyne.profile_isolation: true</code>, <code>allow_tool_override: false</code>).</li>
|
||
<li><strong>OmniRoute free-DeepSeek silent-stop mitigation (2026-08-04):</strong> Free-DeepSeek upstreams returning empty-after-tool responses since Aug 1 → silent turn stops on <code>deepseek-flash-free</code> and <code>smart-route</code>/<code>good-free</code> across both instances. Reworked both combos: strategy <code>priority</code> → <code>fill-first</code>, dropped proven culprits (<code>238d5978/deepseek-v4-flash</code> + <code>-0731</code>, <code>nvidia</code> deepseek), healthy free models promoted, deepseek demoted to last resort. See <a href="./incidents/2026-08-04-omniroute-free-deepseek-silent-stops" class="internal internal-link" data-slug="incidents/2026-08-04-omniroute-free-deepseek-silent-stops">2026-08-04-omniroute-free-deepseek-silent-stops</a>.</li>
|
||
<li><strong>OmniRoute three-layer fix (2026-08-07):</strong> npm package <code>.env</code> override (ENABLE_SOCKS5_PROXY=true re-installed by npm update), dead nanobot provider connection (CT333 DOWN), PVE host load leaking into CT600 via nesting=1. First-request-after-cache-expiry stall documented. See <a href="./systems/omniroute" class="internal internal-link" data-slug="systems/omniroute">omniroute</a>.</li>
|
||
<li><strong>Nanobot status degraded (2026-08-07):</strong> CT333 nanobot confirmed DOWN — connection refused on 8900. OmniRoute provider connection disabled. See <a href="./systems/nanobot" class="internal internal-link" data-slug="systems/nanobot">nanobot</a>.</li>
|
||
<li><strong>CT460 memory bumped (2026-08-07):</strong> 5096MB → 14GB RAM. Was causing swap thrashing at load 8+.</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-08">Recent Changes (2026-08-08)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-08" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>Cron job model repinning:</strong> 3 jobs repinned from dead <code>freeapi/minimax-m2.7</code> → <code>smart-route</code> (IDs: <code>c8d52904e1d6</code>, <code>1b23c042e17d</code>, <code>d40085da631c</code>). Mosquito Tracker repinned from dead <code>freeapi/auto</code> → <code>smart-route</code> (ID: <code>1b31187397a5</code>). 9 stale-named cron jobs (e.g. <code>vertex/gemini-2.5-flash</code>, <code>gpt-5.6-terra</code>, <code>deepseek-v4-flash-free</code>) repinned to <code>smart-route</code>. Daily Marketing Job Radar swapped to <code>gpt-5.6-terra</code>.</li>
|
||
<li><strong>Hermes UI vite config revert:</strong> Vite config had been changed to HTTPS with self-signed certs (~16:00 Aug 8), breaking iPad access (plain HTTP → HTTPS-only without trusted cert). Reverted to pre-HTTPS config, restarted <code>hermes-ui.service</code>. Production build now serves <code>/ui/</code> path correctly with relative asset paths. <code>hermes-desktop.martinwa.org</code> identified as separate Cloudflare infrastructure (likely on CT450), not fixable from CT460.</li>
|
||
<li><strong>Phase One estate review completed:</strong> Manual cron run verified CT450’s 11 duplicate publishing jobs remain paused (zero executions since Aug 1), CT460’s 11 production jobs remain enabled with <code>last_status=ok</code>, and CT333 Nanobot has a live <code>jobs.json</code> with 9 jobs. The cron review report contained two inaccuracies (wrong date, false claim about CT333 having no scheduler) — verified via live system probes instead.</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-09">Recent Changes (2026-08-09)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-09" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>Portainer password reset (CT245):</strong> Admin user is <code>anthony</code> (not <code>admin</code>). Password was forgotten; reset via <code>docker run --rm -v portainer_data:/data portainer/helper-reset-password</code> after stopping the Portainer container. Verified end-to-end with <code>POST /api/auth</code> → HTTP 200 + valid JWT. Portainer now uses Tailscale/Let’s Encrypt cert on <code>:9443</code> (see <a href="./systems/homepage-dashboard" class="internal internal-link" data-slug="systems/homepage-dashboard">homepage-dashboard</a>). Recovery procedure: stop container → run helper image → restart → verify with auth API.</li>
|
||
<li><strong>SFTPGo security review (CT299):</strong> Anthony shared SFTPGo WebAdmin PDF settings for audit. Key findings: (1) remote SFTP root path <code>//</code> resolves to <code>/</code> — full filesystem access, (2) host fingerprints empty (low-risk on Tailscale but should be pinned for hygiene), (3) remote user is <code>root</code>, (4) quota value <code>F1</code> on Cloudflare-R2 virtual folder is non-standard (may be display artifact). No action taken — flagged for Anthony’s review.</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-10">Recent Changes (2026-08-10)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-10" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>Cron job failures — session storage issue:</strong> Four cron jobs failed on 2026-08-10 with two distinct error patterns:
|
||
<ul>
|
||
<li><strong>TimeoutError (idle for 601–602s):</strong> “Daily Marketing Job Radar” (dca8482e4f76) at 07:12, “Political News Digest (Mon/Thu)” (0e519874d280) at 08:12. Jobs stuck initializing, exceeded 600s idle limit.</li>
|
||
<li><strong>RuntimeError (session storage):</strong> “Tech & AI Newsletter Digest (Analytical)” (85edf6772bca) at 07:12, “GitHub Trending Radar — Weekly Roundup” (c0a9fa314542) at 09:03. Error: “session storage could not be written (the transcript would have been lost on restart). This is often a full disk — free some space (or fix state.db permissions).”</li>
|
||
<li><strong>Root cause:</strong> Disk at 83% (11GB free on 65GB). <code>state.db</code> is 593MB. Not critically full but may be triggering write failures. Sessions.json shows only 1 active session in past 24h — session DB likely needs cleanup or WAL checkpoint.</li>
|
||
<li><strong>Impact:</strong> News digests and GitHub Trending did not deliver. Job Radar did not run.</li>
|
||
<li><strong>See:</strong> <a href="./systems/scheduled-tasks" class="internal internal-link" data-slug="systems/scheduled-tasks">scheduled-tasks</a> Known Issues section.</li>
|
||
</ul>
|
||
</li>
|
||
<li><strong>OpenCode WebSocket proxy errors:</strong> Repeated “OpenCode service unavailable” errors in hermes node journal (Aug 11 00:08). Process running (PID 809564, <code>opencode serve</code>), but WebSocket proxy failing to connect. Likely transient — service was available earlier in the day.</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-14">Recent Changes (2026-08-14)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-14" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>OmniRoute factory reset on CT601:</strong> Database wiped clean (0 combos, 0 providers, 0 API keys, 115 built-in auto entries). Backup at <code>/opt/omniroute/factory-reset-backup-20260814-225524</code>. Providers re-added from Notion API vault: Anthropic, Google Gemini, Groq, Mistral, OpenRouter (all passed live tests). OpenAI keys tested but invalid — removed. See <a href="./systems/omniroute" class="internal internal-link" data-slug="systems/omniroute">omniroute</a>.</li>
|
||
<li><strong>Hermes default model changed:</strong> <code>auto/best-free</code> → <code>resilient-free</code> in <code>~/.hermes/config.yaml</code>. <code>auto/best-free</code> was misconfigured (no combo definition, routed to paid <code>gpt-5.6-sol</code>).</li>
|
||
<li><strong>Multiple free combos broken by upstream model ID changes:</strong> OpenRouter Poolside <code>laguna-s-2-1:free</code> → <code>laguna-s-2.1:free</code> (dash→dot); Groq <code>llama-4-scout-17b-16e-instruct</code> retired. Affected: <code>resilient-free</code>, <code>free-IA</code>, <code>free-stack</code>, <code>good-free</code>, <code>deepseek-flash-free</code>, <code>mimo-free</code>.</li>
|
||
<li><strong>Guanaco router updated:</strong> CT205 <code>ollama</code> container — Guanaco v0.8.11 → v0.8.14. DSML tag leakage fixes (tool-call formatting no longer leaks raw syntax), dashboard performance fix. See <a href="./systems/guanaco" class="internal internal-link" data-slug="systems/guanaco">guanaco</a>.</li>
|
||
<li><strong>GPT-5.6 Luna research:</strong> Community consensus — Luna cleaner/polished; DeepSeek V4 Flash more persistent/cheaper. Provider route matters more than model name. Luna recommended for planning/review, DeepSeek for execution. See <a href="./systems/model-providers" class="internal internal-link" data-slug="systems/model-providers">model-providers</a>.</li>
|
||
<li><strong>Hermes UI restart:</strong> Port 8787 service restarted, now properly binding 0.0.0.0 for external access. Confirmed reachable from Tailscale.</li>
|
||
<li><strong>LiteLLM routing issue identified:</strong> Hermes was previously pointed at LiteLLM (<code>http://litellm:4000/v1</code>, model <code>free-auto</code>) causing 6–26s per call. OmniRoute <code>auto/best-free</code> tested at 265ms. Config now points at OmniRoute.</li>
|
||
</ul>
|
||
<h2 id="recent-changes-2026-08-13">Recent Changes (2026-08-13)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#recent-changes-2026-08-13" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><strong>OmniRoute migrated CT600 → CT601:</strong> Provider renamed <code>custom:omniroute</code> → <code>custom:omni</code>; base URL <code>http://omniroute:20128/v1</code> → <code>http://omni:20128/v1</code>. Host <code>omni.kangaroo-eel.ts.net</code> (100.93.204.4, active) replaces <code>omniroute</code> (100.88.81.19, offline). CT600 stopped, CT601 running. DB path <code>/var/lib/omniroute/storage.sqlite</code> → <code>/opt/omniroute/storage.sqlite</code>; API key unchanged. All config (14) + cron-job (22) <code>custom:omniroute</code> refs repointed to <code>custom:omni</code>. Backup: <code>~/.hermes/config.yaml.bak.omniroute-removal</code>. See <a href="./systems/omniroute" class="internal internal-link" data-slug="systems/omniroute">omniroute</a>.</li>
|
||
<li><strong>Evening stand-down briefing weather bugfix:</strong> Weather collector returns a plain string (<code>+16°C Sunny</code>), but the three dashboard widgets (<code>evening.html</code>, <code>evening-grid.html</code>, <code>evening-briefing.html</code>) read object fields → <code>undefined</code>. Added string-vs-object guards; verified served HTML no longer contains broken raw field refs.</li>
|
||
</ul>
|
||
<h2 id="related">Related<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#related" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
|
||
<ul>
|
||
<li><a href="./systems/browser-backend" class="internal internal-link" data-slug="systems/browser-backend">browser-backend</a></li>
|
||
<li><a href="./systems/mnemosyne" class="internal internal-link" data-slug="systems/mnemosyne">mnemosyne</a></li>
|
||
<li><a href="./systems/scheduled-tasks" class="internal internal-link" data-slug="systems/scheduled-tasks">scheduled-tasks</a></li>
|
||
<li><a href="./comparisons/steel-vs-camoufox" class="internal internal-link" data-slug="comparisons/steel-vs-camoufox">steel-vs-camoufox</a></li>
|
||
<li><a href="./decisions/rollback-steel-to-camofox" class="internal internal-link" data-slug="decisions/rollback-steel-to-camofox">rollback-steel-to-camofox</a></li>
|
||
</ul></div></article><hr/><div class="page-footer"></div></div><div class="right sidebar"><div class="graph"><h3>Graph View</h3><div class="graph-outer"><div class="graph-container" data-cfg="{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[],"focusOnHover":false,"enableRadial":false}"></div><button class="global-graph-icon" aria-label="Global Graph"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xml:space="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
|
||
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
|
||
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
|
||
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
|
||
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
|
||
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
|
||
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
|
||
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
|
||
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
|
||
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
|
||
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></button></div><div class="global-graph-outer"><div class="global-graph-container" data-cfg="{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.2,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[],"focusOnHover":true,"enableRadial":true}"></div></div></div><div class="toc"><button type="button" class="toc-header" aria-controls="toc-17" aria-expanded="true"><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><ul id="list-0" class="toc-content overflow"><li class="depth-0"><a href="#current-state" data-for="current-state">Current State</a></li><li class="depth-1"><a href="#attested-facts" data-for="attested-facts">Attested facts</a></li><li class="depth-1"><a href="#recent-changes-2026-08-02" data-for="recent-changes-2026-08-02">Recent Changes (2026-08-02)</a></li><li class="depth-1"><a href="#recent-changes-2026-08-08" data-for="recent-changes-2026-08-08">Recent Changes (2026-08-08)</a></li><li class="depth-1"><a href="#recent-changes-2026-08-09" data-for="recent-changes-2026-08-09">Recent Changes (2026-08-09)</a></li><li class="depth-1"><a href="#recent-changes-2026-08-10" data-for="recent-changes-2026-08-10">Recent Changes (2026-08-10)</a></li><li class="depth-1"><a href="#recent-changes-2026-08-14" data-for="recent-changes-2026-08-14">Recent Changes (2026-08-14)</a></li><li class="depth-1"><a href="#recent-changes-2026-08-13" data-for="recent-changes-2026-08-13">Recent Changes (2026-08-13)</a></li><li class="depth-1"><a href="#related" data-for="related">Related</a></li><li class="overflow-end"></li></ul></div><div class="backlinks"><h3>Backlinks</h3><ul id="list-0" class="overflow"><li><a href="./decisions/" class="internal">Decisions</a></li><li><a href="./experiments/" class="internal">Experiments</a></li><li><a href="./" class="internal">index</a></li><li><a href="./log" class="internal">log</a></li><li><a href="./runbooks/backup-wiki" class="internal">Backup Wiki</a></li><li><a href="./systems/hermes-agent" class="internal">Hermes Agent</a></li><li><a href="./systems/scheduled-tasks" class="internal">Scheduled Tasks</a></li><li class="overflow-end"></li></ul></div></div><footer class><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v5.0.0</a> © 2026</p><ul><li><a href="https://github.com/jackyzha0/quartz">GitHub</a></li><li><a href="https://discord.gg/cRFFHYye7t">Discord Community</a></li></ul></footer></div></div></body><script src="./static/resource-after-e13fffa1.js" type="application/javascript" data-persist="true"></script><script src="./static/resource-after-8b336f9a.js" type="application/javascript" data-persist="true"></script><script src="./static/resource-after-baba652b.js" type="application/javascript" data-persist="true"></script><script src="./static/resource-after-5eb75950.js" type="module" data-persist="true"></script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/copy-tex.min.js" type="application/javascript" data-persist="true"></script><script src="./postscript-3eea7814.js" type="module" data-persist="true"></script></html> |