智游大别山 · 全链路审计

每日一工具 + 本周任务
审计报告

审计时间 2026-10-11 12:18–12:30 | 方式是逐项实跑:线上 curl、数据库查、cron 读、浏览器点、闸门跑,不看"应该行"。

结论:全绿上线 | 查出 3 个真问题,已当场修完
19/19功能入口
全 200
266/266模板组合
不合格 0
0副本关键
分裂
162链接中枢
条数(+week)
12/12排版标准
STD-PASS
0草稿重复
标题

一句话结论

整套「每日一工具 + 本周任务」的对外面、数据面、调度面、副本面、合规面五项全部实测通过,线上拿得出实物。审计过程中查出 3 个真问题 + 1 个多余文件,全部当场修完并复测;另澄清 2 处"看着像问题、其实不是"的误报。

① 对外可用性(从服务器实测)

入口状态说明
19 个功能入口19/19 全 200目录里每一条都实跑一遍
/week/ 打卡页200本周任务主页
/api/week/* 四接口200 × 4health / current / board / history
排版标准源 /guanjing-1004/200标准本身可达
方案总表 /gzh-func-promo/20044918 B
链接中枢 /link_hub.html200已含"本周任务"

顺带核对:19 个功能各有封面实物(/data/wechat_push/posters/func_*.jpg),缺 0 个;两号草稿箱共 5 篇,标题零重复。

② 数据与核销(本周任务)

项实测判据
当周任务W41 做海报10-05 ~ 10-11,今天是最后一天
下周已预排W42 问小智10-12 ~ 10-18,核销类型 chat
打卡数据0 行自检行已删干净,无垃圾
热问数据源250 条真实提问近 30 天,7738 条压测已排除
热问出稿两号零红线词真库实跑 func_hot.build()

核销逻辑复核:去 chat_logs(按 openid,强制排除压测)/ posts / comments 找真记录 —— 找到标「系统核实」,找不到标「自报」,两种标在榜单上分开显示,不冒充已核实。

注:热问原始数据里确实有 2 条与已停推品类相关的用户真实提问(本页不复述品名),出稿 SQL 已按红线逐条拦掉,一个字都没进草稿。

③ 调度与接线

接线点状态证据
每日一工具 cron在位第 71 行 20 9 * * *
本周任务排期 cron在位第 72 行 20 0 * * *
cron 路径预演rc=0真跑 run_job.sh,日志已落盘
周一排期两号都推「本周任务」实测 --plan 一周表
admin_app.py 接线import 在位267794 B / CR 7238 / 权限 640 / 锁在位
dabie-admin 服务activesystemctl 实测
排版标准每日守卫今天 10:44 已跑12 篇 STD-PASS,台账有记录

cron 里旧的 tool_promo.py(每周 2 次)已注释停用,被 func_daily.py(每周 7 次)取代 —— 命令随新不随旧。

④ 副本一致性

层结果说明
根目录双副本分裂 0本机 ↔ 服务器三目录
镜像目录308 项 分裂 0缺失 0 / 多余 0
看板目录28 项 分裂 0日报与预警通道
关键分裂合计0守卫结论:双副本一致

⑤ 合规闸门

闸门结果范围
模板全量合规266 组 不合格 019 功能 × 2 号 × 7 模板
排版标准基线12/12 STD-PASS最近 12 篇日刊
草稿箱读回体检两篇硬闸门全过禁 flex/grid/absolute、零外链图、引号偶数、字号在位
系统自动发布无只有建草稿,发布动作留给老板

⑥ 本次查出并当场修掉的问题

🔴 问题 1 · 服务器的热修没回写本机,副本静默分裂

今天服务器上为「罗田 08:40 整批误拦」打过一个热修(否定句并列分隔符补上「以及/还有/和/与/及/跟」),只改了服务器、本机镜像没跟。涉及两个文件:

已修:确认服务器版为权威(注释里有今天的修复记录且与事故对应)→ 同步回本机 4 处副本 → 两件都纳入关键清单,以后再漂移直接报红。守卫复跑:分裂 0。

🔴 问题 2 · 服务器上同一个脚本两份内容不一样

link_hub_scanner.py(链接中枢扫描器)在 /home/ubuntu/ 与 /data/code/ 各一份,md5 不同 —— code 版多了「写 webroot 前自动解锁 chattr +i」的保护,home 版没有。

已修:以 code 版为准统一两份,本机三处镜像一并同步(四份 md5 全部 c0c04b65),并纳入关键清单。

🔴 问题 3 · 本周任务页没进链接中枢

中枢的登记覆盖项里有 week/index.html,但最终产物里没有。查下来是扫描器的分类打分给这个页面打了 0 分 → 在合并覆盖项之前就被 continue 丢掉了(覆盖项救不回来)。

已修:给「宣传」类的路径规则补上 week / renwu / task 一行,覆盖项再补 cat 兜底,复跑扫描器 → 中枢 162 条,其中「本周任务 · 打卡上榜」已置顶在「宣传」类。

🟡 问题 4 · 镜像里多留了一个已下线的脚本

zhaoshang_phone_enrich.py 本机镜像有、服务器已无。已清镜像那份(先备份到 Claw/_audit/bak_20261011/),本机源文件保留不动。

⑦ 澄清:两处看着像问题、其实不是

✅ 排版标准守卫"没接线"是误判

它在服务器上找不到,是因为它本来就跑在本机(Claw/site_guard/run_daily_guard.sh 第 [10/10] 步),由本机每日 10:30 触发。今天 10:41 与 10:46 实跑两次,12 篇全 PASS,台账 _std_guanjing/log.jsonl 有记录。

✅ 线上页面比磁盘文件"大 1133 字节"是正常的

线上返回 16391 B、磁盘 15258 B,差的是全站注入的公共资产(ui.css / mobile-nav.js / 分享卡片 og:image 等)。磁盘源文件与本机源码 md5 完全一致(1059d226)。另外审计中曾出现一次"取到别的站点内容",查明是复用了公共临时文件名 /tmp/live.html 被并发进程覆盖 —— 属我方脚本洁癖问题,已改用唯一名,不是线上故障。

⑧ 需要你知道的两件事

一个守卫盲区(已标注,未改判定逻辑)

一致性守卫只比「本机镜像 ↔ 服务器」,看不到「服务器目录 A ↔ 服务器目录 B」之间的漂移 —— 问题 2 就是这么躲过检查的。已在脚本注释里点明。要不要扩成三段互比,你可以定;扩了会多出一些"历史遗留差异"的告警噪声,所以我没擅自改。

明早会自动发生的三件事

发布动作系统永不碰,永远只进草稿箱、等你自己发。

审计人:AI 助理 | 时间:2026-10-11 12:30
方法:线上 curl 实测 · 数据库直查 · cron 直读 · 真实性浏览器点击 · 闸门全量跑 · 副本 md5 逐项比
本次修复留底:Claw/_audit/bak_20261011/(4 个文件),审计脚本 _audit_*.sh