pzhang_zywl
29c2e3d3b0
fix: 将 Gitea 配置迁移到 ~/.gitea/config.yaml 多账号配置体系
...
CI / test (pull_request) Successful in 20s
- 新增 _get_gitea_config.py 从 YAML 读取 URL/repo/token
- _common.sh 改为通过 eval python 脚本加载配置
- GITEA_CICD_SETUP.md / DEV_AGENT.md / QE_AGENT.md 更新文档
- CI 工作流改用 ${{ gitea.server_url }} / ${{ gitea.repository }}
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-05 17:05:14 +08:00
pzhang_zywl
55e66b2aab
fix: 迁移 Gitea URL localhost:3000 → git.zywl.me - Closes #90
...
更新所有工作流、脚本、Agent 指引中的 URL,重新生成 API token。
修复 git hooks 指向 Docker 路径。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-05 14:47:18 +08:00
pzhang_zywl
a5f3efc555
fix: subprocess encoding=utf-8 to prevent GBK stdout crash on Windows - Closes #84
...
CI / test (pull_request) Successful in 10s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 14:39:55 +08:00
pzhang_zywl
500152510a
test: agent_poller 新增 reopen-issue 命令 - Closes #61
CI / test (pull_request) Successful in 10s
2026-06-02 16:47:26 +08:00
pzhang_zywl
eccaa28b1d
test: blocked-check 用 _req_safe 替代 _req 避免 API 错误误判 - Closes #58
...
CI / test (pull_request) Successful in 12s
- 新增 _req_safe():API 错误返回 None 而非 sys.exit(1)
- blocked_check / _unblock_issues_blocked_by / _get_blocking_refs 改用 _req_safe
- API 失败时保守处理:保持 blocked 状态
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 16:20:12 +08:00
pzhang_zywl
d73da7cda9
test: blocked-check 用 _req_safe 替代 _req 避免 API 错误误判 - Closes #58
...
- 新增 _req_safe():API 错误返回 None 而非 sys.exit(1)
- blocked_check / _unblock_issues_blocked_by / _get_blocking_refs 改用 _req_safe
- API 失败时保守处理:保持 blocked 状态(不误解除)
- 验证:#18 正确识别被 #57 阻塞
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 16:17:39 +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
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
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
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
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
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
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
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
e792fac6c0
docs: DEV_AGENT.md 完善自举能力,新增命令速查表和闭环检查清单
...
CI / test (pull_request) Successful in 9s
- 新增 agent_poller 8 命令速查表
- 新增闭环完成 12 步检查清单
- 步骤 4 增加 PR 创建后评论 Issue 的步骤
- start_dev_agent.sh 启动提示更新为完整闭环指令
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 15:49:42 +08:00
pzhang_zywl
c31ddd0bb3
fix: agent_poller merge-pr 处理 Gitea 空响应体 - Closes #3
...
CI / test (pull_request) Successful in 7s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 14:41:23 +08:00
pzhang_zywl
884848f15f
fix: 统一输出文件目录结构 - Closes #3
...
CI / test (pull_request) Successful in 7s
- 新增 PROJECT_OUTPUT (项目根/output/),统一所有输出文件
- IR 中间产物 → output/ir/,最终交付物 → output/final/
- agent_poller.py 新增 pr-status/merge-pr/close-issue/lifecycle 命令
- DEV_AGENT.md 同步更新完整闭环流程
- 更新 conftest/test_sample 中的默认路径
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-31 14:38:37 +08:00
pzhang_zywl
618364e744
feat: add Git Bash launcher for Dev-Agent (start_dev_agent.sh)
CI / test (push) Successful in 7s
2026-05-30 23:24:04 +08:00
pzhang_zywl
62493d3513
fix: Dev-Agent handles all non-test issues, broaden issue scope beyond qe-feedback label
CI / test (push) Successful in 7s
2026-05-30 23:19:56 +08:00
pzhang_zywl
5154fb472d
docs: update Dev-Agent with role definition, dev/test separation model, qe-feedback label
CI / test (push) Successful in 7s
2026-05-30 23:15:18 +08:00
pzhang_zywl
547e55168c
docs: update dev agent guide with accurate CLI usage and Windows launcher
CI / test (push) Successful in 7s
2026-05-30 22:59:29 +08:00
pzhang_zywl
fec4c09ee0
sync: update all skills from latest workspace code
...
CI / test (push) Successful in 8s
doc_parser_skill:
- New: verify_flowchart.py (flowchart validation)
- Updated: LLM.py (multi-provider: DeepSeek + DashScope)
- Updated: image_parser.py (logic tree support, external prompts)
- Updated: SKILL.md, prompts/image_prompt.md
conflict_detection_skill:
- Updated: LLM.py (multi-provider sync)
- Updated: detect_conflicts.py (logic tree text conversion)
ir_generation_skill:
- Replaced old scripts/LLM.py + ir_generator.py with standalone project
- New: main.py, config.py, step1-3_*.py, ensemble_merge.py
- New: prompts/, tests/ subdirectories
tests:
- New: acceptance/ test suite with schema validation
- Fixed: conftest no longer globally skips non-acceptance tests
- Updated: test_sample.py for new ir_generation structure
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-30 22:45:08 +08:00
pzhang_zywl
db64df2da1
feat: add Windows one-click start/stop scripts for Gitea + Runner
CI / test (push) Successful in 6s
2026-05-29 22:36:30 +08:00
pzhang_zywl
a1eeee0880
feat: add dev agent config and Gitea issue poller
CI / test (push) Successful in 6s
2026-05-29 22:24:09 +08:00
pzhang_zywl
7cd1cbbb08
fix: use empty labels array for Gitea API compat
CI / test (push) Failing after 7s
2026-05-29 22:10:40 +08:00
pzhang_zywl
7cf2231342
fix: use env var for API token, YAML folded scalar for args
CI / test (push) Failing after 7s
2026-05-29 22:07:39 +08:00
pzhang_zywl
e76f7c365b
feat: consolidate auto-issue into ci.yml with if: failure()
...
CI / test (push) Failing after 20s
CI / create-issue-on-failure (push) Has been skipped
- Replace workflow_run with same-workflow conditional job
- Add create_failure_issue.py script for Gitea API integration
- More reliable than cross-workflow triggers
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-29 20:35:28 +08:00