Files
kwcode/pyproject.toml
Val-sss 347b4ad976 feat: v1.0.0 — 5 meta-experts + 15 SKILL.md knowledge layer, architecture finalized
Meta-expert system (atomic capabilities, fixed):
  1. Locator — BM25+AST call graph code localization
  2. Generator — LLM code generation with domain knowledge injection
  3. Verifier — syntax check + pytest validation
  4. Debugger — runtime variable capture via sys.settrace
  5. Reviewer — requirement alignment check (LLM compares intent vs changes)

Knowledge layer (SKILL.md progressive disclosure, extensible):
  15 domain experts converted from YAML to SKILL.md directory format
  - Level 1 (Gate): name+keywords ~100 tokens/expert
  - Level 2 (Generator): full instructions loaded only for matched expert
  - Level 3 (on-demand): deterministic scripts, never enter LLM context

Key decisions based on 2025-2026 research:
  - Experts split by atomic capability, not business domain (arXiv:2604.09780)
  - Progressive disclosure prevents noise (Anthropic Agent Skills)
  - Only specific domain knowledge helps; generic rules hurt (SWE-Skills-Bench)
  - 5 atomic skills compose into all complex tasks (GitHub Copilot paper)

Changes:
  - Add kaiwu/experts/reviewer.py (Reviewer meta-expert)
  - Convert all 15 experts from .yaml to SKILL.md directories
  - Delete all .yaml expert files
  - Add CHANGELOG.md
  - Update README (meta-expert architecture, version badge)
  - Bump version to 1.0.0
  - 311 tests passing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 19:35:24 +08:00

43 lines
933 B
TOML

[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "kwcode"
version = "1.0.0"
description = "KwCode - Local-model coding agent with MoE expert pipeline"
requires-python = ">=3.10"
dependencies = [
"llama-cpp-python>=0.2.90",
"typer>=0.12.0",
"rich>=13.0.0",
"pydantic>=2.0.0",
"httpx>=0.27.0",
"gitpython>=3.1.0",
"psutil>=5.9.0",
"beautifulsoup4>=4.12.0",
"lxml>=5.0.0",
"trafilatura>=1.12.0",
"pyyaml>=6.0",
"tree-sitter>=0.23.0",
"tree-sitter-python>=0.23.0",
"networkx>=3.0",
"rank-bm25>=0.2.2",
"pytest>=7.0.0",
"aiosqlite>=0.20.0",
]
[project.optional-dependencies]
rerank = ["sentence-transformers>=2.7.0"]
[project.scripts]
kwcode = "kaiwu.cli.main:app"
[tool.setuptools.packages.find]
where = ["."]
include = ["kaiwu*"]
[tool.setuptools.package-data]
"kaiwu.builtin_experts" = ["*.yaml"]