clawdie-ai/html/docs-clawdie-si/changelog.html
Clawdie AI 7fe3ab84c0 docs: fix sidebar nav, add Telegram commands section, update release version (Sam & Claude)
- index.html: merge Architecture sidebar with anchor links, fix Setup Guides
- docs/index.html: update Current Release v0.10.0→v1.0.3, add Telegram
  Commands table with 10 commands, add Voice/Session/Budget to quick ref
- changelog.html: fix duplicate v1.0.3→v1.0.0 for Domain Defaults Fix

---
Build: pass | Tests: n/a — docs only
2026-04-21 14:44:56 +02:00

2738 lines
105 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Changelog — Clawdie Docs</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link
href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Mono:wght@300;400&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="/css/shared.css" />
</head>
<body>
<div class="hex-bg"></div>
<div class="sidebar-overlay" id="overlay"></div>
<header class="top-bar">
<button class="mobile-menu-btn" id="menuBtn" aria-label="Toggle menu">
&#9776;
</button>
<a href="/" class="brand"><span>&#9651;</span> Clawdie Docs</a>
<div class="nav-links">
<a href="https://clawdie.si">Home</a>
<a href="https://codeberg.org/Clawdie" target="_blank" rel="noopener"
>Source</a
>
</div>
</header>
<div class="docs-layout">
<nav class="sidebar" id="sidebar">
<div class="sidebar-section">
<span class="section-label">Getting Started</span>
<ul>
<li><a href="/">Introduction</a></li>
<li><a href="/docs/install.html">Installation</a></li>
<li><a href="/docs/iso.html">ISO Install</a></li>
<li><a href="/docs/split-brain.html">Split Brain</a></li>
</ul>
</div>
<div class="sidebar-section">
<span class="section-label">Architecture</span>
<ul>
<li><a href="/docs/">How It Works</a></li>
<li><a href="/docs/#jails-not-docker">Jails, Not Docker</a></li>
<li><a href="/docs/#wayland-first-display">Wayland Display</a></li>
<li>
<a href="/docs/#prompt-injection-and-web-browsing"
>Prompt Injection</a
>
</li>
<li>
<a href="/guides/nanoclaw-upstream.html">NanoClaw Upstream</a>
</li>
<li>
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/src/branch/main/docs/public/operate/monitoring.md"
target="_blank"
rel="noopener"
>Monitoring</a
>
</li>
<li>
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/src/branch/main/docs/public/operate/security.md"
target="_blank"
rel="noopener"
>Security</a
>
</li>
</ul>
</div>
<div class="sidebar-section">
<span class="section-label">Setup Guides</span>
<ul>
<li><a href="/guides/nginx-ssl.html">Nginx + SSL</a></li>
<li><a href="/guides/tailscale-vpn.html">Tailscale VPN</a></li>
</ul>
</div>
<div class="sidebar-section">
<span class="section-label">Integrations</span>
<ul>
<li><a href="/guides/stripe-agents.html">Stripe Agents</a></li>
<li><a href="/guides/protonmail.html">ProtonMail</a></li>
</ul>
</div>
<div class="sidebar-section">
<span class="section-label">Project</span>
<ul>
<li><a href="/changelog.html" class="active">Changelog</a></li>
<li><a href="/license.html">License</a></li>
</ul>
</div>
</nav>
<main class="content">
<div class="breadcrumb">
<a href="/">Home</a><span class="sep">/</span>
Changelog
</div>
<div class="page-header">
<h1>Change<span>log</span></h1>
<p class="subtitle">Tagged releases &mdash; what changed and why</p>
</div>
<p>
Annotated git tags, regenerated with
<code>npm run gen-changelog</code> on each release. Full history at
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/commits/branch/main"
target="_blank"
rel="noopener"
>Codeberg</a
>.
</p>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v1.0.3</span>
<span class="cl-release-name"
>Session Compaction, Budget Policy, TTS, Telegram Commands</span
>
<span class="cl-date">20.apr.2026</span>
</div>
<p class="cl-body">
Session compaction with LLM summarization and non-blocking
rotation. Budget-aware chat policy with per-chat quotas.
Text-to-speech via Edge TTS. Inbound sanitization and HTML message
splitting for Telegram.
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Session compaction: LLM summarization, token-aware triggers,
non-blocking background rotation, memory DB storage
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Budget-aware chat policy: <code>normal/low_budget/paused</code>
states, per-chat daily token quotas, ops chat exemption
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Text-to-speech via Edge TTS with per-chat auto-mode override
(<code>/tts</code> command)
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Telegram commands: <code>/compact</code>, <code>/resume</code>,
<code>/stop</code>, <code>/new</code>, <code>/status</code>,
<code>/usage</code>, <code>/whoami</code>,
<code>/activation</code>, <code>/tts</code>
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Inbound sanitization (zero-width chars, byte-level truncation)
and HTML message splitting for Telegram 4096-char limit
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Startup report with OpenRouter key status, extracted to
<code>src/startup-report.ts</code>
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Embeddings default to OpenRouter when API key is configured
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Codex (OpenAI) as swappable controlplane agent engine
</li>
</ul>
</div>
</section>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.10.0</span>
<span class="cl-release-name"
>Aider+Pi Harness, Three-Database Split Brain</span
>
<span class="cl-date">12.apr.2026</span>
</div>
<p class="cl-body">
Controlplane harness migrated from Codex to Aider+Pi. Split-brain
architecture expanded to three PostgreSQL databases (skills,
memory, ops). Forgejo replaces Gitea. Justfile added.
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Codex runner renamed to Aider runner with
<code>--message</code> one-shot prompt model
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Ops database provisioned in <code>setup/secrets.ts</code> +
<code>setup/db.ts</code>
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
><code>justfile</code> with 20 recipes mirroring npm scripts
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>13 tests for Aider runner, 34 tests for controlplane DB, +9
gap-fill tests
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>All <code>CONTROLPLANE_CODEX_*</code> env vars renamed to
<code>CONTROLPLANE_AIDER_*</code>
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>30+ files updated: SQLite/Paperclip/two-database references
cleaned across docs, skills, HTML
</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v1.0.0</span>
<span class="cl-release-name">Domain Defaults Fix</span>
<span class="cl-date">04.apr.2026</span>
</div>
<p class="cl-body">
Default domains now use <code>home.arpa</code> for internal names.
Added <code>GIT_MIRROR_URLS</code> and
<code>GIT_JAIL_NAME</code> config options.
<code>setup/env-audit.ts</code> no longer warns about missing
<code>REMOTE_GIT_URL</code> when mirror URLs are configured.
</p>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v1.0.2</span>
<span class="cl-release-name"
>Out-of-the-Box Jails + SSH Baseline</span
>
<span class="cl-date">03.apr.2026</span>
</div>
<p class="cl-body">
Jail setup steps (<code>db</code>, <code>jails</code>,
<code>hostd</code>) now implemented in-tree. PF baseline writes
<code>/etc/pf.warden.conf</code>. Ansible playbooks for jail SSH
baseline and optional PF SSH exposure. Temp files use
project-local <code>tmp/</code>.
</p>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.7.2</span>
<span class="cl-release-name"
>Docs Redesign + Skills Artifact Plan</span
>
<span class="cl-date">15.mar.2026</span>
</div>
<p class="cl-body">
Full CSS rewrite for docs.clawdie.si &mdash; soft pastel light
theme matching Clawdie brand (Cormorant Garamond + DM Mono,
<code>#4fb3ce</code> accent). Brand renamed to "Clawdie Docs"
across all 12 pages. Terminology pass throughout.
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>Introduction headline: "Sysadmin Skills in Vector Format"
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>install.html simplified, duplicates removed
</li>
<li>
<span class="cl-hash">&mdash;</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Skills artifact V1 plan documented
</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.7.1</span>
<span class="cl-release-name">Control Plane Refactoring</span>
<span class="cl-date">15.mar.2026</span>
</div>
<p class="cl-body">
Naming consistency pass and observability wiring on top of
v0.7.0.<br />- <code>src/infra.ts</code> renamed to
<code>src/controlplane.ts</code>; all exported symbols renamed<br />-
Watchdog stores <code>lastControlPlaneReport</code>, exposes it in
IPC status response<br />- <code>npm run doctor</code> queries
watchdog IPC socket &mdash; prints WATCHDOG_MODE,
WATCHDOG_THROTTLED, WATCHDOG_FREE_MEMORY_MB,
WATCHDOG_ACTIVE_JAILS, WATCHDOG_QUEUED, and per-check
CONTROLPLANE_* lines<br />- All stale
<code>src/infra.ts</code> references eliminated from docs, skills,
and HTML<br />- Onboarding no longer requires bsddialog; plain TTY
readline fallback added
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">cfd8c60</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(hostd)</span
>rename ops to privileged-commands
</li>
<li>
<span class="cl-hash">a2ab8b2</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>simplify(setup)</span
>drop required bsddialog dependency for onboarding
</li>
<li>
<span class="cl-hash">09e1d06</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>release</span
>v0.7.1 &mdash; Control Plane Refactoring
</li>
<li>
<span class="cl-hash">ccb9a0b</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>refine docs landing copy and manifesto phrasing
</li>
<li>
<span class="cl-hash">bf3b392</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>polish footer source links for web pages
</li>
<li>
<span class="cl-hash">e954f2f</span
><span
class="cl-type"
style="color: #c8922a; border-color: #c8922a33"
>polish(docs)</span
>improve freebsd setup guide readability
</li>
<li>
<span class="cl-hash">d96beff</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(docs)</span
>restore section reveal on freebsd setup guide
</li>
<li>
<span class="cl-hash">5ad5191</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>add sanoid step for host-level ZFS snapshot retention
</li>
<li>
<span class="cl-hash">3ed52e5</span
><span
class="cl-type"
style="color: #c8922a; border-color: #c8922a33"
>style(docs)</span
>rework shared.css to match clawdie.si dark theme
</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.7.0</span>
<span class="cl-release-name"
>Privileged Host Daemon + PF Web Edge</span
>
<span class="cl-date">15.mar.2026</span>
</div>
<p class="cl-body">
Production-grade privilege separation and web edge.<br />-
<code>hostd</code>: root daemon on
<code>/var/run/&lt;agent&gt;-hostd.sock</code> with whitelisted
Zod-validated ops. Agent calls <code>hostd(op, params)</code> from
<code>src/hostd/client.ts</code>, never needs sudo<br />-
<code>setup/pf.ts</code>: writes
<code>/etc/pf.warden.conf</code> and ensures
<code>/etc/pf.conf</code> includes it (Warden NAT egress baseline;
ingress <code>rdr</code> is opt-in)<br />-
<code>src/controlplane.ts</code>: self-healing layer checks hostd
reachability, persistent jails, and PF at startup and every 5 min
via watchdog. Attempts fixes via hostd<br />-
<code>setup/hostd.ts</code>: rc.d setup step; two rc.conf entries:
<code>&lt;agent&gt;_hostd_enable=YES</code> +
<code>&lt;agent&gt;_enable=YES</code>
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">fb7c8f0</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore(service)</span
>update generated start/stop scripts
</li>
<li>
<span class="cl-hash">bbfdc36</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(preflight)</span
>default mounts config and flag root-only steps
</li>
<li>
<span class="cl-hash">489a2dd</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>test(preflight)</span
>smoke tests for both preflight invocation paths
</li>
<li>
<span class="cl-hash">4301d00</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(onboarding)</span
>capture bsddialog selection from stderr via spawnSync
</li>
<li>
<span class="cl-hash">560667a</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(setup)</span
>unblock fresh-host deployment preflight
</li>
<li>
<span class="cl-hash">5934895</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>add host preflight and protected screenshots
</li>
<li>
<span class="cl-hash">4bd6c21</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>README</span
>fill quick start gaps
</li>
<li>
<span class="cl-hash">133e858</span>add outbound links to all
core technologies in docs
</li>
<li>
<span class="cl-hash">f8ec295</span>redesign docs CSS with dark
theme
</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.6.0</span>
<span class="cl-release-name"
>db Jail Mandatory + Watchdog + FreeBSD Onboarding</span
>
<span class="cl-date">14.mar.2026</span>
</div>
<p class="cl-body">
Runtime consolidation: db jail required, watchdog monitors memory,
onboarding syncs the full host baseline.<br />- db jail mandatory
(<code>setup/db.ts</code>); renamed Brain A/B &rarr; Agent System
Skills / User &amp; Agent Memory<br />- Resource watchdog:
auto/slow/fast/permanent modes, memory throttle, IPC socket at
<code>/tmp/{agent}-watchdog.sock</code><br />- Three-mode service
autostart: AUTO (rc.d), YES (always), NONE (default &mdash;
operator starts manually)<br />- <code>npm run wizard</code> syncs
host package baseline; auto-detects locale; applies to
<code>~/.login_conf</code><br />- Hostname +
<code>/etc/hosts</code> management for
<code>home.arpa</code> jail-local name resolution<br />- Built-in
knowledge loaded into db at <code>--step db</code>; host-side
runtime lookup; follow-up jails enriched<br />- CMS Strapi seed
bootstrap from committed baseline with generated secrets<br />-
<code>npm run doctor</code>: split-brain DB availability and row
counts
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">6fe113d</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore(release)</span
>bump version to 0.6.0
</li>
<li>
<span class="cl-hash">1d1dc4d</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(cms)</span
>add repo-owned Strapi seed bootstrap
</li>
<li>
<span class="cl-hash">7be5e66</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(split-brain)</span
>make verify enforce skills artifact integrity
</li>
<li>
<span class="cl-hash">4b2519e</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(skills)</span
>add host-side runtime lookup for built-in knowledge
</li>
<li>
<span class="cl-hash">2eb3b6e</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(skills)</span
>make built-in knowledge part of default db setup
</li>
<li>
<span class="cl-hash">0209b8d</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>make local git a default jail
</li>
<li>
<span class="cl-hash">c7b96c0</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(payments)</span
>simplify Stripe integration
</li>
<li>
<span class="cl-hash">fa659b7</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(freebsd)</span
>manage jail hostnames and /etc/hosts for local resolution
</li>
<li>
<span class="cl-hash">7c5d9a8</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(db)</span
>generate split-brain secrets and remove bootstrap deadlocks
</li>
<li>
<span class="cl-hash">9c05321</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>make db jail mandatory, add setup/db.ts, rename Brain A/B to
Agent System Skills / User/Agent Memory
</li>
<li>
<span class="cl-hash">e1d5f23</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(service)</span
>three-mode autostart with NONE default and grandpa-friendly
docs
</li>
<li>
<span class="cl-hash">0dcb148</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(watchdog)</span
>add resource watchdog with run modes and IPC socket
</li>
<li>
<span class="cl-hash">b5a2c80</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>apply host locale to ~/.login_conf after onboarding wizard
</li>
<li>
<span class="cl-hash">d73bff5</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>auto-detect host locale without prompting
</li>
<li>
<span class="cl-hash">5beec71</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(setup)</span
>add FreeBSD onboarding and baseline sync
</li>
<li>
<span class="cl-hash">646150f</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(doctor)</span
>surface split-brain readiness
</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.5.0</span>
<span class="cl-release-name">Skill Forge</span>
<span class="cl-date">13.mar.2026</span>
</div>
<p class="cl-body">
- NanoClaw upstream toggle (Option A git remote, fetch-only)<br />-
check_upstream_updates + explain_upstream_commit MCP tools<br />-
Installer refactor: host-first orchestrator architecture<br />-
setup/pi-config, setup/jails, setup/platform, setup/upstream,
setup/skills-memory<br />- Instrument Codex docs redesign &mdash;
shared.css, NanoClaw guide, changelog, license pages<br />-
Architecture diagram, status badges, Why Clawdie table on landing
page<br />- BSD-3-Clause license with FreeBSD/PlayStation lineage
explanation<br />- scripts/gen-changelog: annotated tag changelog
auto-generation<br />- Brain A / Brain B split-brain memory model
documented
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">f7404aa</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>v0.5.0 prep &mdash; BSD-3 emphasis, changelog, license page
</li>
<li>
<span class="cl-hash">dac11a2</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add deploy helper, freshness badge, and built-in knowledge
badge
</li>
<li>
<span class="cl-hash">6a0fec9</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add docs.clawdie.si site and split-brain docs
</li>
<li>
<span class="cl-hash">918f21c</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add built-in knowledge spec
</li>
<li>
<span class="cl-hash">9ebcaea</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>define local knowledge bootstrap flow
</li>
<li>
<span class="cl-hash">19ce0ba</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>sharpen FreeBSD differentiation and skills-memory bootstrap
</li>
<li>
<span class="cl-hash">c35e6c5</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat(landing)</span
>architecture diagram, status badges, Why Clawdie table
</li>
<li>
<span class="cl-hash">e1693a5</span
><span
class="cl-type"
style="color: #c8922a; border-color: #c8922a33"
>design</span
>Instrument Codex &mdash; docs redesign + NanoClaw upstream
guide
</li>
<li>
<span class="cl-hash">4d79038</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>NanoClaw upstream toggle &mdash; Option A (git remote)
</li>
<li>
<span class="cl-hash">229d6d0</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add add-stripe and add-protonmail skills
</li>
<li>
<span class="cl-hash">799961e</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>fix stale .claude/skills references in REFACTOR-PLAN to
.agent/skills
</li>
<li>
<span class="cl-hash">7983917</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>update stale clawdie-cp references in comments to AGENT_NAME
notation
</li>
<li>
<span class="cl-hash">598951a</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(phase-4)</span
>runtime naming cleanup &mdash; warden&rarr;jail, drop
clawdie-cp prefix
</li>
<li>
<span class="cl-hash">0455a77</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(phase-3)</span
>orchestrator host migration &mdash; AGENT_SUBNET_BASE + jail
runner
</li>
<li>
<span class="cl-hash">d58b288</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(phase-2.2)</span
>installer steps &mdash; AGENT_NAME naming + pi-config + cleanup
</li>
<li>
<span class="cl-hash">f53004c</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor(phase-2.1)</span
>AGENT_NAME namespace &mdash; jail-config + platform + jails
step
</li>
<li>
<span class="cl-hash">be4f9fe</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update refactor plan with naming and multi-agent decisions
</li>
<li>
<span class="cl-hash">8caf32c</span>Remove PI-ZAI-KEY.md &mdash;
notes absorbed into REFACTOR-PLAN.md
</li>
<li>
<span class="cl-hash">52c2bf6</span>v0.4.0: host-first
architecture plan, website redesign, name fix
</li>
<li>
<span class="cl-hash">606c8e9</span>Document local git hosting
plan
</li>
<li>
<span class="cl-hash">4795efa</span>Update install flow and
project status
</li>
<li>
<span class="cl-hash">17c3c36</span>Align deployment profile
defaults
</li>
<li>
<span class="cl-hash">75c3dfd</span>Improve installer SSH
guidance
</li>
<li>
<span class="cl-hash">928c03a</span>Remove hardcoded host
examples
</li>
<li>
<span class="cl-hash">943c52a</span>Simplify operator user setup
</li>
<li>
<span class="cl-hash">738b3a4</span>Add controlplane SSH
bootstrap
</li>
<li>
<span class="cl-hash">f7367f6</span>Refine PI controlplane
prerequisites
</li>
<li>
<span class="cl-hash">ae7c066</span>Removing stale Nanoclaw
references
</li>
<li>
<span class="cl-hash">752081d</span>Redesign /screenshots/ index
with dd.mm.yyyy dates, sort toggle, centered layout
</li>
<li>
<span class="cl-hash">059f41b</span>Improve /screenshots/
gallery with lightbox, sorting, date filter
</li>
<li>
<span class="cl-hash">f09ece4</span>Add auto-generated
index.html for /screenshots/ + fix BASE_URL
</li>
<li>
<span class="cl-hash">2f42f6d</span>Fix ANSI color rendering in
tmux screenshots + add install guide
</li>
<li>
<span class="cl-hash">2f5525e</span>Add clean slate rebuild
guide + fix CMS IP
</li>
<li>
<span class="cl-hash">5768a91</span>Add CMS deployment plan with
screenshot strategy
</li>
<li>
<span class="cl-hash">64cf884</span>Add screenshot security and
failure handling
</li>
<li>
<span class="cl-hash">9d44d2a</span>Add wizard simulation test
plan
</li>
<li>
<span class="cl-hash">11bb4da</span>Fix ZFS_PREFIX to read from
.env for backward compat
</li>
<li>
<span class="cl-hash">08ac6b4</span>Make project name-agnostic
for multi-user support
</li>
<li>
<span class="cl-hash">9046a4e</span>Fix auth prompt on landing
page - separate public img from protected screenshots
</li>
<li>
<span class="cl-hash">86eb0ef</span>Add HTML website sources for
clawdie.si and osa.smilepowered.org
</li>
<li><span class="cl-hash">4afd42f</span>Minor links update</li>
</ul>
</div>
</section>
<div class="divider"></div>
<section>
<div class="cl-release">
<div class="cl-release-header">
<span class="cl-version">v0.3.0</span>
<span class="cl-release-name"
>From Manual Setup to Guided Wizard</span
>
<span class="cl-date">10.mar.2026</span>
</div>
<p class="cl-body">
- Setup wizard: FreeBSD bsdinstall-style TUI for first-time
setup<br />- Project-relative tmp/: No more /tmp usage<br />-
Infrastructure as code: Ansible reads all IPs from .env<br />-
Password-protected-site: Auto-generated htpasswd during wizard<br /><br />This
release was made possible with assistance from:<br /><br />AI
Systems: Openclaw, NanoClaw, z.ai, Anthropic Claude, OpenAI Codex,
OpenRouter, Deepseek, Groq, Ollama, pi-tui<br /><br />Human: Peter
Steinberger
</p>
<ul class="cl-commits">
<li>
<span class="cl-hash">71df5ef</span>v0.3.0 - From Manual Setup
to Guided Wizard
</li>
<li>
<span class="cl-hash">c48d949</span>Add CHANGELOG and release
notes for v0.3.0
</li>
<li>
<span class="cl-hash">0e825c6</span>Skip jail-specific tests
when not running inside a jail
</li>
<li>
<span class="cl-hash">03bb97c</span>Add password-protected-site
feature to setup wizard
</li>
<li>
<span class="cl-hash">aacadcd</span>Add setup wizard screenshot
generator
</li>
<li>
<span class="cl-hash">1330935</span>Reserved IP allocation for
jail services
</li>
<li><span class="cl-hash">679dfb5</span>Ollama integration</li>
<li>
<span class="cl-hash">1f95514</span>Add AGENT_NAME
parameterization foundation and Astro CV example
</li>
<li>
<span class="cl-hash">9ea0707</span>Add rsync as core skill and
update references
</li>
<li><span class="cl-hash">c0484dc</span>Fixing /tmp problem</li>
<li>
<span class="cl-hash">ed4a268</span>Apply RCTL memory limits and
document session log convention
</li>
<li>
<span class="cl-hash">b6a6f59</span>Add PI coding agent
prerequisites: tmux, ripgrep, fd-find
</li>
<li>
<span class="cl-hash">050c93c</span>Document core FreeBSD config
files
</li>
<li>
<span class="cl-hash">dcb3545</span>Document bhyve/VMM
prerequisites for future VM support
</li>
<li>
<span class="cl-hash">a502bd2</span>Add RCTL prerequisites for
jail memory limits
</li>
<li>
<span class="cl-hash">5d2e605</span>Add jail state tracking and
standardize date formats
</li>
<li>
<span class="cl-hash">39b00d1</span>Add test deployment plan
</li>
<li>
<span class="cl-hash">a81ae2a</span>Add jail creation playbook
and configure pi agent
</li>
<li>
<span class="cl-hash">23f222f</span>Complete PGVector memory
system
</li>
<li>
<span class="cl-hash">1a82089</span>Add memory pipeline scripts
(Phase 2)
</li>
<li>
<span class="cl-hash">ad6fc7b</span>Add ai_brain schema and
hybrid search function
</li>
<li>
<span class="cl-hash">19e709d</span>Internal IP and domain
redesign
</li>
<li>
<span class="cl-hash">a903372</span>Add hybrid memory schema
plan
</li>
<li>
<span class="cl-hash">58582f5</span>Wire db bootstrap into
Ansible
</li>
<li>
<span class="cl-hash">cde2963</span>Refine PF rule placement
</li>
<li>
<span class="cl-hash">81794cb</span>Adopt PostgreSQL 17 with
pgvector
</li>
<li>
<span class="cl-hash">5d520ce</span>Add PF validation and
forwarding guides
</li>
<li>
<span class="cl-hash">1cdee3a</span>Add controlplane operator
doc
</li>
<li>
<span class="cl-hash">701cd25</span>Propagate node service user
model
</li>
<li>
<span class="cl-hash">b09664e</span>Record successful PI install
</li>
<li>
<span class="cl-hash">4bec262</span>Adopt shared npm service
user
</li>
<li>
<span class="cl-hash">a986837</span>Fix uv package name on
FreeBSD
</li>
<li>
<span class="cl-hash">d6b0562</span>Expand controlplane operator
baseline
</li>
<li>
<span class="cl-hash">0355595</span>Expand Ansible host
operations
</li>
<li>
<span class="cl-hash">e2c878b</span>Expand freebsd-admin
execution model
</li>
<li>
<span class="cl-hash">9f42a7a</span>Migrate Warden docs to
10.0.0
</li>
<li>
<span class="cl-hash">4180c5a</span>Use bash for operator
accounts
</li>
<li>
<span class="cl-hash">56e5a6f</span>Removal of hardcoded URL
paths
</li>
<li><span class="cl-hash">8afab7f</span>sshd on controlplane</li>
<li>
<span class="cl-hash">687598a</span>Implement cms ansible
deployment
</li>
<li><span class="cl-hash">69703dc</span>Ansible install</li>
<li>
<span class="cl-hash">1de5f8e</span>Add ansible FreeBSD scaffold
</li>
<li>
<span class="cl-hash">69c4ad4</span>Astro/Strapi integration
plan
</li>
<li>
<span class="cl-hash">c6179cd</span>Document small codebase
security benefit
</li>
<li><span class="cl-hash">9f6b666</span>Add repo token badge</li>
<li><span class="cl-hash">d703a7b</span>Security refinement</li>
<li><span class="cl-hash">d43fd7c</span>Rebranding fixes</li>
<li>
<span class="cl-hash">86b7e52</span>Harden PostgreSQL security
and add nginx basic auth for screenshots
</li>
<li>
<span class="cl-hash">2d64c76</span>Serve screenshots from nginx
webroot at clawdie.si/screenshots
</li>
<li>
<span class="cl-hash">dda26b7</span>Add tmux-screenshot sample
to README FreeBSD milestone section
</li>
<li>
<span class="cl-hash">740253b</span>Adapt tmux-screenshot for
FreeBSD: fix font paths, output dir, and document deps
</li>
<li>
<span class="cl-hash">127da92</span>Add PostgreSQL security
reference for multi-jail access control
</li>
<li>
<span class="cl-hash">91b3a6c</span>Add Strapi and Astro skills
with cms jail model and memory budget
</li>
<li>
<span class="cl-hash">bca992e</span>Add nginx skill and update
clawdie.si with v0.2.0 milestone
</li>
<li>
<span class="cl-hash">7cbc972</span>Expand signature database to
30 patterns with success detection and ZFS dry-run rule
</li>
<li>
<span class="cl-hash">2a21a2f</span>Rewrite setup, update, and
clawdie-freebsd skills for FreeBSD/ZFS/Warden
</li>
<li>
<span class="cl-hash">5765a22</span>Add skills catalog, doctor
command, and restore ai.clawdie.si link
</li>
<li>
<span class="cl-hash">89dd56f</span>Release 0.2.0 milestone
</li>
<li>
<span class="cl-hash">c7c58da</span>Add controlplane to Sanoid
baseline
</li>
<li>
<span class="cl-hash">b79b1e7</span>Document Sanoid sample
warning
</li>
<li>
<span class="cl-hash">c9a38b3</span>Capture Sanoid install
baseline
</li>
<li>
<span class="cl-hash">11e5165</span>Define rollback policy
classes
</li>
<li>
<span class="cl-hash">f477441</span>Adopt day-first snapshot
naming baseline
</li>
<li>
<span class="cl-hash">39714ba</span>Standardize ZFS snapshot
naming
</li>
<li>
<span class="cl-hash">f0729a1</span>Add PostgreSQL jail IPC
prerequisite
</li>
<li>
<span class="cl-hash">31bf118</span>Capture observed Tailscale
resolver state
</li>
<li>
<span class="cl-hash">8d2520d</span>Document Warden NAT and
resolver baseline
</li>
<li>
<span class="cl-hash">9bcd14d</span>Capture Bastille db
troubleshooting signatures
</li>
<li>
<span class="cl-hash">bc983d3</span>Fix VNET gateway
provisioning and bump version
</li>
<li>
<span class="cl-hash">2fad5f9</span>Document successful db jail
creation
</li>
<li>
<span class="cl-hash">993e5ab</span>Clarify PostgreSQL memory
install choices
</li>
<li>
<span class="cl-hash">63e1c55</span>Refine PostgreSQL memory
storage guidance
</li>
<li>
<span class="cl-hash">a431b6f</span>Add PostgreSQL memory skill
</li>
<li>
<span class="cl-hash">6ec1ceb</span>Add screenshot signature
matching
</li>
<li>
<span class="cl-hash">6019227</span>Improve tmux screenshot
diagnostics
</li>
<li>
<span class="cl-hash">ca5c19a</span>Add FreeBSD admin skill
</li>
<li>
<span class="cl-hash">b205063</span>Document host forwarding for
Warden networking
</li>
<li>
<span class="cl-hash">f1354c1</span>Rename root package to
controlplane
</li>
<li>
<span class="cl-hash">3785099</span>Use controlplane as Bastille
jail ID
</li>
<li>
<span class="cl-hash">28ced07</span>Document Bastille destroy
and pf warnings
</li>
<li><span class="cl-hash">6d5974d</span>Add browser VM skill</li>
<li>
<span class="cl-hash">24eeee1</span>Add Warden health skill
</li>
<li>
<span class="cl-hash">3a76bce</span>Add Telegram admin skill
</li>
<li>
<span class="cl-hash">c5fe9ac</span>Add nginx glasspane skill
</li>
<li><span class="cl-hash">6a026e5</span>Add Sanoid skill</li>
<li>
<span class="cl-hash">7392a13</span>Add Warden bootstrap skill
</li>
<li>
<span class="cl-hash">7e4ab6a</span>Add Bastille network skill
</li>
<li><span class="cl-hash">0ff0dfa</span>Add Warden ZFS skill</li>
<li><span class="cl-hash">6217e25</span>Add Warden pf skill</li>
<li>
<span class="cl-hash">d9d15f6</span>Force thick VNET
control-plane jail
</li>
<li>
<span class="cl-hash">eca1e91</span>Add Bastille control-plane
provisioning plan
</li>
<li>
<span class="cl-hash">07d43ac</span>Expand Warden runtime model
</li>
<li>
<span class="cl-hash">7d164f8</span>Define Warden jail profiles
</li>
<li>
<span class="cl-hash">4459019</span>Align default jail name with
clawdie-cp
</li>
<li>
<span class="cl-hash">f3fb4d8</span>Handle Warden stdin EPIPE
gracefully
</li>
<li>
<span class="cl-hash">9caac0c</span>Add runtime health tracking
and doctor command
</li>
<li>
<span class="cl-hash">6a365be</span>Introduce Warden runtime
naming
</li>
<li>
<span class="cl-hash">c98c1a0</span>Add Bastille and jail
networking docs
</li>
<li>
<span class="cl-hash">2dd996d</span>Fix jail config migration
and chat listing
</li>
<li>
<span class="cl-hash">c3c56ab</span>Replace WhatsApp setup with
Telegram auth
</li>
<li>
<span class="cl-hash">8254d78</span>Remove Claude runtime path
</li>
<li>
<span class="cl-hash">11682fe</span>Rename runtime tree to jail
</li>
<li>
<span class="cl-hash">4fd5ea0</span>Drop legacy container config
aliases
</li>
<li>
<span class="cl-hash">d354405</span>Rename jail runtime config
types
</li>
<li>
<span class="cl-hash">df06a9b</span>Standardize memory files on
AGENTS.md
</li>
<li>
<span class="cl-hash">372f26a</span>Fix build imports and setup
branding
</li>
<li>
<span class="cl-hash">d600f27</span>Rename jail worker runtime
types
</li>
<li>
<span class="cl-hash">c6e5553</span>Remove non-FreeBSD runtime
paths
</li>
<li>
<span class="cl-hash">a7877c6</span>Switch default runtime to pi
</li>
<li>
<span class="cl-hash">3fc2aa6</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>replace WhatsApp with Telegram, rename container&rarr;jail,
migrate skills to .agent/
</li>
<li>
<span class="cl-hash">d5462a6</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>replace container paradigm with FreeBSD jails, rename all
container refs
</li>
<li>
<span class="cl-hash">da61a7e</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 38.4k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">24001a2</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>bump version to 1.1.3
</li>
<li>
<span class="cl-hash">11c2010</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>CI optimization, logging improvements, and codebase formatting
(#456)
</li>
<li>
<span class="cl-hash">bd2e236</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add AmaxGuan to CONTRIBUTORS.md
</li>
<li>
<span class="cl-hash">9232c11</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add rgarcia to CONTRIBUTORS.md
</li>
<li>
<span class="cl-hash">7d95ddf</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add pottertech to CONTRIBUTORS.md
</li>
<li>
<span class="cl-hash">3e578eb</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add tydev-new to CONTRIBUTORS.md
</li>
<li>
<span class="cl-hash">40882ab</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add CONTRIBUTORS.md with Alakazam03
</li>
<li>
<span class="cl-hash">ee1dab8</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>add gabi-simons as codeowner for core paths
</li>
<li>
<span class="cl-hash">e0cf045</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>remove .claude/settings.local.json
</li>
<li><span class="cl-hash">ee7f720</span>/add-slack (#366)</li>
<li>
<span class="cl-hash">bc05d5f</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(add-telegram)</span
>update test assertions for 5-arg onChatMetadata signature
</li>
<li>
<span class="cl-hash">ae2f339</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore(skills)</span
>rebase core skills (telegram, discord, voice) to latest main
and fix db schema gaps
</li>
<li>
<span class="cl-hash">3dd48f3</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(add-gmail)</span
>restore YAML frontmatter to SKILL.md
</li>
<li>
<span class="cl-hash">8e164f6</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix(add-gmail)</span
>graceful startup when credentials missing + poll backoff
</li>
<li><span class="cl-hash">df0e5fc</span>remove unused</li>
<li>
<span class="cl-hash">6dd9082</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>remove GMAIL_CHANNEL_ENABLED env flag from add-gmail skill
</li>
<li>
<span class="cl-hash">18c0432</span>Fix QR data handling in
WhatsApp auth (#467)
</li>
<li>
<span class="cl-hash">5298449</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>add .nvmrc specifying Node 22 (#473)
</li>
<li>
<span class="cl-hash">41e2424</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>restructure add-gmail skill for new skill architecture
</li>
<li>
<span class="cl-hash">1c31726</span>add npm cache to gitignore
</li>
<li>
<span class="cl-hash">29a5daf</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>remove deterministic caching system from skills engine (#453)
</li>
<li>
<span class="cl-hash">1448a14</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 38.2k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">796906b</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>bump version to 1.1.2
</li>
<li>
<span class="cl-hash">7631a5c</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>add error handling and tests for WA Web version fetch
</li>
<li>
<span class="cl-hash">f4277b2</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 38.1k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">3a876c1</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>bump version to 1.1.1
</li>
<li>
<span class="cl-hash">ec176a0</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>use fetchLatestWaWebVersion to prevent 405 connection failures
(#443)
</li>
<li>
<span class="cl-hash">9f802bc</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>rewrite README for broader audience and updated feature set
</li>
<li>
<span class="cl-hash">1ff1fd6</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add official Qodo skills and codebase intelligence (#428)
</li>
<li>
<span class="cl-hash">226b520</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>bump version to 1.1.0
</li>
<li>
<span class="cl-hash">f59ca7c</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>make /update skill discoverable, add auto version bumping
</li>
<li>
<span class="cl-hash">1216b5b</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add /update skill for pulling upstream changes (#372)
</li>
<li>
<span class="cl-hash">628d434</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 38.0k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">9fb1790</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>improve type safety and add error logging (#378)
</li>
<li>
<span class="cl-hash">856f980</span>Fix critical skills
path-remap root escape (including symlink traversal) (#367)
</li>
<li>
<span class="cl-hash">264f855</span>Replace 'ask the user' with
AskUserQuestion tool in skills (#389)
</li>
<li>
<span class="cl-hash">e59856f</span>Fix: filter empty messages
from polling queries (#383)
</li>
<li>
<span class="cl-hash">f5b2068</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 37.9k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">5958175</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>use 'Assistant' as fallback name instead of
'AssistantNameMissing'
</li>
<li>
<span class="cl-hash">1046a79</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 37.8k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">77f7423</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>pass host timezone to container and reject UTC-suffixed
timestamps (#371)
</li>
<li>
<span class="cl-hash">107aff8</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>pass assistantName to container agent instead of hardcoding
'Andy'
</li>
<li>
<span class="cl-hash">6b85ac5</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 37.7k tokens &middot; 19% of context
window
</li>
<li>
<span class="cl-hash">02d8528</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>pause malformed scheduled tasks
</li>
<li>
<span class="cl-hash">c6391cc</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>block group folder path escapes
</li>
<li>
<span class="cl-hash">6d4277f</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 37.0k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">5fb1064</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>mount project root read-only to prevent container escape (#392)
</li>
<li><span class="cl-hash">ef00320</span>Update README.md</li>
<li>
<span class="cl-hash">e8d1d1e</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.9k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">92d1440</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>move setup scripts out of src/ to reduce build token count
</li>
<li>
<span class="cl-hash">c1a2491</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 49.9k tokens &middot; 25% of context
window
</li>
<li>
<span class="cl-hash">8fc1c23</span>Migrate setup from bash
scripts to cross-platform Node.js modules (#382)
</li>
<li>
<span class="cl-hash">ccef3bb</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>block symlink escapes in skills file ops
</li>
<li>
<span class="cl-hash">1980d97</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.8k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">5f58941</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>add .catch() handlers to fire-and-forget async calls (#221)
(#355)
</li>
<li>
<span class="cl-hash">cb29440</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>update voice note test to match empty-content skip behavior
</li>
<li>
<span class="cl-hash">6e22abb</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>replace hardcoded /Users/user fallback with os.homedir()
</li>
<li>
<span class="cl-hash">9003259</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.6k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">3d8c0d1</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>test</span
>add coverage for isTaskContainer and idleWaiting reset
</li>
<li>
<span class="cl-hash">c6b69e8</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>correctly trigger idle preemption in streaming input mode
</li>
<li>
<span class="cl-hash">93bb94f</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>only preempt idle containers when scheduled tasks enqueue
</li>
<li>
<span class="cl-hash">6f177ad</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>skip empty WhatsApp protocol messages
</li>
<li>
<span class="cl-hash">d336b32</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>copy skill subdirectories recursively (#175)
</li>
<li>
<span class="cl-hash">94ba537</span>Decouple formatting test
from <code>@Andy</code> (#329)
</li>
<li>
<span class="cl-hash">3c79c61</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>fix README_zh consistency and remove Skills System CLI section
</li>
<li>
<span class="cl-hash">3d1859f</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs(zh)</span
>Apply stylistic and consistency improvements to README_zh.md
(#328)
</li>
<li>
<span class="cl-hash">646411f</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>add nanoclaw.dev link to README header
</li>
<li>
<span class="cl-hash">41e54a9</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>pass filePath in setupRerereAdapter stale MERGE_HEAD cleanup
</li>
<li>
<span class="cl-hash">7181c49</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add /convert-to-apple-container skill, remove
/convert-to-docker (#324)
</li>
<li>
<span class="cl-hash">a407216</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add voice transcription as nanorepo skill (#326)
</li>
<li>
<span class="cl-hash">6b9b3a1</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update skills to use Docker commands after runtime migration
(#325)
</li>
<li>
<span class="cl-hash">a7faac6</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.3k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">607623a</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>convert container runtime from Apple Container to Docker (#323)
</li>
<li>
<span class="cl-hash">51a50d4</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.4k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">c6e1bfe</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>extract runtime-specific code into src/container-runtime.ts
(#321)
</li>
<li>
<span class="cl-hash">8fd6791</span>Update README.md (#316)
</li>
<li>
<span class="cl-hash">5a16a9d</span>Documentation improvements
</li>
<li>
<span class="cl-hash">646491c</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 36.3k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">51788de</span>Skills engine v0.1 +
multi-channel infrastructure (#307)
</li>
<li>
<span class="cl-hash">a689f8b</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>quote ASSISTANT_NAME in .env to handle special characters
</li>
<li>
<span class="cl-hash">6f71987</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 35.6k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">802805d</span>Fix/WA reconnect, container
perms, assist name in env (#297)
</li>
<li>
<span class="cl-hash">f257b93</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>update Discord invite link
</li>
<li>
<span class="cl-hash">b7c9d98</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>ensure setup skill runs Docker conversion before building
containers
</li>
<li>
<span class="cl-hash">ff574a2</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>update social preview with new subtitle
</li>
<li>
<span class="cl-hash">b125cb1</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>add nanoclaw profile and sales images
</li>
<li>
<span class="cl-hash">88140ec</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add setup skill with scripted steps (#258)
</li>
<li>
<span class="cl-hash">5694ac9</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update token count to 35.5k tokens &middot; 18% of context
window
</li>
<li>
<span class="cl-hash">5031d0f</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>ci</span
>add workflow_dispatch trigger to token count workflow (#254)
</li>
<li>
<span class="cl-hash">c467941</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>add git pull --rebase before push in token count workflow
(#253)
</li>
<li>
<span class="cl-hash">e4d77cd</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>use GitHub App token for token count workflow
</li>
<li>
<span class="cl-hash">9261a25</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add is_bot_message column and support dedicated phone numbers
(#235)
</li>
<li>
<span class="cl-hash">c8ab3d9</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add repo-tokens GitHub Action with token count badge
</li>
<li>
<span class="cl-hash">6f2e10f</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>typing indicator now shows on every message, not just the first
</li>
<li>
<span class="cl-hash">5c68dee</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>repair WhatsApp channel tests (missing Browsers mock and async
flush)
</li>
<li>
<span class="cl-hash">ae474fd</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>use available instead of paused when stopping typing indicator
</li>
<li>
<span class="cl-hash">658f6b0</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>send available presence on connect so typing indicators work
consistently
</li>
<li>
<span class="cl-hash">1549ad5</span>security: pass secrets via
SDK env option and delete temp file (#213)
</li>
<li>
<span class="cl-hash">1a07869</span>security: sanitize env vars
from agent Bash subprocesses (#171)
</li>
<li>
<span class="cl-hash">c30bd62</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>update Chinese README and move language link to badge row
</li>
<li>
<span class="cl-hash">b5a6757</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>pass requiresTrigger through IPC and auto-discover additional
directories
</li>
<li>
<span class="cl-hash">acdc645</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>WhatsApp auth improvements and LID translation for DMs
</li>
<li>
<span class="cl-hash">6863c0b</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>test</span
>add comprehensive WhatsApp connector tests (#182)
</li>
<li>
<span class="cl-hash">a354997</span>Add Apple Container
Networking Setup documentation (#178)
</li>
<li>
<span class="cl-hash">4647353</span
><span
class="cl-type"
style="color: #6e7d8f; border-color: #6e7d8f33"
>chore</span
>add /groups/ and /launchd/ to CODEOWNERS
</li>
<li>
<span class="cl-hash">8eb80d4</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>prevent infinite message replay on container timeout (#164)
</li>
<li><span class="cl-hash">2b56fec</span>Refactor index (#156)</li>
<li>
<span class="cl-hash">196abf6</span
><span
class="cl-type"
style="color: #00b4d8; border-color: #00b4d833"
>docs</span
>clarify agent swarms vs teams in Telegram skill
</li>
<li>
<span class="cl-hash">b3f5814</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>move to Claude's native memory management
</li>
<li>
<span class="cl-hash">116fba1</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>bust shields.io cache for Discord badge
</li>
<li>
<span class="cl-hash">126b3f4</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>add Telegram agent swarm skill
</li>
<li><span class="cl-hash">6f02ee5</span>Adds Agent Swarms</li>
<li>
<span class="cl-hash">6cd165f</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Add /add-telegram skill for Telegram channel support (#83)
</li>
<li>
<span class="cl-hash">b2bd141</span>Fix orphan container cleanup
and update installation steps (#149)
</li>
<li>
<span class="cl-hash">f26468c</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>setup skill reliability, requiresTrigger option, agent-browser
visibility
</li>
<li>
<span class="cl-hash">675ed30</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>improve container error logging to include full stdout/stderr
</li>
<li>
<span class="cl-hash">8dd27bc</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>defend against missing structured output and message without
content
</li>
<li>
<span class="cl-hash">2ecda36</span>small tweak to
acknowledgement prompt
</li>
<li>
<span class="cl-hash">44f0b3d</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>improve agent output schema, tool descriptions, and shutdown
robustness
</li>
<li>
<span class="cl-hash">ae17715</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>per-group queue, SQLite state, graceful shutdown (#111)
</li>
<li>
<span class="cl-hash">03df69e</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>address review feedback for per-group queue reliability
</li>
<li>
<span class="cl-hash">eac9a6a</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>per-group queue, SQLite state, graceful shutdown
</li>
<li>
<span class="cl-hash">db216a4</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>proper container lifecycle management to prevent stopped
container accumulation
</li>
<li>
<span class="cl-hash">abc1c06</span
><span
class="cl-type"
style="color: #4ade80; border-color: #4ade8033"
>feat</span
>Add Chinese README and language switcher
</li>
<li>
<span class="cl-hash">3a4d340</span>Fix duplicate responses
caused by reconnect-stacking loops
</li>
<li>
<span class="cl-hash">1f8cd26</span>Add voice transcription
skill using OpenAI Whisper API (#77)
</li>
<li>
<span class="cl-hash">1179801</span
><span
class="cl-type"
style="color: #a78bfa; border-color: #a78bfa33"
>refactor</span
>deduplicate logger into shared module (#39)
</li>
<li>
<span class="cl-hash">392ba62</span
><span
class="cl-type"
style="color: #f87171; border-color: #f8717133"
>fix</span
>translate WhatsApp LID JIDs to phone JIDs for self-chat
messages (#62)
</li>
<li>
<span class="cl-hash">c9ca34a</span>Add X integration skill
(#52)
</li>
<li>
<span class="cl-hash">3084fab</span>Remove ToS gray areas
section from README (#65)
</li>
<li>
<span class="cl-hash">7ff9a65</span>Update setup skill to use
claude setup-token for auth
</li>
<li><span class="cl-hash">21c66df</span>Add prettier</li>
<li>
<span class="cl-hash">1a32bff</span>Improve setup UX with
AskUserQuestion tool and security education (#60)
</li>
<li>
<span class="cl-hash">80e68dc</span>Add social preview image
</li>
<li>
<span class="cl-hash">7223511</span>Add contribution guidelines
and PR checks for skills-only model
</li>
<li>
<span class="cl-hash">ff23125</span>Add Docker support and
integrate /convert-to-docker into setup flow
</li>
<li>
<span class="cl-hash">849b224</span>Fix minor issues in
add-parallel skill
</li>
<li>
<span class="cl-hash">1b960c5</span>Add /add-parallel skill for
Parallel AI integration (#28)
</li>
<li>
<span class="cl-hash">93e639f</span>Add /convert-to-docker skill
for Docker migration (#23)
</li>
<li><span class="cl-hash">fb5dbcb</span>Update README.md</li>
<li><span class="cl-hash">40d4154</span>Update README.md</li>
<li><span class="cl-hash">98f82b7</span>Update README.md</li>
<li><span class="cl-hash">d20df2e</span>Update README.md</li>
<li>
<span class="cl-hash">4711ec4</span>Add register_group IPC
command for dynamic group registration
</li>
<li>
<span class="cl-hash">05a29d5</span>Security improvements:
per-group session isolation, remove built-in Gmail
</li>
<li>
<span class="cl-hash">22eb525</span>Add Qwibit Ops context and
NanoClaw Testing group
</li>
<li>
<span class="cl-hash">17f7b84</span>Add /add-gmail skill for
Gmail integration
</li>
<li>
<span class="cl-hash">d000f33</span>Add container output size
limiting to prevent memory issues (#18)
</li>
<li>
<span class="cl-hash">33ef0c6</span>Fix message cursor to only
advance on successful processing (#17)
</li>
<li>
<span class="cl-hash">c45f0ef</span>Escape regex metacharacters
in ASSISTANT_NAME for trigger pattern (#16)
</li>
<li>
<span class="cl-hash">e5b436a</span>Fix group metadata sync
setting epoch timestamp for new groups (#15)
</li>
<li>
<span class="cl-hash">df52232</span>Pre-launch fixes: error
handling, cleanup, consistency
</li>
<li>
<span class="cl-hash">48822ff</span>Add mount security allowlist
for external directory access (#14)
</li>
<li>
<span class="cl-hash">5760b75</span>Fix timezone handling and
message filtering
</li>
<li>
<span class="cl-hash">066eeb9</span>Make OpenClaw critique
specific with actual numbers
</li>
<li>
<span class="cl-hash">016a1a0</span>Add group metadata sync for
easier group activation
</li>
<li>
<span class="cl-hash">572338b</span>Add context_mode option for
scheduled tasks
</li>
<li>
<span class="cl-hash">f6e7f7a</span>Make main group respond to
all messages without trigger prefix
</li>
<li>
<span class="cl-hash">6745a1c</span>Apply fixes from closed PRs:
sentinel markers, JID lookup, schedule validation
</li>
<li>
<span class="cl-hash">7aa051f</span>Fix: only update
lastAgentTimestamp on agent success
</li>
<li>
<span class="cl-hash">a904c65</span>Fix message loss when
processMessage throws
</li>
<li>
<span class="cl-hash">092411d</span>Remove message content from
info-level logs
</li>
<li>
<span class="cl-hash">a8155e2</span>Fix hardcoded home directory
fallback in container runner
</li>
<li>
<span class="cl-hash">6a94aec</span>Secure IPC with per-group
namespaces to prevent privilege escalation
</li>
<li>
<span class="cl-hash">49e7875</span>Fix security: only expose
auth vars to containers, not full .env
</li>
<li>
<span class="cl-hash">c255451</span>Move Quick Start section
above Philosophy
</li>
<li><span class="cl-hash">1699dfc</span>Update README.md</li>
<li>
<span class="cl-hash">479ca16</span>Add NanoClaw logo and
branding assets
</li>
<li>
<span class="cl-hash">17e7b46</span>Refactor: delete dead code,
extract utils, rename files for clarity
</li>
<li>
<span class="cl-hash">847032d</span>Fix task deletion FK
constraint error
</li>
<li>
<span class="cl-hash">2dedd18</span>Fix scheduled tasks and
improve task scheduling UX
</li>
<li>
<span class="cl-hash">f25e0f9</span>Remove redundant comments
throughout codebase
</li>
<li>
<span class="cl-hash">732c624</span>Fix security issues: IPC
auth, message logging, container logs
</li>
<li>
<span class="cl-hash">552b26c</span>Add PreCompact hook for
conversation archiving, remove /clear command
</li>
<li>
<span class="cl-hash">aa6dcf3</span>Add typing indicator while
agent is processing
</li>
<li>
<span class="cl-hash">2026eaf</span>Clean up README prose and
add contribution FAQ
</li>
<li>
<span class="cl-hash">e9c5187</span>Rewrite README intro with
balanced OpenClaw comparison
</li>
<li>
<span class="cl-hash">fb4ce8d</span>Update project and agent
context files
</li>
<li>
<span class="cl-hash">dbf39a9</span>Rewrite documentation with
project philosophy and RFS
</li>
<li>
<span class="cl-hash">1d4cf51</span>Support OAuth token
authentication as alternative to API key
</li>
<li>
<span class="cl-hash">8ca4c95</span>Fix session persistence and
auto-start container system
</li>
<li>
<span class="cl-hash">67e0295</span>Fix container execution and
add debug tooling
</li>
<li>
<span class="cl-hash">0ccdaaa</span>Mount project root for main
channel
</li>
<li>
<span class="cl-hash">ef24c45</span>Update setup skill for
container architecture
</li>
<li>
<span class="cl-hash">09c0e81</span>Add containerized agent
execution with Apple Container
</li>
<li>
<span class="cl-hash">fa13b14</span>Add built-in scheduler with
group-scoped tasks
</li>
<li>
<span class="cl-hash">423d45c</span>Update docs to reflect
current architecture
</li>
<li>
<span class="cl-hash">0c08e8a</span>Use date + time format in
message timestamps
</li>
<li>
<span class="cl-hash">22bd3d7</span>Store and display sender's
WhatsApp name
</li>
<li>
<span class="cl-hash">cbe33f4</span>Keep trigger in prompt,
simplify message formatting
</li>
<li>
<span class="cl-hash">f2afb11</span>Include missed messages when
catching up the agent
</li>
<li>
<span class="cl-hash">4ec74e9</span>Simplify runAgent: just pass
the prompt
</li>
<li>
<span class="cl-hash">545cbc7</span>Remove unnecessary shutdown
handlers
</li>
<li>
<span class="cl-hash">0691601</span>Extract database operations
into separate db.ts module
</li>
<li>
<span class="cl-hash">78426c7</span>Extract config and types
into separate files, clean up index.ts
</li>
<li>
<span class="cl-hash">fe5ae97</span>Improve setup skill: better
Gmail explanation, use placeholders
</li>
<li>
<span class="cl-hash">8a385c7</span>Separate WhatsApp auth from
daemon into standalone script
</li>
<li>
<span class="cl-hash">e1867f8</span>Replace QR code display with
macOS notification
</li>
<li>
<span class="cl-hash">295c3e6</span>Fix: exit gracefully when
auth needed in daemon mode
</li>
<li>
<span class="cl-hash">c17823a</span>Initial commit: NanoClaw -
Personal Claude assistant via WhatsApp
</li>
</ul>
</div>
</section>
<footer>
<div class="footer-left">
<a href="https://clawdie.si">Clawdie AI</a> ·
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/src/branch/main/html/docs-clawdie-si/changelog.html"
target="_blank"
rel="noopener"
>Page source</a
><br />
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/src/branch/main/CHANGELOG.md"
target="_blank"
rel="noopener"
>Release notes</a
>
·
<a
href="https://codeberg.org/Clawdie/Clawdie-AI/src/branch/main/README.md"
target="_blank"
rel="noopener"
>Project context</a
><br />
<a
href="https://osa.smilepowered.org"
target="_blank"
rel="noopener"
>OSA — Mission Statement</a
><br />
Generated 13.mar.2026
</div>
<div class="footer-hex">&#9651;</div>
</footer>
</main>
<aside class="toc">
<p class="toc-title">On this page</p>
<nav id="toc-list"></nav>
</aside>
</div>
<script>
const toc = document.getElementById('toc-list');
if (toc) {
document.querySelectorAll('.content h2, .content h3').forEach((h) => {
if (!h.id)
h.id = h.textContent
.trim()
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-');
const a = document.createElement('a');
a.href = '#' + h.id;
a.className = 'toc-link' + (h.tagName === 'H3' ? ' toc-sub' : '');
a.textContent = h.textContent;
toc.appendChild(a);
});
}
const observer = new IntersectionObserver(
(entries) => {
entries.forEach((e, i) => {
if (e.isIntersecting)
setTimeout(() => e.target.classList.add('visible'), i * 80);
});
},
{ threshold: 0.08 },
);
document.querySelectorAll('section').forEach((s) => observer.observe(s));
const menuBtn = document.getElementById('menuBtn');
const sidebar = document.getElementById('sidebar');
const overlay = document.getElementById('overlay');
if (menuBtn && sidebar) {
menuBtn.addEventListener('click', () => {
sidebar.classList.toggle('open');
overlay?.classList.toggle('open');
});
overlay?.addEventListener('click', () => {
sidebar.classList.remove('open');
overlay.classList.remove('open');
});
}
</script>
</body>
</html>