Commit graph

46 commits

Author SHA1 Message Date
d9cdcafa7d Polish landing deploy details
Fix the operator banner before publishing the Astro landing page: avoid showing it on www.clawdie.si, point its docs action at an existing install guide, and align the footer license with package metadata. Also update the Colibri doc now that the feature branch has landed on main.

---
Build: pass | Tests: pass — 2491 passed (187 files)
2026-05-26 06:51:37 +02:00
Operator & Claude Code
2b654656d8 Rebuild clawdie.si landing on Sovereignpreneur messaging (Sam & Claude)
Reworks the existing clawdie-si Astro site in place (blue theme, i18n, build, deploy kept) using doc/clawdie_sovereignpreneur_marketing_sl.pdf. Slovenian-first with a faithful EN mirror.

- Hero reshaped around 'UI na vašem računalniku, ne v oblaku'.
- 4 sections enriched: ni bot ampak infrastruktura + Create·Own·Scale; sklad suverenosti (denar→vzvod→neodvisnost, Clawdie = srednji sloj); self-hosting/full-stack control; 'od najema k lastništvu' CTA with the concrete install path (ISO / štiri vprašanja / docs.clawdie.si/install) + OSA bridge.
- 6 original optimized SVG infographics (SL+EN), theme-colored, no third-party video keyframes.

Images are committed pre-optimized SVG: astro.config uses passthroughImageService() (no build-time conversion), so this sidesteps the broken webp pipeline entirely. Verified: astro build clean, astro check 0 errors/0 warnings/0 hints.

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

---
Build: pass | Tests: FAIL — 18 failed
2026-05-25 15:41:34 +02:00
Operator & Claude Code
538e9e6f1b Remove stale npm run install fallback from all docs (Sam & Claude)
The npm lifecycle hook was renamed to install:clawdie in 83feb0d.
All operator-facing docs now say just install only.
2026-05-14 12:57:48 +02:00
54f612edf2 Fix browser jail registry slot
---
Build: pass | Tests: pass — 2383 passed (175 files)
2026-05-11 14:53:12 +02:00
b67d04a0d4 Add llms.txt export for public docs
---
Build: pass | Tests: pass — 2382 passed (708 files)
2026-05-11 00:49:01 +02:00
c136418c5a Drop remaining config compatibility shims (Codex)
Remove old Telegram/TTS env fallbacks, clean compatibility wording, and make the privilege-model doc describe mac_do without claiming it is already bootstrapped.

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 21:07:03 +02:00
50a915c414 Drop Astro docs path compatibility noise (Codex)
Remove the ASTRO_SITE_PATH alias and stale STRIPPED/refactor comments now that CMS_DOCS_SITE_PATH is the canonical docs project path.

---
Build: pass | Tests: pass — 2372 passed (704 files)

---
Build: pass | Tests: pass — 2372 passed (704 files)

---
Build: pass | Tests: pass — 2372 passed (704 files)

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 20:47:10 +02:00
e3ad322d3b Rename Astro docs project to clawdie-docs (Sam & Claude)
Make the docs renderer name match its purpose, add CMS_DOCS_SITE_PATH with ASTRO_SITE_PATH compatibility, and update docs publishing paths.

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 19:49:39 +02:00
225b9b032a Sync install docs to Astro site (Sam & Claude)
Fix the ISO install first-boot link and sync docs/public into the Astro content tree for live docs deployment.

---
Build: pass | Tests: pass — 2372 passed (704 files)
2026-05-10 19:28: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
9e6bd5ee1c Polish update and monitoring docs
---
Build: pass | Tests: pass — 2343 passed (694 files)
2026-05-10 10:36:36 +02:00
f31f406fec Update docs for DNS doctor and artifact refresh
---
Build: pass | Tests: pass — 2260 passed (671 files)
2026-05-09 16:48:36 +02:00
34e2265ad9 Apply Clawdie brand overlay to docs (Sam & Codex)
Add a small Starlight CSS overlay, Clawdie triangle logo, and header links that align docs.clawdie.si with the clawdie.si landing palette while keeping the default docs typography.

---

Build: pass

Tests: pass — 2 passed (1 file)

---
Build: pass | Tests: pass — 2221 passed (656 files)

---
Build: pass | Tests: pass — 2221 passed (656 files)
2026-05-09 08:08:18 +02:00
247d4cdd0c Fix docs site navigation and Slovenian locale (Sam & Codex)
Autogenerate the docs sidebar from the public content tree, sync Slovenian docs into the Starlight content copy, remove stale Astro-only English and guide duplicates, use honest 404s for missing docs pages, and repair stale Codeberg links.

