Commit graph

94 commits

Author SHA1 Message Date
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
0d7b791074 feat(infra): full subnet layout — named slots, VM profiles, ollama step
- jail-config.ts: SUBNET_SLOT constant (.1–.10), expand AGENT_JAIL_PROFILES
  Record to include ollama, management, cnc, freebsdDesktop, debian, windows;
  update validateJailConfig role list; fix browserVm IP to SUBNET_SLOT.freebsdDesktop
- setup/install.ts: reorder steps (worker→git→db→skills-memory→cms→browser-vm→ollama),
  use service names in labels, add ollama step (FEATURE_OLLAMA-gated)
- setup/packages.ts: add ollama-jail.txt, management-jail.txt, cnc-jail.txt to
  PackageListName type and loadAllPackageLists
- infra/packages: add ollama-jail.txt, management-jail.txt, cnc-jail.txt stubs
- HOST-OPERATOR-MODEL.md: subnet layout table, control-vs-observe section
- install.html: updated IP table with all named slots and bhyve VM entries

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-16 05:06:24 +00:00
59ae6c3a0d docs: merge freebsd setup into install guide and add install-all flow
---
Build: FAIL | Tests: FAIL — not run in Linux sandbox; defer verification to FreeBSD
2026-03-15 12:55:36 +01:00
8b3baf7f75 docs: add install orchestrator flow diagram
- docs/INSTALL.md: full developer reference — step table, ZFS snapshot
  paths, LLM provider table, required vs optional matrix, flags
