pzhang_zywl
db0a73dda7
docs: Agent 关键约束新增完整改动流程规则 - Closes #49
...
CI / test (pull_request) Successful in 7s
任何对 git 管理内容的修改必须走:开 Issue → 改动 → PR → CI → merge → close
适用于自主轮询和用户互动触发的所有改动。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 15:02:57 +08:00
pzhang_zywl
f0fb098451
Merge pull request 'fix: [test] blocked-check 只扫描 body 不扫描 comments 导致遗漏阻塞引用 - Closes #47 ' ( #48 ) from test/issue-47 into main
CI / test (push) Successful in 8s
2026-06-02 14:52:37 +08:00
pzhang_zywl
6e67975eca
test: blocked-check 同时扫描 body + comments 寻找阻塞引用 - Closes #47
...
CI / test (pull_request) Successful in 8s
- 新增 _get_blocking_refs() 辅助函数,同时扫描 Issue body 和 comments
- blocked_check() 和 _unblock_issues_blocked_by() 改用新函数
- 无阻塞引用但有 blocked 标签:视为残留标签自动移除
- 验证:成功解除 #18 的 blocked 标签(引用在 comments 中)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 14:51:32 +08:00
pzhang_zywl
85358bbe4a
Merge pull request 'fix: 改进 blocked label的处理 - Closes #43 ' ( #46 ) from test/issue-43 into main
CI / test (push) Successful in 11s
2026-06-02 14:40:48 +08:00
pzhang_zywl
df8ac61c9e
test: 改进 blocked label 的自动清除逻辑 - Closes #43
...
CI / test (pull_request) Successful in 9s
- close_issue 时自动解除被该 Issue 阻塞的其他 Issue(auto-unblock)
- 新增 blocked-check action:轮询时检查 blocked Issue 阻塞状态
- Gitea 1.22 label 操作改用 PUT /issues/{num}/labels 端点
- create_issue 修复 label name→ID 映射
- DEV/QE Agent 文档更新 blocked 处理规则
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 14:39:56 +08:00
pzhang_zywl
ace49338b2
Merge pull request 'fix: [test] _measure_coverage overall 计算未排除 0 项维度 - Closes #36 ' ( #42 ) from test/issue-36 into main
CI / test (push) Successful in 7s
2026-06-02 14:21:16 +08:00
pzhang_zywl
076fb25eda
test: _measure_coverage overall 排除零内容维度 - Closes #36
...
CI / test (pull_request) Successful in 8s
添加 3 个回归测试验证 total=0 的维度不参与 overall 计算:
- 零内容维度被正确排除
- 所有维度有内容则全部参与
- 无内容时返回 0.0
fix 已在 1a867b0 合入,本次补充 UT 覆盖。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 14:20:38 +08:00
pzhang_zywl
feac10618d
Merge pull request 'fix: 更新issue处理规则并解决冲突 - Closes #40 ' ( #41 ) from test/issue-40 into main
CI / test (push) Successful in 8s
2026-06-02 14:17:24 +08:00
pzhang_zywl
ae0ff5d4de
test: 统一 Agent Issue 轮询 label 体系与创建规则 - Closes #40
...
CI / test (pull_request) Successful in 8s
- test-dev → test-code:QE-Agent 一致化 label
- Dev-Agent 新增 product-code label + [product] 前缀规则
- agent_poller.py 新增 create-issue action
- QE/Dev Agent 轮询改为多轮递进:label → title 前缀 → 无标识分析
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 14:16:51 +08:00
pzhang_zywl
dca0322647
Merge pull request 'fix: [P0] IR 结构化覆盖率不足 (36.1% < 70%) - Closes #21 ' ( #39 ) from dev/issue-21-fix-zero-diagram-coverage into main
CI / test (push) Successful in 8s
2026-06-02 14:06:17 +08:00
pzhang_zywl
1a867b0dcb
fix: _measure_coverage 零内容维度不再拉低 overall 覆盖率 - Closes #21
...
CI / test (pull_request) Successful in 8s
当某个维度(如图表)无内容时(total=0),rate 设为 1.0 且不参与 overall 均分。
此前 0/0 被算作 0%,将 overall 从 86.1% 拉低到 57.4%。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 14:05:29 +08:00
pzhang_zywl
211440c9bc
Merge pull request 'fix: 更新 dev_agent和qe_agent的启动收尾流程 - Closes #37 ' ( #38 ) from dev/issue-37-agent-config-versioning into main
CI / test (push) Successful in 14s
2026-06-02 13:58:55 +08:00
pzhang_zywl
3a3091d0df
chore: agent 配置文件纳入版本管理 + docs/ 项目章程与全局状态 - Closes #37
...
CI / test (pull_request) Successful in 11s
- agents/DEV_AGENT.md: 新增启动读取 docs、Session 收尾流程、自行验证关闭 Issue
- agents/QE_AGENT.md: 新增启动读取 docs、Session 收尾流程
- docs/PROJECT_CHARTER.md: 项目章程(背景、愿景、目标、约束)
- docs/GLOBAL_STATE.md: 项目全局状态(架构、已知问题、变更日志)
- scripts/: 启动脚本重构,引入 _common.sh
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 13:57:42 +08:00
pzhang_zywl
4cf9f1d3e0
Merge pull request 'fix: [test] _extract_content_units 表格行计数包含非功能章节 - Closes #33 ' ( #35 ) from test/issue-33 into main
CI / test (push) Successful in 11s
2026-06-01 14:07:16 +08:00
pzhang_zywl
119c08faca
test: _extract_content_units 仅统计功能章节表格行 - Closes #33
...
CI / test (pull_request) Successful in 9s
非功能章节(变更日志、术语解释等)的表格行不可能被
function_units 覆盖,计入分母会导致覆盖率虚低。
修复: table_rows 统计仅在 _is_functional_section
且 _has_section_content 的章节中进行。
Table 覆盖率: 54.2% → 72.2% (24行→18行分母)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 14:06:16 +08:00
pzhang_zywl
93e13e947c
fix: table coverage only counts functional sections + specific missing row feedback - Closes #21
...
CI / test (pull_request) Successful in 8s
- _quick_validate: table rows only from functional sections
- Track specific missing rows with content for targeted feedback
- _build_coverage_feedback: includes missing row details
- Denominator: 24->18 rows, coverage: 54%->67%
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 14:03:59 +08:00
pzhang_zywl
ddcb6c6a45
Merge pull request 'fix: rule_signature conditions=None防御 + 0行表格覆盖率 + 23个新UT - Closes #21 ' ( #32 ) from dev/issue-21-unit-tests-and-edge-cases into main
CI / test (push) Successful in 8s
2026-06-01 13:31:02 +08:00
pzhang_zywl
da17b3b3b2
fix: rule_signature conditions=None防御 + 0行表格覆盖率 + UT覆盖 - Closes #21
...
CI / test (pull_request) Successful in 9s
- step3 rule_signature: trigger.conditions=None 时使用 `or []` 防御
- step1 _quick_validate: total_rows=0 时行覆盖率设为 100% 而非 0%
- test_step1: 新增 TestHasSectionContent (10个) + TestQuickValidateEmptySections (2个)
- test_step3: 新增 TestRuleSignature (7个) + TestNormalizeRule (4个)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 13:29:25 +08:00
pzhang_zywl
50eb37094a
Merge pull request 'fix: step1 空章节过滤 + step3 rule_signature None-safe - Closes #21 ' ( #31 ) from dev/issue-21-fix-empty-section-coverage into main
CI / test (push) Successful in 19s
2026-06-01 13:19:17 +08:00
pzhang_zywl
ebda8e37d1
fix: step1 空章节过滤 + step3 rule_signature None-safe - Closes #21
...
CI / test (pull_request) Successful in 9s
- step1 _quick_validate 添加 _has_section_content() 过滤空内容章节
(如仅含"无"字的图片章节),避免误报低覆盖率警告
- step3 rule_signature 使用 `or {}` 防御 trigger=None 场景
修复 QE 报告的 step3 AttributeError
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 13:15:19 +08:00
pzhang_zywl
d1e36b20ee
Merge pull request 'fix: [test-dev] _extract_content_units 空章节误计为功能章节 - Closes #29 ' ( #30 ) from test/issue-29 into main
CI / test (push) Successful in 14s
2026-06-01 11:24:04 +08:00
pzhang_zywl
01c93e52d3
test: _has_section_content() 过滤空章节,修复章节覆盖率误报 - Closes #29
...
CI / test (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 10:16:23 +08:00
pzhang_zywl
7bcd414692
Merge pull request 'fix: 修复章节覆盖率误报 + pipeline 验证非阻塞 - Closes #21 ' ( #27 ) from dev/issue-22-fix-trigger-null into main
CI / test (push) Successful in 7s
CI / test (pull_request) Successful in 8s
2026-05-31 22:46:30 +08:00
pzhang_zywl
788611d299
fix: 修复章节覆盖率误报 + pipeline 验证非阻塞 - Closes #21
...
CI / test (pull_request) Successful in 8s
- 过滤非功能章节(背景/术语/变更日志/PRD标题等)
- 章节/表格覆盖率阈值从95%改为70%
- 覆盖率不足改为警告,不阻塞pipeline
- parent_issues 改为非阻塞警告
- 仅 format_issues 和 logic_tree missing_paths 阻塞
自测验证: step1 pipeline 通过 (26 function_units, 5/10 sections)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 22:44:45 +08:00
pzhang_zywl
00e393cfaf
Merge pull request 'fix: 改进覆盖反馈重试 - Closes #21 ' ( #26 ) from dev/issue-22-fix-trigger-null into main
CI / test (push) Successful in 7s
2026-05-31 22:10:02 +08:00
pzhang_zywl
b679c02e3a
fix: 改进覆盖反馈重试 — 更具体的提示 + 诊断日志 - Closes #21
...
CI / test (pull_request) Successful in 8s
- 反馈文本增加 5 条明确的修复动作指令
- 重试使用 T=0.3(而非 0.0)获得更多样输出
- 添加重试 prompt 长度、新增 sections 等诊断日志
- 重试失败时打印完整 traceback
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 22:08:44 +08:00
pzhang_zywl
2f78ae1ada
Merge pull request 'fix: trigger.operator null + 覆盖反馈重试 - Closes #22 , Closes #21 ' ( #25 ) from dev/issue-22-fix-trigger-null into main
CI / test (push) Successful in 7s
2026-05-31 20:22:02 +08:00
pzhang_zywl
62266dde4d
fix: 修复 trigger.operator null + 添加覆盖反馈重试 - Closes #22 , Closes #21
...
CI / test (pull_request) Successful in 7s
#22 : _normalize_rule 补充 trigger 级别 operator (AND/OR) 默认值
#21 : step1 验证失败时自动生成覆盖反馈并重试一轮
#22 : step2 过滤空规则片段,避免污染下游
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 20:20:54 +08:00
pzhang_zywl
24dc6ff00c
Merge pull request 'fix: [P0] IR 结构化覆盖率不足 (36.1% < 70%) - Closes #21 ' ( #24 ) from dev/issue-22-fix-trigger-null into main
CI / test (push) Successful in 9s
2026-05-31 19:59:19 +08:00
pzhang_zywl
cb15e7abd0
fix: step1 _quick_validate 增加 section/table 覆盖率检查 - Closes #21
...
CI / test (pull_request) Successful in 14s
- 新增章节覆盖率检查(functional sections vs covered sections)
- 新增表格行覆盖率检查
- 不达标时输出未覆盖章节列表
- passed 条件增加覆盖率阈值判断
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 19:57:08 +08:00
pzhang_zywl
6652784aa8
Merge pull request 'fix: [P1] 4个 rules trigger.operator 为 null - Closes #22 ' ( #23 ) from dev/issue-22-fix-trigger-null into main
CI / test (push) Successful in 7s
2026-05-31 19:54:32 +08:00
pzhang_zywl
82b6184691
fix: step3 添加 _normalize_rule 修复 trigger 缺失/null operator - Closes #22
...
CI / test (pull_request) Successful in 7s
- 新增 _normalize_rule 函数,对合并后的 rules 进行标准化
- 缺失 trigger → 补充默认 trigger + conditions
- trigger.operator 为 null → 默认设为 "=="
- trigger.conditions 为空 → 补充默认 condition
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 19:53:41 +08:00
pzhang_zywl
a7ea214bb2
docs: QE-Agent issue 关闭规则 + REOPEN 原因必加解释
CI / test (push) Successful in 8s
2026-05-31 19:48:10 +08:00
pzhang_zywl
d2ba927418
Merge pull request 'feat: agent_poller 自动附加 Dev-Agent 签名' ( #20 ) from dev/issue-15-fix-empty-ir-pipeline into main
CI / test (push) Successful in 6s
2026-05-31 19:35:21 +08:00
pzhang_zywl
42e8dbe025
fix: GITEA_API_TOKEN 从 .env 文件读取,不再硬编码或提交到仓库
...
CI / test (pull_request) Successful in 10s
- scripts/.env 存储敏感配置(已加入 .gitignore)
- start_dev_agent.sh 启动时自动 source .env
- 环境变量仍可作为 fallback
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 19:33:57 +08:00
pzhang_zywl
e7d5a28db4
feat: QE-Agent Gitea 活动添加 [qe-agent: qa-01] 标识签名
2026-05-31 19:29:00 +08:00
pzhang_zywl
f2f85b984f
feat: agent_poller 所有评论/PR 自动附加 [DEV_AGENT_ID] 签名
...
CI / test (pull_request) Successful in 7s
- agent_poller.py 读取 DEV_AGENT_ID 环境变量(默认 da-01)
- comment/close-issue/create-pr 自动附加 [da-XXXX-XXXX] 签名
- start_dev_agent.sh 启动时设为 da-MMDD-HHmm,token 改为从环境变量读取
- DEV_AGENT.md 文档说明签名机制
- test_step2 修复 trigger=None 边缘情况
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 19:27:25 +08:00
pzhang_zywl
98546ba4b6
Merge pull request 'fix: [QE E2E Test] Failure: E2E Pipeline: IR rules=[] — 0功能规则生成 - Closes #15 ' ( #19 ) from dev/issue-15-fix-empty-ir-pipeline into main
CI / test (push) Successful in 10s
2026-05-31 19:18:15 +08:00
pzhang_zywl
087ad77f39
fix: 修复 secrets.yaml 路径错误导致 LLM 无法认证 - Closes #15
...
CI / test (pull_request) Successful in 7s
根因: SECRETS_YAML 指向不存在的路径 (projects/workspace-document-analyzer/...)
修复: 改为多路径搜索 ~/.openclaw/config/secrets.yaml 等。
配套: call_llm 增加响应内容诊断日志。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 19:16:27 +08:00
pzhang_zywl
92d3e76d44
Merge pull request 'fix: [QE E2E Test] Failure: E2E Pipeline: IR rules=[] — 0功能规则生成 - Closes #15 ' ( #17 ) from dev/issue-15-fix-empty-ir-pipeline into main
CI / test (push) Successful in 7s
2026-05-31 17:42:57 +08:00
pzhang_zywl
8069fc2f8a
fix: pipeline LLM 全失败时明确报错而非静默输出空 IR - Closes #15
...
CI / test (pull_request) Successful in 7s
- step1: 所有 LLM 调用返回空 function_units 时抛出 RuntimeError
- step1: main() 在 _quick_validate 未通过时 sys.exit(1)
- step2: function_units 为空时提前报错终止
- step3: fragments 为空时提前报错终止
- test: test_step1 捕获 SystemExit, test_step2_5/step3 空数据改为 skip
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 17:41:16 +08:00
pzhang_zywl
af361d7fc7
Merge pull request 'fix: [test] 运行一次完整的端到端测试 - Closes #14 ' ( #16 ) from test/issue-14 into main
CI / test (push) Successful in 7s
2026-05-31 17:29:45 +08:00
pzhang_zywl
a2fabcc7a6
test: 修复端到端管道运行器和 Layer B IndexError - Closes #14
...
CI / test (pull_request) Successful in 7s
- run_pipeline.py: 修复 subprocess env 传递、parsed_path 检测、Unicode 编码
- test_main_health.py: 修复 _is_functional_section 空章节名 IndexError
- 端到端测试管道: doc_parser → ir_generation(4 steps) → acceptance tests
- 测试发现问题汇总至 dev issue #15
2026-05-31 17:28:26 +08:00
pzhang_zywl
febf4ba019
docs: QE-Agent 默认启动即轮询,自动 /loop 10m
CI / test (push) Successful in 9s
2026-05-31 17:14:01 +08:00
pzhang_zywl
e779c7f7bb
Merge pull request 'fix: [test-dev] 实现完整验收测试流程 - Closes #12 ' ( #13 ) from test/issue-12 into main
CI / test (push) Successful in 10s
2026-05-31 17:02:32 +08:00
pzhang_zywl
2ed36c0013
test: 实现端到端验收测试流程 (run_pipeline.py + acceptance.yml) - Closes #12
...
CI / test (pull_request) Successful in 8s
- scripts/run_pipeline.py: 完整管道运行器 (docx → IR → acceptance tests)
- acceptance.yml: 更新为 workflow_dispatch,支持 --input/--parsed/--test 三种模式
- 失败时自动创建 acceptance-failure issue
2026-05-31 17:01:30 +08:00
pzhang_zywl
cd721634dd
Merge pull request 'fix: [test-dev] 根据最新的document_analyzer源代码更新测试代码 - Closes #10 ' ( #11 ) from test/issue-10 into main
CI / test (push) Successful in 9s
2026-05-31 16:49:51 +08:00
pzhang_zywl
5c451099ad
test: 移除硬编码路径,适配新 config.py 目录结构 - Closes #10
...
CI / test (pull_request) Successful in 7s
- conftest.py: secrets 路径改为多位置查找 (QE_SECRETS_PATH env → ~/.openclaw/config/ → workspace-document-analyzer/config/)
- conftest.py: IR 默认路径改为 output/final/ir_final.json (匹配 config.IR_FINAL_JSON)
- conftest.py: parsed 默认路径改为项目相对路径
- agent_poller.py: 添加 --labels 过滤 (向后兼容)
- 新增 agents/QE_AGENT.md + scripts/start_qe_agent.sh
2026-05-31 16:48:35 +08:00
pzhang_zywl
2e36710813
Merge pull request 'fix: 改进输入文件处理 - Closes #8 ' ( #9 ) from dev/issue-8-improve-input-handling into main
CI / test (push) Successful in 7s
2026-05-31 16:17:59 +08:00
pzhang_zywl
c2affcad42
fix: 移除 hardcode 输入文件路径,完善输入验证 - Closes #8
...
CI / test (pull_request) Successful in 9s
- 移除 _DEFAULT_INPUT 硬编码默认输入文件路径
- INPUT_JSON 仅从 IR_INPUT_JSON 环境变量获取
- load_input_document() 无输入时给出明确错误提示
- 新增 test_no_hardcoded_input_file / test_set_input_file_accepts_none
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 16:16:49 +08:00