feat(iso): live-rebuild lane covers zot + version-model cleanup #56
4 changed files with 56 additions and 8 deletions
21
CHANGELOG.md
21
CHANGELOG.md
|
|
@ -7,12 +7,16 @@ All notable changes to Clawdie-ISO are documented here.
|
|||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Live rebuild lane now covers the **whole agent stack**: `go` added to the live-operator package list and the `zot` source seeded at `/home/clawdie/ai/zot`, so a booted USB can rebuild zot (Go) as well as Colibri (Rust). See `docs/LIVE-COLIBRI-REBUILD.md`.
|
||||
- Aider+Pi harness venv provisioning — `firstboot/shell-deploy.sh` now creates `/opt/clawdie/venv/aider` with pinned deps: `aider-chat==0.86.2`, `litellm==1.81.10`, `tree_sitter==0.20.4`
|
||||
- Aider availability check in post-install verification (logs `aider` version at end of deployment)
|
||||
|
||||
### Improvements
|
||||
- Updated firstboot completion messages to highlight Aider and Pi as primary harnesses (Codex listed as optional alternative)
|
||||
|
||||
### Versioning
|
||||
- The image version tracks the `zot` release it is built on (resolved via `git describe`, falling back to `ZOT_VERSION`); the output is named `clawdie-<freebsd-codename>-<version>.img`. No separately invented ISO number.
|
||||
|
||||
---
|
||||
|
||||
## [0.9.0] — 2026-04-06
|
||||
|
|
@ -54,9 +58,14 @@ All notable changes to Clawdie-ISO are documented here.
|
|||
|
||||
## Repository Status
|
||||
|
||||
| Repo | Status | Latest |
|
||||
|------|--------|--------|
|
||||
| clawdie-ai | Active | v0.9.0 |
|
||||
| clawdie-iso | Active | v0.9.0 + Phase 0 |
|
||||
| clawdie-shell | **Archived** | — |
|
||||
| pi | Independent | v0.56.3 |
|
||||
The agent stack is **zot (Go agent) + Colibri (Rust control plane)**; "Clawdie"
|
||||
is the product name for the two together. The image version tracks zot.
|
||||
|
||||
| Repo | Status | Version source |
|
||||
| ------------- | ----------------------------------- | ------------------------------- |
|
||||
| zot | Active — the agent (front door) | pinned tag (`ZOT_VERSION`) |
|
||||
| colibri | Active — control plane + installer | workspace `Cargo.toml` |
|
||||
| clawdie-iso | Active — image builder | tracks zot (`git describe`) |
|
||||
| clawdie-ai | Being pruned (features → zot/Colibri) | — |
|
||||
| pi | Demoted — spawnable backend, not default | upstream npm |
|
||||
| clawdie-shell | **Archived** (merged into clawdie-iso) | — |
|
||||
|
|
|
|||
4
build.sh
4
build.sh
|
|
@ -1101,6 +1101,10 @@ EOF
|
|||
seed_live_ai_source_repo "${SCRIPT_DIR}" "clawdie-iso"
|
||||
seed_live_ai_source_repo "${_resolved_clawdie_ai_repo}" "clawdie-ai"
|
||||
seed_live_ai_source_repo "${_resolved_colibri_repo}" "colibri"
|
||||
# zot source so the live rebuild lane can rebuild the agent (Go) too, not
|
||||
# just Colibri (Rust). Skipped automatically if the zot checkout is absent.
|
||||
resolve_zot_paths
|
||||
seed_live_ai_source_repo "${_resolved_zot_repo}" "zot"
|
||||
chroot "${MOUNT_POINT}" chown -R clawdie:clawdie /home/clawdie/ai
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,10 +32,12 @@ box:
|
|||
rust
|
||||
pkgconf
|
||||
git
|
||||
go
|
||||
```
|
||||
|
||||
`git` is already in the live operator package list. `rust` provides `cargo` on
|
||||
FreeBSD. `pkgconf` is needed by common Rust native dependency build scripts.
|
||||
`go` builds the zot agent (see "Rebuild zot" below).
|
||||
|
||||
Optional if future dependencies need them:
|
||||
|
||||
|
|
@ -56,7 +58,8 @@ pkgconf --version
|
|||
```
|
||||
|
||||
If `rustc` or `cargo` is missing, the current USB cannot rebuild Colibri from
|
||||
source without installing packages first or using a newer ISO.
|
||||
source without installing packages first or using a newer ISO. Likewise check
|
||||
`go version` before attempting a zot rebuild.
|
||||
|
||||
## Clone or update Colibri
|
||||
|
||||
|
|
@ -181,6 +184,35 @@ mdo -u root install -m 0644 /tmp/colibri-live-rebuild.sha256 /var/db/colibri/liv
|
|||
|
||||
Report both files with validation notes when handing findings back through git.
|
||||
|
||||
## Rebuild zot (agent)
|
||||
|
||||
zot is the Go agent staged as a prebuilt binary at `/usr/local/bin/zot`. The
|
||||
source is seeded read-only at `/home/clawdie/ai/zot` (a `git archive` snapshot
|
||||
with no `.git`), so rebuilds clone a fresh checkout, same as Colibri.
|
||||
|
||||
```sh
|
||||
mkdir -p /home/clawdie/ai
|
||||
cd /home/clawdie/ai
|
||||
if [ ! -d zot-build/.git ]; then
|
||||
git clone https://code.smilepowered.org/clawdie/zot.git zot-build
|
||||
fi
|
||||
cd zot-build
|
||||
git fetch --prune origin
|
||||
git checkout v0.2.29 # ship the tag the ISO version tracks
|
||||
|
||||
go build -trimpath -o bin/zot ./cmd/zot
|
||||
```
|
||||
|
||||
Install into the running USB (privileged steps via `mdo`):
|
||||
|
||||
```sh
|
||||
mdo -u root install -m 0555 bin/zot /usr/local/bin/zot
|
||||
zot --version
|
||||
```
|
||||
|
||||
zot has no rc.d service of its own — Colibri spawns it — so no service restart
|
||||
is needed. Validate with `zot --version` and a Colibri spawn check.
|
||||
|
||||
## Fast rc.d-only repair
|
||||
|
||||
If only the service script is broken and no binary rebuild is needed, fetch the
|
||||
|
|
|
|||
|
|
@ -21,10 +21,13 @@ bash
|
|||
zsh
|
||||
ohmyzsh
|
||||
git
|
||||
# Live Colibri rebuild lane: lets the running USB rebuild and redeploy Colibri
|
||||
# Live rebuild lane: lets the running USB rebuild and redeploy the agent stack
|
||||
# without a full ISO rebuild for every small service/runtime iteration.
|
||||
# rust + pkgconf -> Colibri (Rust control plane)
|
||||
# go -> zot (Go agent)
|
||||
rust
|
||||
pkgconf
|
||||
go
|
||||
tailscale
|
||||
avahi-app
|
||||
nss_mdns
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue