Commit graph

119 commits

Author SHA1 Message Date
faf060e0ce docs: introduce Layered Memory Fabric terminology (Sam & Codex)
Replaces public split-brain wording with Layered Memory Fabric, documents the skills/brain/ops planes, and sketches the shared FreeBSD/Linux install contract around PostgreSQL, ZFS/OpenZFS, and platform isolation adapters.\n\nChecks: npx --yes prettier@3 --check touched docs/html; git diff --check

---
Build: pass | Tests: FAIL — 1 failed
2026-06-13 21:32:50 +02:00
8fb96f68c4 Docs polish
Some checks failed
CI / ci (pull_request) Has been cancelled
2026-06-12 20:27:32 +02:00
ab13118f7e Make install docs current and operator-focused (Sam & Claude)
Remove development-history labels from install docs, rewrite the Slovene install requirements page, and align public docs with the current FreeBSD 15 install flow.

---
Build: pass
Tests: pass — 11 passed (1 file)

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 19:16:09 +02:00
771e19e1c7 Drop FreeBSD 14 support (Sam & Claude)
Require the tracked FreeBSD 15.x line during install and environment checks, and align docs and skill compatibility metadata with 15.x only.

---
Build: pass
Tests: pass — 37 passed (2 files)

---
Build: pass | Tests: pass — 2363 passed (701 files)
2026-05-10 16:31:40 +02:00
Operator & Claude Code
45e3216a61 Bump FreeBSD 14→15 docs, add mac_do adoption plan, CLAWDIE_PROFILE, port skeleton
- FreeBSD 15.0+ is now the minimum supported version (14.x references removed)
- docs/internal/SUDO_REPLACEMENT.md rewritten as mac_do + hostd adoption plan
- CLAWDIE_PROFILE=core|full feature gate (core disables TTS, compaction by default)
- .env.core.example: minimal config (~50 lines)
- .agent/harness/safety.yaml: add confirm-mdo rule
- ports/clawdie/: FreeBSD port skeleton (Makefile, rc.d, pkg-descr, pkg-message)

---
Build: pass | Tests: n/a (Linux agent, 3 pre-existing controlplane-db errors)

---
Build: FAIL | Tests: FAIL — 16 failed
2026-05-10 14:23:03 +02:00
Operator & Claude Code
906ab85902 Add archival banner to legacy html/clawdie pages (Sam & Claude)
AGENTS.md "Public Docs Source Of Truth" already classifies these eight
pages as legacy and says they should "prefer redirects over duplicate
long-form content" — but the policy was on paper only and the pages
still presented as canonical. This commit makes the archival status
visible at the top of every legacy page.

Each page gets a small DM-Mono banner just under <body>:

  ARCHIVED  Preserved for historical context. Current documentation:
            docs.clawdie.si.

The banner uses the existing brand palette (warm amber for the label,
brand cyan for the link), is self-contained styles so it doesn't depend
on the page's existing CSS variables, and sits above the hex-bg / hero
content so it's the first thing a viewer sees.

Pages updated:

  html/clawdie/changelog.html
  html/clawdie/license.html
  html/clawdie/guides/freebsd-setup.html
  html/clawdie/guides/nanoclaw-upstream.html
  html/clawdie/guides/nginx-ssl.html
  html/clawdie/guides/protonmail.html
  html/clawdie/guides/stripe-agents.html
  html/clawdie/guides/tailscale-vpn.html

Deliberately left alone for this slice:

- html/clawdie/index.html — explicitly the "marketing/landing page" per
  AGENTS.md, not legacy. Note: the active landing now lives at
  bootstrap/cms/clawdie-si/ (clawdie.si), so this file is functionally
  archival too, but I'd rather Sam or marketing-side make that call
  deliberately than fold it into a "legacy" sweep.
- html/clawdie/{ba,de,hr,sl,sr}/index.html — multilingual landing
  variants. clawdie.si only ships /en/ and /sl/ today; pointing /de/
  /hr/ /ba/ /sr/ visitors at clawdie.si would lose them content.
  Banner here would be honest but the redirect target is wrong; flag
  in a follow-up once locale coverage matches.
