Commit graph

27 commits

Author SHA1 Message Date
da3f06f7da docs: rename 'fake-agent' → 'sample-agent' (matches colibri test rename)
Harness-neutral, lighter wording for the optional local test-double agent
(colibri-test-agent), matching the colibri-side fake→sample rename. Only the
two references that named it 'fake-agent' (build.cfg comment, AGENTS.md
staging note); the unrelated /tmp/fake-usb example path in FIRSTBOOT.md is a
different context and left as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 18:20:55 +02:00
3b96c5215d docs: document ISO versioning & release schema in AGENTS.md
The product-version scheme was only captured in scattered build.cfg/build.sh
comments and agent memory. Promote it to contributor-visible guidance:
- ISO_VERSION is an explicit product version in build.cfg (0.11.0, unified
  with Colibri); no-version builds fail fast; image name = codename + version.
- Component versions are provenance in build-manifest.json (version_scheme
  "product"), not the image identity.
- BUILD_CHANNEL dev|release; release gate (build.sh:check_release_gate)
  requires clean staged trees so the manifest fully describes the artifact.

Matches shipped code; no behavior change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:47:23 +02:00
b2f9f03e9e docs: define clawdie-iso as USB dev surface + Clawdie service installer
Project Identity added: the ISO builds the operator USB which is both
the Colibri development surface AND the Clawdie bare-metal service
installer. Clawdie service target: ZFS RAID1, PostgreSQL + pgvector,
bhyve VMs, Bastille jails.
2026-06-21 14:16:33 +02:00
f10216db12 docs: rewrite negative patterns to positive actionable instructions
Convert 'do not' / 'never' / 'avoid' / 'cannot' / 'must not' patterns
into positive 'do ABC to achieve XYZ' instructions across four key docs.

Files changed:
- AGENTS.md: role restrictions, linux constraints, formatting gate,
  private workspace, scratch paths, mount discipline, source-of-truth
- BUILD.md: colibri compilation, mini-binary policy, USB flashing,
  SSH-key distribution, mDNS scope, PF logging, host disk policy
- skills/iso-build/SKILL.md: build gating, CLI policy, command chaining,
  tmux workflow, colibri preflight/cargo-clean timing, SDDM retention
- PLAN-OPERATOR-USB-NEXT.md: SDDM contract, package categorization,
  bhyve gating, dashboard dependencies, seed checkout exclusions

