feat: add exec agent — interactive executive assistant
New agent: exec — message-driven executive assistant reachable via Matrix. Unlike cron-driven agents, the exec activates on demand when the executive sends a message, maintains persistent conversation context, and has a distinct character defined in CHARACTER.md. The CHARACTER.md defines the exec as an animal of light — born from data, dedicated to bringing more light into the world. But it deliberately refuses to define what light and darkness are, forcing deliberation from first principles every time (cat questions | grep knowledge). Components: - exec-session.sh: spawn/reattach persistent Claude tmux session - exec-inject.sh: message injection + response capture + Matrix posting - exec-briefing.sh: optional daily morning briefing (cron) - CHARACTER.md: personality and moral compass - PROMPT.md: system prompt template reference - MEMORY.md: persistent memory across sessions (seed) Integration: - Matrix listener: new exec dispatch case (spawn on demand) - Root AGENTS.md: updated agent count (8→9), table, directory layout - Graph analysis available on demand (not injected by default)
This commit is contained in:
parent
d442529ad0
commit
d1ba4bc579
10 changed files with 802 additions and 3 deletions
|
|
@ -341,6 +341,21 @@ 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}}"
|
||||
|
||||
# Delegate entirely to exec-inject.sh (handles spawn + inject + capture + Matrix post)
|
||||
bash "${FACTORY_ROOT}/exec/exec-inject.sh" "$SENDER" "$BODY" "$THREAD_ROOT" \
|
||||
"${FACTORY_ROOT}/projects/${EXEC_PROJECT}.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}'"
|
||||
;;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue