Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2.9 KiB
2.9 KiB
belongs_to
| belongs_to | |
|---|---|
|
铸渊指令|修复签到系统误报 · agent-registry.json 添加 daily_checkin_required 字段(2026-03-20·霜砚签发·冰朔授权)
🎯 问题描述
当前签到系统将所有注册代理视为每日必签到。但实际上有 33个代理是事件触发型(仅在推送/PR/Issue/Discussion等事件发生时运行),它们并非每日运行,因此不应被标记为「缺席」。
🛠️ 执行步骤
Step 1:修改 agent-registry.json
在 .github/brain/agent-registry.json 中,为每个代理条目添加 daily_checkin_required 字段:
{
"agent_id": "AG-ZY-058",
"name": "每日自检",
"trigger": "schedule",
"daily_checkin_required": true
}
规则:
trigger为schedule或cron的代理 →daily_checkin_required: truetrigger为push/pull_request/issues/issue_comment/discussion/repository_dispatch/workflow_dispatch(手动触发)等事件触发型 →daily_checkin_required: false- 如果不确定,默认
false(宁可漏报不可误报)
Step 2:修改签到检查逻辑
在签到巡检 workflow 中(daily-checkin.yml 或相关脚本),修改缺席判定逻辑:
// 修改前(错误):
const absentAgents = allAgents.filter(a => !checkedInAgents.includes(a.agent_id));
// 修改后(正确):
const absentAgents = allAgents.filter(a =>
a.daily_checkin_required === true && !checkedInAgents.includes(a.agent_id)
);
核心逻辑:只有 daily_checkin_required: true 的代理未签到才算缺席。
Step 3:提交
git add .github/brain/agent-registry.json
git add .github/workflows/daily-checkin.yml
git commit -m "fix: add daily_checkin_required to agent-registry, fix false absent reports for event-triggered agents"
git push origin main
✅ 验收标准
agent-registry.json中所有代理都有daily_checkin_required字段- 事件触发型代理(约33个)标记为
false - 定时运行型代理标记为
true - 下一次签到巡检中,缺席数量大幅下降(从52降至约16左右)
- 不影响现有正常签到代理的统计