docs(批8 TODO 登记 3 条): ① &x/&T 语义(定性待裁)· ② D2 *T 形参调用点→TI_UNIT(含仪器限定)· ③ S1P 扫描口径+台账 never 跳过 - #136
Merged
Merged
Conversation
…P 扫描口径+台账 never 跳过 【取号基准】develop(7ddf6ed) 当天(2026-09-19)已有最大 N = 0 ⇒ 本批取 1/2/3。 **竞态注记**:同日 `b8-e1` 亦在落 A 类条目 ⇒ 若同号,先合者保留、后合者整体顺移(本文件编号约定)。 三条均为**批 8 (乙) 只读枚举/复现**产出,不含任何源码改动(diff = TODO.md +38/−0)。 ① `#2026-09-19-1`【语义·定性待裁】核心问句替换原「误报」表述:`&x` 产出 `*int`(**编译器自己的诊断** `error[TA02]: Variable declared as &int, got *int` 就这么写)而 `&T` 是另一类型 ⇒ **调用点该接受还是该拒**。 读数:iso 分离归因(`fn g(a: &int)` ⇒ row kind 3/REF;`p := &x` ⇒ row kind 4 ×2/PTR)· S1P 台账 PTR→REF 恒报 1 行 / **REF→REF(含经调用)恒 0 行** / 控制组 int→int 恒 0 行 ⇒ 成因 = **kind 差异**, **行重复已排除**;`check` 冷/暖两态零诊断 ⇒ **非** `#2026-09-15-5`。五层影响面(契约本体 / `obj.field` 自动解引用只解 REF / 指针算术只认 PTR / 引擎身份类 + 变型表 / TU03 与 region_check 两道安全门)。 **69 点面里 `&x` 那类定性 = 「定性待裁」,不得写成「误报」。** ② `#2026-09-19-2`【能力缺口·漏分支】`fn h(a: *int)` ← `h(p)` ⇒ 台账 `p_ti = 4 = TI_UNIT` ⇒ `res_call_type` 无 `EXPR_PTRTYPE` 分支,`*T` 形参在调用点类型解析落空。 **仪器限定(必读)**:`*T` 形参的 `p_ti` 是垃圾值 ⇒ **该类台账读数不可作 type 推理**。 附:**不同 face 的行号不可跨比**(check 面 p=11/a=10 vs ccr 行表 9/10/11)。 ③ `#2026-09-19-3`【读数纪律·两条】S1P 只覆盖直调实参(返回位不覆盖)⇒ **行数是下界**; 台账**只记不匹配**(控制组实证)⇒ **「0 行」在「干净」与「仪器没跑」之间歧义** ⇒ **读 0 前必须先跑活性自证**;**never 跳过**:不得因「该档无行」跳过,须记「探过 + 自证通过」。 当日实例:`tests/suite/go_test.cr` 台账 0 行且**未跑活性自证** ⇒ 状态 = 「未定性」而非「干净」。 【判据】`tests/harness/test_todo_id_migration.py` **6/6 通过**(J1 残留 0 · J2 悬空 0 · J3 映射完备 (`—` 37→40 / 新 id 142 = 标题 142)· M-a/M-b/M-c 三突变必红 · J4 突变自证 · J6 同日段唯一)。 【边界】三条只登记、不修;`checker.cr` / `res_call_type` 属地归 `b8-e1`。
… + 并发面 7 档/29 点(旧「24」漏扫 conc_test.cr ⇒ 作废)
【补跑来源】team-lead 要求:`go_test.cr` 台账 0 行的「未定性」必须补活性自证或明写未定性(二选一)。
【活性自证结果(两档零台账均已证清)】同档内容 + 注入点 ⇒ 命中数 = 1 = 注入点本身 ⇒ 该档自身 0 行:
- `tests/suite/go_test.cr`(`go 42` 无直调实参)✓
- `tests/suite/fnaddr_test.cr` ✓
【第一版注入失效(方法学,已写进条目)】注入点用 `f(7)`(**整型字面量**)⇒ **静默不响**;若不先单独验证「该注入形会响」,
就会得出「该档未被仪器覆盖」的**假结论**。⇒ 配方:注入点必须**自身先证会响**(本次改用变量实参 `z : ., mut = 7; f(z)` 后命中)。
【新发现:覆盖第二盲区】**整型字面量实参不入账**——`f(y)` 报 1 行 / `f(7)` 不报;对照三形参(`string`/`bool`/`*int`)**皆不报**
⇒ 与**实参形式**相关、与形参无关。另两形**入账**:`f("x")`(string 字面量)· `g(&x)`(取址表达式)。
⇒ 口径精确化 = **直调实参 ∧ 非整型字面量 ∧ 非返回位**。
【扫描面自更正】并发面语料实测 **7 档**(非 5,多出 `tests/suite/conc_test.cr` = 5 点);
**总台账 = 29 点**(25× `sched_enqueue` + 4× `chan_recv`,恒 `p=3 (TI_STR) / a=0 (TI_INT)`)。
分布:chan_test 5 · conc_test 5 · go_e2e 6 · go_final 6 · go_parallel 7 · go_test 0* · fnaddr_test 0*(*=已活性证清)。
**「24」= 漏扫 `conc_test.cr` 的旧读数,作废;A 类条目请改用 29。**
【判据】`tests/harness/test_todo_id_migration.py` **6/6 通过**(J1–J6 + M-a/M-b/M-c 三突变必红)。
dslsdzc
added a commit
that referenced
this pull request
Sep 18, 2026
) * docs(批 8 只读扫描产出): 已失效口径的引用面全仓清单(5 类 · 必须 3 / 建议 5 / 可不动 6;类 5 live 零命中)+ 顺带发现 errors.md 缺 P24/P25/P26 —— **中转分支,无 PR**(改法由 lead 裁后另派) * docs(批8 失效口径扫描报告): 基线重定 + 15 条逐条重核(已消解 6 / 在场 10)+ 统计更正 + §5 过判更正(只增不删) 缘起:本报告(`docs/superpowers/specs/2026-09-18-stale-criteria-scan.md`)基线为 `662ff87d`, 其产出后基线前进——报告 15 条中有 6 条的对象已被修复,报告自身另有 3 处数字/事实缺陷。 本提交只对**报告本身**做「原文逐字保留 + 加注」收口,**未改任何被扫描对象**。 一、基线重定(`662ff87d` → `09f253b8`) - 消解者 = `2b103d69`(#131):其 description 自陈「活文档改内容」+「记录加注四处」, 逐字读 diff 后确认——四处加注恰为报告的 1-1 / 1-2 / 2-1 / 4-1;活文档改内容恰为 3-1 / §6bis。 - 新增 §0「基线重定与逐条复核」:15 条 + §6bis 的「在场 / 已消解」二态判定表(逐条附消解者与取证命令)。 - 各表下方补〔基线重核〕注(5 处)+ §5〔更正注〕+ §6 / §6bis〔基线重核〕注。 二、逐条结论 - **已消解 6**:1-1(`TODO.md:157-160`〔映射表注〕)· 1-2(`silence-closure.md:54-57`〔标题注〕)· 2-1(`apx-conversion-fix.md:166-168`〔表注〕)· 3-1(`syntax.md:219` 显式形 + `:224-227` 适用面块)· 4-1(`TODO.md:1235-1238`〔更正注〕)· §6bis(`errors.md:62-64` P024/P025/P026 + `:66` 注)。 ——**全部为「原文逐字保留 + 加注」,无一处删改原字面**,与报告建议的处置形态一致。 - **在场 10**(1-3 … 5-2):**全为「可不动」**,其「可不动」依据经逐条复核全部成立 (已标注的仍标注 · 正确的仍正确 · `tools/baseline/canary_values.tsv` 勿误改的仍在原位)。 ⇒ 现基线上**没有任何仍须处置的条目**:原「必须处理 3」与「建议处理 2」全部归零。 三、报告自身缺陷更正(3 处,均「只增不删」) 1. 头统计「必须 3 · 建议 5 · 可不动 6」(=14)与表体不符 ⇒ 实数 **3 · 2 · 10 = 15 行** (建议多算 3、可不动少算 4,合计恰差 1)。附**可复核清点命令**(行首 `| N-M |` 锚定 + 分类词取第 2 列)。 2. 「★ = 最危险的 5 条」⇒ 实数 **4**(1-1 / 1-2 / 2-1 / 3-1)。 3. §5 括注「`^error[` 字面在仓内已不存在」**不成立**(且**在报告自己的基线上就已不成立**): `jj file search -r <rev> --pattern '^error\['` ⇒ 3 行 / 2 档(均为文档里举例的错误输出样式)。 但 §5 的**真判定「live 判据面零命中」成立**(`src tests tools` 行锚定命中 0)⇒「结论对、括注的加强句错」。 四、方法与边界 - 新增 §0.4:重核期间 `develop@origin` **移动过**(`7ddf6ed2` → `09f253b8`,#136 由另一代理合入), 症状 = 磁盘工作副本与 `-r develop@origin` 读数不一致且 `jj diff` 不报错 ⇒ 纪律 = `-r` 写**现查现用的 commit id**, 行号只作辅助、主锚仍为唯一子串。 - 新增 §0.5 动作台账:改动**仅本文件**;`TODO.md` / `syntax.md` / `errors.md` / 各计划文档 / `tools/baseline/canary_values.tsv` / `src/**` / `tests/**/*.py` **均一字未碰**,逐项附理由。 - 边界判据(两向钉子,已实测):`jj diff -r <本提交> --stat` ⇒ `1 file changed, 129 insertions(+), 0 deletions(-)` ——「只改本文件」与「原文零删改」两条同时由 diff 计数机械成立。 判据:`tests/harness/test_todo_id_migration.py` 6/6 通过(J1–J6;本批未改 TODO.md,仅作状态核验)。
dslsdzc
added a commit
that referenced
this pull request
Sep 19, 2026
…141) * docs(TODO): 批 8 (甲) 刀 3 登记——只增追加 -1/-2/-3 + 新落 -4/-5/-6/-7 + 术语澄清 + 跨仓链接清理 **只增不删**(本仓惯例):`-1/-2/-3` 保留 #136 原文逐字,追加段一律以 「〔2026-09-19 · b8-e1 追加(只增不删)〕」起头。 追加内容: · `-1`:`TYP_PTR` 全仓 53 处按符号锚分类(定义/生产/消费形状/判据期望值/pass 静默失效面) + (A) 一落地必红的三处具体载体(ptr_ref_first.cr 头注自证双依赖 / test_diag_gate.py / test_ccr_types.py) + 排除面显式登记 · `-2`:res_call_type 分支逐条 + 与 -1 不同面(勿合并) · `-3`:术语澄清(本条 never 跳过 = 扫描流程,非打点代码跳过条件)+ 权威扫描口径(project 单元优先) + 真面 63 点/6 类 + 「6680」「69」两数留痕作废(69 = 63 + targets 两根档 12 点重复计数) + 第三个伪影维度(内建回退,三组对照钉死)+ 同源不同单元覆盖不同 + 「仪器在前置条件不满足时静默跳过整块」独立登记(覆盖静默退化为零 ≠ 覆盖为零) + 打点 skip 规则 × 钉子对照表(六条,整张进刀 4 判据档)+ 两族划分 新条目: · `-4`【A 类产出侧·两前端分歧】EXPR_GO(六要素 + await 耦合 + 为什么改定型不可行 + 第三真源 + 产出侧六行表 + 24 是下界 + 血缘引 cc8f1b8 + 两向钉子〔反向必须变量形〕) · `-5`【内建表 callee 实参面】登记「免检」契约(口径三条 + 否(甲)主因 = SYM 段/canary) · `-6`【潜伏·当前不可达】fiber_init 名字碰撞(六要素;措辞铁则照 recon §7) · `-7`【同一注解形参位/局部位行为不同】dyn(含活性自证;机理未定位,不许补) 另:`#2026-09-17-5` 正文补「映射表行标题为旧机理,以正文更正注为准」一行; `-3` 正文里的跨仓 wiki-link([[ ]])改为普通文字(仓内不可解析)。 判据:tests/harness/test_todo_id_migration.py 6/6。 取号基准 = develop(@origin = f4165cb) 当天已有最大 N = 3(现查)。 * docs(TODO): -5 条目用词修正——SYM_FN 注册**已经存在**(非「(甲) 会建」) 本代理自查源码(非转述):checker.cr 的 builtin 注册环注释原文 `Register runtime builtins as proper SYM_FN`,且 `if find_gsym(ni2) < 0 { … sym_set_kind(si2, SYM_FN); … }` ⇒ **今天已把每个未被 .cr 遮蔽的内建建成 SYM_FN**;故 (甲) 是在此之上**再增参数符号** ⇒ g_sym_count 继续增长 ⇒ 符号编号顺移 ⇒ .ccr SYM 段可能变 ⇒ canary 需重锁声明。原文写「会建 SYM_FN」不准确,已改。 判据:test_todo_id_migration.py 6/6。 * docs(TODO): 补 #2026-09-19-8((甲) 刀 4 前置② = 63 点逐类处置表)+ E 落法归属写死 补齐三处(前次登记漏项): · **`-8` 新条目** = 63 点逐类处置表(A 排除+钉子 49 · B 迁移 2 · C 迁移 4 · D 排除 4 · E 排除+**落在环上** 2 · F 排除 2),每类带载体逐处 + 两条钉子; · **D 的两条现成对照**:①「同一档里 `@fields` 不报」(`at_test_struct.cr:10`)= 「不是整条通道坏了」的钉子;② `checker.cr` 的 EXPR_AT 分支原文 `if str_eq(name, "typeInfo") != 0 { … return TI_INT; // placeholder — returns handle }` ⇒ 声明说 int · 注释说 handle · 消费端当 string 用(三方分歧写在同一屏); · **E 的落法归属写死**:由 `b8-e1` 在 `(甲)` 刀 4 前置①「台账跳 never」那一小刀里一并做, 三条哨兵族 skip(`TI_NEVER` / `TI_DYN` / 泛型形参型)一次落 + 同批带整张 skip×钉子表。 编号现查 = develop 当天最大 N = 7 ⇒ 新条取 `-8`。 判据:tests/harness/test_todo_id_migration.py 6/6。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本 PR = 三条 TODO 登记(批 8 (乙) 只读枚举/复现产出;
TODO.md单档,无源码改动)#2026-09-19-1&x产出*int、&T声明位是TYP_REF—— 调用点该接受还是该拒?#2026-09-19-2res_call_type无EXPR_PTRTYPE分支 ⇒*T形参在调用点解析成TI_UNIT#2026-09-19-3⚠ 重叠条目裁定:以本 PR 为准
同批
b8-e1亦登记了同号条目(#2026-09-19-1..4),与本 PR 的-1/-2/-3重复。经裁定以本 PR 为准,理由 = 结构而非内容:本链直接坐在develop@origin上、无私有祖先(roots(...)- == develop@origin已核)·TODO.md单档 · 迁移判据 6/6。b8-e1侧的-1/-2/-3撤掉、只保留-4(A₂ 产出侧),并把TYP_PTR53 处分类作为 addendum 追加进-1,其 TODO 提交 rebase 到本 PR 的-1..-3之上。取号基准与竞态
基准 =
develop当天(2026-09-19)已有最大 N = 0 ⇒ 取1/2/3。合入顺序 = 本 PR 先(本 PR 一合即为当天段号的既成基准)。提交(2 笔,均只碰
TODO.md)3de20d6e— 三条登记(+38/−0)+ 三条映射表行(旧号列—,遵约定不造旧号)9ce7aa36—-3条目更新(+5/−1):S1P 第二盲区 = 整型字面量实参不入账 · 活性自证配方(注入点必须自身先证会响)· 两档零台账证清 · 并发面实测 7 档 / 29 点(旧「24」漏扫tests/suite/conc_test.cr⇒ 作废)判据
tests/harness/test_todo_id_migration.py6/6 通过(J1 残留 0 · J2 悬空 0 · J3 映射完备(—37→40 · 新 id 142 = 标题 142)· M-a/M-b/M-c 三突变必红 · J4 突变自证 · J6 同日段唯一)。checker.cr/res_call_type属地归b8-e1。边界(「没测到」≠「测到没有」)
&(int,int)(&(语法被拒)·impl X for G[int](P25)·&T作 iface 签名位 ·&x作返回值跨调用边界 ·&mut x(UOP_ADDR 的 mut 分支未读);#2026-09-19-3另列三处覆盖盲区(返回位 · 整型字面量 · 内建回退面)。