Safety-critical constraints (USB whole-disk flashing, verified artifacts
only) are preserved with positive rephrasing that keeps the constraint
intact.
2026-06-21 13:13:08 +02:00
5cd0d6d3f0 docs(colibri): describe test-agent staging as explicit build mode (Sam & Codex) 2026-06-21 08:11:39 +02:00
14248b6a20 feat(colibri): gate test-agent staging by build mode (Sam & Pi)
Add COLIBRI_STAGE_TEST_AGENT with dev/release defaults so validation builds can include colibri-test-agent while production/release operator USB images omit it by default. Keep poudriere guidance test-friendly and document binary roles in BUILD.md.\n\nValidation: sh -n build.sh scripts/stage-colibri-iso.sh live/operator-session/colibri-live-rebuild; ./scripts/check-format.sh; ./scripts/test-release-gate.sh; build.cfg default/override checks.
2026-06-21 07:55:24 +02:00
65015b0c70 cleanup(tmp): remove Clawdie-owned host tmp paths (Sam & Pi)
Broaden prebuild cleanup by documenting project-local tmp policy, syncing the hardened wallpaper/join-hive helpers, moving vault/no-blank scratch under runtime/cache dirs, and keeping release-gate scratch under repo tmp.\n\nValidation: ./scripts/check-format.sh; sh -n build.sh live/operator-session/clawdie-join-hive.sh live/operator-session/clawdie-wallpaper-gen.sh live/operator-session/clawdie-vault-fetch live/operator-session/clawdie-noblank-guard.sh scripts/test-release-gate.sh; ./scripts/test-release-gate.sh; clawdie-wallpaper-gen output test under repo tmp.
2026-06-20 21:07:05 +02:00
54f9fb4a0b docs(iso): clean builder handoff terminology (Sam & Codex)
Replace stale colibri-smoke-agent references with colibri-test-agent, mark colibri-tui optional/desirable, update image-name comments, and avoid smoke wording in current build handoff docs.\n\nChecks: sh -n build.sh; sh -n scripts/test-release-gate.sh; ./scripts/check-format.sh; git diff --check.
2026-06-15 18:50:16 +02:00
Sam & Claude
f3f47c8cdd docs/skills: switch published image + flashing from .gz to .xz
Smaller downloads that Rufus/balenaEtcher/RPi-Imager still read directly (zstd
would break Windows flashers). Switches the image artifact, flashing commands
(xz -dc | dd, xz -t, unxz), publish flow (xz -T0 -c), the artifact-manifest
script, and all skills + docs to .img.xz. Adds a Windows (Rufus/Etcher) flashing
section + README pointer. Source tarballs (clawdie-ai *.tar.gz) unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 12:04:56 +02:00
368e663965 Stage colibri-mcp in operator USB by default (Sam & Codex)
Makes colibri-mcp a required Colibri artifact for the live operator USB, copies it into the image, documents the read-only default and explicit trusted COLIBRI_MCP_WRITE profile, and updates ISO build handoff docs.\n\nChecks: ./scripts/check-format.sh; sh -n build.sh scripts/stage-colibri-iso.sh; git diff --check
2026-06-13 19:29:31 +02:00
6d0290d07e Clarify Colibri live and Clawdie deploy service split (Sam & Codex)
Removes stale Herdr references, reserves service clawdie for deployed disk/server targets, and keeps the live USB on colibri_daemon. Drops the baseline live rc.d/clawdie wrapper so the mounted-image contract matches the docs.\n\nChecks: ./scripts/check-format.sh; git diff --check; sh -n over scripts/ firstboot/ live/operator-session/ executables
2026-06-13 12:00:57 +02:00
7ba92ed116 Standardize ISO build checkouts under /home/clawdie/ai (Sam & Codex) 2026-06-05 00:39:37 +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
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
9a1382981b AGENTS.md: anchor FreeBSD 15; add Colibri dependency section
Co-authored-by: Sam & Hermes
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
904dd58373 Enable mac_do framework during bootstrap (Codex)
Configure FreeBSD 15 installs to load mac_do with an empty rule set for future narrowly scoped UID transitions.
2026-06-04 20:04:22 +02:00
b04222fa81 Bump FreeBSD 14→15 docs, add CLAWDIE_PROFILE to firstboot
- REQUIREMENTS.md: remove 14.2 minimum floor (15.0+ only)
- firstboot/shell-env.sh: set CLAWDIE_PROFILE=core in fresh install and upgrade append
- AGENTS.md: document mac_do adoption plan reference

---
Build: n/a | Tests: n/a (shell scripts, Linux agent)
2026-06-04 20:04:22 +02:00
c153445af8 docs: agent identity, cross-repo coordination, handoff convention (Sam & Claude) 2026-06-04 20:04:22 +02:00
18afbae2cd feat: add Claude auth fields to firstboot wizard (Sam & Claude)
Add ANTHROPIC_API_KEY and CLAUDE_CODE_OAUTH_TOKEN as optional password
fields to both shell wizard and GUI installer. Fields flow through to
.env via shell-env.sh. Document /tmp exemption in AGENTS.md.
2026-06-04 20:04:22 +02:00
1bffa175c8 Unify ISO and fix GPU installation gap (Sam & ZAI)
BREAKING CHANGE: Removes --target and --gpu-driver flags, unified ISO for all use cases

