feat(GOV-002): 增加 PRD 与开发审查门禁

This commit is contained in:
2026-08-12 18:26:31 +08:00
parent 40f3b2ef6f
commit fb4383f541
38 changed files with 609 additions and 14 deletions
+21
View File
@@ -2,6 +2,7 @@ import assert from 'node:assert/strict';
import test from 'node:test';
import {
getUnpassedReviewFiles,
getFeatureDirectory,
getRequiredFeatureFiles,
validateFeatureId,
@@ -28,6 +29,7 @@ test('将功能编号和短名称解析到固定的功能档案目录', () => {
test('返回开发完成前必须存在的完整追溯文件清单', () => {
assert.deepEqual(getRequiredFeatureFiles(), [
'manifest.yaml',
'prd.md',
'requirements.md',
'design.md',
'implementation-plan.md',
@@ -39,7 +41,26 @@ test('返回开发完成前必须存在的完整追溯文件清单', () => {
'gitnexus/comparison.md',
'qa/test-results.md',
'qa/visual-qa.md',
'review/code-review.md',
'review/standards-review.md',
'release-notes.md',
'rollback.md',
]);
});
test('只有两份 Review 都明确通过时才允许发布', () => {
const reports = new Map([
['review/code-review.md', '# 代码 Review\n\n最终结论:passed\n'],
['review/standards-review.md', '# 规范 Review\n\n状态:pending\n'],
]);
assert.deepEqual(getUnpassedReviewFiles(reports), [
'review/standards-review.md',
]);
reports.set(
'review/standards-review.md',
'# 规范 Review\n\n最终结论:passed\n',
);
assert.deepEqual(getUnpassedReviewFiles(reports), []);
});