用途:定义宣称工作完成时的证据标准,规定合并前的覆盖率与质量阈值、守护已定结论的黄金回归测试,以及新增测试的流程。核心主张:绿色勾号只证明符合规格,不证明正确;每个完成声明都需引用证据,每个测试都需证明它可能失败。
主要能力:证据标准要求编号每项证据[E1]、[E2],附确切命令与捕获输出;把每条验收标准映射到证据并给出PASS或FAIL;整体状态为COMPLETE、PARTIAL或BLOCKED。验证者独立性要求写代码者不得是唯一裁判,需用独立检查。Iron Law TDD规定插件Python源码(plugins/*/src/、scripts/、hooks/)先有失败测试再实现;技能文件、代理文件与散文文档豁免,但需结构验证测试test_skill_<name>.py。阈值包括根覆盖率fail_under=85(root pyproject.toml),每插件coverage_threshold在[tool.nightmarket](多数90,gauntlet为85),关键问题max_critical_issues=3且enforce_blocking=true,文件大小<20KB且<5000 tokens(建议性),函数长度<=60行等。变异测试有周日00:00 UTC cron等安排。
使用方式:单文件测试用cd plugins/imbue && uv run pytest tests/unit/test_deferred_capture.py -x -q;单插件全量用cd plugins/<plugin> && uv run python -m pytest tests/ --tb=short -q或make -C plugins/<plugin> test;全部用./scripts/run-plugin-tests.sh --all;仅改动用./scripts/run-plugin-tests.sh --changed;本地变异测试用cd plugins/<plugin> && uv run mutmut run --paths-to-mutate=scripts/,src/ --tests-dir=tests/。
适用场景:新增测试、宣称完成、评审测试、维护黄金回归守卫、处理扫描器静默失败。限制:运行套件、lint、发布用night-market-operations;变更分类与门禁用night-market-change-control;失败分诊用night-market-debugging-playbook;新插件pytest配置用leyline相关技能。资料未提供收费与价格信息。