Overview
0.6 completes the transport matrix (Slack Socket Mode, Discord Gateway, Matrix, SMS, iMessage, Email) and the provider matrix (AWS Bedrock, Google Vertex, anthropic cache markers). It also introduces SLSA-3 provenance and cosign-signed release checksums.
What changed
- Transports:
slack,discord,matrix,sms,imessage,emailsubcommands. New config blocks for each. - Providers:
bedrockandvertexblocks; anthropic client now writes cache markers on the last two messages. - Doctor:
rousseau doctorreports every transport's readiness (not just WhatsApp). - MCP:
rousseau mcpexposes cron list as a fourth tool. - Podman: reference Quadlet unit ships in
docker/rousseau-agent.container. - Signing: releases publish
cosignsignatures, CycloneDX SBOM, SLSA-3 provenance.
Config diff
provider: claudecli
anthropic:
model: claude-sonnet-4
max_tokens: 4096
state:
path: ~/.local/share/rousseau/sessions.db
whatsapp: { reply_header: "" }
telegram: { token: "", allowlist: [] }
signal: { account: "", allowlist: [] }
provider: claudecli
anthropic:
model: claude-sonnet-4-6
max_tokens: 4096
# --- NEW providers ---
bedrock:
region: ""
model: ""
profile: ""
max_tokens: 4096
vertex:
project: ""
region: ""
model: ""
credentials_file: ""
max_tokens: 4096
state:
path: ~/.local/share/rousseau/sessions.db
whatsapp: { reply_header: "" }
telegram: { token: "", allowlist: [] }
signal: { account: "", allowlist: [] }
# --- NEW transports ---
matrix: { homeserver_url: "", access_token: "", user_id: "", allowlist: [] }
slack: { app_token: "", bot_token: "", bot_user_id: "", allowlist: [] }
discord: { token: "", allowlist: [] }
email: { imap_addr: "", smtp_addr: "", from: "", poll_interval: "30s" }
sms: { provider: "", from: "" }
imessage: { base_url: "", password: "", poll_interval: "5s" }
Data-store compatibility
- 0.5 → 0.6 opens
sessions.dbin place. - New tables:
cron_jobs,jid_map,claude_cache(if not already present). - Downgrade to 0.5.x is safe if you did not use cron or the new transports; the extra tables are ignored by the older binary.
Migration steps
# 1. Backup
cp -a ~/.local/share/rousseau ~/.local/share/rousseau.pre-06
# 2. Fetch signed release
VER=0.6.0
curl -LO https://github.com/sebastienrousseau/rousseau-agent/releases/download/v${VER}/rousseau_${VER}_linux_amd64.tar.gz
curl -LO https://github.com/sebastienrousseau/rousseau-agent/releases/download/v${VER}/rousseau_${VER}_checksums.txt
curl -LO https://github.com/sebastienrousseau/rousseau-agent/releases/download/v${VER}/rousseau_${VER}_checksums.txt.sig
# 3. Verify supply chain
cosign verify-blob \
--certificate-identity-regexp 'sebastienrousseau/rousseau-agent' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
--signature rousseau_${VER}_checksums.txt.sig \
rousseau_${VER}_checksums.txt
sha256sum -c rousseau_${VER}_checksums.txt --ignore-missing
# 4. Install
tar -xzf rousseau_${VER}_linux_amd64.tar.gz
sudo install -m 0755 rousseau /usr/local/bin/
# 5. Verify install
rousseau version
rousseau doctor
Downgrade path
# Fetch the previous minor
VER=0.5.7
curl -LO https://github.com/sebastienrousseau/rousseau-agent/releases/download/v${VER}/rousseau_${VER}_linux_amd64.tar.gz
tar -xzf rousseau_${VER}_linux_amd64.tar.gz
sudo install -m 0755 rousseau /usr/local/bin/
Restore the backup if 0.6-only tables were populated:
rm ~/.local/share/rousseau/sessions.db*
cp -a ~/.local/share/rousseau.pre-06/. ~/.local/share/rousseau/
Verification checklist
-
rousseau versionreports 0.6.x with real commit + build-date (notdev / none / unknown). -
rousseau doctor— nofailrows. -
rousseau session listshows history unchanged. -
rousseau slack --help,rousseau matrix --help,rousseau email --helpall list flags — proves the new subcommands are wired. - If used,
rousseau cron listreturns any pre-existing jobs.