Files
matrix-docker-ansible-deploy/roles/custom/matrix-bot-baibot/molecule/default/molecule.yml
T
Slavi PantaleevandClaude Opus 5.5 9869afdc7e matrix-bot-baibot: default Anthropic to claude-sonnet-5-5 and drop its temperature setting
claude-sonnet-4-5 retires on 2026-11-30. baibot now uses Anthropic API
version 2026-10-21, which rejects a temperature on every model, so
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_temperature
is removed (and reported if still set). The default max response tokens
go from 8192 to 16384, since thinking tokens count against them.

Needs the baibot release that moves to API version 2026-10-21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 22:49:22 +02:00

86 lines
3.7 KiB
YAML

# SPDX-FileCopyrightText: 2026 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
dependency:
name: galaxy
options:
requirements-file: requirements.yml
force: true
driver:
name: docker
platforms:
- name: matrix-bot-baibot-${MOLECULE_DISTRO:-ubuntu2604}-default
image: "geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2604}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-""}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
cgroupns_mode: host
privileged: true
pre_build_image: true
provisioner:
name: ansible
config_options:
defaults:
callback_result_format: yaml
inventory:
group_vars:
all:
matrix_bot_baibot_container_network: matrix-bot-baibot-molecule
# verify.yml runs as its own play, where the role's defaults are out of scope,
# so the paths it reads are pinned here to match what the role derives.
matrix_bot_baibot_base_path: /matrix/baibot
matrix_bot_baibot_config_path: /matrix/baibot/config
matrix_bot_baibot_data_path: /matrix/baibot/data
# baibot is a plain Matrix client, not an appservice: it logs in with a password
# and then syncs, so a homeserver has to answer for it to get anywhere.
matrix_bot_baibot_config_homeserver_url: http://matrix.molecule.local:8008
# Deliberately different from the role's defaults AND from baibot's own, so a passing
# assertion cannot be explained by "it would have happened anyway".
matrix_bot_baibot_config_user_mxid_localpart: molecule-baibot
matrix_bot_baibot_config_user_name: Molecule baibot
matrix_bot_baibot_config_user_password: molecule_baibot_password_5b7c14
matrix_bot_baibot_config_command_prefix: "!molecule-bai"
matrix_bot_baibot_config_room_post_join_self_introduction_enabled: false
matrix_bot_baibot_config_access_admin_patterns:
- "@molecule-admin:molecule.local"
# `debug` rather than the role's `info`, so the journal carries what the bot loaded.
matrix_bot_baibot_config_logging_level_baibot: debug
# A scenario must not need an AI provider account, and does not have to: providers are
# contacted only when a message asks an agent to do something, never at startup.
# So the agent below carries a placeholder key and a base URL that resolves nowhere.
# Nothing is ever called, yet the definition still has to survive baibot's startup
# parsing - which is what proves the role's provider templating produced something
# the bot accepts.
matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: true
matrix_bot_baibot_config_agents_static_definitions_anthropic_id: molecule-anthropic
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_base_url: http://molecule-no-such-provider.invalid/v1
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: molecule-placeholder-not-a-real-key
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: molecule-model-4-2
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_response_tokens: 1234
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_context_tokens: 56789
env:
# Workaround for https://github.com/ansible/molecule/issues/4391
ANSIBLE_ROLES_PATH: ${MOLECULE_PROJECT_DIRECTORY}/../..:/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:${ANSIBLE_HOME:-~/.ansible}/roles
scenario:
test_sequence:
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- cleanup
- destroy
verifier:
name: ansible