- Force UTF-8 stdout/stderr on Windows to handle LLM unicode output
- Replace ─ (U+2500) with - for Windows cp1251 compatibility
- Sanitize em-dash in session filenames
- Update default model to glm-5.1 in all roles
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- config.py: extracted load_config(), find_workspace_config(),
load_discussion_config() from cli.py; fixed Windows root detection
- cli.py: run_discussion() now creates DiscussionEngine + EventEmitter,
subscribes to events with ANSI-color output (identical to before),
delegates to engine.run()
- backends/custom/run.py: deprecation shim with DeprecationWarning,
delegates to DiscussionEngine
- 16 new config tests, all 184 tests passing
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- api_client.py: APIClient class with ProviderConfig types,
chat_stream() returns str instead of printing,
module-level wrappers for backward compat
- tools.py: ToolRegistry class with instance methods,
pure Python list_files (os.walk) and search_in_files (re.search)
replacing find/grep for Windows compat,
English tool descriptions and error messages,
module-level wrappers for backward compat
- 74 new tests (21 api_client + 53 tools)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add pydantic>=2.0 to main dependencies for typed models.
Add [dev] optional deps (pytest, pytest-mock) for testing.
Add [web] optional deps (fastapi, uvicorn, websockets) for Phase 2.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Remove autogen and crewai backends (focus on custom only)
- Simplify CLI: remove --backend flag
- Remove optional deps from pyproject.toml
- Add .tasks/ with 7 tasks for Phase 1 refactor
- Add .wiki/concepts/meeting-room-v2.md with architecture plan
- Update .wiki/index.md and .tasks/STATUS.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>