- install.html: new "Install Orchestrator" section with flow diagram
  and npm run install-all commands before the manual steps list

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 11:47:39 +00:00
13497a3cf8 chore: bump version to 0.7.2
Docs redesign release — pastel theme, terminology pass, install
simplification, skills artifact v1 plan.

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 11:36:07 +00:00
bb7f8f4e56 content(docs): link branch main to Codeberg and simplify install page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:49:54 +00:00
e3683f3f41 content(docs): link built-in knowledge to Codeberg BUILT-IN-KNOWLEDGE.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:43:59 +00:00
252fe40342 content(docs): add external links to technical terms in introduction and how-it-works
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:41:19 +00:00
06be366673 content(docs): vectors → vector format
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:36:04 +00:00
fd900afe4e content(docs): Local Knowledge → Sysadmin Skills in headline
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:35:04 +00:00
954c5e32dc content(docs): update introduction headline and meta description
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:31:50 +00:00
91c9d40f4e content(docs): FreeBSD-native → FreeBSD based in introduction
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:26:20 +00:00
05fbb61484 chore(docs): rename top-left brand to Clawdie Docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:24:31 +00:00
69472f7499 style(docs): soft pastel light palette
Swap dark theme for a soft blue-grey pastel reading palette.
bg #eef2f8, paper #f8fafc, surface #e4ecf5, accent #4fb3ce,
ink #3a4f63. Links and inline code use accent-dark for
contrast on light backgrounds.

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:22:42 +00:00
94ea3b7103 style(docs): switch to dark editorial theme matching clawdie.si
CSS variables, colors, and component tints updated to match the main
site palette (#0d1117 bg, #161b22 paper, #00b4d8 accent). Layout
changes from previous session retained (sticky top-bar/sidebar,
in-document flow, no backdrop-filter).

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 10:06:53 +00:00
5ade23f2e9 docs: update tagline — Self Hosted AI System built on top of FreeBSD
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 09:39:24 +00:00
82863013ed refactor(docs): replace monitoring/security HTML pages with Codeberg links
Delete docs/monitoring.html and docs/security.html — maintain docs/*.md as
the single source of truth. Sidebar links in all 12 HTML files now point
directly to MONITORING.md and SECURITY.md on Codeberg (open in new tab).

No more HTML/markdown sync required for these reference docs.

---
Build: PASS | Tests: PASS

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 09:33:24 +00:00
7514cc2560 feat(docs): add Monitoring and Security pages; update changelog to v0.7.1
- changelog.html: add v0.6.0, v0.7.0, v0.7.1 release entries (was stuck at v0.5.0)
- docs/monitoring.html: new page — five-layer health model, watchdog run modes,
  control plane check table, doctor command output reference
- docs/security.html: new page — trust model, three security domains, skill
  privilege tiers, security boundaries, architecture diagram, prevent/detect/recover
- All 12 existing HTML files: Architecture sidebar section expanded with
  Monitoring and Security links

---
Build: PASS | Tests: PASS

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 09:28:11 +00:00
f1c2b975b8 docs: add CHANGELOG entries for v0.4.0-0.6.0; fix stale footer link
- CHANGELOG: add missing v0.4.0 (Host-First Architecture + Multi-Agent Naming),
  v0.5.0 (docs.clawdie.si Launch + Built-in Knowledge), and
  v0.6.0 (db Jail Mandatory + Watchdog + FreeBSD Onboarding) entries
- freebsd-setup.html: remove self-referencing docs.clawdie.si link from footer

---
Build: PASS | Tests: PASS

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 09:17:43 +00:00
06bb4ce9a5 simplify(setup): drop required bsddialog dependency for onboarding
---
Build: FAIL | Tests: FAIL — not run in Linux sandbox; defer verification to FreeBSD
2026-03-15 10:10:41 +01:00
b4d9e56b21 release: v0.7.1 — Control Plane Refactoring
0.7.0 — Privileged Host Daemon + PF Web Edge:
- clawdie-hostd: root daemon on /var/run/clawdie-hostd.sock with whitelisted
  Zod-validated op handlers (bastille, zfs, pf, service, pkg, sysrc, sanoid)
- setup/pf.ts: writes /etc/pf.conf with NAT egress + rdr pass 80/443 → cms jail
- src/controlplane.ts: self-healing checks hostd, service jails, PF; repairs via
  hostd; process.exit(1) if db jail still down after fix
- setup/hostd.ts: installs rc.d script, sets clawdie_hostd_enable=YES
- setup/service.ts: tmux session with setup window when PI_PROFILE=setup
- Preflight: 15 steps (pf at position 3, hostd at position 12)
- Removed infra/ansible/playbooks/host-nginx.yaml

0.7.1 — Control Plane Refactoring:
- src/infra.ts → src/controlplane.ts (runControlPlaneChecks,
  CONTROLPLANE_CHECK_INTERVAL_MS, ControlPlaneReport, ControlPlaneCheckResult)
- Watchdog stores lastControlPlaneReport; exposed as controlplane in IPC status
- doctor now queries watchdog IPC: prints WATCHDOG_* and CONTROLPLANE_* lines
- Docs: README simplified, MONITORING rewritten with watchdog/controlplane
  layers, SECURITY updated with hostd in architecture diagram,
  HOST-OPERATOR-MODEL gets privilege delegation section, CMS-DEPLOYMENT-PLAN
  updated with implementation status
- Skills: nginx fully rewritten to cms-jail model; setup + freebsd-admin updated
- All stale src/infra.ts references eliminated

---
Build: pass | Tests: pass — 414 passed (45 files)

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-15 08:51:01 +00:00
b7ea0ecc5d docs: refine docs landing copy and manifesto phrasing 2026-03-15 08:07:29 +01:00
4f4317d6ab docs: polish footer source links for web pages 2026-03-15 07:46:02 +01:00
f1a9b59e74 polish(docs): improve freebsd setup guide readability 2026-03-15 07:33:56 +01:00
17f61ddf76 fix(docs): restore section reveal on freebsd setup guide 2026-03-15 07:32:04 +01:00
1ea20f95da style(docs): rework shared.css to match clawdie.si dark theme
Replace OSA warm cream/amber light theme with the main site dark palette:
- bg: #0d1117, paper: #161b22, surface: #1c2333
- accent: #00b4d8 (cyan, replaces warm amber)
- charcoal: #e2e8f0, ink: #c9d1d9, grey: #8b949e, grey-light: #21262d
- Replace ⬡ hex mark with △ triangle brand mark throughout
- Sticky top-bar and sidebar positioning unchanged (already correct)
- All content-specific classes preserved, colors updated

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

---
Build: pass | Tests: pass — Tests  414 passed | 10 skipped (424)
2026-03-14 23:11:33 +00:00