Commit Graph

1620 Commits

Author SHA1 Message Date
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 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 a1a4d7c5a7 docs: #19 adopt simayi review suggestions (v1.1) 2026-06-09 23:41:53 +08:00
jiangwei-infra 717dbc446a Merge pull request 'fix(CI): notify竞态修复 + 双倍触发去重 (PR #12 rebase, reviewed & approved)' (#14) from fix/ci-dedup-v2 into main
Deploy / ci (push) Failing after 6s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 0s
2026-06-09 23:36:19 +08:00
cfdaily ee1ef23ace fix(spawner): crash cooldown分级 + inform mail crash误标done修复
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 4s
- crashed outcome cooldown 60s(vs 其他 300s)
- import init_db
- whitespace/lint fixes
2026-06-09 23:35:02 +08:00
cfdaily 20b3b5facb fix(ci): 修复notify竞态条件 - 用needs.result替代commit status查询
根因:notify-on-failure job 通过 commit status API 查询结果时,
自身的 pending status 会污染查询结果(竞态条件):
1. lint/test 都 success
2. notify 开始运行,自身状态 pending 写入 commit status
3. notify 查询 commit status → 看到 pending(自己的)≠ success
4. 误发 [CI] 失败 评论 + webhook 触发 Mail 通知

修复方案:
- 不再查询 commit status API
- 直接用 needs.lint.result 和 needs.test.result 判断
- 只有明确的 failure 才发通知
- 同时去掉 push 触发避免双倍运行
2026-06-09 23:34:44 +08:00
cfdaily 05201d778e fix(ci): 去掉push触发避免双倍触发 + 修复notify误报
1. 触发器:去掉 push,只保留 pull_request(opened, synchronize)
   - 每次 push 到 PR 分支不再跑 2 次 CI
2. notify-on-failure:只有明确的 failure 状态才发通知
   - 之前:空状态/unknown/pending 都触发通知(误报根因)
   - 现在:只有 STATUS=failure 才发通知
3. venv 路径:统一用 /tmp/ci-venv-lint 和 /tmp/ci-venv-test
   - 避免 host 模式下与开发目录 .venv 冲突
2026-06-09 23:34:41 +08:00
pangtong-fujunshi 5b2c42687a Merge pull request 'docs: add #19 toolchain context layers design' (#11) from docs/19-toolchain-context-layers-v2 into main
Deploy / ci (push) Failing after 6s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 0s
2026-06-09 22:26:05 +08:00
cfdaily 149921fb5f docs: add #19 toolchain context layers design
CI / lint (push) Successful in 7s
CI / test (push) Successful in 14s
CI / lint (pull_request) Successful in 7s
CI / notify-on-failure (push) Successful in 0s
CI / test (pull_request) Successful in 14s
CI / notify-on-failure (pull_request) Successful in 0s
2026-06-09 22:25:17 +08:00
pangtong-fujunshi 59068b8d2a Merge pull request 'fix: resolve all flake8 lint errors (118 → 0)' (#10) from fix/lint-cleanup into main
Deploy / ci (push) Failing after 6s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 1s
2026-06-09 22:24:10 +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
jiangwei-infra 62d8ced8ed Merge pull request 'fix(ci): install all test dependencies' (#8) from fix/ci-deps into main
Deploy / ci (push) Failing after 6s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 3s
2026-06-09 14:53:50 +08:00
jiangwei-infra 51ccbbf4b5 fix(ci): install all test dependencies (fastapi, pydantic, pyyaml, etc.)
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / notify-on-failure (push) Successful in 0s
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 6s
2026-06-09 14:53:24 +08:00
jiangwei-infra fe24a86d7d Merge pull request 'fix(ci): install pytest directly instead of editable mode' (#7) from fix/ci-pytest into main
Deploy / ci (push) Failing after 7s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 0s
2026-06-09 14:33:52 +08:00
jiangwei-infra 25c9cfd1ed fix(ci): install pytest directly instead of editable mode
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / notify-on-failure (push) Successful in 0s
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 6s
2026-06-09 14:33:28 +08:00
jiangwei-infra 5af0e0e91d Merge pull request 'fix(ci): use pyproject.toml instead of missing requirements.txt' (#6) from fix/ci-requirements into main
Deploy / ci (push) Failing after 7s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 1s
2026-06-09 14:24:42 +08:00
jiangwei-infra 05246d6469 fix(ci): use pyproject.toml instead of missing requirements.txt
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / notify-on-failure (push) Successful in 1s
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (pull_request) Successful in 5s
2026-06-09 14:24:02 +08:00
jiangwei-infra 90e657636c Merge pull request 'fix(ci): use /tmp/ci-venv-* to avoid host .venv conflict' (#5) from fix/ci-venv-path into main
Deploy / ci (push) Failing after 10s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 0s
2026-06-09 13:22:34 +08:00
jiangwei-infra cbdc965a0e fix(ci): use /tmp/ci-venv-* to avoid host .venv conflict
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / lint (pull_request) Failing after 6s
CI / test (pull_request) Has been skipped
CI / notify-on-failure (push) Successful in 1s
CI / notify-on-failure (pull_request) Successful in 3s
2026-06-09 13:21:01 +08:00
cfdaily 89f105910e auto-sync: 2026-06-08 21:36:58
Deploy / ci (push) Failing after 6s
Deploy / deploy (push) Has been skipped
Deploy / notify-deploy-failure (push) Successful in 1s
2026-06-08 21:36:58 +08:00
cfdaily 6b8f5ba6e3 auto-sync: 2026-06-08 21:36:43
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 21:36:43 +08:00
cfdaily cd2523057d auto-sync: 2026-06-08 20:23:20 (catch-all)
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 20:23:20 +08:00
cfdaily aa1ca811fe auto-sync: 2026-06-08 20:23:16
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 20:23:16 +08:00
cfdaily dbf24d2088 auto-sync: 2026-06-08 20:00:46
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 20:00:46 +08:00
cfdaily 4ff68ff70c auto-sync: 2026-06-08 18:32:04
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 18:32:04 +08:00
cfdaily 46142c86c1 auto-sync: 2026-06-08 18:30:41
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 18:30:41 +08:00
cfdaily 208c32d9cf auto-sync: 2026-06-08 12:55:14
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 12:55:14 +08:00
cfdaily 9161fb4ecd auto-sync: 2026-06-08 12:54:59
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 12:54:59 +08:00
cfdaily 510ac758cf auto-sync: 2026-06-08 12:53:37
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 12:53:37 +08:00
cfdaily 8e7361dbba auto-sync: 2026-06-08 12:49:11
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 12:49:11 +08:00
cfdaily b326608dd8 auto-sync: 2026-06-08 09:07:59
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 09:07:59 +08:00
cfdaily c0c9bf7dd2 auto-sync: 2026-06-08 09:07:48
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 09:07:48 +08:00
cfdaily 9e48340f3c auto-sync: 2026-06-08 09:07:33
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 09:07:33 +08:00
cfdaily b970184f3e auto-sync: 2026-06-08 08:54:47
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:54:47 +08:00
cfdaily ee132da056 auto-sync: 2026-06-08 08:54:22 (catch-all)
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:54:22 +08:00
cfdaily 4bea7573e8 auto-sync: 2026-06-08 08:54:18
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:54:18 +08:00
cfdaily 83fb270e2a auto-sync: 2026-06-08 08:51:12
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:51:12 +08:00
cfdaily 8bd364055c auto-sync: 2026-06-08 08:50:50 (catch-all)
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:50:50 +08:00
cfdaily 9821835af5 auto-sync: 2026-06-08 08:50:47
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:50:47 +08:00
cfdaily 900a38524f auto-sync: 2026-06-08 08:03:50
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:03:50 +08:00
cfdaily 009184a28e auto-sync: 2026-06-08 08:03:40
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 08:03:40 +08:00
cfdaily 6dc029ad54 auto-sync: 2026-06-08 07:32:38
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 07:32:38 +08:00
cfdaily 67332422ec auto-sync: 2026-06-08 07:06:44
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 07:06:44 +08:00
cfdaily 128874a143 auto-sync: 2026-06-08 00:20:31
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 00:20:31 +08:00
cfdaily e09bf36b74 auto-sync: 2026-06-08 00:03:30
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
2026-06-08 00:03:30 +08:00
cfdaily 4a1d1615c4 auto-sync: 2026-06-07 23:59:15
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 23:59:15 +08:00
cfdaily a4581fef6c auto-sync: 2026-06-07 23:31:00
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 23:31:00 +08:00
cfdaily e1da581916 auto-sync: 2026-06-07 23:28: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 23:28:57 +08:00
cfdaily 88edeb3785 auto-sync: 2026-06-07 23:28:40
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 23:28:40 +08:00