06
审核 · 备注计算
考勤备注
attendance-remarks
基于已归档考勤数据,按配置生成每个员工的「考勤备注」,输出审核工作簿 + HTML 审核报告。把数据变成最终交付文案的计算核心。支持结构化 Excel / 邮件正文 / 视觉结果 / overrides 多来源合并。
⚡
TRIGGERS
触发场景▸数据准备好了,要生成「考勤备注」列
▸标准工时 / 综合工时的月度汇总
▸要审核明细 + flags + HTML 报告做人工复核
↹
INPUT & OUTPUT
输入 / 产出↘ INPUT · 输入
- attachments/ + reference_roster.xlsx / 底表
- attendance_config.json(来自 rule-pack)
- _email_texts.jsonl · vision_extracted_records.jsonl
- 可选 overrides.json
↗ OUTPUT · 产出
- attendance_remarks.xlsx:考勤备注 · 审核明细 · 待追问
- HTML 对比审核报告(可启动服务在线审阅)
🪜
STEPS
处理流程- 1先建配置周期、计薪天、法定假日、加班去向、假别映射、输出文案都进 config,不写死。
- 2合并多来源结构化 Excel > 邮件正文 > 视觉结果 > overrides,按优先级合并。
- 3算休假按小时汇总,默认 8h = 1 天;小时数为空时从原因里抽取。
- 4算加班法定日 → legal_settle;周末/休息日按配置;关键词命中去向优先;未明确 → generic_settle 并 flag。
- 5算计薪 / 全勤结合入离职空白、法定日是否在雇佣区间、审批确认,不机械相加出勤小时。
- 6拼接备注 + 明细 + 待追问按推荐顺序拼接备注,逐片段留审核明细,不确定项进待追问。
- 7生成并启动 HTML 报告用 compare_remarks → build_compare_report → serve_review_report 起审阅服务。
▤
OUTPUTS
产物结构考勤备注
最终给业务用的汇总结果,含审核状态、审核明细数、flags。
审核明细
每个备注片段的判断依据:证据层级、类型、分类、规则、来源定位、是否需复核。
待追问
自动流程无法可靠推导的问题,供人工补信息或生成 overrides。
⇄
PIPELINE
与其他 skill 衔接←
→
产物交给 delivery-pack 做齐套检查后交付。
✓
ACCEPTANCE
闭环验收- ✓考勤备注 / 审核明细 / 待追问三 sheet 齐全。
- ✓汇总行数覆盖 reference_roster 或底表中所有目标员工。
- ✓考勤备注无空值;非全勤片段必须有可追溯审核明细。
- ✓法定加班只出现在配置里的法定日;周末/休息日来自配置不硬编码。
- ✓待追问不阻断 Excel/HTML 生成,但必须进工作簿和 HTML;HTML 服务已启动。
⊘
ANTI-PATTERNS
反例检查✗
备注非空但没有审核明细,尤其是非全勤备注。
✗
法定日、休息日、计薪天来自硬编码或历史月配置。
✗
扫描件、截图、邮件正文、低置信度视觉结果没标记需复核。
✗
有 generic_settle 或未写明去向的加班,却没有待追问或 flags。
✗
无底表自检报告被误当作与客户底表的正式对比报告。
⌘
RUN
运行命令uv run python skills/attendance/attendance-remarks/scripts/build_attendance_remarks.py \
outputs/<目录名>/attachments <YYYYMM> \
outputs/<目录名>/attendance_remarks.xlsx \
--config <config.json> --source-dir data/raw/<目录名> \
--reference-summary outputs/<目录名>/reference_roster.xlsx
# 生成并启动 HTML 审核报告
uv run python skills/attendance/attendance-remarks/scripts/serve_review_report.py \
outputs/<目录名> --allow-root data/raw/<目录名>