Extract muse utilities into dedicated think/muse.py module
Consolidate all muse-related functionality from think/utils.py into a new
think/muse.py module for better organization and maintainability:
- Move prompt loading (load_prompt, PromptContent, PromptNotFoundError)
- Move config discovery (get_muse_configs, get_agent, _load_prompt_metadata)
- Move instruction composition (compose_instructions, _merge_instructions_config)
- Move source helpers (source_is_enabled, source_is_required, get_agent_filter)
- Move output path utilities (key_to_context, get_output_topic, get_output_path)
- Move hook loading (load_pre_hook, load_post_hook, _resolve_hook_path)
Update all consumers to import from think.muse instead of think.utils.
Create tests/test_muse.py with dedicated tests for the new module.
Update documentation references from think/utils.py to think/muse.py.
No legacy re-exports or backwards compatibility - all usages updated directly.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>