Files
semprini-maintainer/config.example.json
T
paulandClaude Opus 4.8 d6c315d353 Provision Matrix bot via shared-secret admin API (OIDC-only homeserver)
The homeserver authenticates humans via Keycloak OIDC and has password
login disabled, so register-matrix-bot.sh's password-login flow could
never obtain a token. Rewrite it to create the bot and mint a standalone
access token through Synapse's shared-secret admin API
(/_synapse/admin/v1/register), which works with registration + password
login turned off.

- Use the claude-code identity (@claude-code:semprini.me) as the bot.
- Avoid the admin "login as user" API: it returns a puppet token that
  Synapse revokes when the issuing admin is deactivated.
- Make re-runs idempotent: reuse a still-valid token/room; only recreate
  the account when no valid token is on hand.
- Read the registration shared secret from the running synapse container.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 18:24:11 +12:00

31 lines
915 B
JSON

{
"repo_dir": "/home/paul/Dev/semprini-core",
"extra_dirs": ["/home/paul/Dev"],
"agent_file": "agents/stack-support.agent.md",
"runbook_file": "docs/stack-support-runbook.md",
"claude_bin": "/home/paul/.local/bin/claude",
"claude_model": null,
"claude_extra_args": [],
"agent_timeout_seconds": 1800,
"kuma_volume": "uptime-kuma-data",
"sqlite_image": "keinos/sqlite3",
"autonomy": "full",
"health_interval_seconds": 300,
"upgrade_interval_seconds": 604800,
"matrix_poll_seconds": 30,
"down_confirmations": 2,
"heartbeat_interval_seconds": 86400,
"state_file": "/home/paul/.local/state/semprini-maintainer/state.json",
"matrix": {
"homeserver": "https://matrix.semprini.me",
"user_id": "@claude-code:semprini.me",
"access_token": "FILLED_BY_register-matrix-bot.sh",
"room_id": "FILLED_BY_register-matrix-bot.sh",
"admin_user_id": "@paul:semprini.me"
}
}