docs(门禁): mem-budget 第 6 节补一条盲区——同码凭证按 git 索引生成,多人同树时必红
今天道G 报出 `check_size_gate.py --local` 单跑 exit 1(代码指纹与体积测量指纹不一致),我复核后确认这不是 预算问题、也不是谁改坏了台账,而是**该凭证的定义在多人同树下必然不成立**:代码指纹取的是 **git 索引里的 blob**,而此刻工作区里有别的任务在飞、尚未入索引的改动 ⇒ 两边算出来的东西本来就不是同一份内容。 写进 §6 的三点判据: · 它**只挂在 `scripts/ci_local.py` 的 L0c,不在这 51 条 pre-commit 钩子内** ⇒ 红它不等于提交 会被拦,别在 提交被拦的清单里找它; · 报错若同时列出「未入索引的文件」而那些文件正被别的任务改 ⇒ 等它们入库后统一 `@build` → `ram_baseline.py --update` 补凭证;**绝不为把它调绿去 `git add` 别人在飞的改动**(这条比前两条更要紧, 今天就这样发生过一次:别人已 staged 的文件会被我的 add 顺手卷进我这一笔); · 本节写作时凭证**仍是红的**(回填发生在通讯卡入库之后)——我只写成因与判据,**不预告还没发生的结果**, 这正是 `pre-commit使用说明.md` §2.5 那条「注释陈述事实不陈述意图」在同一天的第二次应用。 自查:`check_doc_links --all` exit 0(198 篇)、本篇 `--sections-strict` 通过、noBOM / LF / U+FFFD=0 / 结尾 换行齐;`id-check` 未受影响(本笔零编号)。本笔零代码,且此刻两条道正在写 `Drivers/BSP/UI/` 与 `App/algo/`,故只提这一只文档文件。
This commit is contained in:
@@ -74,6 +74,13 @@ RAM 预算门禁 FAIL:RW_CCM 占用 92.3% > 92%(阈值 92%)
|
||||
6. 阈值/配额改动没有双人复核机制,改 `QUOTAS` 或 `THRESHOLD_PCT` 只靠提交说明约束。
|
||||
7. 并行分支约定(Lead 裁决 2026-10-12):**分支不跑 `--write`**,台账由主干统一回填;分支上
|
||||
本门与 `mem-numbers` 可能因受管快照与 `.map` 漂移而红,那不代表预算超标(处置见 §7 的 `mem-numbers` 篇)。
|
||||
8. **同码凭证在「多人同树」下必然不成立**(2026-10-27 实测):`check_size_gate.py --local` 的代码指纹取
|
||||
**git 索引里的 blob**,所以「工作区有别人在飞、尚未入索引的改动」时指纹一定对不上,报「这份源码没有被
|
||||
真实链接测量过」——**这不是预算问题,也不拦提交**(该脚本只挂在 `scripts/ci_local.py` 的 L0c,不在 51 条
|
||||
pre-commit 钩子内)。判据:报错里若同时列出「未入索引的文件」且那些文件正被别的任务改,就等它们入库后
|
||||
统一 `@build` → `ram_baseline.py --update` 补凭证,**别为了把它调绿去 `git add` 别人在飞的改动**。本条写作时
|
||||
(2026-10-27 09:4x)凭证**仍是红的**:`App/protocol/iec104/iec104_comm.{c,h}` 正被通讯道改、未入索引;
|
||||
回填动作发生在该卡入库之后,届时以 `--update` 的实际输出为准,本节不预告结果。
|
||||
|
||||
## 7. 豁免与基线
|
||||
|
||||
@@ -90,4 +97,5 @@ RAM 预算门禁 FAIL:RW_CCM 占用 92.3% > 92%(阈值 92%)
|
||||
|
||||
| 日期 | 变更 |
|
||||
|---|---|
|
||||
| 2026-10-27 | §6 补第 8 条:同码凭证按 **git 索引 blob** 生成,工作区有在飞改动时 `--local` 必红;该检查只在 `ci_local` 的 L0c,**不是 pre-commit 钩子**,不拦提交(成因由道G 报出、Lead 复核) |
|
||||
| 2026-10-23 | 首篇逐项文档(实跑:`RW_IRAM1 57.4%` / `RW_CCM 87.9%`,阈值 92%) |
|
||||
|
||||
Reference in New Issue
Block a user