---

Build: pass

Tests: pass — 2221 passed (166 files)

---
Build: pass | Tests: pass — 2221 passed (656 files)
2026-05-08 17:31:40 +02:00
576438c9cb Wire clawdie.si landing publishing (Sam & Codex)
Mount and deploy the platform landing Astro site from the CMS setup step, add the cms jail nginx server block for clawdie.si/www.clawdie.si, and surface platform landing/docs availability in /publishreport.

---

Build: pass

Tests: pass — 2221 passed (166 files)

---
Build: pass | Tests: pass — 2221 passed (656 files)
2026-05-08 10:06:59 +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
f3817166ed Tighten Codex auth validation (Sam & Codex)
Sync the Codex login docs into Astro mirrors, reject empty pi auth.json provider entries before falling back to env credentials, and make pi-config report missing provider auth rather than API-key-only state.

---

Build: pass

Tests: pass — 2210 passed (166 files)

---
Build: pass | Tests: pass — 2210 passed (654 files)
2026-05-07 17:08:38 +02:00
d21fc47039 Fix stale Warden runtime docs (Sam & Codex)
Remove old 10.0.0 and controlplane-jail guidance from operator docs, align git storage docs with the shared git jail at registry slot .2, and extend the registry/docs guard to cover README and git-storage mirrors.

---

Build: pass

Tests: pass — 2204 passed (165 files)

---
Build: pass | Tests: pass — 2204 passed (652 files)
2026-05-07 15:47:25 +02:00
2da473c08d Guard Warden slot map docs (Sam & Codex)
Align published Warden and host-operator slot maps with infra/jails.yaml and add a registry-vs-docs consistency test covering docs/public and Astro mirrors.

---

Build: pass

Tests: pass — 2199 passed (165 files)

---
Build: pass | Tests: pass — 2199 passed (652 files)
2026-05-07 12:49:38 +02:00
f6acf8e256 Prune stale first-boot docs and scripts (Sam & Codex)
Make the first-boot implementation spec self-contained, remove the superseded secrets handoff and obsolete manual jail setup scripts, and align hostname defaulting with the assistant-name separation rule. Update PostgreSQL permission notes and sync the public first-boot page into Astro docs.

---

Build: pass

Tests: pass — 2197 passed (164 files)

---
Build: pass | Tests: pass — 2197 passed (650 files)
2026-05-07 12:40:47 +02:00
d0e9349a46 Align public docs with system namespace (Sam & Codex)
Collapse the stale manual controlplane install page to a legacy landing point, update README install guidance to the orchestrator, and align public architecture docs with the service/platform namespace split and current Warden slot map. Sync the Astro docs consumers from docs/public.

---

Build: pass

Tests: pass — 2197 passed (164 files)

---
Build: pass | Tests: pass — 2197 passed (650 files)
2026-05-07 12:20:01 +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
49ce3c703f Clarify controlplane jail IP examples
---
Build: pass | Tests: not run — docs-only change

---
Build: pass | Tests: pass — 2163 passed (630 files)
2026-05-05 22:43:52 +02:00
aabc403648 Align subnet defaults and public jail docs
---
Build: pass | Tests: pass — 71 passed (3 files)

---
Build: pass | Tests: pass — 2163 passed (630 files)
2026-05-05 22:23:42 +02:00
bab4f76439 Reorder shared service IPs and switch docs to English root
---
Build: pass | Tests: FAIL — Tests  9 failed | 2081 passed | 4 skipped (2094)
2026-05-02 20:21:19 +02:00
Operator & Claude Code
02f7027f07 docs: collapse 8 multitenant/platform docs into one MULTITENANT.md
Single source of truth at docs/internal/MULTITENANT.md (~430 lines)
replaces the previous spread across NAMING-POLICY, ARCHITECTURE,
HOST-REALITY, INTERNAL-ROLLOUT, ROADMAP, HANDOFF, AGENT-WORKFLOW, and
PLATFORM-V2-MANIFESTO. Load-bearing content (vision, conceptual model,
naming schema, surfaces, controlplane, publishing, conventions) is
folded in; current-state runbooks, phased migration plans, and
deployment-drift snapshots are dropped — design phase, fresh start.

Identity decision: drop PLATFORM_ID / PLATFORM_SERVICE_NAME /
PLATFORM_RUNTIME_USER. Platform identity is the constant 'clawdie'
baked into code; ASSISTANT_NAME is display-only and never feeds infra
names; TENANT_ID is for additive tenants only. AGENTS.md gains a short
"Multitenant Rules" block carrying the day-to-day do/don't extract.

Cross-references in AGENT-WORKFLOW-CHECKLIST, AGENT-WORKTREE-WORKFLOW,
and the two freebsd-jail-implementation docs updated to point at the
new file.

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

---
Build: pass | Tests: pass — Tests  2099 passed (2099)
2026-05-02 12:16:58 +02:00
03a23a965b Use ječa wording in Slovenian docs
---
Build: pass | Tests: pass — Tests  2044 passed (2044)

---
Build: FAIL | Tests: pass — Tests  2055 passed (2055)
2026-04-29 10:55:07 +02:00
Operator & Claude Code
842f5f6757 fix(test): make config-identity tenant fallback test self-contained
The test was coupling to whatever TENANT_ID happened to be in the local
.env file, which is absent in this environment. Mocks readEnvFile to
provide a controlled deployment env so the test is deterministic everywhere.

Also removes scripts/sync-docs.mjs which was superseded by
sync-public-docs.mjs in acc868a and is no longer called.

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

---
Build: pass | Tests: FAIL — Tests  7 failed | 2015 passed (2022)
2026-04-28 22:16:51 +02:00
acc868ada1 feat(cms): add safe docs deploy pipeline
---
Build: pass | Tests: pass — Tests  2017 passed (2017)

---
Build: pass | Tests: pass — Tests  2017 passed (2017)
2026-04-28 18:51:02 +02:00
Operator & Claude Code
e4f6958aaa fix(cms): add fallbackLocale and fix broken SL homepage links
Adds fallbackLocale: 'en' so Slovenian locale falls back to English for
pages that have no SL translation (architecture, install, operate, etc.).
Fixes root index.md links from non-existent /namestitev/ and /arhitektura/
slugs to the real /install/ and /architecture/ paths.

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

---
Build: pass | Tests: FAIL — Tests  8 failed | 2009 passed (2017)
2026-04-28 14:00:20 +02:00
Operator & Claude Code
c2f49b5552 feat(cms): sync docs/public into Astro content tree and fix deploy safety
Adds sync-docs.mjs prebuild script that copies docs/public/ into the Astro
content tree automatically, eliminating manual double-editing. Fixes rsync
deploy to --exclude sites/ so tenant site output is never wiped on deploy.

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

---
Build: pass | Tests: FAIL — Tests  8 failed | 2009 passed (2017)
2026-04-28 13:52:56 +02:00
8aeedd54e9 docs(cms): align astro source paths and handoff
---
Build: pass | Tests: pass — Tests  2017 passed (2017)
2026-04-28 13:43:03 +02:00
0d1814c06c feat(multitenant): add Strapi-backed tenant-site content overrides
---
Build: pass | Tests: FAIL — Tests  6 failed | 1844 passed (1850)
2026-04-25 10:07:56 +02:00
6d111e9328 feat(multitenant): make tenant-site publish builds site-aware
---
Build: pass | Tests: FAIL — Tests  6 failed | 1841 passed (1847)
2026-04-25 09:24:28 +02:00
99fa229ae5 fix(cms): replace symlinks with rsync copy; drop stale zod v3 override
src/ and scripts/ were symlinked into the Astro project root pointing
into the nullfs-mounted bootstrap dir. Vite resolves symlink targets and
then can't find node_modules at the mount path, breaking builds. Switch
to rsync -a --delete so the working copy is always a real directory.

Remove the zod 3.25.76 override from package.json and setup/cms.ts —
it was a v3/v4 conflict workaround that no longer applies and was
breaking fresh npm installs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 21:20:09 +02:00
2767a6c50e docs: PG17→PG18, delete stale docs, merge documentation + Strapi docs (Sam & Claude)
Deletions (8 files, ~2,750 lines):
- AGENT-HARNESS-EVOLUTION-PLAN.md (superseded by V2)
- nanorepo-architecture.md (superseded by nanoclaw-architecture-final.md)
- RELEASE-0.3.0.md (references deleted files)
- WIZARD-SIMULATION-TEST.md (for deleted wizard)
- BSDINSTALL-ONBOARDING-PLAN.md (superseded by clawdie-iso firstboot)
- MEVY-INSTALL-HANDOFF.md (install complete)
- STRAPI-FREEBSD-GOTCHA.md + STRAPI-FREEBSD-LIBVIPS-SOLUTION.md (merged into SETUP)

