Repository navigation
Commit fd3f09f
committed
fix(perf): step 7 — three defects the first Windows CI run exposed
The capture tool shipped describing its Windows path as unverified. One CI run
on windows-latest made most of it verified and found two defects in it, plus a
third in the controls.
virtualization reported "systemd-detect-virt absent or unclear and no DMI
identity under /sys" — on Windows. That is true of every Windows machine ever
built, and it reads as though a probe ran when nothing Windows-specific had
been tried at all. A stated reason naming the wrong operating system is worse
than no reason, because "unavailable with a reason" is the contract that makes
an absence trustworthy. _virtualization() and _power_policy() are now branched
by platform, and _virtualization() queries Win32_ComputerSystem through CIM.
The general rule is now a control. envcapture-reason-fits-platform requires
every unavailable reason to name only mechanisms that exist on the platform it
was produced on, and it caught a second instance while being written: the
repaired _cpu_model() reason named /proc/cpuinfo and Win32_Processor in one
sentence.
cpu_model fell through a dead tool in silence. wmic is gone from recent Windows
images, so the name arrived as platform.processor()'s family/model/stepping
string rather than the processor's name — observed, but nowhere near the "cpu
model exact" the ruling asks for. The CIM query runs first now.
A green run printed a failure. control_guard_reports exercised the guard by
calling it and deleting the entry from the failure list afterwards, which left
a literal FAIL[envcapture-guard-fixture] in every passing CI log — the exact
string this repository's mutation scorer keys on, and the sort of line that
teaches a reader to skip past FAIL. The guard is split into a pure
guard_failure() returning the message and a guarded() that reports it, so the
probe asserts on a returned string and prints nothing.
Fifteen mutations now, all caught by their named control. Two of them mutate
the control file rather than the tool: the guard is the durable answer to a
defect recorded eight times, so it needs an adversary of its own.
What the Windows run did establish: the registry MachineGuid read, powercfg and
GlobalMemoryStatusEx all work. What stays unverified is capture on a DEDICATED
Windows host, and the new CIM query, which has executed nowhere yet. The
windows-fixture control now says that instead of claiming the branches are
unrun.
No clock ran. No frozen source touched; the harness digest is unchanged at
562a7f7232da.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYLNQy6tLXqsV1CbuNqsSb1 parent 78460f4 commit fd3f09f
3 files changed
Lines changed: 205 additions & 52 deletions
File tree
- docs/notes
- scripts/step7
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
153 | 154 | | |
154 | 155 | | |
155 | | - | |
156 | | - | |
157 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
158 | 161 | | |
159 | 162 | | |
160 | 163 | | |
| |||
174 | 177 | | |
175 | 178 | | |
176 | 179 | | |
177 | | - | |
| 180 | + | |
178 | 181 | | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
171 | 198 | | |
172 | 199 | | |
173 | 200 | | |
| |||
208 | 235 | | |
209 | 236 | | |
210 | 237 | | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
216 | 241 | | |
217 | 242 | | |
218 | 243 | | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
219 | 247 | | |
220 | 248 | | |
221 | 249 | | |
| |||
270 | 298 | | |
271 | 299 | | |
272 | 300 | | |
273 | | - | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
274 | 316 | | |
275 | 317 | | |
276 | 318 | | |
| |||
285 | 327 | | |
286 | 328 | | |
287 | 329 | | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | 330 | | |
292 | 331 | | |
293 | 332 | | |
294 | 333 | | |
295 | 334 | | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
296 | 338 | | |
297 | 339 | | |
298 | 340 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
329 | 330 | | |
330 | 331 | | |
331 | 332 | | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
332 | 388 | | |
333 | 389 | | |
334 | 390 | | |
| |||
341 | 397 | | |
342 | 398 | | |
343 | 399 | | |
344 | | - | |
345 | | - | |
346 | | - | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
347 | 405 | | |
348 | 406 | | |
349 | 407 | | |
| |||
423 | 481 | | |
424 | 482 | | |
425 | 483 | | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
426 | 501 | | |
427 | 502 | | |
428 | 503 | | |
| |||
433 | 508 | | |
434 | 509 | | |
435 | 510 | | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
441 | 514 | | |
442 | 515 | | |
443 | 516 | | |
| |||
446 | 519 | | |
447 | 520 | | |
448 | 521 | | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | 522 | | |
453 | 523 | | |
454 | 524 | | |
455 | 525 | | |
456 | | - | |
| 526 | + | |
457 | 527 | | |
458 | 528 | | |
459 | | - | |
| 529 | + | |
460 | 530 | | |
461 | 531 | | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
467 | | - | |
| 532 | + | |
| 533 | + | |
468 | 534 | | |
469 | | - | |
| 535 | + | |
470 | 536 | | |
471 | | - | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
472 | 541 | | |
473 | 542 | | |
474 | | - | |
475 | | - | |
| 543 | + | |
| 544 | + | |
476 | 545 | | |
477 | 546 | | |
478 | 547 | | |
| |||
483 | 552 | | |
484 | 553 | | |
485 | 554 | | |
| 555 | + | |
486 | 556 | | |
487 | 557 | | |
488 | 558 | | |
| |||
0 commit comments