cfdaily
|
9ec601d747
|
[moz] feat: Runaway Guard per-task dispatch 上限
CI / lint (pull_request) Successful in 8s
CI / test (pull_request) Successful in 29s
CI / frontend (pull_request) Successful in 12s
CI / notify-on-failure (pull_request) Successful in 1s
§15 Runaway Guard — per-task dispatch_count 上限,防止无限循环 dispatch
问题:mail/toolchain task 走 handler auto-working(跳过 claim),不受
claim_timeout 3 次重试兜底保护。如果反复 spawn 但永远到不了 done/failed,
会无限循环消耗资源(实际案例:2026-06-15 mention 重复投递事件)。
设计:
- tasks 表新增 dispatch_count 字段
- 每次 ticker 成功 dispatch 时递增
- dispatch_count >= 10 时自动标 failed(reason=runaway_guard)
- 覆盖所有非终态(pending/working/claimed)
- 参考 Hermes v0.13 §3 Per-Task 重试上限
改动文件:
- src/blackboard/db.py: _safe_add_column dispatch_count
- src/blackboard/models.py: Task dataclass 加 dispatch_count
- src/daemon/ticker.py: dispatch 递增 + _check_timeouts runaway guard
- docs/design/15-runaway-guard.md: 设计文档
- tests/integration/test_ticker_integration.py: E13 测试 3 个
测试:456 passed, 3 skipped
|
2026-06-16 23:10:27 +00:00 |
|
cfdaily
|
25863634c2
|
fix: v3.0→HEAD review 修复 — handler 注册 + review verdict + skill 全文注入
基于庞统+司马懿背靠背 review,修复 6 个问题:
P0 致命:
- A1: _legacy_on_complete 补回 review verdict 处理(approved→done,非 approved→@mention assignee)
- A2: 添加 TaskTypeRegistry.register() 启动初始化(注册 Task/Mail/Toolchain handler)
P1 中等:
- B11-1: RoleSkillSection 从索引提示改为全文注入(对齐设计 §2.3 + BootstrapBuilder 行为)
- A8: retry prompt is_mail 硬编码改走 TaskTypeRegistry handler 判断
P2 低:
- _mail_* 4 个方法添加 DEPRECATED 注释
- ticker.py handler check_completion 代码块缩进对齐(28→24 空格)
测试:394 passed, 0 failed
Review reports: docs/design/review-v3-vs-head-{pangtong,simayi}.md
|
2026-06-11 08:08:20 +08:00 |
|
cfdaily
|
ce1b0902dd
|
fix: S1 handler display_name + S2 import 移顶部 + W1 注释
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 3s
- S1: vp_name 硬编码字典 → handler.display_name 属性
- S2: ticker/spawner 中 TaskTypeRegistry 局部 import → 移文件顶部
- W1: TaskHandler executor verify 失败不调 on_failure 加注释说明
|
2026-06-10 22:38:55 +08:00 |
|
cfdaily
|
8d72a1fa19
|
feat: Step 5 引擎接入 + H1-H3/S3 修复 + 审计 D1/D2/D5 修复
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 3s
引擎接入(dispatcher/spawner/ticker → handler 统一路由):
- dispatcher: guardrail/on_checks_passed/on_complete → handler 查询
- spawner: _build_prompt/_build_api_section → handler.build_prompt
- ticker: 虚拟项目扫描/assignee/claimed/review/幻觉门控 → handler 判断
Handler 缺陷修复:
- H1: _mark_task_status 加 3 次重试(防 DB 锁)
- H2: review @mention 加 comment_type='review'
- H3: review 非 approved 保持 review 状态(不标 working)
- S3: 通知链接改 Gitea(PR/Issue/Commit)
审计修复:
- D1: pre_spawn 返回值未检查 → 加 if not 抛 RuntimeError
- D2: PromptContext 缺 from_agent/mail_type → 从 must_haves 解析
- D5: _check_reply 查错表 → 恢复查 tasks 表找 in_reply_to
旧方法保留未删(deprecated),确认稳定后再清理。
|
2026-06-10 22:33:03 +08:00 |
|
cfdaily
|
d58e38d58f
|
fix(lint): 修复 PR #14 引入的 lint 回退 (119→0)
CI / lint (pull_request) Successful in 6s
CI / test (pull_request) Successful in 9s
CI / notify-on-failure (pull_request) Successful in 0s
PR #14 从旧分支复制文件导致回退了 PR #10 的 lint 修复。
修复内容:
- autoflake 移除未使用导入/变量
- autopep8 修复缩进/空格
- 手动修复 F821(pathlib→Path), F541(f-string), F841(未使用变量)
- 所有修复均通过 flake8 --max-line-length=120 --extend-ignore=E501 检查 (0 errors)
|
2026-06-09 23:53:29 +08:00 |
|
cfdaily
|
f7fbdac89c
|
chore: simayi-approved changes - lint fixes, toolchain improvements, healthz
All changes reviewed and APPROVED in PR #12 (Review ID: 40):
- toolchain_routes: webhook repo/org format compat, content dedup (sha256), closed issue filter
- dispatcher: inform mail crash 误标 done 修复
- ticker: cleanup and improvements
- healthz endpoint
- conftest: integration/e2e deselect markers
- docs: design docs, test-guide updates
- various lint/whitespace fixes across 30 files
|
2026-06-09 23:41:53 +08:00 |
|
cfdaily
|
242057dfd6
|
fix: remove dead code config.get experience
CI / lint (push) Successful in 6s
CI / test (push) Successful in 14s
CI / notify-on-failure (push) Successful in 1s
CI / lint (pull_request) Failing after 13m39s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Failing after 14m58s
|
2026-06-09 22:23:58 +08:00 |
|
cfdaily
|
09a0928bbc
|
fix: resolve all flake8 lint errors (118 → 0)
CI / lint (push) Successful in 8s
CI / lint (pull_request) Successful in 5s
CI / test (push) Failing after 8s
CI / test (pull_request) Failing after 8s
CI / notify-on-failure (push) Successful in 1s
CI / notify-on-failure (pull_request) Successful in 3s
|
2026-06-09 16:43:41 +08:00 |
|
cfdaily
|
e9c9aaddfe
|
auto-sync: 2026-06-05 08:05:57
|
2026-06-05 08:05:57 +08:00 |
|
cfdaily
|
e5e29ec791
|
auto-sync: 2026-06-04 23:50:45
|
2026-06-04 23:50:45 +08:00 |
|
cfdaily
|
61550e0fbe
|
auto-sync: 2026-06-04 23:50:23
|
2026-06-04 23:50:23 +08:00 |
|
cfdaily
|
b86b55f143
|
auto-sync: 2026-06-04 23:50:08
|
2026-06-04 23:50:08 +08:00 |
|
cfdaily
|
231094139f
|
auto-sync: 2026-06-04 22:33:27
|
2026-06-04 22:33:27 +08:00 |
|
cfdaily
|
bfd6db86cf
|
auto-sync: 2026-06-03 09:04:27
|
2026-06-03 09:04:27 +08:00 |
|
cfdaily
|
cb9aaae843
|
auto-sync: 2026-06-03 00:55:22
|
2026-06-03 00:55:22 +08:00 |
|
cfdaily
|
31f73568fe
|
auto-sync: 2026-06-03 00:55:05
|
2026-06-03 00:55:05 +08:00 |
|
cfdaily
|
a3546833f9
|
auto-sync: 2026-06-03 00:51:23
|
2026-06-03 00:51:23 +08:00 |
|
cfdaily
|
e17c33ffc9
|
auto-sync: 2026-06-03 00:50:12
|
2026-06-03 00:50:12 +08:00 |
|
cfdaily
|
26308c2341
|
auto-sync: 2026-06-03 00:49:39
|
2026-06-03 00:49:39 +08:00 |
|
cfdaily
|
aaafe91093
|
auto-sync: 2026-06-01 21:48:31
|
2026-06-01 21:48:31 +08:00 |
|
cfdaily
|
08dcb305e0
|
auto-sync: 2026-06-01 18:42:49
|
2026-06-01 18:42:49 +08:00 |
|
cfdaily
|
3e1d4d066b
|
auto-sync: 2026-05-31 23:35:05
|
2026-05-31 23:35:05 +08:00 |
|
cfdaily
|
e9c56b0dac
|
auto-sync: 2026-05-31 11:55:53 (catch-all)
|
2026-05-31 11:55:53 +08:00 |
|
cfdaily
|
7dd6ac1892
|
auto-sync: 2026-05-30 19:00:00
|
2026-05-30 19:00:00 +08:00 |
|
cfdaily
|
31205b16e6
|
auto-sync: 2026-05-30 18:42:27
|
2026-05-30 18:42:27 +08:00 |
|
cfdaily
|
3eb341eb8d
|
auto-sync: 2026-05-30 18:42:11
|
2026-05-30 18:42:11 +08:00 |
|
cfdaily
|
83fe7e41b8
|
auto-sync: 2026-05-30 13:44:33
|
2026-05-30 13:44:33 +08:00 |
|
cfdaily
|
87ba32cdde
|
auto-sync: 2026-05-30 13:09:57
|
2026-05-30 13:09:57 +08:00 |
|
cfdaily
|
5eb4a8c3c6
|
auto-sync: 2026-05-30 13:08:52
|
2026-05-30 13:08:52 +08:00 |
|
cfdaily
|
5d981b1677
|
auto-sync: 2026-05-30 10:52:07
|
2026-05-30 10:52:07 +08:00 |
|
cfdaily
|
9d08dd16ab
|
auto-sync: 2026-05-30 10:39:03
|
2026-05-30 10:39:03 +08:00 |
|
cfdaily
|
8dac92aad2
|
auto-sync: 2026-05-30 10:25:46
|
2026-05-30 10:25:46 +08:00 |
|
cfdaily
|
b07a87f667
|
auto-sync: 2026-05-30 10:25:32
|
2026-05-30 10:25:32 +08:00 |
|
cfdaily
|
96551b799a
|
auto-sync: 2026-05-30 10:01:15
|
2026-05-30 10:01:15 +08:00 |
|
cfdaily
|
abc96d0a0e
|
auto-sync: 2026-05-29 14:30:00
|
2026-05-29 14:30:00 +08:00 |
|
cfdaily
|
f7182511ba
|
auto-sync: 2026-05-29 14:26:30
|
2026-05-29 14:26:30 +08:00 |
|
cfdaily
|
c722173b0a
|
auto-sync: 2026-05-29 13:43:41
|
2026-05-29 13:43:41 +08:00 |
|
cfdaily
|
8c65fc1f60
|
auto-sync: 2026-05-29 13:40:18
|
2026-05-29 13:40:18 +08:00 |
|
cfdaily
|
b7a82a6534
|
auto-sync: 2026-05-29 13:39:58
|
2026-05-29 13:39:58 +08:00 |
|
cfdaily
|
bb076c6c9f
|
auto-sync: 2026-05-29 13:39:38
|
2026-05-29 13:39:38 +08:00 |
|
cfdaily
|
0192114889
|
auto-sync: 2026-05-29 13:32:08
|
2026-05-29 13:32:08 +08:00 |
|
cfdaily
|
5d397866a6
|
auto-sync: 2026-05-29 09:21:11
|
2026-05-29 09:21:11 +08:00 |
|
cfdaily
|
3920aa4fe1
|
auto-sync: 2026-05-29 08:32:34
|
2026-05-29 08:32:34 +08:00 |
|
cfdaily
|
7b3661e2cf
|
auto-sync: 2026-05-29 08:31:57
|
2026-05-29 08:31:57 +08:00 |
|
cfdaily
|
770f5b6b60
|
auto-sync: 2026-05-29 01:23:54
|
2026-05-29 01:23:54 +08:00 |
|
cfdaily
|
3617e8511c
|
auto-sync: 2026-05-29 01:13:38
|
2026-05-29 01:13:38 +08:00 |
|
cfdaily
|
d7079aa8a6
|
auto-sync: 2026-05-29 01:12:43
|
2026-05-29 01:12:43 +08:00 |
|
cfdaily
|
6c2c60d734
|
auto-sync: 2026-05-29 01:12:05
|
2026-05-29 01:12:05 +08:00 |
|
cfdaily
|
4be319b522
|
auto-sync: 2026-05-26 08:32:08
|
2026-05-26 08:32:08 +08:00 |
|
cfdaily
|
feff713e0a
|
auto-sync: 2026-05-26 08:26:12
|
2026-05-26 08:26:12 +08:00 |
|