auto-sync: 2026-05-26 23:26:21

This commit is contained in:
cfdaily
2026-05-26 23:26:21 +08:00
parent a372925df8
commit fed6cb65b7
2 changed files with 110 additions and 1 deletions
@@ -0,0 +1,92 @@
{
"scan_stats": {
"total_files": 10,
"total_messages": 94,
"total_fragments": 4,
"scan_duration_seconds": 0.0,
"mode_counts": {
"correction": 0,
"trial_error": 0,
"success": 0,
"collaboration": 0,
"decision": 4,
"experience": 0
}
},
"fragments": [
{
"mode": "decision",
"timestamp": "2026-05-19T00:12:06.086Z",
"trigger_message": "<gate-rules> GATE 门控铁律(L2/L3 非平凡任务必遵守): 1. 需求不清不动手 — 列出假设让用户确认 2. 根因不明不修复(修bug时)— 先查清再改 3. 方案未定不实现(新功能/L3时)— 先出方案等确认 4. 评估过影响范围才动手 5. 涉及代码改动或调研分析的非平凡任务,使用 plan-act-verify skill L1 小改动(单文件 <50行,做错代价低)可跳过 GATE。 </gate-rules> [Tue 2026-05-19 08:05 GMT+8] 你收到一个 v2.6 黑板任务。请严格按照下面的步骤执行。 ## 任务信息 - 项目: e2e-v27-full-6eeab1 - 任务ID: e2e-v27-full-6eeab1-dep - 标题: 依赖任务 - 描述: (无描述) - 类型: coding - 优先级: 5 - 必要条件: (无) ## 状态机(你必须遵守的状态流转) ``` pending → claimed → working → review → done ...",
"trigger_role": "user",
"context_before": [],
"context_after": [
"",
"",
"",
"",
"",
"项目存在但没有任务。看来任务还没被创建。让我先查看完整任务信息,然后尝试创建它。"
],
"tool_calls_in_context": [],
"summary": "用户表达了决策犹豫或需要确认",
"id": "frag_0001",
"source_file": "001e18b5-d77b-4b66-84d9-d29a371867b0.jsonl"
},
{
"mode": "decision",
"timestamp": "2026-05-22T05:13:56.311Z",
"trigger_message": "<gate-rules> GATE 门控铁律(L2/L3 非平凡任务必遵守): 1. 需求不清不动手 — 列出假设让用户确认 2. 根因不明不修复(修bug时)— 先查清再改 3. 方案未定不实现(新功能/L3时)— 先出方案等确认 4. 评估过影响范围才动手 5. 涉及代码改动或调研分析的非平凡任务,使用 plan-act-verify skill L1 小改动(单文件 <50行,做错代价低)可跳过 GATE。 </gate-rules> [Fri 2026-05-22 13:13 GMT+8] 你收到一个 v2.6 黑板任务。请严格按照下面的步骤执行。 ## 任务信息 - 项目: _mail - 任务ID: mail-1779426798701 - 标题: 飞鸽传书 v2 回复 - 描述: 庞统,v2飞鸽传书收到,验证成功! - 类型: mail - 优先级: 5 - 必要条件: {\"from\": \"zhaoyun-data\", \"type\": \"text\", \"performative\": \"inform\", \"is_read\": false, \"conversation_...",
"trigger_role": "user",
"context_before": [],
"context_after": [
"",
"",
"",
"收到赵云的飞鸽传书,v2邮件系统验证成功 ✅ 已阅知悉,任务已标记 review。🐦"
],
"tool_calls_in_context": [],
"summary": "用户表达了决策犹豫或需要确认",
"id": "frag_0002",
"source_file": "04fbbd9d-f6a4-4010-8fdd-b921245cdd4c.jsonl"
},
{
"mode": "decision",
"timestamp": "2026-05-19T00:12:27.381Z",
"trigger_message": "<gate-rules> GATE 门控铁律(L2/L3 非平凡任务必遵守): 1. 需求不清不动手 — 列出假设让用户确认 2. 根因不明不修复(修bug时)— 先查清再改 3. 方案未定不实现(新功能/L3时)— 先出方案等确认 4. 评估过影响范围才动手 5. 涉及代码改动或调研分析的非平凡任务,使用 plan-act-verify skill L1 小改动(单文件 <50行,做错代价低)可跳过 GATE。 </gate-rules> [Tue 2026-05-19 08:05 GMT+8] 你收到一个 v2.6 黑板任务。请严格按照下面的步骤执行。 ## 任务信息 - 项目: e2e-v27-full-db120f - 任务ID: e2e-v27-full-db120f-dep - 标题: 依赖任务 - 描述: (无描述) - 类型: coding - 优先级: 5 - 必要条件: (无) ## 状态机(你必须遵守的状态流转) ``` pending → claimed → working → review → done ...",
"trigger_role": "user",
"context_before": [],
"context_after": [
"",
"",
"",
"",
"",
"任务 `e2e-v27-full-db120f-dep` 在项目中不存在(API 返回 `Task not found`),项目本身存在但任务列表为空。这是一个 E2E 测试任务,可能任务尚未被创建,或已被清理。 标记为 failed:"
],
"tool_calls_in_context": [],
"summary": "用户表达了决策犹豫或需要确认",
"id": "frag_0003",
"source_file": "05235975-c291-452b-ab9b-8addad3a74e4.jsonl"
},
{
"mode": "decision",
"timestamp": "2026-05-18T11:34:08.078Z",
"trigger_message": "<gate-rules> GATE 门控铁律(L2/L3 非平凡任务必遵守): 1. 需求不清不动手 — 列出假设让用户确认 2. 根因不明不修复(修bug时)— 先查清再改 3. 方案未定不实现(新功能/L3时)— 先出方案等确认 4. 评估过影响范围才动手 5. 涉及代码改动或调研分析的非平凡任务,使用 plan-act-verify skill L1 小改动(单文件 <50行,做错代价低)可跳过 GATE。 </gate-rules> [Mon 2026-05-18 19:29 GMT+8] 你收到一个 v2.6 黑板任务。请严格按照下面的步骤执行。 ## 任务信息 - 项目: e2e-v27-4991fc73 - 任务ID: e4-child-0 - 标题: Stage-data - 描述: (无描述) - 类型: coding - 优先级: 5 - 必要条件: (无) ## 状态机(你必须遵守的状态流转) ``` pending → claimed → working → review → done │ ...",
"trigger_role": "user",
"context_before": [],
"context_after": [
"",
"",
"",
"",
"",
""
],
"tool_calls_in_context": [],
"summary": "用户表达了决策犹豫或需要确认",
"id": "frag_0004",
"source_file": "058913b3-d811-4fe5-abf4-7d73c638cf1c.jsonl"
}
]
}
+18 -1
View File
@@ -101,11 +101,28 @@ def extract_tool_info(content) -> tuple:
return tool_uses, has_error
# Template blocks to strip before pattern matching (avoid false positives)
_TEMPLATE_BLOCKS = [
re.compile(r'<gate-rules>.*?</gate-rules>', re.DOTALL),
re.compile(r'## \u72b6\u6001\u673a.*?```', re.DOTALL), # state machine diagrams
]
def strip_templates(text: str) -> str:
"""Remove common template blocks that cause false positives."""
for pat in _TEMPLATE_BLOCKS:
text = pat.sub('', text)
return text
def match_signals(text: str, patterns: list) -> bool:
if not text:
return False
cleaned = strip_templates(text)
if not cleaned:
return False
for pat in patterns:
if re.search(pat, text):
if re.search(pat, cleaned):
return True
return False