--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 铸渊指令|修复签到系统误报 · 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` 字段: ```json { "agent_id": "AG-ZY-058", "name": "每日自检", "trigger": "schedule", "daily_checkin_required": true } ``` **规则:** - `trigger` 为 `schedule` 或 `cron` 的代理 → `daily_checkin_required: true` - `trigger` 为 `push` / `pull_request` / `issues` / `issue_comment` / `discussion` / `repository_dispatch` / `workflow_dispatch`(手动触发)等**事件触发型** → `daily_checkin_required: false` - 如果不确定,默认 `false`(宁可漏报不可误报) ### Step 2:修改签到检查逻辑 在签到巡检 workflow 中(`daily-checkin.yml` 或相关脚本),修改缺席判定逻辑: ```jsx // 修改前(错误): 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:提交 ```bash 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左右) - [ ] 不影响现有正常签到代理的统计 ---