docs: update STATUS.md with current progress

- 67 bench tasks (Python/Go/TS) added
- CLI file structure updated (commands/ split)
- TODO list updated with completed items

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Val-sss
2026-05-06 18:57:20 +08:00
parent 549a1d69c0
commit cfe5cc6d3f
36 changed files with 19 additions and 90 deletions

View File

@@ -9,7 +9,8 @@
## Current: v1.5.0 (2026-05-06)
451/451 tests green. Architecture upgrade: isolated search + cross-file contracts + PENCIL compression.
451/451 tests green + 67个bench tasks多语言Python/Go/TypeScript
架构升级:隔离搜索 + 跨文件契约 + PENCIL压缩 + CLI拆分 + 注释中文化。
### v1.5.0 — Isolated Search + Cross-File Contracts
@@ -140,9 +141,14 @@ kwcode/
├── STATUS.md
└── kaiwu/
├── cli/
│ ├── main.py # REPL + EventBus rendering + spinner + summary
│ ├── status_bar.py # Status bar (4-tier adaptive)
── onboarding.py # First-run onboarding
│ ├── main.py # 入口173行+ Typer路由
│ ├── commands/task.py # run/chat/vision/multi-task命令
── commands/expert.py # expert list/info/export/install
│ ├── commands/config.py # init/api/serve/setup-search
│ ├── formatters.py # Rich输出格式化
│ ├── repl.py # REPL交互循环
│ ├── status_bar.py # 状态栏(4档自适应)
│ └── onboarding.py # 首次启动引导
├── core/
│ ├── event_bus.py # Unified event bus (append-only + replay)
│ ├── cognitive_gate.py # Diminishing returns detection
@@ -181,20 +187,21 @@ kwcode/
├── mcp/ # MCP Router
├── llm/ # Ollama + llama.cpp backends
├── tools/ # 5 deterministic tools + ToolGateway
└── tests/ # 451 tests
└── tests/ # 451 unit tests + 67 bench tasks (Python/Go/TS)
```
---
## TODO
1. ~~CLI refactor: split main.py (1861 lines) into cli/commands/~~ ✅ v1.5.0
2. ~~Comments: unify to Chinese across all modules~~ ✅ v1.5.0
3. ~~Expert-level EventBus emit (file reads, function locations, test results)~~ ✅ v1.5.0
4. SQLite cross-session queries
5. Full expert benchmark (12 presets)
6. pip publish to PyPI
7. install.ps1 / install.sh one-click install
1. ~~CLI拆分:main.py 1861→173行~~ ✅ v1.5.0
2. ~~注释统一中文~~ ✅ v1.5.0
3. ~~专家细粒度EventBus emit~~ ✅ v1.5.0
4. ~~bench tasks多语言覆盖67题 Python/Go/TS~~ ✅ v1.5.0
5. SQLite跨session查询
6. pip publish到PyPIv1.5.0
7. install.ps1 / install.sh一键安装
8. SWE-bench评测用评测VPS跑
## Known Issues

View File

@@ -1,75 +0,0 @@
"""Workflow definition: nodes, edges, and parallel gateway logic."""
from __future__ import annotations
from dataclasses import dataclass, field
from typing import List, Dict, Optional, Set
from enum import Enum
class NodeType(Enum):
START = "start"
END = "end"
TASK = "task"
PARALLEL_SPLIT = "parallel_split" # fork: one in, many out
PARALLEL_JOIN = "parallel_join" # merge: many in, one out
@dataclass
class Node:
node_id: str
node_type: NodeType
name: str = ""
@dataclass
class Edge:
edge_id: str
source_id: str
target_id: str
condition: Optional[str] = None # None means unconditional
class WorkflowDefinition:
"""Immutable workflow graph."""
def __init__(self, workflow_id: str):
self.workflow_id = workflow_id
self._nodes: Dict[str, Node] = {}
self._edges: List[Edge] = []
def add_node(self, node: Node) -> None:
self._nodes[node.node_id] = node
def add_edge(self, edge: Edge) -> None:
self._edges.append(edge)
def get_node(self, node_id: str) -> Node:
return self._nodes[node_id]
def outgoing_edges(self, node_id: str) -> List[Edge]:
return [e for e in self._edges if e.source_id == node_id]
def incoming_edges(self, node_id: str) -> List[Edge]:
return [e for e in self._edges if e.target_id == node_id]
def all_nodes(self) -> List[Node]:
return list(self._nodes.values())
def start_node(self) -> Node:
for node in self._nodes.values():
if node.node_type == NodeType.START:
return node
raise ValueError("No START node defined")
def can_join(self, join_node_id: str, completed: Set[str], skipped: Set[str]) -> bool:
"""
Return True when all branches feeding into a PARALLEL_JOIN have
either completed or been skipped.
BUG: only checks `completed`; ignores `skipped`, so a join that
has one branch completed and one branch skipped will never fire.
"""
incoming = self.incoming_edges(join_node_id)
required_sources = {e.source_id for e in incoming}
# BUG: should be `required_sources <= (completed | skipped)`
return required_sources <= completed

View File

@@ -1,3 +0,0 @@
module bench/t61_go_scheduler
go 1.21