## Phase 0: GPU Fix + Unified ISO

### Core Changes

**GPU Package Installation (FIXES CRITICAL GAP):**
- Add clawdie_shell_nvidia_install() function to shell-nvidia.sh
- NVIDIA drivers now installed after detection (previously only configured)
- Works offline (USB packages) or online (pkg install)
- Resolves issue where rc.conf was set but driver not installed

**Unified ISO Architecture:**
- Remove --target flag from build.sh (no more vps/baremetal branching)
- Remove --gpu-driver flag from build.sh (runtime detection instead)
- All packages included on every ISO (desktop + all GPU drivers)
- Single image works on VPS, baremetal, and cloud

**Runtime Detection:**
- Add shell-desktop.sh for display detection at firstboot
- VPS/cloud: no display → lightdm disabled (headless)
- Baremetal: display detected → lightdm enabled (Lumina desktop)
- GPU detection always runs, installs correct driver version

**Sudo Unification:**
- Replace all doas references with sudo across entire codebase
- Update AGENTS.md with system configuration guidelines
- Update all documentation (BUILD.md, README.md, REQUIREMENTS.md, etc.)
- Admin panel now uses sudo for privileged operations

### Files Modified

**Core System:**
- build.sh: Remove target/gpu-driver logic, unified package selection
- firstboot/firstboot.sh: Add desktop detection module
- firstboot/shell-nvidia.sh: Add package installation function (+33 lines)

**New Files:**
- firstboot/shell-desktop.sh: Display detection and desktop enablement
- packages/pkg-list-nvidia-all.txt: All three NVIDIA driver versions (390/470/590)
- .opencode/plans/phase0-gpu-fix-unified-iso.md: Implementation plan

**Documentation:**
- PLAN-UNIFY.md: Update Step 3 for unified approach
- REQUIREMENTS.md: Simplify (no target choice), update for sudo
- BUILD.md: Update for unified ISO, sudo commands
- README.md: Update installation instructions
- AGENTS.md: Add system configuration section (sudo standardization)
- ADMIN-PANEL.md: Update privileged operations to use sudo
- CLAWDIE-SHELL.md: Update example commands to sudo
- CLAWDIE-ISO-REFACTORED.md: Update access paths to sudo
- REFACTOR-SUMMARY.md: Update permissions section to sudo

### Benefits

**Simplicity:**
- One build command: ./build.sh (no flags needed)
- One ISO to test and maintain
- No wrong choices for users
- No documentation explaining target differences

**Flexibility:**
- VPS can use GUI via VNC (wayvnc always available)
- Baremetal can run headless (disable lightdm)
- Repurpose hardware without reinstall
- All GPU drivers available for any hardware

**Technical:**
- Fixes critical GPU driver installation gap
- Runtime detection replaces build-time decisions
- Disk overhead: ~650MB (1-2% of 50GB - acceptable)
- No runtime overhead on VPS (services disabled by detection)

### Testing Required

- [ ] Build unified ISO: ./build.sh
- [ ] Test on VPS (no display): lightdm disabled, packages installed
- [ ] Test on baremetal (display): lightdm enabled, Lumina boots
- [ ] Test on NVIDIA hardware: driver installed and loaded
- [ ] Test sudo commands work without password prompts
- [ ] Verify all doas references removed
2026-06-04 20:04:22 +02:00
5c36f239cd docs: announce Tailscale mandatory, --target flag, glasspane, repo unification (Sam & Claude)
- README: rewrite for unified iso repo, two targets, mandatory Tailscale pre-req
- BUILD: add Step 0 (auth key), --target flag, --insecure-no-tailscale, first boot Tailscale screen 1
- AGENTS: note clawdie-shell archived, clawdie-iso is canonical, point to PLAN-UNIFY.md
2026-06-04 20:04:22 +02:00
ed09223233 Add commit attribution policy (C&C) 2026-06-04 20:04:21 +02:00