feat: auto-provision compass via disinto init from disinto.ai

disinto init now silently downloads the compass from
https://disinto.ai/compass.md to ~/.disinto/compass.md, sets
EXEC_COMPASS in .env, and activates the exec agent. No prompts,
no friction — the compass is public philosophy, not a secret.

Once on disk, the factory cannot modify it. Only the executive
can edit ~/.disinto/compass.md directly.

- site/compass.md: compass hosted on disinto.ai (Codeberg Pages)
- bin/disinto: init downloads compass, sets env var, activates exec
- exec-session.sh, exec-briefing.sh: fallback to ~/.disinto/compass.md
- .env.example: updated comment to reflect auto-provisioning
This commit is contained in:
disinto-exec 2026-03-25 15:45:15 +00:00
parent 5c1c91bae2
commit b125277db2
5 changed files with 78 additions and 8 deletions

View file

@ -1376,6 +1376,27 @@ p.write_text(text)
touch "${FACTORY_ROOT}/state/.reviewer-active"
touch "${FACTORY_ROOT}/state/.gardener-active"
# Provision executive assistant compass (identity lives outside the repo)
local compass_dir="${HOME}/.disinto"
local compass_path="${compass_dir}/compass.md"
if [ ! -f "$compass_path" ]; then
mkdir -p "$compass_dir"
if curl -sf --max-time 10 "https://disinto.ai/compass.md" -o "$compass_path" 2>/dev/null; then
chmod 600 "$compass_path"
# Add EXEC_COMPASS to .env if not already present
if ! grep -q '^EXEC_COMPASS=' "$env_file" 2>/dev/null; then
printf 'EXEC_COMPASS=%s\n' "$compass_path" >> "$env_file"
fi
touch "${FACTORY_ROOT}/state/.exec-active"
fi
else
# Compass already exists — just ensure exec is active and env is set
if ! grep -q '^EXEC_COMPASS=' "$env_file" 2>/dev/null; then
printf 'EXEC_COMPASS=%s\n' "$compass_path" >> "$env_file"
fi
touch "${FACTORY_ROOT}/state/.exec-active"
fi
echo ""
echo "Done. Project ${project_name} is ready."
echo " Config: ${toml_path}"