Fold the agent harness under the colibri feature (drop FEATURE_ZOT) #43
3 changed files with 29 additions and 20 deletions
|
|
@ -7,7 +7,9 @@ A persistent operator USB with XFCE as the live-image baseline:
|
|||
- bootable USB image
|
||||
- stable XFCE desktop for the live operator environment
|
||||
- browser available immediately
|
||||
- `pi` agent harness available immediately (bundled npm global)
|
||||
- Colibri's agent harness staged with the control plane (under the colibri
|
||||
umbrella — no separate feature flag)
|
||||
- `pi` retained as a spawnable agent backend (bundled npm global)
|
||||
- Tailscale available immediately
|
||||
- Colibri control-plane daemon staged and enabled as the live-USB rc.d service
|
||||
(`service colibri_daemon`)
|
||||
|
|
@ -50,7 +52,8 @@ Live operator USB
|
|||
SDDM/XFCE desktop
|
||||
└── colibri_daemon # lightweight control plane, enabled on USB
|
||||
├── colibri CLI / colibri-tui
|
||||
└── agent harness events (pi today; runtime adapters in Colibri)
|
||||
└── agent harness # Colibri's bundled agent (staged with the
|
||||
# daemon); pi available as a spawnable backend
|
||||
|
||||
Deployed disk/server system
|
||||
service clawdie # target operator service name
|
||||
|
|
|
|||
20
build.cfg
20
build.cfg
|
|
@ -104,20 +104,22 @@ COLIBRI_COST_MODE="${COLIBRI_COST_MODE:-smart}"
|
|||
# lightweight `colibri_daemon` control plane directly. Add deployed-system
|
||||
# service packaging only after that implementation is chosen.
|
||||
|
||||
# zot agent harness (the consolidation target — see colibri ADR
|
||||
# docs/ADR-agent-harness-consolidation.md). zot is a single static Go binary
|
||||
# (providers incl. DeepSeek, Telegram bot, json/rpc modes, SKILL.md, extensions).
|
||||
# Opt-in (default NO) while Pi stays the default harness during migration.
|
||||
# Pin a tag for reproducible images; zot has no FreeBSD release, so the build
|
||||
# host compiles it: (cd $ZOT_REPO && git checkout $ZOT_VERSION &&
|
||||
# Colibri's bundled agent harness (the consolidation target — see colibri ADR
|
||||
# docs/ADR-agent-harness-consolidation.md). Shipped under the colibri umbrella as
|
||||
# a single static Go binary (providers incl. DeepSeek, Telegram bot, json/rpc
|
||||
# modes, SKILL.md, extensions), so it has NO separate feature flag: it stages
|
||||
# automatically whenever FEATURE_COLIBRI=YES. Internal escape hatch only —
|
||||
# COLIBRI_STAGE_AGENT=NO stages the daemon without the agent (debug builds).
|
||||
# Pin a tag for reproducible images; the agent has no FreeBSD release, so the
|
||||
# build host compiles it: (cd $ZOT_REPO && git checkout $ZOT_VERSION &&
|
||||
# GOOS=freebsd GOARCH=amd64 go build -trimpath -o bin/zot ./cmd/zot)
|
||||
FEATURE_ZOT="${FEATURE_ZOT:-NO}"
|
||||
COLIBRI_STAGE_AGENT="${COLIBRI_STAGE_AGENT:-YES}"
|
||||
ZOT_VERSION="${ZOT_VERSION:-v0.2.29}"
|
||||
ZOT_REPO="${ZOT_REPO:-/home/clawdie/ai/zot}"
|
||||
ZOT_ARTIFACT_DIR="${ZOT_ARTIFACT_DIR:-}"
|
||||
# Optional: bake the operator's DeepSeek key into $ZOT_HOME/auth.json (0600).
|
||||
# Optional: bake the operator's DeepSeek key into the agent's auth.json (0600).
|
||||
# Leave blank to stage an auth.json.sample template the operator fills in, or
|
||||
# to configure at runtime via `zot` env / `zot telegram-bot setup`.
|
||||
# to configure at runtime via agent env / `zot telegram-bot setup`.
|
||||
ZOT_DEEPSEEK_KEY="${ZOT_DEEPSEEK_KEY:-}"
|
||||
|
||||
# Local LLM runtime (optional)
|
||||
|
|
|
|||
22
build.sh
22
build.sh
|
|
@ -121,8 +121,7 @@ echo " Pkg : ${DEFAULT_PKG_BRANCH}"
|
|||
echo " GPU : ${GPU_DRIVER:-auto-detect}"
|
||||
echo " NVIDIA universal : ${NVIDIA_UNIVERSAL:-NO}"
|
||||
echo " Target : ${TARGET:-baremetal}"
|
||||
echo " Colibri : ${FEATURE_COLIBRI:-NO}"
|
||||
echo " zot agent : ${FEATURE_ZOT:-NO} (${ZOT_VERSION:-})"
|
||||
echo " Colibri : ${FEATURE_COLIBRI:-NO} (agent ${ZOT_VERSION:-} / stage ${COLIBRI_STAGE_AGENT:-YES})"
|
||||
echo ""
|
||||
|
||||
# Name the output for the thing we are actually building.
|
||||
|
|
@ -354,16 +353,17 @@ resolve_zot_paths() {
|
|||
}
|
||||
|
||||
preflight_zot_artifacts() {
|
||||
[ "${FEATURE_ZOT:-NO}" = "YES" ] || return 0
|
||||
[ "${FEATURE_COLIBRI:-NO}" = "YES" ] || return 0
|
||||
[ "${COLIBRI_STAGE_AGENT:-YES}" = "YES" ] || return 0
|
||||
[ "${FETCH_ONLY:-0}" -eq 0 ] || return 0
|
||||
|
||||
resolve_zot_paths
|
||||
if [ ! -x "${_resolved_zot_artifact_dir}/zot" ]; then
|
||||
echo "ERROR: zot binary missing: ${_resolved_zot_artifact_dir}/zot"
|
||||
echo " zot has no FreeBSD release — build it first:"
|
||||
echo "ERROR: Colibri agent binary missing: ${_resolved_zot_artifact_dir}/zot"
|
||||
echo " The agent has no FreeBSD release — build it first:"
|
||||
echo " (cd ${_resolved_zot_repo} && git checkout ${ZOT_VERSION:-v0.2.29} && \\"
|
||||
echo " GOOS=freebsd GOARCH=amd64 go build -trimpath -o bin/zot ./cmd/zot)"
|
||||
echo " Or set FEATURE_ZOT=NO to skip zot staging."
|
||||
echo " Or set COLIBRI_STAGE_AGENT=NO to skip agent staging."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
|
@ -852,12 +852,16 @@ install_colibri_service() {
|
|||
}
|
||||
|
||||
install_zot_agent() {
|
||||
[ "${FEATURE_ZOT:-NO}" = "YES" ] || {
|
||||
echo " zot agent staging disabled (FEATURE_ZOT=${FEATURE_ZOT:-NO})"
|
||||
[ "${FEATURE_COLIBRI:-NO}" = "YES" ] || {
|
||||
echo " Colibri agent staging disabled (FEATURE_COLIBRI=${FEATURE_COLIBRI:-NO})"
|
||||
return 0
|
||||
}
|
||||
[ "${COLIBRI_STAGE_AGENT:-YES}" = "YES" ] || {
|
||||
echo " Colibri agent staging disabled (COLIBRI_STAGE_AGENT=${COLIBRI_STAGE_AGENT:-YES})"
|
||||
return 0
|
||||
}
|
||||
|
||||
echo " Staging zot agent (${ZOT_VERSION:-})..."
|
||||
echo " Staging Colibri agent (${ZOT_VERSION:-})..."
|
||||
resolve_zot_paths
|
||||
|
||||
env \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue