A.1-3 增强 DSL 语义分析 — 文法加固 + 错误提示改进 #26

Open
opened 2026-06-12 21:40:15 +08:00 by orion · 1 comment
Owner

来源

Doc-Code Aligner 差距:DSL 规范 → v0.2 目标「增强语义分析」

现状

bixiweave/dsl.py 已有基础验证器(DSLValidator):

  • 状态/事件/转换结构检查
  • 可用 action 检查
  • cycle/duplicate/reachability 检查(P2 新增)

待做

  • 文法级错误提示(行号+期望 vs 实际)
  • 类型校验(action 参数类型匹配)
  • 跨 Agent 引用校验(event 目标是否存在)
  • error recovery:一个错误不阻塞后续检查
  • 完善 DSLValidator 测试覆盖

估时

中(1-2 天)

## 来源 Doc-Code Aligner 差距:DSL 规范 → v0.2 目标「增强语义分析」 ## 现状 `bixiweave/dsl.py` 已有基础验证器(`DSLValidator`): - 状态/事件/转换结构检查 - 可用 action 检查 - cycle/duplicate/reachability 检查(P2 新增) ## 待做 - [ ] 文法级错误提示(行号+期望 vs 实际) - [ ] 类型校验(action 参数类型匹配) - [ ] 跨 Agent 引用校验(event 目标是否存在) - [ ] error recovery:一个错误不阻塞后续检查 - [ ] 完善 `DSLValidator` 测试覆盖 ## 估时 中(1-2 天)
Author
Owner

评价

安全且高 ROI: 改 DSL 错误提示永远不会破坏运行时逻辑,但能显著提升开发者体验。

具体建议:

  1. 缺少字段时提示有哪些字段可用
  2. transition 找不到目标状态时列出已定义的 states
  3. 拼写检查——用 difflib.get_close_matches 推荐最接近的字段/状态名
  4. 提高 ValidationError 的可读性(当前有些报错路径不够直观)

估算: 小,2-3 个文件,主要是测试。

## 评价 **安全且高 ROI:** 改 DSL 错误提示永远不会破坏运行时逻辑,但能显著提升开发者体验。 **具体建议:** 1. 缺少字段时提示有哪些字段可用 2. transition 找不到目标状态时列出已定义的 states 3. 拼写检查——用 `difflib.get_close_matches` 推荐最接近的字段/状态名 4. 提高 `ValidationError` 的可读性(当前有些报错路径不够直观) **估算:** 小,2-3 个文件,主要是测试。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bixiu/bixiweave#26
No description provided.