- html/clawdie/wizard.html and html/clawdie/screenshots/* — no clear
  canonical replacement, scope unclear from this side.

If a legacy page is ever reactivated as canonical, just delete the
banner block; nothing else depends on it. Insertion is idempotent
(skips files that already contain the banner), so a future "legacy
sweep" can run the same shape over additional pages without breaking
existing ones.

---
Build: FAIL | Tests: FAIL — 16 failed
2026-05-10 10:04:37 +02:00
26336acaaf Update public docs runtime wording
---
Build: pass | Tests: pass — 2318 passed (688 files)
2026-05-10 09:28:28 +02:00
33750fd5c9 Keep landing redirects on HTTPS (Sam & Codex)
Make the cms jail root redirect emit an HTTPS clawdie.si target when served behind host nginx, and align the sample host vhost certificate paths with the live clawdie certificate layout.

---

Build: pass

Tests: pass — 2221 passed (166 files)

---
Build: pass | Tests: pass — 2221 passed (656 files)
2026-05-08 12:25:14 +02:00
ee1e402676 Surface public landing deployment state (Sam & Codex)
Document host nginx as the public TLS proxy for clawdie.si and add startup report public-surface lines so internal home.arpa service names are clearly separated from public web domains.

---

Build: pass

Tests: pass — 2221 passed (166 files)

---
Build: pass | Tests: pass — 2221 passed (656 files)
2026-05-08 11:56:21 +02:00
Operator & Claude Code
259c02f88c Scaffold clawdie.si landing site (Sam & Claude)
Bare Astro project at bootstrap/cms/clawdie-si/ — no Starlight, since the
landing is grandma-friendly marketing, not docs. Symmetric /en/ + /sl/
routes so adding more languages later is purely additive; nginx 301s /
to /en/.

Visual ported from html/clawdie/index.html (dark navy + cyan, Cormorant
Garamond + DM Mono). Renamed .hex-bg to .triangle-bg — old name was
copied from osa.smilepowered.org and clawdie's brand mark is △, not ⬡.

Long-form copy lives in per-section markdown so translators can claim
chunks independently. SL files are placeholders until Crowdin lands.

Includes OSA-style language switcher (path-preserving EN↔SL) and an
operator banner that only renders when hostname !== clawdie.si — so
operator installs surface "open controlplane / read docs / claim public
domain" CTAs out of the box.

Standalone nginx vhost at html/clawdie-si/nginx/ as reference; the CMS
jail's nginx.conf will be extended in a follow-up so fresh installs ship
both sites.

Out of scope: setup/cms.ts wiring, /publishreport Platform Sites
section, Crowdin, real SL translations.

---
Build: FAIL | Tests: FAIL — 16 failed
2026-05-08 09:44:55 +02:00
6de0ed87ab Remove legacy Mevy references (Sam & Codex)
Sweep active code, tests, identity files, public docs, CMS seed content, and stale handoffs so old assistant-name fixtures no longer leak into current Clawdie/system-namespace behavior. Keep the skills-memory SQL artifact unchanged per regeneration policy.

---

Build: pass

Tests: pass — 2197 passed (164 files)

---
Build: pass | Tests: pass — 2197 passed (650 files)
2026-05-07 11:16:40 +02:00
23a3edf06e Align host DB default and landing page
---
Build: pass | Tests: pass — Tests  2079 passed (2079)
2026-04-30 06:23:06 +02:00
bf5db7846e docs(www): sync static landing versions and install quickstart
---
Build: pass | Tests: pass — Tests  2079 passed (2079)
2026-04-29 21:23:43 +02:00
66e761f71b Replace stale legacy install page with bridge
---
Build: pass | Tests: pass — Tests  2064 passed (2064)
2026-04-29 17:18:41 +02:00
f8d65a7892 feat: model catalog with per-group LLM override and /model command (Sam & Claude)
- src/model-catalog.ts: fetch/diff/store models from OpenRouter + zai
- model_catalog tables in memory DB with daily sync via heartbeat
- AgentInput.provider/model fields with fallback to global config
- /model Telegram command with cascading keyboards (provider → model)
- /status shows per-chat model override when set
- Merged with FreeBSD agent's /schedule, /snapshots, /scrub commands

---
Build: pass | Tests: n/a — Linux agent
2026-04-21 19:26:44 +02:00
40c399610b docs: polish Telegram commands section and fix broken anchor links
- Add id attrs to all four sections in docs/index.html so sidebar
  anchor links (#jails-not-docker, #wayland-first-display,
  #prompt-injection-and-web-browsing) actually scroll on click
- Add #telegram-commands anchor + sidebar link in both docs/index.html
  and landing index.html
- Fix /usage admin flag: was incorrectly marked No, handler requires admin
- Add /schedule, /budget, /chatid, /ping to commands table
  (schedule was added this session; chatid is essential for registration)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 14:55:08 +02:00
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
7d3ce4d97c docs(changelog): add v1.0.3 release entry
Add v1.0.3 changelog entry covering session compaction, budget-aware
chat policy, TTS, Telegram commands, inbound sanitization, startup
report, embeddings, and Codex engine.

---
Build: pass | Tests: n/a — docs only (Sam & Claude)
2026-04-21 12:16:46 +02:00
32adacdbba docs(landing): fix version fallback, PostgreSQL version, status label
v0.8.0 → v1.0.3 version badge, v0.4.0 → v1.0.3 status label,
PostgreSQL 17 → 18 in architecture SVG and feature descriptions.

---
Build: pass | Tests: n/a — docs only (Sam & Claude)
2026-04-21 12:16:46 +02:00
5812ba2a06 docs(agents): update session compaction and add embeddings/OR status sections
Rewrite session compaction section to reflect non-blocking rotation
architecture, token-aware triggers, AGENT_SESSION_MAX_TOKENS,
AGENT_SESSION_COMPACT_TIMEOUT_MS, and AGENT_COMPACTION_PROVIDER/MODEL.
Add sections for OpenRouter key status and embeddings (defaults,
config, backfill maintenance script).

---
Build: pass | Tests: n/a — docs only (Sam & Claude)
2026-04-21 12:16:46 +02:00
7a0d3888d5 fix: update all stale PostgreSQL 17 references to 18
data17 path and postgresql17 package refs were never updated when PG was
upgraded to 18. Fixes setup scripts, skills, docs, tests, and archived
playbooks to match the running system (PG 18.3, /var/db/postgres/data).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-18 09:12:48 +00:00
808c24c40f Document rustup toolchain prerequisite
---

Build: FAIL | Tests: FAIL — not run
2026-04-12 18:35:48 +00:00
afec91d1ac docs: fix 19 stale/broken issues across docs.clawdie.si and markdown sources (Sam & Claude)
- Fix stale version badge (v0.8.0 → v0.10.0) in docs/index.html
- Replace broken src/jail-runner.ts references with src/agent-runner.ts
- Replace broken <script src=/js/shared.js> in iso.html with inline JS
- Fix broken Codeberg links in nginx-ssl.html and nanoclaw-upstream.html
- Add missing changelog entries (v0.7.2, v1.0.2, v1.0.3, v0.10.0)
- Unify sidebar navigation across all 12 HTML pages
- Fix PI-SKILLS-INTEGRATION.md three-database contradiction
- Fix controlplane-install.md hardcoded clawdie0 reference
- Add missing OPS_DB_PASSWORD to CLEAN-RESET-PI-TUI preseed script
- Reposition Strapi as optional in deployment-models.md
- Update gen-changelog.ts to output docs.clawdie-si layout with sidebar

---
Build: pass | Tests: not run (Linux)
2026-04-12 13:36:33 +02:00
8c3323035e build: ignore Astro documentation build artifacts
Add html/clawdie/docs/ to .gitignore since it contains:
- Generated static files from 'npm run build'
- Deployed via 'rsync' to nginx webroot
- Should not be version controlled (rebuilt on each deployment)

Also removed old HTML files that are no longer used:
- index.html (replaced by Astro build)
- install.html, iso-build-*.html, split-brain.html (legacy)

The source markdown (docs/public/) and build scripts remain in version control.
The generated output (html/clawdie/docs/) is deployed separately via rsync.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---
Build: pass | Tests: FAIL — Tests  10 failed | 928 passed (938)
2026-04-12 10:56:55 +00:00
3202aa18a1 docs: update stale SQLite, Paperclip, and two-database references across all docs (Sam & Claude)
POSTGRES-PERMISSIONS.md: two databases -> three (skills, memory, ops).
postgres-memory/layout.md: remove stale 'SQLite remains' statement.
SKILLS-ARTIFACT-V1-PLAN.md: clean up SQLite references.
REFACTOR-PLAN.md: SQLite + PostgreSQL -> PostgreSQL only.
README_zh.md: replace NanoClaw-era architecture diagram and FAQ
with Clawdie's FreeBSD/jail/PostgreSQL architecture.
install.html: add operational state to split-brain description.
CONTROLPLANE-AIDER-PI.md: update next steps.
AGENTS.md: replace negative Paperclip instruction with positive
controlplane description.

---
Build: pass | Tests: not run (Linux)
2026-04-11 21:52:42 +02:00
a3e0d8cef3 docs: update SQLite references to PostgreSQL ops database (Sam & Claude)
Split-brain architecture now spans three PostgreSQL databases:
skills (read-only), memory (dynamic), and ops (operational state).
SQLite is fully removed from the runtime.

Updated: README, public docs site, install guide, internal docs,
agent memory, skill files, backup/restore procedure, debug checklist,
and 6 marketing page translations.

---
Build: pass | Tests: not run (Linux)
2026-04-11 14:56:24 +02:00
0b6b3ddaf3 chore: remove stale domedog hostname refs, replace xfce with Lumina
- domedog (server hostname) → osa throughout docs and skills
- XFCE/Xfce4 → Lumina desktop throughout install docs and staging files
- domedog.pro domain URLs kept (valid external references)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  833 passed (833)

---
Build: pass | Tests: pass — Tests  833 passed (833)
2026-04-07 19:11:11 +00:00
545cf65672 feat: Activate Crowdin translation project — 26 docs uploaded (Sam & Claude)
Crowdin open-source license approved by Dima Yashchyshyn.
First push complete: 21 source docs with 1,894 words ready for translation.

Target languages: Slovenian (priority), German, Croatian, Serbian, Russian,
Greek, Italian, Macedonian, Slovak, Bosnian.

Crowdin project: https://crowdin.com/project/clawdie-ai

Translation workflow:
  ./scripts/crowdin-sync.sh --push      # Upload English sources
  ./scripts/crowdin-sync.sh --pull sl   # Download Slovenian when ready
  ./scripts/crowdin-sync.sh --status    # Check progress

Status: Ready for community translators.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-06 17:59:27 +00:00
84cc452497 docs: complete Codex's public/internal restructure alignment
Codex restructured docs on 5 Apr (cc37d2c) into public/ and internal/
subdirectories. This commit completes the alignment work by updating all
references across skills, agents, and generated files.

Changes:

Skills Documentation:
- docs-deployment/SKILL.md: Update doc paths (docs/INSTALL.md → docs/public/install/install.md)
- docs-deployment/INTEGRATION.md: Update example paths for new structure
- agent-setup/SKILL.md: Update references
- ansible-freebsd/SKILL.md: Update references

Agents & Conventions:
- AGENTS.md: Add tmux "testing" window guideline for long-running commands
- AGENTS.md: Update doc path references (INSTALL.md → install.md lowercase)
- README-CLAWDIE.md: Update doc paths
- CROWDIN.md: Update structure references

Build System:
- setup/cms.ts: Improve frontmatter generation (skip files with existing h1)
- scripts/memory/embed-docs.py: Adjust for new structure
- docs-deployment/DOCUMENTATION-POLICY.md: Update guidelines

HTML/Web Output:
- html/: Version bumps, link fixes, manifest updated
- Reflect new public/ structure in rendered docs

Validation:
- All skills reference docs correctly
- Install/setup docs now at docs/public/install/
- Docs build and serve correctly (verified 6 Apr)
- 603 tests passing (from Codex's build)

Co-Authored-By: Codex (Agent) <codex@clawdie.si>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-06 13:22:24 +00:00
c9658d6bc9 Rework Starlight docs structure (Sam & Codex)
---

Build: FAIL | Tests: FAIL — not run (deferred)

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-05 16:57:25 +00:00
cc37d2c8cf Public/internal docs restructure; CMS/verify cleanup (Sam & Codex)
---

Build: pass | Tests: pass - 603 passed (44 files)

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-05 06:29:19 +00:00
ca32c39a71 Unify CMS webroot + Starlight build fixes (Sam & Codex)
---

Build: FAIL — not run

Tests: FAIL — not run

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-04 20:09:10 +00:00
cdf2c8f296 Enable Tailscale jail auto-join (Sam & Codex)
Add a setup helper to enable tailscale inside jails when FEATURE_TAILSCALE

and an auth key are present, prefetch tailscale packages, and document

the installer shortcut.

---

Build: FAIL — not run

Tests: FAIL — not run
2026-04-04 15:40:47 +00:00
5890ca8021 Publish UTF-8 verification screenshot
---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-04 14:36:57 +00:00
52b30fbdfc Update screenshots manifest
---
Build: pass | Tests: FAIL — Tests  1 failed | 602 passed (603)
2026-04-04 14:28:25 +00:00
b0921f4fb4 Normalize domain defaults to home.arpa (Sam & Codex)
---

Build: pass | Tests: pass — 603 passed (44 files)

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-04 09:47:07 +00:00
a13e391f76 docs: align install + multi-agent + hostd naming (Sam & Codex)
- Update install orchestrator docs and host model to match current setup steps

- Add multi-agent guide and clarify warden0/subnet isolation

- Document jail SSH port mapping (2222..2226) and SSH_PUBLIC_KEY

---

Build: pass | Tests: pass — 603 passed (44 files)

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-03 09:38:20 +00:00
61ced15c99 chore: drop start-clawdie.sh in favor of run-clawdie
---
Build: pass | Tests: pass — Tests  605 passed (605)
2026-04-02 10:55:05 +00:00
8f14ce0573 chore: replace legacy klavdija refs with agent-agnostic names, fix checklist to use Bastille
Replaces hardcoded "klavdija" with ${AGENT_NAME} or generic phrasing across
docs, scripts, and identity files. Fixes fresh-install checklist: jls → bastille
list, parameterized log paths, Bastille-based service checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  605 passed (605)
2026-04-01 21:59:13 +00:00
9554e95eaa feat: add tmux-screenshot skill, ISO build docs, and screenshot gallery
Add the tmux-screenshot skill with full capture pipeline (TXT/JSON/PNG),
signature-based auto-triage, and secrets detection. Fix argparse crash
caused by unescaped %3 in --pane help text (Python 3.12 compat).

Include ISO build logs from 2026-03-30 and interactive screenshot viewer
with lightbox, date filtering, and sort controls. Add two initial capture
sets (8c358e1a, e71e3f24) to the gallery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: FAIL
2026-04-01 13:19:38 +00:00
4714bf9d65 Phase 3.1-3.2: Documentation compilation and sync infrastructure
Add complete markdown-to-HTML compilation pipeline and automated sync orchestrator:

- docs-compile.sh: Compiles markdown to HTML with .docignore filtering, version
  naming (docs-v0.9.0_20260324), and automatic index generation
- docs-sync.cron.sh: Orchestrator for automated daily sync (05:00 UTC): git pull,
  compile, validate, atomic symlink swap, cleanup old versions (30-day retention)
- VERSIONING.md: Architecture guide explaining symlink-based zero-downtime
  deployments with instant rollback capability
- DOCUMENTATION-POLICY.md: Policy establishing markdown as single source of truth,
  git rules, sync procedures, monitoring guidelines
- .docignore: Filtering rules excluding internal/sensitive docs from public sites
- .sync-metadata.json: Metadata tracking for sync automation and monitoring
- Pre-commit hook: Appended documentation validation checks

No external dependencies required (no pandoc/pandoc). HTML wrapper uses pure shell
with simple markdown syntax conversion. Tested with 28 markdown source files.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---
Build: pass | Tests: FAIL — Tests  2 failed | 487 passed | 10 skipped (499)
2026-03-24 09:28:20 +00:00
19b44aaa2f feat: multi-language sync — 6 languages on both OSA and Clawdie
Add full 6-language support (SL | EN | DE | HR | BA | SR) across both sites:

Clawdie:
  • Root nav: 6-language switcher with flag + code labels
  • New language pages: SL, DE, HR, BA, SR (1259 lines each)
  • EN redirect to root (prevents /en/ 404)
  • Full content translations (headings, body, CTA, footer)
  • FreeBSD references standardized to "FreeBSD sistem/system"

OSA:
  • Nav updates on all 5 existing pages (reordered SL|EN|DE|HR|BA|SR)
  • New German landing page (978 lines, full translation from EN)
  • Language structure now consistent with Clawdie
  • Fixed BA translation: "Minimalna potrošnja materijala za maksimalnu čvrstoću"
  • German page links to clawdie.si/de/

Notes:
  • Technical strings kept in English (PostgreSQL, FreeBSD, API, etc)
  • SR uses Cyrillic for body prose, Latin for technical terms
  • All navs include class="active" on current language link
  • Mobile-optimized (6 lang items at 0.65rem width)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---
Build: pass | Tests: FAIL — Tests  1 failed | 488 passed | 10 skipped (499)
2026-03-23 22:18:59 +00:00
f3ae947ed8 fix: upstream attribution, Discord removal, link cleanup
NanoClaw URL corrected to github.com/qwibitai/nanoclaw across all files:
src/upstream/git.ts (DEFAULT_REMOTE_URL), setup/upstream.ts (comment),
both license pages, both nanoclaw-upstream guides (hrefs + code blocks),
and README.md.

Discord server link removed from README header nav and Community section
replaced with Codeberg issue tracker and hello@clawdie.si contact.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 09:57:30 +00:00
1111b0e1cd fix: button and link consistency across clawdie.si and osa pages
osa: "Podpri OSA" support button → mailto sponsor (was Codeberg org)
osa: Clawdie project card tag adds Codeberg repo source link
clawdie.si: CTA "View on Codeberg" → "View source" pointing to specific
repo (codeberg.org/Clawdie/Clawdie-AI, not org root)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 08:53:19 +00:00
7c3786aced fix: clarify LLM API key requirement in hero and comparison
Hero paragraph: add explicit sentence that LLM inference needs an API
key or local Ollama — you own the provider relationship. Clawdie itself
has no platform subscription, but inference is not free by default.

Comparison: "Most processing local — minimal cloud dependency" was vague.
Replaced with "Bring your own API key — or run Ollama with zero cloud
dependency" which is accurate and frames flexibility as a feature.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 08:17:13 +00:00
b425f1c827 fix: README version, subscription copy, auto-version hook
README Current Release updated to v0.8.0 Warden, simplified to version
line + changelog link so the pre-commit hook only needs to patch one line.

.githooks/pre-commit: reads version from package.json and patches README
on every commit. Run `npm run install-hooks` once per clone to activate.

Main site: "No subscription" → "No platform subscription" — accurate,
since real workflows require LLM API keys (provider cost, not ours).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 08:04:54 +00:00
77f5161ab9 fix: swap hero button links, auto-track version badge
Follow the build → Codeberg repo (was mailto)
Support Clawdie → mailto sponsor (was Codeberg, swap for Stripe later)
Version badge: add id, fetch live version from package.json via Codeberg raw API
Bump hardcoded fallback v0.5.0 → v0.8.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 07:27:03 +00:00
417418ded6 release: v0.8.0 Warden
Wayland-first display architecture — worker jails now use cage + Chromium
for agent browser automation, no bhyve VM required. Full subnet layout
defined (.1–.10 + .101+ workers). Shared ZFS pkg cache. Wayland stack and
bhyve prerequisites in host baseline by default, no feature flags.

New architecture docs: jail vs Docker IPC, Wayland display model, prompt
injection research with hardening checklist. CNC module section rewritten.
Sponsor link added. Version bump 0.7.2 → 0.8.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 07:09:01 +00:00
7947f5306e docs(security): expand prompt injection section with research findings
- Restructure section around the two distinct threat classes:
  in-session manipulation (LLM-level problem) vs host/OS breakout (jail-level problem)
  — conflating these leads to false confidence in either direction
- Add critical FreeBSD-specific warning: Chromium's internal sandbox is disabled on
  FreeBSD (seccomp/user-namespaces unavailable), making the jail the ONLY OS-level
  process boundary — hardens the case for proper jail configuration
- Add Greshake et al. 2023 (arXiv:2302.12173) foundational paper reference and the
  "blur between data and instructions" insight; mention 22 documented delivery techniques
  (Palo Alto Unit 42, Dec 2025)
- Add direct link to Anthropic's prompt injection defenses research page; add honest
  framing of the 1% figure (milestone, not solved)
- Add BrowseSafe (arXiv:2511.20597) — pre-ingestion HTML classifier, F1 0.904
- Add concrete hardening checklist: jail flags, PF egress, CDP session isolation,
  lethal trifecta test, pre-ingestion classification, system prompt trust framing
- Update instruction hierarchy to include full trust levels (0/10/20/30)
- Expand CaMeL explanation with the Privileged/Unprivileged LLM split and capability
  metadata mechanism (information flow control)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 05:54:10 +00:00
208758fdba docs: Wayland architecture, jail vs Docker, prompt injection security
install.html:
- Host baseline command includes Wayland (seatd/weston/cage/wayvnc/waypipe/xwayland)
  and bhyve (vm-bhyve/grub2-bhyve/uefi-edk2-bhyve) packages with inline explanations
- Orchestrator step table updated to 20-step layout matching current install.ts
  (management, ollama, browser-vm, debian-vm, windows-vm — no feature flags)
- IP table: remove FEATURE_OLLAMA reference; clarify .7/.8 are for human operator
  sessions, not agent automation (cage in worker jails handles that)
- Sidebar: add direct links to architecture sub-sections

index.html (How It Works):
- New "Jails, Not Docker" section: IPC via nullfs-mounted Unix socket explained,
  comparison table covering IPC, overhead, install/upgrade, security model,
  filesystem sharing, pkg caching, Linux workloads
- New "Wayland-First Display" section: cage pattern for worker jails, comparison
  table cage vs bhyve, why Wayland over X11 (isolation by default vs X11 free-for-all)
- New "Prompt Injection and Web Browsing" section: indirect prompt injection explained,
  lethal trifecta (Willison), blast radius table (what jails contain vs what they don't),
  instruction hierarchy (OpenAI 2024), CaMeL (DeepMind 2025 arXiv:2503.18813),
  honest assessment: OS isolation + ephemeral workers + hostd whitelist contain damage;
  LLM-level defense is the other half and remains ongoing work
- Quick reference table: Browser row updated to cage+Chromium; VM row added
- Sidebar: add direct links to new architecture sub-sections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 05:51:37 +00:00