1这次要干成什么(一句话)
把 ContentForge 从「能跑、但账目混乱、闸门自己是红的」整理成「一眼能看、随时能验、坏了能退」——不新增任何业务功能。
- 做到了算成功:三条命令(预算 / CI / 巡检)全绿;四份台账收敛成「一份真源 + 三份视图」;每条产线有一条机器能跑的「对账命令」;每条交付有一页能看完的现状快照。
- 明确不做的:不加功能、不改业务逻辑、不碰密钥、不重构架构。
2开工前体检(今晚实读,每条都有现算命令)
| 项 | 实测 | 判定 | 现算命令 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 预算闸门 | hub 1024 > 上限 1000(−24),make budgets 直接不通过 | 硬红 | make budgets | ||||||||||||||||||||||||
| 基座余量 | app/ 6200 / 6200 = 余量 0 行(只许降) | 顶死 | make budgets | ||||||||||||||||||||||||
| 工作树 | 58 项未提交(36 文件 +967/−449,另 22 个新文件),最老挂到 09-23 00:33 | 数字不稳 | git status --short | wc -l | ||||||||||||||||||||||||
| 仓内草稿 | static/dashboard.html.bak(与正本逐字节相同的空副本)、.撤回前留档-20260924-1416 在仓里。守卫没抓到——test_arch_t07 只认 草图/草稿/能力地图/sketch/draft/mockup/wireframe/wip 与 .bak-,裸 .bak 与中文「留档」是盲区(实测 pytest tests/test_arch_t07_no_sketches_in_repo.py -q → 6 passed)。2026-09-24 23:2x 更正:我先前写「守卫会判红」是错的,实测绿。 | 守卫盲区 | pytest tests/test_arch_t07_no_sketches_in_repo.py -q | ||||||||||||||||||||||||
| 巡检 | contentforge-patrol failed,但巡检自己打印「入口 6 个,红 0 个」——「留意」也退 1,被 systemd 记成失败 | 假红 | (内部运维细节已隐去)
|
一条硬结论:闸门自己现在是红的(hub 超预算 + 仓内有草稿)。任何梳理动作落下去都分不清是新坏还是旧坏,所以第 0 步必须先拿到绿基线。
3真源(只许一份)
- 进度/状态看哪:项目总表.html →「ContentForge 生产流水线(真身仓)」那一行(本次收敛后仍是这一行)
- 界面长什么样:本次要新建「现状快照页 + 体检表页」,先出草图,你回「定格」后才落地成品
- 词表/口径:
docs/词表与docs/现状快照(第 2 步产出;此前口径散在 status.md 第 1–11 节) - 参数用哪一套:
eval/budgets.yaml(预算唯一来源)、config/*.json、subsystems.yaml(子系统登记) - 对账命令(本次要逐条补齐):第 0 步先用
make budgets、make ci、python3 ~/contentforge/catalog/巡检.py
4步骤与顺序(依赖排死,不跳步)
| 步 | 做什么 | 产出 | 估时 |
|---|---|---|---|
| 0 | 冻结 + 收口:58 项改动逐项定性(提交 / 归位 / 移出仓)、补跑 CI 与上线自检、出体检表 | 《CF 体检表》+ 干净工作树 | 1.5 h |
| 1 | 清三处硬红:hub −24 行(删 或 显式评审调上限)、app/ 余量、巡检退出码分级(红退 1 / 留意退 0) | 三条命令全绿 | 3 h |
| 2 | 定真源:status.md 拆「现状快照(现算·≤1 页)」+ 历史归档;总表收成「一行=一交付」 | 现状快照页(可点开) | 3 h |
| 3 | 每条产线一条对账命令 + 红证 | per-线对账脚本 | 1–2 天 |
| 4 | 样板线:④ 独立站运营(空目录)按规矩从零走一遍,验证流程 | 可复制模板 | 1–2 天 |
| 5 | 存量补三件:回滚真练 / 对外五项 / 从零重建真空跑 | 三份留档 | 1 天 |
5你验收清单(每条=你能亲手做的动作)
| # | 你要做的动作 | 看到什么算过 | 看到什么算不过 | ||
|---|---|---|---|---|---|
| 1 | 打开本页 → 看第 2 节体检表 | 每条都有「实测数字 + 命令」,数字与你现场跑出来的一致 | 有打不开的链接、或数字对不上 | ||
| 2 | (第 0 步完)打开《CF 体检表》页 | 红/黄/绿三色齐全,每条能点开证据 | 只有结论没有证据 | ||
| 3 | (第 1 步完)跑 make budgets | 三处硬红消失、全绿 | 还有一行写「超预算」 | ||
| 4 | (第 1 步完)跑 (内部运维细节已隐去)
|
6禁区(这次不碰)
- 文件:
.env及任何密钥文件;db/init_db.sql(建表唯一来源);static/dashboard.html的功能(只搬走它的草稿文件) - 服务/数据:不动 demo 租户已有数据;不重启正在给你跑活的服务
- 闸门:不许绕过(预算 / 棘轮 / 快闸门 / 守卫);清理草稿走正规出口(移出仓并留档,不删)
- 共用件:本次要改 项目总表 / 总表数据.json / 目录.html — 已 claim(梳理窗口-20260924,23:18)
- 远端:本地提交,推送仍只在 04:00
7回滚点
- 备份:
git全历史在本地(未推提交仍在本地master);每日 03:10(内部服务)全量备份;工具箱备份scripts/toolbox_backup.sh - 怎么退:本次只做「提交 / 移动 / 新增文档」,没有破坏性动作;任何一步出问题
git revert <提交>即回;被清出仓的草稿移到attic/(不删)
8原型与微调(大改必填)
9我的推荐项(卡点上你没回时按这些继续)
- hub 超预算:优先删代码归位,不调上限(上限一动就是永久的债)
- 仓内两份草稿:移进
attic/,不删 - 巡检「留意」档:退出码 0 + 推送,只有真红才退 1(否则 systemd 天天 red,真红就看不见了)
- 现状快照页:一屏一页,历史全留但折叠进
docs/archive/ - 样板线:④ 独立站运营(空目录、最干净)
- 这次梳理本身也记一行进总表(大改)