⊢ 新增 belongs_to 字段 → 指向父级 INDEX 页面 ⊢ 新增 related_to 字段 → 从 body 提取的 wikilink ⊢ 新增 has 字段 → 在 INDEX 页面反向列出子页面 ⊢ 旧 related: → related_to: (Tolaria 标准字段) ⊢ 旧 sources: → related_to: (Tolaria 标准字段) ⊢ 新建铸渊房间 INDEX 页面作为子页面归属锚点 ⊢ 范围: 顶层 + 心跳 + 铸渊房间 + 协作指令 + 资料库 = 235 个 ⊢ 跳过: 永恒湖心(霜砚维护) + 第五域/SYS-5TH-0001(霜砚维护)
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左右)
- 不影响现有正常签到代理的统计