Remove exec agent — replaced by OpenClaw skill + vault API (#722)

## What

Removes the exec agent (PR #697). Its functionality is replaced by:

1. **OpenClaw skill** — teaches any OpenClaw instance to be the factory's face
2. **Vault API** — structured interface for proposals, approvals, rejections

The exec agent was rebuilding OpenClaw in bash. Every piece has a native OpenClaw equivalent:
- CHARACTER.md → SOUL.md
- exec/MEMORY.md → MEMORY.md
- exec-session.sh → session management
- exec-briefing.sh → heartbeats/cron
- Matrix dispatch → channel plugins

## Why

Prudence isn't a separate agent. She's what OpenClaw becomes when it has the disinto skill. One LLM, one vault API, no LLM-to-LLM.

## Related

- #721 — remove escalation, route through vault
- #709 — skill registry research
- #466 — example project (vault should have handled this, not escalation)

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/disinto/pulls/722
This commit is contained in:
johba 2026-03-26 10:36:27 +01:00
parent 850a8d743f
commit cc4c6d7efa
14 changed files with 5 additions and 762 deletions

View file

@ -341,23 +341,6 @@ Interpret this response and decide how to proceed."
fi
fi
;;
exec)
# Route message to exec session — spawn on demand if needed
EXEC_PROJECT=$(awk -F'\t' -v id="$THREAD_ROOT" '$1 == id {print $5}' "$THREAD_MAP" 2>/dev/null || true)
EXEC_PROJECT="${EXEC_PROJECT:-${PROJECT_NAME:-disinto}}"
EXEC_TOML="${FACTORY_ROOT}/projects/${EXEC_PROJECT}.toml"
[ -f "$EXEC_TOML" ] || EXEC_TOML=""
# Delegate to exec-inject.sh (handles spawn + inject + capture + Matrix post)
nohup bash "${FACTORY_ROOT}/exec/exec-inject.sh" "$SENDER" "$BODY" "$THREAD_ROOT" \
"$EXEC_TOML" >> "$LOGFILE" 2>&1 &
log "exec message from ${SENDER} dispatched to exec-inject.sh"
if ! grep -qF "$THREAD_ROOT" "$ACKED_FILE" 2>/dev/null; then
matrix_send "exec" "✓ Message forwarded to executive assistant" "$THREAD_ROOT" >/dev/null 2>&1 || true
printf '%s\n' "$THREAD_ROOT" >> "$ACKED_FILE"
fi
;;
*)
log "no handler for agent '${AGENT}'"
;;