fix: 对照《财务处Skill002》验收整改并升版 v1.0.2
All checks were successful
技能自动化发布 / release (push) Successful in 9s

- 状态标签:C3 触发且 D 未判 → 待补录,优先级对齐需求 §6.2
- broadcast-monthly 逐项目增量 emit,任务中心可见进行中进度
- progress_reports 回填 project_id;新增 items_json/updated_at;旧库重建式安全迁移(含回归测试)
- 简报:TITLE 转义防注入、章节对齐 §10(独立「暂付款/结题提醒」)、页脚逐字统一
- 金标准测试 +17:±10%/20% 阈值恰界、C2 钳位、N2 反例、C3 逐字段、HTML 转义、async+cron 定位守护、迁移回归
- 文档 v1.1(开发文档 + REQUIREMENTS):ERROR:<CODE> <message>、reports_brief、--all-status、skill-detail 表外挂载、C1 level=warn
- 落盘验收报告 acceptance-reports/20260924-105401-acceptance.md(338 测试全绿)
- 版本 1.0.1 → 1.0.2(constants / SKILL.md / CHANGELOG 三处对齐)
This commit is contained in:
chenfuqiang
2026-09-24 17:19:30 +08:00
parent a91ead3862
commit f90f742c1e
12 changed files with 490 additions and 25 deletions

View File

@@ -29,6 +29,7 @@
| `health` / `version` / `config-path` | 不挂 | 不挂 | 不挂 | N/A | 运维诊断,仅 skill-detail |
定时挂载说明:`broadcast-monthly` 为 async + agent + cron,缺省参数(全部在研项目)可安全无人值守,无不可逆副作用;对应规格书"每月 5 号 9:00 自动执行"场景,具体时刻由宿主定时任务配置。
表外挂载说明:`stats`、`view-rules` 另挂 skill-detail(技能详情页运维查看),对话/数据管理挂载以本表为准;`broadcast` 支持可选 `--all-status`(缺省仅处理"在研")。
## 0.2 AI + RPA 协作与授权边界
@@ -55,7 +56,7 @@
- 三步计算内核:执行率(C1-C3)、偏差诊断(D1-D3)、提醒与三段式播报(N1-N3)
- 播报结果 JSON + `progress_reports` 落库 + 《经费执行简报》HTML + 月度汇总简报
- 月度播报 async Action(cron 挂载,任务中心进度)
- 失败可诊断(稳定错误码 `ERROR:<CODE>:` + 统一日志)
- 失败可诊断(稳定错误码 `ERROR:<CODE> <message>` + 统一日志)
## 4. 功能范围
@@ -90,8 +91,8 @@
### 输出
- 成功:stdout JSON(`ok/batch_no/as_of/count/status_counts/brief_file/reports_brief`)
- 失败:`ERROR:NO_PROJECTS|PROJECT_INVALID|REPORT_NOT_FOUND|RULE_INVALID|ENTITLEMENT_DENIED|QUERY_FAILED` + 中文 message
- 落库:`progress_reports`;文件:`html/report-{id}.html`、`html/brief-{batch}.html`
- 失败:`ERROR:<CODE> <中文 message>`(`CODE ∈ NO_PROJECTS|PROJECT_INVALID|REPORT_NOT_FOUND|RULE_INVALID|ENTITLEMENT_DENIED|QUERY_FAILED`)
- 落库:`progress_reports`(含 `project_id` 关联与 `items_json` 规则明细);文件:`html/report-{id}.html`、`html/brief-{batch}.html`
## 7. 依赖的兄弟技能或外部系统
@@ -107,7 +108,7 @@
## 9. 验收标准
- 目录名 = `SKILL.md` slug = `constants.SKILL_SLUG`;三处版本号一致(1.0.1)
- 目录名 = `SKILL.md` slug = `constants.SKILL_SLUG`;三处版本号一致(1.0.1;三处 = `scripts/util/constants.py` / `SKILL.md` / `CHANGELOG.md`)
- `health` / `version` / `init-db` 正常;`python tests/run_tests.py -v` 全绿
- 金标准测试覆盖 C1-C3/D1-D3/N1-N2 正反例与阈值边界;三种代表场景真实跑通(正常/严重滞后+暂付款超期/异常偏快+临近结题)
- `set-rule` 修改阈值后诊断随之变化;`stats` 与记录一致;月度播报生成汇总简报
@@ -122,9 +123,11 @@
- 业务表间禁止 SQLite 外键;时间字段 Unix 秒;金额 round(x,4)
- 保留模板演示 `cmd_run`(POLICY-RPA-003 录屏集成守护);业务命令不使用录屏
- 修改开发规范时同步 `POLICY_MATRIX.md` 与对应守护测试
- 旧库迁移在 `init_db()` 幂等完成(`ALTER TABLE` 补列:`items_json`、`updated_at`)
## 11. 变更记录
| 日期 | 版本 | 变更人 | 变更内容 |
|------|------|--------|----------|
| 2026-09-13 | v1.0 | 开发组 | 初版:三步计算内核 + 台账/阈值维护 + 简报与月度播报 |
| 2026-09-24 | v1.1 | 开发组 | 对照验收修订:错误码格式 `ERROR:<CODE> <message>`、状态标签优先级(C3→待补录)、`project_id`/`items_json` 落库、月度增量 emit、简报 TITLE 转义与 §10 章节对齐 |