| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test(discovery): add install harness (#77) | 1 个月前 | |
test(discovery): add the 120-entry install manifest (#58) Turns the inventory in tests/README.md into data the harness can execute: every row becomes an entry with a stable id, the platforms it applies to, the block that describes how it arrives, and the fields the collector is expected to get right about it. TOML rather than YAML so the file keeps its comments - the manifest is reviewed like code, and the reasoning beside an entry is most of its value - and so the loader needs nothing but the standard library. Four entry shapes cover all 120 rows, distinguished by which block an entry carries: install, declare, create or state. The recipe family is derived from that block rather than declared beside it, so the two can never disagree about how an entry is executed. Validation happens at load: an unpinned package, a variant naming a base that does not apply on its platform, or an unknown install method fails immediately rather than twenty minutes into a VM run. | 1 个月前 | |
test(discovery): add provisioning drivers (#81) | 1 个月前 | |
test(discovery): add recorded fixtures (#82) | 1 个月前 | |
test(discovery): add harness reporting (#78) | 1 个月前 | |
test(discovery): add scoring harness (#79) | 1 个月前 | |
test(discovery): add harness tools (#80) | 1 个月前 | |
docs(discovery): add test harness guide (#74) | 1 个月前 | |
docs(discovery): refresh project documentation (#112) | 26 天前 | |
test(discovery): add the 120-entry install manifest (#58) Turns the inventory in tests/README.md into data the harness can execute: every row becomes an entry with a stable id, the platforms it applies to, the block that describes how it arrives, and the fields the collector is expected to get right about it. TOML rather than YAML so the file keeps its comments - the manifest is reviewed like code, and the reasoning beside an entry is most of its value - and so the loader needs nothing but the standard library. Four entry shapes cover all 120 rows, distinguished by which block an entry carries: install, declare, create or state. The recipe family is derived from that block rather than declared beside it, so the two can never disagree about how an entry is executed. Validation happens at load: an unpinned package, a variant naming a base that does not apply on its platform, or an unknown install method fails immediately rather than twenty minutes into a VM run. | 1 个月前 | |
test(discovery): add harness CLI (#75) | 1 个月前 | |
fix(discovery): resolve declaration site paths at manifest load (#73) Thirteen of the twenty-nine MCP rows name a declaration site and a launch form but carry no path of their own: the M-PIN entries reuse the sites the fourteen M-SITE rows enumerate, and M-SP-02 deliberately spans two of them. Left unresolved, those rows have no location at all, so a runner cannot write them and a scorer cannot match them -- for reasons that have nothing to do with the collector under test. On Linux that is the difference between 51 and 64 executable entries. Resolution happens once at load rather than in each consumer, so the runner, the scorer and anything else reading the manifest cannot disagree about where a declaration lives. It fills gaps only: a row stating its own path keeps it. | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add the 120-entry install manifest (#58) Turns the inventory in tests/README.md into data the harness can execute: every row becomes an entry with a stable id, the platforms it applies to, the block that describes how it arrives, and the fields the collector is expected to get right about it. TOML rather than YAML so the file keeps its comments - the manifest is reviewed like code, and the reasoning beside an entry is most of its value - and so the loader needs nothing but the standard library. Four entry shapes cover all 120 rows, distinguished by which block an entry carries: install, declare, create or state. The recipe family is derived from that block rather than declared beside it, so the two can never disagree about how an entry is executed. Validation happens at load: an unpinned package, a variant naming a base that does not apply on its platform, or an unknown install method fails immediately rather than twenty minutes into a VM run. | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 | |
test(discovery): add harness unit tests (#76) | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 26 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |