Commit graph

378 commits

Author SHA1 Message Date
5b1b915e14 Merge pull request 'merge/all-three-fixes' (#11) from merge/all-three-fixes into main
Reviewed-on: #11
2026-06-04 20:04:23 +02:00
aa6b271343 Merge pull request 'XFCE default display layout from now on' (#10) from clawdie-patch-1 into main
Reviewed-on: #10
2026-06-04 20:04:23 +02:00
332ffd30d0 Merge pull request 'Fix XFCE SVG icon sniffing (Sam & Codex)' (#9) from fix/xfce-svg-pixbuf-icons into main
Reviewed-on: #9
2026-06-04 20:04:23 +02:00
5faeae821c Merge pull request 'fix(clawdie): pin clawdie_db_path in staged rc.conf for visibility' (#8) from fix/clawdie-db-path-rcconf into main 2026-06-04 20:04:23 +02:00
c4bee9754a Merge pull request 'docs: remove stale PR-blocking precondition from Codex handoff' (#7) from fix/handoff-stale-precondition into main 2026-06-04 20:04:23 +02:00
41dd4d11cd Merge pull request 'fix: clawdie pre-build hardening + Codex handoff' (#6) from fix/clawdie-prebuild-hardening into main 2026-06-04 20:04:23 +02:00
a0884351ee Merge pull request 'feat: stage the simplified clawdie agent into the ISO (Sam & Claude)' (#5) from feat/clawdie-staging-onto-live-boot into main
Reviewed-on: #5
2026-06-04 20:04:23 +02:00
8febb8e506 Merge pull request 'pi/main-live-boot-xfce-colibri-fixes' (#4) from pi/main-live-boot-xfce-colibri-fixes into main
Simplifying Clawdie service
2026-06-04 20:04:23 +02:00
7768edc39f docs: fix cross-repo table still pointing to Codeberg (Sam & Hermes) 2026-06-04 20:04:23 +02:00
8081531e1e docs: replace Codeberg refs with Forgejo (Sam & Hermes) 2026-06-04 20:04:23 +02:00
1b312d84b3 chore: harden ignores against pkg cache blobs 2026-06-04 20:04:23 +02:00
949ddbdeca Merge xfce-operator-usb: Colibri ISO staging (Sam & Claude)
# Conflicts:
#	AGENTS.md
2026-06-04 20:04:23 +02:00
123kupola
f1dd03da0a feat: ground-up .bashrc rewrite — sudo→mdo alias, ZFS safety (Sam & Hermes)
- shell-system.sh (runs last, step 6): rewrite .profile with agent launcher,
  full .bashrc with sudo() shell function that fire-and-forget snapshots
  zroot@cli-<ts> before mdo -u root. PATH, prompt, history, aliases (ll/la/lt).
  Agent fallback for non-login shells via ~/.ssh-agent-env.
- shell-ssh.sh (step 4): strip to ~/.ssh/config only. Agent/profile/tmux
  seeding moved to shell-system.sh so it is not overwritten.
- AGENTS.md: document sudo→mdo decision with rationale table (ISO size,
  audit surface, single privilege path, ZFS rollback safety).
2026-06-04 20:04:23 +02:00
123kupola
f07144664e fix: add agent launcher, drop harmful update-environment (Sam & Hermes)
- Tier 1: seed ~/.profile with eval $(ssh-agent -s) launcher (FreeBSD,
  no systemd). AddKeysToAgent alone does not start an agent; without a
  launcher headless/SSH-in shells still get "Could not open connection".
- Tier 3: drop set-option -g update-environment from tmux.conf seed.
  tmux default already includes SSH_AUTH_SOCK + DISPLAY/XAUTHORITY.
  set -g replaces the entire list, breaking X11 GUI apps on XFCE.
- Remove .graphifyignore per project policy (graph artifacts not
  committed, tool not integrated into ISO repo).
2026-06-04 20:04:23 +02:00
123kupola
1bb59ffc80 feat: seed SSH agent config in firstboot (Sam & Hermes)
shell-ssh.sh now seeds ~/.ssh/config (AddKeysToAgent yes) and
~/.tmux.conf (SSH_AUTH_SOCK persistence) after SSH key install.
Idempotent — appends to existing configs if already present.
Fixes agent-dead-after-tmux-restart for every fresh Clawdie install.
2026-06-04 20:04:23 +02:00
123kupola
9a1382981b AGENTS.md: anchor FreeBSD 15; add Colibri dependency section
Co-authored-by: Sam & Hermes
2026-06-04 20:04:23 +02:00
20704965fc XFCE handoff: visual-polish lane complete, awaiting ISO rebuild + hardware boot (Sam & Claude)
Pass 1 + Pass 2 panel polish is on main and build-ready (XML valid, build.sh install paths + Whisker icon verified). Baton passes from the Claude/Linux config lane to the FreeBSD build host (osa) for an ISO rebuild + a boot on the AMD/ASUS box to check the verification items. No domedog config work remains.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 20:04:23 +02:00
6bade5d04e Merge xfce-operator-usb: AMD ASUS hardware lane + XFCE panel polish (Sam & Claude)
Consolidates the operator-USB work into main now that the AMD ASUS hardware-evidence collection is closed and Codex is parked. Brings the live-session hardware lane (XInput/libinput touchpad guard, internal audio + resolver bootstrap, hw-report with gated public upload, operator-USB branding) and the config-only XFCE panel polish (Pass 1 + Pass 2: branded Whisker PNG, xkb text mode, panel 40px, systray square-icons).

Conflict: doc/LLM-PROVIDER-HARNESS.md was evolved on both sides. Resolved as a union with no content lost — the xfce-side harness/provider/fabric restructure is the base, and main's two unique blocks (Verifying Key Cleanup flow, the 2D Platform x Harness matrix + populate/add procedures) are preserved. The doc owner may later dedupe the overlap between the two 1D matrices and the 2D matrix.

Verification debt stays explicit and open (not closed by this merge): XFCE visual-polish confirmation and the next rebuilt-image hardware retest, per doc/XFCE-PANEL-BUGS-HANDOFF.md and PLAN-OPERATOR-USB-NEXT.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 20:04:23 +02:00
63540b28a2 Add GPT-5.5 lane, restore platform x harness matrix with 5 providers 2026-06-04 20:04:23 +02:00
4ef5461996 Merge xfce-operator-usb: key revocation verification docs 2026-06-04 20:04:23 +02:00
278e6e42c6 Add platform x harness matrix: FreeBSD/Linux x 5 LLM providers (Opencode) 2026-06-04 20:04:23 +02:00
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
ec9621f45d Point AGENTS at INSTALLER-PLAN on main (Sam & Codex) 2026-06-04 20:04:23 +02:00
b03e740fb7 Pin ISO npm global CLI versions
Use packages/npm-globals.txt as the source of truth for offline npm CLI tarballs, update Pi to 0.75.5, and keep Claude Code out of the XFCE USB path.

---

Build: not run — ISO build not requested

Tests: pass — sh -n fetch-npm-globals and shell-npm-globals; pinned npm pack smoke passed
2026-06-04 20:04:23 +02:00
1a7ef84935 Disable stock text installer on live image 2026-06-04 20:04:23 +02:00
1a2d0b1d1f Label installer root filesystem 2026-06-04 20:04:23 +02:00
e5496c247e Make installer image UEFI bootable 2026-06-04 20:04:23 +02:00
71878992fe Bundle current pi package and enable evdev 2026-06-04 20:04:23 +02:00
2617d000b3 Rebuild ISO payload tree before copying packages (Sam & Codex) 2026-06-04 20:04:23 +02:00
dc37b6fb86 Drop root for build-time npm and QML stages (Sam & Codex) 2026-06-04 20:04:23 +02:00
49242f4dab Prevent ISO npm bundle from running installer lifecycle 2026-06-04 20:04:23 +02:00
18816a7712 Fix stale TESTING.md banner and embedding bake-through in .env seed (Sam & Claude)
- TESTING.md: expected output banner now matches updated integration-test.sh
- shell-env.sh: EMBED_BASE_URL defaults to empty when no OpenRouter key exists, letting config.ts resolve dynamically at runtime instead of baking localhost:8080 into .env
2026-06-04 20:04:23 +02:00
f81f487560 Align ISO config docs with post-install setup 2026-06-04 20:04:23 +02:00
014edc1d9f Clean up docs: fix /login wording, add VPS doc link, remove dead build.cfg IMAGE_NAME, delete stale handoff (Sam & Claude) 2026-06-04 20:04:23 +02:00
ec37206975 Refresh ISO build and setup docs 2026-06-04 20:04:23 +02:00
44ea9d11db Fix LOCAL_LLM_PROVIDER value: llama.cpp -> llama_cpp to match shell modules (Sam & Claude)
shell-deploy.sh:592 checks for llama_cpp, not llama.cpp. Only affects non-live fallback path.
2026-06-04 20:04:23 +02:00
4340731a20 Align live installer defaults before image rebuild (Sam & Codex) 2026-06-04 20:04:23 +02:00
9bcd455fa1 Clean up warden0 bridge documentation 2026-06-04 20:04:23 +02:00
a9ac0013e2 Fix bridge naming to warden0 and correct setup token wording (Sam & Claude)
- shell-pf.sh: BRIDGE is now always warden0 (matches jail-config.ts and AGENTS.md)
- CompletePage.qml: token text now says will be generated after first boot
- NETWORKING.md: updated to reflect warden0 fix
2026-06-04 20:04:23 +02:00
e690b49d27 Add implementation review to live GUI proposal; escalate bridge naming bug (Sam & Claude) 2026-06-04 20:04:23 +02:00
f2c9123a88 Use absolute sudo path in live installer 2026-06-04 20:04:23 +02:00
389cab3aa2 Make ISO build PATH independent 2026-06-04 20:04:23 +02:00
548d28a57a Cache Clawdie AI bundles by resolved commit 2026-06-04 20:04:23 +02:00
8cc2cca60e Add ISO build manifest metadata 2026-06-04 20:04:22 +02:00
f9cc62bb02 Bundle current Clawdie AI for install validation 2026-06-04 20:04:22 +02:00
1a4d98acf8 Add remote-safe setup access slice (Sam & Codex)
Collect optional SSH public key and Tailscale auth key in the live installer, keep the controlplane loopback-bound by default, allow SSH over tailscale0, and rotate the post-install setup token into /var/db/clawdie-installer/setup-token with MOTD guidance for SSH tunnel access.

This slice is install-mode only; upgrade runs do not mint a new setup token.

Build: pass
Tests: pass — sh -n + QML build + config-format + mocked setup-token writer dry-run
Real-disk / bhyve install: NOT YET TESTED
2026-06-04 20:04:22 +02:00
835074ab8d Wire live installer commit path (Sam & Codex)
Live GUI installs now write runtime handoff files under /var/run/clawdie-installer, invoke bsdinstall script through a dedicated commit helper, persist the installed handoff for first HDD boot, and point the operator at /setup after reboot.

The live autologin user is restricted to a narrow sudoers rule for the commit helper and reboot only.

Build: pass
Tests: pass — sh -n + QML build + config-format + stubbed live-commit dry-run
Real-disk / bhyve install: NOT YET TESTED
2026-06-04 20:04:22 +02:00
3a9954f9ec Boot live installer session and narrow install-time contract (Sam & Codex) 2026-06-04 20:04:22 +02:00
d59cc76f30 Narrow installer contract to identity-only and fix cross-repo alignment (Sam & Claude)
ISO-LIVE-GUI-SETUP-PROPOSAL:
- Remove LLM keys and Telegram from install-time field collection
- Add explicit 'not collected at install time' section with rationale
- Narrow clawdie-handoff.sealed scope (no provider keys or Telegram)
- Add QML alignment note about removing ANTHROPIC_API_KEY serialization

setup-import.sh:
- Replace hard-require loop for OPENROUTER/TELEGRAM with identity-only
  validation (ASSISTANT_NAME, AGENT_DOMAIN, TZ)
- Add ZAI_API_KEY, ZAI_API_BASE, OPENAI_API_KEY, ANTHROPIC_API_KEY,
  CLAUDE_CODE_OAUTH_TOKEN to allowed parse keys
- Add provider detection defaults for z.ai, OpenAI, Anthropic with
  z.ai as the new default (matches Clawdie-AI shell-env.sh)

NETWORKING.md:
- Add architecture note: browser jail replaces cage/wayvnc for autonomous
  execution; operator refresh moves to host-side xpra
- Add alignment note: bridge naming must converge to warden0 per
  Clawdie-AI AGENTS.md

README.md:
- Add architecture note on glasspane section with forward reference to
  browser jail and operator browser architecture docs
2026-06-04 20:04:22 +02:00
f0f03ba0c6 Clarify live GUI setup proposal details (Sam & Codex) 2026-06-04 20:04:22 +02:00