The roster / bot-relay known-profile set / sudo-user profile resolver now go
through named_profile_is_live, so fixtures that mkdir a bare profiles/<name>
dir and expect it to be served or resolved need a real identity marker.
Each fixture touches profiles/<name>/config.yaml right after the mkdir, the
same way production creates a profile. No production code changed.
Files:
- tests/hermes_cli/test_web_server.py
(test_messaging_platforms_profile_scopes_gateway_reads,
test_custom_endpoint_save_scopes_to_the_requested_profile)
- tests/tools/test_bot_retry_policy.py (shared fixture, 4 tests)
- tests/tools/test_bot_turn_lock.py
(test_relay_deliver_returns_target_busy_error,
test_relay_deliver_serializes_then_succeeds)
- tests/tui_gateway/test_relay_live_author.py
(test_live_relay_stamps_the_sender_as_a_delivery_author)
Contract rewrites: none — no assertion pinned the old bare-dir-is-a-profile
contract; every change is fixture-only.
Sweep: every test file referencing _roster / bot_mode_probe / bot_relay /
list_profiles / _resolve_sudo_user_profile_env (52 files, 1687 tests) runs
green with these changes.