Skip to content

Commit d2de53a

Browse files
committed
docs: 记下 D12 的第一个捕获对象是本仓库自己的测试
e2e 88 的 fixture 声明 `make@4.4` 与 `cmake@3.28`,而索引里是 make 4.3、 cmake 4.4.2/4.0.2 —— 两个版本从来不存在。这条测试在 #531 的整个生命周期里都是绿的, 因为供给不读自己的结果。 ⭐ 一般形状:**fixture 里的取值在有东西开始检查它们的那一刻,就不再是随意的了。** 在「这段文字有没有到达那个文件」是唯一断言的时候,它们只是自由字符串。
1 parent 307e637 commit d2de53a

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

.agents/docs/2026-08-31-issue540-seven-audit-findings.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,22 @@ only ever written for a provisioning that actually succeeded.
857857
*materialized into* `.xlings.json` — true before #531, and exactly the "declared
858858
and nothing happened" state the change was made to end.
859859
860+
> **Confirmed harder than predicted, by implementing D12.** That test's fixture
861+
> declares `deps = ["make@4.4", "cmake@3.28"]`. The index carries make **4.3**
862+
> and cmake **4.4.2 / 4.0.2** — *neither version has ever existed*. The test
863+
> passed anyway, for the whole life of #531, because the provisioning did not
864+
> read its own result: xlings answered `E_NOT_FOUND` and mcpp called it done.
865+
>
866+
> So the repository's own most direct coverage of `[xlings] deps` was asserting
867+
> materialization on top of an install that never happened. D12's first catch,
868+
> before any user's, was this test. The fixture now names `ninja@1.12.1` —
869+
> already installed anywhere mcpp can build, so provisioning short-circuits and
870+
> the test still costs no download.
871+
>
872+
> ⭐ The general shape: **a fixture's values stop being arbitrary the moment
873+
> something starts checking them.** These two were free-form strings for as long
874+
> as the only assertion was "does this text reach that file".
875+
860876
**D15**, in the order they can be written:
861877
862878
1. **Knob parity, network-free.** `MCPP_NO_AUTO_INSTALL=1` with a declared dep

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
2121
### 修复
2222

23-
- **`[xlings] deps` 的供给从不检查自己是否成功。** `xlings::call` 返回
23+
- **`[xlings] deps` 的供给从不检查自己是否成功。**(它的第一个真实受害者是本仓库自己的 e2e 88 —— 见 CHANGELOG 末尾) `xlings::call` 返回
2424
`expected<CallResult, string>`,只要子进程跑起来就处于****态 —— 能力自身的状态
2525
`CallResult` 里面,因为 xlings 讲完 NDJSON 协议后按设计退 0。调用点只测了
2626
`if (!r)`,于是 xlings 能报出的每一种失败都被读成了成功:

0 commit comments

Comments
 (0)