Commit Graph

16 Commits

Author SHA1 Message Date
cfdaily 3bca794902 fix: M2 on_failure assignee 从 tasks 表读取 + infrastructure 防递归(司马懿 Review #65)
CI / lint (pull_request) Successful in 7s
CI / test (pull_request) Failing after 9s
CI / notify-on-failure (pull_request) Successful in 1s
M2: on_failure 中 assignee = meta.get('from', '') 读到 'system' 而非实际 Agent
→ 改为 SELECT must_haves, assignee FROM tasks 直接读 tasks.assignee 字段

附带:infrastructure failure 改为直接 DB INSERT,不走 _send_toolchain_task 防递归
2026-06-13 23:47:12 +08:00
cfdaily c89863a288 feat: §17 ToolchainHandler 强约束实现(Step 1-4)
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 1s
Step 1: 基础设施
- prompt_composer.py: PromptContext 新增 action_type + action_steps 字段
- spawner.py: handler 路径提取 action_type/action_steps 传入 PromptContext
- db.py: comments CHECK 约束加入 action_report

Step 2: ToolchainHandler 强化
- ToolchainContextSection: 加 steps 渲染 + action_hint(按 action_type)
- ToolchainApiSection: 改为 action_report 提交指引 + Gitea 协作指引
- ToolchainConstraintsSection: 5 条强约束 + Red Flags 防self-rationalization
- verify_completion: action_report → output → comment 三层 fallback
  - review_merged 始终通过(纯通知)
  - infrastructure_failure 始终通过(防递归)
  - 修复 LENGTH(content) → LENGTH(body) bug
- on_failure 三分路: 业务→Gitea PR comment / 系统→Gitea Issue / 基础设施→toolchain task

Step 3: toolchain_routes 改造
- 新增 _toolchain_db_path() + _send_toolchain_task()
- 所有 8 个 handler 改为 _send_toolchain_task
- _send_mail 保留但不再被 toolchain handler 调用
- _send_deploy_failure_mail → _send_deploy_failure_task

Step 4: 测试
- 29 个单元测试全部通过
- 全量 456 passed, 3 skipped, 0 failures
2026-06-13 23:36:44 +08:00
cfdaily 7fb4d988ec fix: lint 修复 + api_error 测试更新
CI / lint (pull_request) Successful in 6s
CI / test (pull_request) Successful in 8s
CI / notify-on-failure (pull_request) Successful in 0s
- mail_notify: f-string 反斜杠修复、行过长修复、unused import
- test_classify_outcome: api_error should_retry 改 True
2026-06-13 09:29:52 +08:00
cfdaily e7f28cd36e fix(mention): address PR #45 review feedback (M1-M3, S1-S3)
CI / lint (pull_request) Successful in 7s
CI / test (pull_request) Successful in 8s
CI / notify-on-failure (pull_request) Successful in 0s
M1: Remove '帮忙' from help_keywords to fix keyword priority bug
M3: Add unit tests for mention_utils (§25.7)
S1: Merge two 'if action == opened' blocks in _handle_issues
S2: Extract _send_review_mentions helper to deduplicate @mention code
S3: Remove redundant 'import re' inside conditional block
2026-06-12 18:56:54 +08:00
cfdaily 5bb220d237 fix(spawner): A13 exit=0 always completed, not agent_error
exit=0 means process exited normally. Trust the exit code regardless
of stdout/JSON output or task_status. Old logic misclassified inform
Mail completions as agent_error, causing infinite retry loops.

Includes test update: test_task_status_pending expects completed.
2026-06-09 23:41:53 +08:00
cfdaily 7e1bdec0b2 auto-sync: 2026-06-07 08:23:57
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-07 08:23:57 +08:00
cfdaily 76945a47d6 auto-sync: 2026-06-05 18:41:47 2026-06-05 18:41:47 +08:00
cfdaily 3573a6db9c auto-sync: 2026-06-05 14:09:49 2026-06-05 14:09:49 +08:00
cfdaily d8e25734d1 auto-sync: 2026-06-05 13:29:53 2026-06-05 13:29:53 +08:00
cfdaily 9b85039865 auto-sync: 2026-06-05 13:29:28 2026-06-05 13:29:28 +08:00
cfdaily 3c693d1ac9 auto-sync: 2026-06-05 13:29:00 2026-06-05 13:29:00 +08:00
cfdaily 204b3a6640 auto-sync: 2026-06-05 13:28:23 2026-06-05 13:28:23 +08:00
cfdaily 3e8e9e6d9c auto-sync: 2026-06-05 13:27:55 2026-06-05 13:27:55 +08:00
cfdaily e867d4e985 auto-sync: 2026-06-05 13:27:30 2026-06-05 13:27:30 +08:00
cfdaily 0c1f89a43a auto-sync: 2026-06-05 13:27:20 2026-06-05 13:27:20 +08:00
cfdaily 6a649aba07 auto-sync: 2026-06-05 11:03:30 2026-06-05 11:03:30 +08:00