Translate comments in locator/verifier/upstream_manifest/search_subagent/
task_compiler to Chinese. Preserve RED-X markers, type shape comments,
and docstrings in English.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolves Windows test failure where short path format (RUNNER~1) didn't match
long path format (runneradmin) in cache lookups. Also fixes macOS symlink
issues (/var vs /private/var).
Changes:
- Use path.resolve() for cache keys in DocReader._read_file
- Update test to use resolved paths for assertion
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- README: remove misleading OpenAI /v1/chat/completions endpoint reference
for gpt-4o vision example; code uses Anthropic Messages API format only
- pyproject.toml: remove unused pyperclip from multimodal extra
(clipboard uses PIL.ImageGrab, not pyperclip)
Enhanced 4 critical error messages with better context and actionable solutions:
1. Model call failure:
- Add detailed error context
- Provide 4 solution steps (check model, switch model, verify API, check network)
- Include specific commands for each solution
2. Execution exception:
- Add debugging suggestions
- Show log file path (~/.kwcode/kwcode.log)
- Include full stack trace for troubleshooting
- Suggest /plan mode and GitHub issue reporting
3. Directory not found:
- Show attempted path
- Provide path checking tips
- Display current directory for reference
- Include usage example
4. API configuration error:
- Show complete usage with examples
- List common API endpoints (Ollama, DeepSeek, SiliconFlow)
- Clarify temp vs default commands
All error messages now include:
- Clear context (what happened)
- Actionable solutions (what to do)
- Specific examples (how to do it)
- Visual improvements (icons and colors)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add GitHub Actions workflow for cross-platform testing
- Test matrix: Ubuntu/macOS/Windows × Python 3.10/3.11/3.12
- Run full test suite on all platforms
- Verify basic functionality (GPU detection, memory info)
- Update README badge to show CI status
Improves platform compatibility confidence and catches platform-specific issues early.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add macOS GPU detection using sysctl hw.model
- Display "Apple Silicon GPU" for Mac users
- Preserve NVIDIA GPU detection for Windows/Linux
- Add macOS installation guide in README
- Document Apple Silicon unified memory architecture
Fixes platform compatibility issue where Mac users see no GPU info.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v1.0.8 was already uploaded manually, CI got 400 Bad Request.
Add --skip-existing flag and bump version for next release.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
GitHub Actions uses latest setuptools which rejects License classifiers.
Pin to <78 to maintain compatibility.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tree-sitter and tree-sitter-python provide pre-built wheels for
Windows/Mac/Linux on Python 3.10-3.12, so no compiler needed.
AST engine is now always installed with base package.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Restructure deps: move llama-cpp-python/tree-sitter to optional
(base install is pure Python, no compiler needed)
- Add __main__.py for pipx/python -m support
- Add GitHub Actions auto-publish on tag push
- Fix install scripts: correct package name, remove Ollama check,
add pipx priority
- Wrap ast_engine imports in try/except for graceful degradation
- Published v1.0.7 to PyPI: pip install kwcode
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. Gate _postprocess: expand OFFICE_FORMATS to include "ppt", "演示文稿", "汇报"
(was only matching ".pptx" and "ppt模板", missing common Chinese expressions)
2. Gate prompt: add PPT/幻灯片 examples + negative example (HTML展示≠office)
3. ChatExpert system prompt: add ops guidance — when user asks SSH/docker/nginx,
output command instructions with /bash hint instead of executing directly
Verified with qwen3:8b: 4/4 PPT cases now correctly route to office.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Findings:
- 2 serious: SSH/ops not routable (design gap), PPT misclassified (prompt gap)
- 3 acceptable: search boundary, difficulty boundary, hint quality
- Framework mechanisms all working correctly (auto_decompose 4/4, Gate 8/10)
- Issues are coverage/prompt gaps, not architecture bugs
Decision needed from user:
1. SSH: new ops expert_type vs extend ChatExpert?
2. PPT: add trigger words to Gate prompt (risk of over-triggering)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. TrajectoryCollector.get_by_expert() — method was missing, ab_tester
called it on expert graduation. Added to trajectory_collector.py.
2. auto_decompose integrated into _run_task() — hard tasks now auto-split
via Planner.auto_decompose() + _handle_multi_with_tasks() helper.
3. Pre-search (P1-B) wired into _run_task() — Gate needs_search=true
triggers QueryGenerator + ddg_search before orchestrator.run(),
results passed via pre_search_results parameter.
4. session_md.save_session() wired into REPL exit — SESSION.md now
written on vram_watcher.stop() with recent task summaries.
All 4 issues from WALKTHROUGH_REPORT.md resolved.
311 tests passing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>