---
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左右)
- [ ] 不影响现有正常签到代理的统计
---