@zat-design/sisyphus-scene 4.6.3-beta.2 → 4.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/mcp/sisyphus-react.json +1 -1
- package/package.json +1 -1
- package/skills/sisyphus-scene/SKILL.md +48 -9
- package/skills/sisyphus-scene/agents/openai.yaml +3 -3
- package/skills/sisyphus-scene/assets/ai-contract.json +1 -1
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/components/DetailPanel/index.tsx +11 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/config/index.tsx +18 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/constants/index.ts +1 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/index.tsx +36 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/services/index.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/invalid/utils/request.ts +10 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/components/DetailPanel/index.tsx +24 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/index.tsx +35 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/services/index.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/shared/constants.ts +1 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/shared/consumer-a.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate/valid/shared/consumer-b.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/invalid/config/formColumns.ts +13 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/invalid/flowHelper.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/invalid/package.json +7 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/components/DirectControl.tsx +7 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/config/formColumns.ts +20 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/context/BusinessContext.tsx +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/hooks/useBusinessState.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/package.json +7 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/protocol.ts +4 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/services/index.ts +1 -0
- package/skills/sisyphus-scene/evals/fixtures/review-gate-v1.5/valid/utils/flowHelper.ts +3 -0
- package/skills/sisyphus-scene/evals/fixtures/valid-decisions.json +4 -4
- package/skills/sisyphus-scene/evals/review-gate-cases.yaml +140 -0
- package/skills/sisyphus-scene/evals/review-routing-cases.yaml +33 -0
- package/skills/sisyphus-scene/evals/trigger-cases.yaml +3 -0
- package/skills/sisyphus-scene/references/approved-examples.yaml +1 -1
- package/skills/sisyphus-scene/references/platform-claude.md +7 -0
- package/skills/sisyphus-scene/references/platform-codex.md +7 -0
- package/skills/sisyphus-scene/references/platform-cursor.md +7 -0
- package/skills/sisyphus-scene/references/review-guard.md +151 -0
- package/skills/sisyphus-scene/references/review-standard.md +130 -0
- package/skills/sisyphus-scene/references/validation-rules.md +6 -5
- package/skills/sisyphus-scene/references/workflow.md +24 -0
- package/skills/sisyphus-scene/scripts/evaluate-review-gate.mjs +222 -0
- package/skills/sisyphus-scene/scripts/validate-skill.mjs +43 -1
|
@@ -34,17 +34,46 @@ for (const required of [
|
|
|
34
34
|
'references/scene-model.md',
|
|
35
35
|
'references/integration-contracts.md',
|
|
36
36
|
'references/validation-rules.md',
|
|
37
|
+
'references/review-guard.md',
|
|
38
|
+
'references/review-standard.md',
|
|
37
39
|
'assets/templates/scene-registry.json',
|
|
38
40
|
'assets/ai-contract.json',
|
|
39
41
|
'agents/openai.yaml',
|
|
40
42
|
'evals/generation-cases.yaml',
|
|
43
|
+
'evals/review-gate-cases.yaml',
|
|
44
|
+
'evals/review-routing-cases.yaml',
|
|
41
45
|
'evals/trigger-cases.yaml',
|
|
42
46
|
'evals/fixtures/valid-decisions.json',
|
|
43
47
|
'evals/fixtures/invalid-decisions.json',
|
|
48
|
+
'scripts/evaluate-review-gate.mjs',
|
|
44
49
|
]) {
|
|
45
50
|
if (!fs.existsSync(path.join(skillRoot, required))) errors.push(`缺少资源:${required}`);
|
|
46
51
|
}
|
|
47
52
|
|
|
53
|
+
const reviewGuard = fs.readFileSync(path.join(skillRoot, 'references/review-guard.md'), 'utf8');
|
|
54
|
+
const reviewStandard = fs.readFileSync(
|
|
55
|
+
path.join(skillRoot, 'references/review-standard.md'),
|
|
56
|
+
'utf8',
|
|
57
|
+
);
|
|
58
|
+
for (const [relative, value, hash] of [
|
|
59
|
+
[
|
|
60
|
+
'references/review-guard.md',
|
|
61
|
+
reviewGuard,
|
|
62
|
+
'1b9730edad78a754de2320938dc7969d0f0b8084781933d802a75af5a793c34d',
|
|
63
|
+
],
|
|
64
|
+
[
|
|
65
|
+
'references/review-standard.md',
|
|
66
|
+
reviewStandard,
|
|
67
|
+
'361e3d818a7ed07677db5c9415d244bd5cc895ffccf6d262ef51a671a49f38e3',
|
|
68
|
+
],
|
|
69
|
+
]) {
|
|
70
|
+
if (!value.includes(hash)) errors.push(`${relative} 缺少 sisyphus-cr 来源快照标识`);
|
|
71
|
+
}
|
|
72
|
+
if (!reviewGuard.includes('ed2a11215d7894e70584cd383828d1cf2d6d5764631b624c198d12a90a2afae0'))
|
|
73
|
+
errors.push('references/review-guard.md 缺少 sisyphus-cr CHANGELOG 来源快照标识');
|
|
74
|
+
if (!reviewGuard.includes('sisyphus-cr@1.5.0'))
|
|
75
|
+
errors.push('references/review-guard.md 缺少 sisyphus-cr 1.5.0 来源版本');
|
|
76
|
+
|
|
48
77
|
JSON.parse(fs.readFileSync(path.join(skillRoot, 'assets/templates/scene-registry.json'), 'utf8'));
|
|
49
78
|
const contract = JSON.parse(
|
|
50
79
|
fs.readFileSync(path.join(skillRoot, 'assets/ai-contract.json'), 'utf8'),
|
|
@@ -52,10 +81,23 @@ const contract = JSON.parse(
|
|
|
52
81
|
if (contract.schemaVersion !== 2 || !Array.isArray(contract.tools) || contract.tools.length !== 8) {
|
|
53
82
|
errors.push('ai-contract 必须声明 schema v2 和 8 个 MCP 工具');
|
|
54
83
|
}
|
|
55
|
-
for (const relative of [
|
|
84
|
+
for (const relative of [
|
|
85
|
+
'evals/generation-cases.yaml',
|
|
86
|
+
'evals/review-gate-cases.yaml',
|
|
87
|
+
'evals/review-routing-cases.yaml',
|
|
88
|
+
'evals/trigger-cases.yaml',
|
|
89
|
+
]) {
|
|
56
90
|
const value = fs.readFileSync(path.join(skillRoot, relative), 'utf8');
|
|
57
91
|
if (!/^schema_version:\s*1$/m.test(value)) errors.push(`${relative} 缺少 schema_version: 1`);
|
|
58
92
|
}
|
|
93
|
+
const reviewGateCases = fs.readFileSync(
|
|
94
|
+
path.join(skillRoot, 'evals/review-gate-cases.yaml'),
|
|
95
|
+
'utf8',
|
|
96
|
+
);
|
|
97
|
+
for (const match of reviewGateCases.matchAll(/^\s+fixture:\s+(.+)$/gm)) {
|
|
98
|
+
if (!fs.existsSync(path.join(skillRoot, match[1])))
|
|
99
|
+
errors.push(`review gate fixture 不存在:${match[1]}`);
|
|
100
|
+
}
|
|
59
101
|
for (const relative of [
|
|
60
102
|
'evals/fixtures/valid-decisions.json',
|
|
61
103
|
'evals/fixtures/invalid-decisions.json',
|