Merges:
- DOCUMENTATION-POLICY.md + DOCUMENTATION-SYNC-RUNBOOK.md → DOCUMENTATION.md

Fixes:
- PG17→PG18 across 45 references (README, skills, public docs, bootstrap CMS, internal docs)
- CONTROLPLANE-MESSAGE-CONTRACT.md: fix wrong identity file names
- AGENT-HARNESS-V2.md: update Phase 7 sub-phase statuses

Build: pass | Tests: not run (Linux)
2026-04-16 11:41:44 +02:00
499672ef6a fix(cms): make bootstrap site work on fresh installs
- Symlink src/ + scripts/ to host mount when missing

- Sync jail-local astro.config.mjs from host before builds

---

Build: pass | Tests: not run

---
Build: pass | Tests: pass — Tests  1079 passed (1079)
2026-04-14 07:36:59 +00:00
aa12507412 CMS docs deploy: remove manual config copies
- Mount host Astro sources into cms jail (nullfs)

- Keep jail-local astro.config.mjs stub; real config lives in src/

- Auto-sync host package.json before build

---

Build: pass | Tests: not run

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 22:33:25 +00:00
d642dbf603 Switch deploy to rsync --delete
Replaces cp -r with rsync -av --delete so deploys only transfer changed
files and cleanly remove pages that no longer exist in the build output.

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 21:13:05 +00:00
cafd336557 Add initial Strapi guide snapshots to repo
Copies the two existing Strapi guides from the jail into the committed
snapshot dirs so the repo has a complete build-ready state before the
nullfs mount is established.

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 21:08:04 +00:00
b54a945775 Make Git the source of record; Strapi becomes optional
- Add all 30 static English docs to repo (architecture, install, operate,
  reference, roadmap) — these are the Crowdin source files
- Rename sync-strapi.mjs → export-strapi.mjs: explicit snapshot step
  (run manually, review diff, commit) rather than mandatory pre-build
- Build no longer requires Strapi to be running (astro build uses
  committed .md files directly)
- Add guides/ and en/guides/ snapshot dirs with .gitkeep
- Update crowdin.yml to map en/**/*.md → sl root (excluding guides/)
- npm run export-strapi: fetch Strapi content and write committed snapshot
- npm run build: pure offline build from committed content

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 21:01:43 +00:00
8c0976eaf9 fix(cms): use node --env-file=.env in all build scripts
Clawdie user doesn't have STRAPI_API_TOKEN in shell env.
--env-file=.env loads it directly from the project .env file,
so npm run build / deploy works without manual env exports.

Also fix webroot ownership: chown clawdie:clawdie /usr/local/www/clawdie/
so clawdie can deploy directly without sudo.

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 14:35:56 +00:00
4104b9159f fix(cms): use English slugs as canonical paths for all locales
- guides/ and en/guides/ now share English slugs
- Slovenian slug DB entries updated to match English counterparts
- Sidebar autogenerate changed from vodici/ to guides/
- Sync script skips only 'home' slug (not 'domov' which no longer exists)
- Result: /guides/bootstrap-the-db-jail-first/ (sl content)
         /en/guides/bootstrap-the-db-jail-first/ (en content)

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 14:28:43 +00:00
e23758a280 feat(cms): wire Astro to Strapi with sl/en i18n
- Starlight i18n: Slovenian as root locale, English at /en/
- Strapi i18n enabled on guide + page content types
- Slovenian locale added to Strapi; seed content translated
- Pre-build sync script (scripts/sync-strapi.mjs) fetches Strapi
  content for both locales and writes clean .md files before build
- Strapi-owned directories (vodici/, en/vodici/) fully managed by sync
- src/lib/strapi.ts: typed fetch helper with Bearer token auth
- Build command: sync-strapi → astro build → deploy to webroot
- Sidebar labels translated to Slovenian with English translations key

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

---
Build: pass | Tests: pass — Tests  942 passed (942)
2026-04-13 14:14:26 +00:00
eadd8ddbde Add Strapi admin encryption key config
---

Build: FAIL | Tests: FAIL — not run
2026-04-12 21:15:27 +00:00
8a32526e0f feat(cms): add repo-owned Strapi seed bootstrap 2026-03-14 18:39:43 +01:00