diff --git a/HANDOFF-v1.0.0-RELEASE.md b/HANDOFF-v1.0.0-RELEASE.md deleted file mode 100644 index a992e6eb..00000000 --- a/HANDOFF-v1.0.0-RELEASE.md +++ /dev/null @@ -1,129 +0,0 @@ -# v1.0.0 Release Handoff - -**From:** Claude (6 Apr 2026) -**To:** Other Agent -**Status:** Ready for testing & release prep - ---- - -## Current State - -| Repo | Version (file) | Tag | Status | -|------|---------------|-----|--------| -| clawdie-iso | `0.9.0` (build.cfg) | `v0.9.0` | Ready for `1.0.0` | -| Clawdie-AI | `1.0.3` (package.json) | `v0.9.0` | **Mismatch** - tag behind | - ---- - -## Phase 4 Status - -**Implementation:** ✅ Complete (commit 51e101b) -**Testing:** ⏳ Pending - needs FreeBSD agent - -### What Was Built -- GUI → Shell integration pipeline -- Config file writer (`/tmp/clawdie-install.conf`) -- Package selection properties (4 new) -- firstboot.sh sourcing (lines 95-100) - -### Files Changed -``` -firstboot/firstboot.sh +7 -firstboot/gui/qml-installer/main.cpp +109 -firstboot/gui/qml-installer/pages/PackagesPage.qml +4 -firstboot/gui/qml-installer/pages/ProgressPage.qml +5 -firstboot/gui/qml-installer/README.md +15 -``` - -### Critical Files to Review -- `PHASE4-SUMMARY.md` - Implementation overview -- `PHASE4-TESTING-INSTRUCTIONS.md` - Test steps 1-4 -- `firstboot/gui/PHASE4-INTEGRATION-COMPLETE.md` - Full docs - ---- - -## Open Questions (Must Answer Before v1.0.0) - -1. **firstboot.sh path** - Is `/usr/local/share/clawdie-iso/firstboot/firstboot.sh` correct? Check `build.sh` - -2. **Progress format** - GUI writes `PROGRESS=N`, shell uses step names. Align or add counter. - -3. **Privilege escalation** - QML runs as user, firstboot.sh needs root. Add sudo wrapper? - ---- - -## Pre-Release Checklist - -### Both Repos -- [ ] Sync versions to `1.0.0` (build.cfg, package.json, git tag) -- [ ] Run Phase 4 tests 1-4 on FreeBSD -- [ ] Answer 3 open questions above -- [ ] Create release notes (feature: GUI installer phases 1-4) - -### clawdie-iso -- [ ] `build.cfg`: `CLAWDIE_VERSION="1.0.0"` -- [ ] Test ISO build: `make release` -- [ ] Test VM boot with GUI installer - -### Clawdie-AI -- [ ] `package.json`: `"version": "1.0.0"` -- [ ] Tag and push - ---- - -## Quick Test Commands - -```bash -# Test 1: Config format (5 min) -cd /home/clawdija/clawdie-iso/firstboot/gui -./test-config-format.sh - -# Test 2: Compilation (10 min) -cd /home/clawdija/clawdie-iso/firstboot/gui/qml-installer -qmake6 && make - -# Test 3: ISO build (13 min) -cd /home/clawdija/clawdie-iso -make release - -# Test 4: VM boot -# Boot ISO in bhyve/VirtualBox, verify GUI installer launches -``` - ---- - -## Crowdin Translation Status - -**Project:** https://crowdin.com/project/clawdie-ai -**License:** Pending approval (requested 6 Apr) -**Priority:** Slovenian (sl) first -**Config files ready:** `.crowdin.yml`, `scripts/crowdin-sync.sh` - -Once approved: -1. `./scripts/crowdin-sync.sh --push` (upload sources) -2. Translate Slovenian on Crowdin web -3. `./scripts/crowdin-sync.sh --pull` (download translations) - ---- - -## Key Paths - -| Item | Path | -|------|------| -| ISO build | `/home/clawdija/clawdie-iso/` | -| AI repo | `/home/clawdija/Clawdie-AI/` | -| Phase 4 docs | `clawdie-iso/firstboot/gui/` | -| Config script | `clawdie-iso/build.cfg` | -| Crowdin setup | `Clawdie-AI/scripts/crowdin-sync.sh` | - ---- - -## Contact Points - -**Questions? Check these:** -- `PHASE4-SUMMARY.md` - What was built -- `PHASE4-TESTING-INSTRUCTIONS.md` - How to test -- `firstboot/gui/qml-installer/README.md` - QML installer status -- `QT6-IMPLEMENTATION-PLAN.md` - Overall GUI roadmap - -**Good luck! Report back with test results.** diff --git a/README.md b/README.md index 41b0abdc..0a4ed6f8 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,7 @@ LAN/tailnet exposure should use TLS and allowlisting. - **[TESTING.md](TESTING.md)** — bhyve and hardware validation procedures - **[SHELL-ARCHITECTURE.md](SHELL-ARCHITECTURE.md)** — firstboot module layout - **[SHELL-MODULES.md](SHELL-MODULES.md)** — module reference +- **[docs/VPS-MIGRATION.md](docs/VPS-MIGRATION.md)** — VPS/cloud deployment path --- diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md index 4cb6d6d7..4f88c2ff 100644 --- a/REQUIREMENTS.md +++ b/REQUIREMENTS.md @@ -49,13 +49,13 @@ This keeps fetch/build behavior independent from the invoking user's login PATH. ### Disk Space -| Item | Typical size | -| ---------------------------- | ------------ | -| FreeBSD memstick cache | ~2 GB | -| Offline pkg repository | varies | -| Clawdie-AI offline tarball | varies | -| Working image | 50 GB sparse | -| Output image | 50 GB sparse | +| Item | Typical size | +| -------------------------- | ------------ | +| FreeBSD memstick cache | ~2 GB | +| Offline pkg repository | varies | +| Clawdie-AI offline tarball | varies | +| Working image | 50 GB sparse | +| Output image | 50 GB sparse | Recommended free space: **150 GB**. @@ -120,12 +120,12 @@ Do not expose port `3100` directly on the public internet. ### Minimum Runtime Hardware -| Component | Minimum | Recommended | Notes | -| --------- | ------- | ----------- | ----------------------------- | -| CPU | 4 cores | 4+ cores | More helps jail provisioning | -| RAM | 8 GB | 16 GB+ | ZFS + jails + Chromium | -| Disk | 50 GB | 100 GB+ | More for datasets and caches | -| Network | 1 NIC | 1 Gbps | Needed for remote operation | +| Component | Minimum | Recommended | Notes | +| --------- | ------- | ----------- | ---------------------------- | +| CPU | 4 cores | 4+ cores | More helps jail provisioning | +| RAM | 8 GB | 16 GB+ | ZFS + jails + Chromium | +| Disk | 50 GB | 100 GB+ | More for datasets and caches | +| Network | 1 NIC | 1 Gbps | Needed for remote operation | Local AI models require substantially more disk/RAM and are optional. @@ -179,10 +179,10 @@ http://127.0.0.1:3100/setup Recommended provider path: -- Pi `/login` with Codex/OpenAI subscription auth +- Pi interactive `/login` command with ChatGPT Plus/Pro (Codex) subscription -Peer supported options include OpenAI API, Anthropic, z.ai, OpenRouter, Gemini, -Groq, DeepSeek, Azure OpenAI, Ollama, and other Pi-supported providers. +Also supported: OpenAI API, Anthropic, z.ai, OpenRouter, Gemini, Groq, DeepSeek, +Azure OpenAI, Ollama, and other Pi-supported providers. Telegram setup is optional and happens after a provider is configured. @@ -208,13 +208,13 @@ BUILD_CHANNEL=release sudo ./build.sh --clawdie-version 0.10.0 ## Common Problems -| Symptom | Likely cause | Fix | -| -------------------------------------------- | ------------------------------------ | ---------------------------------------- | -| missing package archive | stale `tmp/packages` cache | run `sudo ./build.sh` | -| `pkg` not found in normal shell | user PATH lacks `/usr/local/sbin` | update PATH; build script already guards | -| cannot attach md device | not root / stale md device | run with sudo; clean stale mdconfig | -| setup page unreachable remotely | no tunnel / PF boundary | use SSH tunnel to `127.0.0.1:3100` | -| no Tailscale key | optional remote-access choice | continue with public SSH or rebuild | +| Symptom | Likely cause | Fix | +| ------------------------------- | --------------------------------- | ---------------------------------------- | +| missing package archive | stale `tmp/packages` cache | run `sudo ./build.sh` | +| `pkg` not found in normal shell | user PATH lacks `/usr/local/sbin` | update PATH; build script already guards | +| cannot attach md device | not root / stale md device | run with sudo; clean stale mdconfig | +| setup page unreachable remotely | no tunnel / PF boundary | use SSH tunnel to `127.0.0.1:3100` | +| no Tailscale key | optional remote-access choice | continue with public SSH or rebuild | --- diff --git a/build.cfg b/build.cfg index 23b3fdf7..3a79883b 100644 --- a/build.cfg +++ b/build.cfg @@ -26,7 +26,7 @@ BUILD_CHANNEL="${BUILD_CHANNEL:-dev}" # dev | release # Recommended: 128GB USB (with IMAGE_SIZE=100G) for comfortable offline setup # IMAGE_SIZE="50G" -IMAGE_NAME="clawdie-iso-$(date +%d.%b.%Y | tr 'A-Z' 'a-z').img" +# build.sh overrides IMAGE_NAME with the "unified" prefix; do not edit here. # Clawdie-AI ref to bundle from Codeberg. # Use main for install validation so ISO firstboot exercises the current