@pm_zhousl/xinyun-ai-init 2.0.0 → 3.0.0

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.
Files changed (199) hide show
  1. package/README.md +29 -39
  2. package/bin/xinyun-ai-init.js +121 -175
  3. package/init/xinyun-ai-init/README.md +26 -144
  4. package/init/xinyun-ai-init/rules/v3-skill-runtime.md +45 -0
  5. package/init/xinyun-ai-init/runtime/migrate-v3.js +115 -0
  6. package/init/xinyun-ai-init/runtime/route-skill.js +69 -0
  7. package/init/xinyun-ai-init/runtime-manifest.json +26 -0
  8. package/init/xinyun-ai-init/skills/registry.json +112 -0
  9. package/init/xinyun-ai-init/templates/AGENTS.template.md +4 -27
  10. package/init/xinyun-ai-init/templates/README.template.md +3 -31
  11. package/init/xinyun-ai-init/templates/control-plane-index.template.json +5 -24
  12. package/init/xinyun-ai-init/templates/core-rules.template.md +9 -57
  13. package/init/xinyun-ai-init/templates/current-task.template.md +3 -19
  14. package/init/xinyun-ai-init/templates/manifest.template.json +13 -67
  15. package/init/xinyun-ai-init/templates/project-context.template.json +3 -11
  16. package/init/xinyun-ai-init/templates/project-index.template.json +5 -51
  17. package/init/xinyun-ai-init/templates/skill-run-record.template.json +4 -16
  18. package/init/xinyun-ai-init/templates/skill-runtime-route.template.json +3 -24
  19. package/init/xinyun-ai-init/templates/skills-assignments.template.json +3 -21
  20. package/init/xinyun-ai-init/templates/skills-registry.template.json +5 -29
  21. package/init/xinyun-ai-init/templates/task-graph.template.json +3 -5
  22. package/init/xinyun-ai-init/templates/task-index.template.json +3 -31
  23. package/init/xinyun-ai-init/version.json +8 -8
  24. package/package.json +8 -14
  25. package/scripts/run-v3-runtime-probe.js +8 -0
  26. package/scripts/verify-legacy-cleanup.js +24 -0
  27. package/scripts/verify-release-gate.js +10 -23
  28. package/scripts/verify-rules-tarball-security.js +1 -1
  29. package/scripts/verify-skill-runtime.js +33 -0
  30. package/scripts/verify-tarball.js +42 -0
  31. package/scripts/verify-v3-package.js +70 -0
  32. package/test-scenarios/v3.0.0-behavior-evidence.json +25 -0
  33. package/test-scenarios/v3.0.0-scenarios.md +41 -0
  34. package/init/xinyun-ai-init/prompt.md +0 -1
  35. package/init/xinyun-ai-init/rules/coordination.md +0 -43
  36. package/init/xinyun-ai-init/rules/directory-self-completion.md +0 -100
  37. package/init/xinyun-ai-init/rules/frameworks/README.md +0 -56
  38. package/init/xinyun-ai-init/rules/frameworks/backend/php/thinkphp.md +0 -42
  39. package/init/xinyun-ai-init/rules/frameworks/frontend/uni-app.md +0 -36
  40. package/init/xinyun-ai-init/rules/frameworks/frontend/wechat-miniprogram.md +0 -36
  41. package/init/xinyun-ai-init/rules/frontend-audit.md +0 -9
  42. package/init/xinyun-ai-init/rules/init-rules.md +0 -145
  43. package/init/xinyun-ai-init/rules/self-learning-rules.md +0 -16
  44. package/init/xinyun-ai-init/rules/session-workbench.md +0 -333
  45. package/init/xinyun-ai-init/rules/skills.md +0 -23
  46. package/init/xinyun-ai-init/rules/temporary-sessions.md +0 -13
  47. package/init/xinyun-ai-init/rules/upgrade-rules.md +0 -161
  48. package/init/xinyun-ai-init/rules/v1.10.2-contract.md +0 -30
  49. package/init/xinyun-ai-init/rules/v1.11.0-acceleration.md +0 -27
  50. package/init/xinyun-ai-init/rules/v1.12.0-recovery.md +0 -34
  51. package/init/xinyun-ai-init/rules/v1.12.1-provider-session-binding.md +0 -25
  52. package/init/xinyun-ai-init/rules/v1.13.0-host-adapter.md +0 -43
  53. package/init/xinyun-ai-init/rules/v1.14.0-agent-core.md +0 -35
  54. package/init/xinyun-ai-init/rules/v1.15.0-session-binding.md +0 -44
  55. package/init/xinyun-ai-init/rules/v1.16.0-capability-efficiency.md +0 -23
  56. package/init/xinyun-ai-init/rules/v2.0.0-shared-project-conversations.md +0 -68
  57. package/init/xinyun-ai-init/rules/v2.0.0-single-session-skills.md +0 -89
  58. package/init/xinyun-ai-init/scripts/README.md +0 -16
  59. package/init/xinyun-ai-init/templates/agent-capabilities.template.json +0 -27
  60. package/init/xinyun-ai-init/templates/agent-profile.template.json +0 -21
  61. package/init/xinyun-ai-init/templates/archive-transaction.template.json +0 -15
  62. package/init/xinyun-ai-init/templates/bootstrap-snapshot.template.json +0 -22
  63. package/init/xinyun-ai-init/templates/capabilities.template.json +0 -19
  64. package/init/xinyun-ai-init/templates/codegraph-incremental-record.template.json +0 -21
  65. package/init/xinyun-ai-init/templates/conversation-binding.template.json +0 -26
  66. package/init/xinyun-ai-init/templates/conversation-event.template.json +0 -24
  67. package/init/xinyun-ai-init/templates/conversation-registry.template.json +0 -15
  68. package/init/xinyun-ai-init/templates/conversation-stream-head.template.json +0 -14
  69. package/init/xinyun-ai-init/templates/conversation-sync-cursor.template.json +0 -13
  70. package/init/xinyun-ai-init/templates/coordination-change-ledger.template.json +0 -15
  71. package/init/xinyun-ai-init/templates/coordination-conflict-record.template.json +0 -18
  72. package/init/xinyun-ai-init/templates/coordination-contract-snapshot.template.json +0 -9
  73. package/init/xinyun-ai-init/templates/coordination-project-facts.template.json +0 -20
  74. package/init/xinyun-ai-init/templates/coordination-transaction.template.json +0 -16
  75. package/init/xinyun-ai-init/templates/database-authorization.template.json +0 -53
  76. package/init/xinyun-ai-init/templates/final-delivery.template.json +0 -22
  77. package/init/xinyun-ai-init/templates/fixed-materialization.template.json +0 -12
  78. package/init/xinyun-ai-init/templates/framework-profile.template.json +0 -48
  79. package/init/xinyun-ai-init/templates/framework-profile.template.md +0 -39
  80. package/init/xinyun-ai-init/templates/frontend-audit.template.json +0 -27
  81. package/init/xinyun-ai-init/templates/handoff.template.json +0 -27
  82. package/init/xinyun-ai-init/templates/host-capabilities.template.json +0 -37
  83. package/init/xinyun-ai-init/templates/host-preflight.template.json +0 -33
  84. package/init/xinyun-ai-init/templates/html-migration-asset-map.template.md +0 -6
  85. package/init/xinyun-ai-init/templates/html-migration-compatibility-matrix.template.md +0 -6
  86. package/init/xinyun-ai-init/templates/html-migration-open-issues.template.md +0 -12
  87. package/init/xinyun-ai-init/templates/html-migration-pilot-plan.template.md +0 -21
  88. package/init/xinyun-ai-init/templates/html-migration-record.template.json +0 -36
  89. package/init/xinyun-ai-init/templates/html-migration-route-map.template.md +0 -6
  90. package/init/xinyun-ai-init/templates/html-migration-scope.template.md +0 -28
  91. package/init/xinyun-ai-init/templates/init-result.template.json +0 -25
  92. package/init/xinyun-ai-init/templates/initialization-cache.template.json +0 -13
  93. package/init/xinyun-ai-init/templates/initialization-change-report.template.json +0 -14
  94. package/init/xinyun-ai-init/templates/initialization-recovery.template.json +0 -24
  95. package/init/xinyun-ai-init/templates/initialization-stages.template.json +0 -18
  96. package/init/xinyun-ai-init/templates/initialization-timing.template.json +0 -16
  97. package/init/xinyun-ai-init/templates/local-query-index.template.json +0 -15
  98. package/init/xinyun-ai-init/templates/managed-baseline.template.json +0 -17
  99. package/init/xinyun-ai-init/templates/manual-session-binding.template.json +0 -45
  100. package/init/xinyun-ai-init/templates/manual-session-recovery.template.json +0 -53
  101. package/init/xinyun-ai-init/templates/multi-conversation-migration.template.json +0 -24
  102. package/init/xinyun-ai-init/templates/onboarding-report.template.json +0 -30
  103. package/init/xinyun-ai-init/templates/orchestrator.template.json +0 -28
  104. package/init/xinyun-ai-init/templates/parallelism.template.json +0 -13
  105. package/init/xinyun-ai-init/templates/performance-metrics.template.json +0 -17
  106. package/init/xinyun-ai-init/templates/preflight-report.template.json +0 -25
  107. package/init/xinyun-ai-init/templates/project-check.template.md +0 -56
  108. package/init/xinyun-ai-init/templates/project-guide.template.md +0 -57
  109. package/init/xinyun-ai-init/templates/project-identity.template.json +0 -23
  110. package/init/xinyun-ai-init/templates/project-status.template.json +0 -28
  111. package/init/xinyun-ai-init/templates/provider-adapter.template.json +0 -25
  112. package/init/xinyun-ai-init/templates/provider-session-binding.template.json +0 -77
  113. package/init/xinyun-ai-init/templates/re-takeover-record.template.json +0 -37
  114. package/init/xinyun-ai-init/templates/requirement-packet.template.json +0 -23
  115. package/init/xinyun-ai-init/templates/role-execution.template.md +0 -72
  116. package/init/xinyun-ai-init/templates/role-session-binding.template.json +0 -105
  117. package/init/xinyun-ai-init/templates/role-subtask.template.md +0 -36
  118. package/init/xinyun-ai-init/templates/session-binding.template.json +0 -38
  119. package/init/xinyun-ai-init/templates/session-candidates.template.json +0 -19
  120. package/init/xinyun-ai-init/templates/shared-project-snapshot.template.json +0 -24
  121. package/init/xinyun-ai-init/templates/single-session-migration.template.json +0 -31
  122. package/init/xinyun-ai-init/templates/sync-check.template.json +0 -23
  123. package/init/xinyun-ai-init/templates/takeover-baseline.template.json +0 -17
  124. package/init/xinyun-ai-init/templates/takeover-gate.template.json +0 -22
  125. package/init/xinyun-ai-init/templates/task-history.template.md +0 -35
  126. package/init/xinyun-ai-init/templates/task-lease.template.json +0 -19
  127. package/init/xinyun-ai-init/templates/task-lock.template.json +0 -31
  128. package/init/xinyun-ai-init/templates/task-main.template.md +0 -38
  129. package/init/xinyun-ai-init/templates/task-result.template.json +0 -23
  130. package/init/xinyun-ai-init/templates/team/README.md +0 -51
  131. package/init/xinyun-ai-init/templates/team/assignments.json +0 -49
  132. package/init/xinyun-ai-init/templates/team/confirmations/chief-engineer.md +0 -24
  133. package/init/xinyun-ai-init/templates/team/confirmations/programmer.md +0 -24
  134. package/init/xinyun-ai-init/templates/team/confirmations/project-owner.md +0 -24
  135. package/init/xinyun-ai-init/templates/team/confirmations/project-product.md +0 -24
  136. package/init/xinyun-ai-init/templates/team/confirmations/test-reviewer.md +0 -24
  137. package/init/xinyun-ai-init/templates/team/file-ownership.json +0 -32
  138. package/init/xinyun-ai-init/templates/team/members.json +0 -61
  139. package/init/xinyun-ai-init/templates/team/responsibility-matrix.json +0 -81
  140. package/init/xinyun-ai-init/templates/team/roles.json +0 -71
  141. package/init/xinyun-ai-init/templates/team/understandings/chief-engineer.md +0 -23
  142. package/init/xinyun-ai-init/templates/team/understandings/programmer.md +0 -23
  143. package/init/xinyun-ai-init/templates/team/understandings/project-owner.md +0 -23
  144. package/init/xinyun-ai-init/templates/team/understandings/project-product.md +0 -23
  145. package/init/xinyun-ai-init/templates/team/understandings/test-reviewer.md +0 -23
  146. package/init/xinyun-ai-init/templates/technical-impact-packet.template.json +0 -31
  147. package/init/xinyun-ai-init/templates/technical-landscape.template.json +0 -41
  148. package/init/xinyun-ai-init/templates/temporary-session.template.json +0 -32
  149. package/init/xinyun-ai-init/templates/workstreams-readme.template.md +0 -36
  150. package/scripts/collect-v1.10-evidence.js +0 -159
  151. package/scripts/collect-v1.14-local-evidence.js +0 -66
  152. package/scripts/collect-v1.15-real-evidence.js +0 -114
  153. package/scripts/collect-v1.16-evidence.js +0 -48
  154. package/scripts/collect-v2-evidence.js +0 -35
  155. package/scripts/run-v1.16-runtime-probe.js +0 -91
  156. package/scripts/run-v2-runtime-probe.js +0 -110
  157. package/scripts/verify-init-package.js +0 -2297
  158. package/scripts/verify-multi-conversation-contract.js +0 -61
  159. package/scripts/verify-re-takeover-contract.js +0 -54
  160. package/scripts/verify-rules-package.js +0 -1287
  161. package/scripts/verify-v2-package.js +0 -210
  162. package/scripts/verify-v2-tarball.js +0 -73
  163. package/test-scenarios/README.md +0 -130
  164. package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/README.md +0 -23
  165. package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/after/project-status.json +0 -7
  166. package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/before/project-status.json +0 -7
  167. package/test-scenarios/fixtures/v1.9.0-behavior-fixture/README.md +0 -9
  168. package/test-scenarios/multi-conversation-evidence.json +0 -26
  169. package/test-scenarios/multi-conversation-scenarios.md +0 -16
  170. package/test-scenarios/re-takeover-evidence.json +0 -20
  171. package/test-scenarios/re-takeover-scenarios.md +0 -33
  172. package/test-scenarios/review-template.md +0 -165
  173. package/test-scenarios/scenarios.md +0 -1273
  174. package/test-scenarios/v1.10.0-behavior-evidence.json +0 -31
  175. package/test-scenarios/v1.10.0-scenarios.md +0 -96
  176. package/test-scenarios/v1.10.2-scenarios.md +0 -38
  177. package/test-scenarios/v1.11.0-scenarios.md +0 -30
  178. package/test-scenarios/v1.12.0-behavior-evidence.json +0 -29
  179. package/test-scenarios/v1.12.0-scenarios.md +0 -51
  180. package/test-scenarios/v1.12.1-behavior-evidence.json +0 -27
  181. package/test-scenarios/v1.12.1-scenarios.md +0 -42
  182. package/test-scenarios/v1.13.0-behavior-evidence.json +0 -650
  183. package/test-scenarios/v1.13.0-scenarios.md +0 -94
  184. package/test-scenarios/v1.14.0-behavior-evidence.json +0 -780
  185. package/test-scenarios/v1.14.0-scenarios.md +0 -63
  186. package/test-scenarios/v1.15.0-behavior-evidence.json +0 -476
  187. package/test-scenarios/v1.15.0-scenarios.md +0 -57
  188. package/test-scenarios/v1.16.0-behavior-evidence.json +0 -46
  189. package/test-scenarios/v1.16.0-real-host-probe.json +0 -132
  190. package/test-scenarios/v1.16.0-scenarios.md +0 -19
  191. package/test-scenarios/v1.7.0-scenarios.md +0 -91
  192. package/test-scenarios/v1.7.1-scenarios.md +0 -130
  193. package/test-scenarios/v1.7.2-scenarios.md +0 -51
  194. package/test-scenarios/v1.7.3-scenarios.md +0 -79
  195. package/test-scenarios/v1.8.0-scenarios.md +0 -39
  196. package/test-scenarios/v1.9.0-behavior-evidence.json +0 -269
  197. package/test-scenarios/v1.9.0-scenarios.md +0 -55
  198. package/test-scenarios/v2.0.0-behavior-evidence.json +0 -40
  199. package/test-scenarios/v2.0.0-scenarios.md +0 -21
@@ -1,132 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "version": "1.16.0",
4
- "evidenceType": "real-session",
5
- "executionMode": "real-host",
6
- "realAiSessionVerified": true,
7
- "sessionRefType": "host-thread",
8
- "sessionRef": "019f64da-73e3-7b91-8c75-648fddb9adfa",
9
- "hostId": "local",
10
- "roleId": "project-product",
11
- "taskId": "V116-PROBE-001",
12
- "cwd": "E:\\ai-fabu-xiangmu\\AI开发初始化脚本\\xinyun-ai-init-npm",
13
- "route": {
14
- "routeFingerprint": "b80194c61cd58914c1ffe25ab3f7b7a91c360c03ee12cf24c68c6535dd471e39",
15
- "selectionOrder": [
16
- "project-binding",
17
- "framework-specific",
18
- "generic",
19
- "fallback"
20
- ],
21
- "selected": [],
22
- "rejected": [],
23
- "fallback": [
24
- {
25
- "skillId": "generic",
26
- "reason": "no-registered-specialized-skill"
27
- }
28
- ],
29
- "blocked": [],
30
- "routeReason": [
31
- "role",
32
- "taskType",
33
- "language",
34
- "runtime",
35
- "platform",
36
- "framework",
37
- "riskTerms"
38
- ],
39
- "status": "fallback"
40
- },
41
- "codeGraph": {
42
- "status": "unknown",
43
- "updateMode": "full-rebuild-required",
44
- "degradationReason": "codegraph-directory-missing",
45
- "changedFiles": [],
46
- "unchangedFiles": [],
47
- "failedFiles": [],
48
- "unverifiedScope": [
49
- "CodeGraph service and structural parse"
50
- ]
51
- },
52
- "queryIndex": {
53
- "sourceHash": "e44784554a8ac5f57a47a7cc21688c81912c88a374e215b58d757d7e2f1e8377",
54
- "indexVersion": "1.16.0",
55
- "stale": false,
56
- "coverage": {
57
- "percent": 100,
58
- "domains": [
59
- "version",
60
- "control-plane",
61
- "v1.16-evidence"
62
- ]
63
- },
64
- "entries": [
65
- {
66
- "key": "init/xinyun-ai-init/version.json",
67
- "sourcePath": "init/xinyun-ai-init/version.json",
68
- "evidence": "json-parse",
69
- "freshness": "fresh",
70
- "hash": "70381b5848776627a40fc00d5bd78892a61336f75c26e8ecfc2b1c3f28cbea6d"
71
- },
72
- {
73
- "key": "init/xinyun-ai-init/templates/manifest.template.json",
74
- "sourcePath": "init/xinyun-ai-init/templates/manifest.template.json",
75
- "evidence": "json-parse",
76
- "freshness": "fresh",
77
- "hash": "22ad6fbd884e96941cdad29ec38965d2af3145da6cef071dff212405bfd96ff4"
78
- },
79
- {
80
- "key": "init/xinyun-ai-init/templates/project-index.template.json",
81
- "sourcePath": "init/xinyun-ai-init/templates/project-index.template.json",
82
- "evidence": "json-parse",
83
- "freshness": "fresh",
84
- "hash": "0593fc1ed054d612d14e12cce041bb5e5b97799471923f5594cc53c334c06f90"
85
- },
86
- {
87
- "key": "test-scenarios/v1.16.0-behavior-evidence.json",
88
- "sourcePath": "test-scenarios/v1.16.0-behavior-evidence.json",
89
- "evidence": "json-parse",
90
- "freshness": "fresh",
91
- "hash": "cb35cb1c842b0f0e1e81b63ecc623998011024957342ed995c3d8adebe0131ba"
92
- }
93
- ],
94
- "factSourcePolicy": "JSON/Markdown authoritative"
95
- },
96
- "metrics": {
97
- "controlPlaneReads": 6,
98
- "codeGraphCacheHit": false,
99
- "incrementalFiles": 0,
100
- "routeMs": 4,
101
- "queryMs": 3,
102
- "retryCount": 0,
103
- "queueMs": 0,
104
- "fixedMaterializationTargetMs": 5000,
105
- "startedAt": "2026-07-31T09:54:19.186Z",
106
- "finishedAt": "2026-07-31T09:54:19.190Z"
107
- },
108
- "verifiedRealBehavior": [
109
- "skill-route",
110
- "codegraph-cache",
111
- "incremental-update",
112
- "query-index",
113
- "efficiency-metrics"
114
- ],
115
- "unverifiedScope": [
116
- "CodeGraph service and structural parse",
117
- "real specialized Skill execution",
118
- "host-dependent performance comparison"
119
- ],
120
- "forbiddenOperations": [
121
- "business-code",
122
- "database",
123
- "sql",
124
- "dependency-install",
125
- "git-write",
126
- "npm-publish"
127
- ],
128
- "sensitiveScan": {
129
- "status": "pass",
130
- "matches": []
131
- }
132
- }
@@ -1,19 +0,0 @@
1
- # v1.16.0 capability and efficiency scenarios
2
-
3
- The three batches are independently accepted. Contract evidence may pass without making a real-host readiness claim; missing v1.16 host evidence keeps the release blocked.
4
-
5
- ## 301. Skill route by stack and role
6
- ## 302. Multiple Skills use deterministic order
7
- ## 303. Unknown stack uses generic Skill with uncertainty
8
- ## 304. Missing dependency produces fallback
9
- ## 305. Untrusted source or insufficient permission is blocked
10
- ## 306. Repeated task reuses the same route fingerprint
11
- ## 307. Changed stack or Skill version reroutes
12
- ## 308. Skill impact is written to shared facts and change ledger
13
- ## 309. Healthy CodeGraph is reused when unchanged
14
- ## 310. Local file changes use incremental CodeGraph update
15
- ## 311. Increment failure preserves old healthy index
16
- ## 312. Missing or mismatched CodeGraph is explicitly degraded
17
- ## 313. Local query index rebuilds from JSON/Markdown facts
18
- ## 314. Query budget returns partial or unknown with evidence
19
- ## 315. Stage efficiency metrics compare against a repeatable baseline
@@ -1,91 +0,0 @@
1
- # v1.7.0 专属测试场景
2
-
3
- ## 1. verify:rules 正常通过
4
-
5
- - 输入:完整源目录和完整 tarball。
6
- - 期望:全部检查为 pass,退出码 0。
7
-
8
- ## 2. verify:rules 警告
9
-
10
- - 输入:非阻断格式问题。
11
- - 期望:输出 warn,退出码 0,不伪装为全通过。
12
-
13
- ## 3. verify:rules 内容失败
14
-
15
- - 输入:版本不一致、失效路径、注册缺失、模板规则缺失或 tarball 缺必需文件。
16
- - 期望:输出 status=fail,退出码 1,列出检查项和修复建议。
17
-
18
- ## 4. verify:rules 输入或运行错误
19
-
20
- - 输入:不存在的 source-root、不可读 tarball 或无法解包的 tarball。
21
- - 期望:输出 status=error,退出码 2,不修改源目录。
22
-
23
- ## 5. ThinkPHP专项识别
24
-
25
- - 输入:ThinkPHP多线索项目。
26
- - 期望:状态 confirmed,加载匹配模块,profile含入口、路由、Controller、Service、Model、配置、测试和证据。
27
-
28
- ## 6. 任意技术栈隔离
29
-
30
- - 输入:Laravel、Spring、Gin、Django、Vue、React及仅PHP/Java/Go/Node.js项目。
31
- - 期望:语言/运行时不被当作框架;已确认但无模块的框架为 detected-unsupported;仅语言/运行时无框架为 not-found,不套ThinkPHP。
32
-
33
- ## 7. 框架状态和预算
34
-
35
- - 输入:单一线索、无证据、权限失败、不可读和超预算。
36
- - 期望:分别输出 inferred、not-found 或 unknown;超预算列出覆盖和未检查范围。
37
-
38
- ## 7A. profile 字段独立性
39
-
40
- - 输入:仅语言/运行时项目、已确认但无模块项目、已确认且有模块项目。
41
- - 期望:分别填写 language、runtime、platform、framework;模块状态分别为 not-loaded 或 loaded,不能把语言/运行时写入 framework。
42
-
43
- ## 8. 多端规则隔离
44
-
45
- - 输入:uni-app、原生微信小程序和后端框架混合项目。
46
- - 期望:按端口分别输出 profile,不互相套用规则。
47
-
48
- ## 9. HTML直接映射
49
-
50
- - 输入:使用标准DOM、CSS和基础路由的单个HTML页面。
51
- - 期望:输出目标平台、页面映射、资源映射和 direct-map/rewrite-required 结论。
52
-
53
- ## 10. HTML不支持能力
54
-
55
- - 输入:浏览器专属API、第三方SDK、支付或复杂登录态。
56
- - 期望:分别标记 unsupported、backend-required 或 pending,列出证据和风险,不自动修改。
57
-
58
- ## 11. HTML未知和超预算
59
-
60
- - 输入:不可读目录、权限失败、超过3层/20页面/200文件/100证据。
61
- - 期望:矩阵行因不可读/权限失败为 unknown,任务因覆盖不足为 partial;列出未检查范围,不输出整站已评估。
62
-
63
- ## 11A. HTML任务级 schema
64
-
65
- - 输入:planned、assessing、partial、blocked、completed 五种迁移阶段。
66
- - 期望:status 和 coverage 使用固定枚举,scope/unverifiedScope 为路径或条目数组,矩阵每行包含全部必需字段。
67
-
68
- ## 12. 试点越界
69
-
70
- - 输入:试点页面要求扩展到未授权页面或业务接口。
71
- - 期望:进入 `status=paused + pauseReason=out-of-scope`,等待重新确认。
72
-
73
- ## 12A. HTML 范围条目对象
74
-
75
- - 输入:scope 和 unverifiedScope 的路径及条目对象。
76
- - 期望:每个条目包含 itemId、path、itemType、reason、checkedAt。
77
-
78
- ## 13. 版本回归
79
-
80
- - 输入:执行v1.3-v1.6已有初始化、任务、锁、确认门禁场景。
81
- - 期望:既有行为不回归,不修改业务代码、数据库、API、Git或依赖。
82
-
83
- ## 14. verify:rules 对象边界
84
-
85
- - 输入:source-only 的 version-plans、源目录 manifest/project-index、tarball 文件和临时项目生成结果。
86
- - 期望:verify:rules 只校验源目录和 tarball;source-only 文件不因未进 tarball 失败;临时项目注册关系由 verify:init/行为回归单独校验。
87
-
88
- ## 15. verify:rules JSON schema 和重复执行
89
-
90
- - 输入:`--json`、字段换序、相同源目录和相同 tarball 重复执行。
91
- - 期望:输出包含完整 schema,status 可为 pass/warn/fail/error,结果状态和检查项稳定,不产生业务文件变化。
@@ -1,130 +0,0 @@
1
- # v1.7.1 专属测试场景
2
-
3
- ## 1. 主任务命名
4
-
5
- - 输入:项目目录名为 `20250923XZH企业管理系统-服务端`。
6
- - 期望:主任务标题为 `项目初始化:20250923XZH企业管理系统-服务端`,不是泛化标题。
7
-
8
- ## 2. 主任务字段一致性
9
-
10
- - 输入:完成一次初始化。
11
- - 期望:current-task、主任务、init-result、任务索引的 taskId、title、status 一致。
12
-
13
- ## 3. 五个角色子任务
14
-
15
- - 输入:初始化流程。
16
- - 期望:生成 project-owner、project-product、chief-engineer、programmer、test-reviewer 五个子任务,并正确关联 parentTaskId。
17
-
18
- ## 4. 角色任务字段和空绑定
19
-
20
- - 输入:没有真实成员和外部会话。
21
- - 期望:memberId、sessionId 为 null;职责确认、理解记录、executionEligible 和 blockedReason 字段可解析,不虚构人员。
22
-
23
- ## 5. 角色任务未完成状态
24
-
25
- - 输入:职责确认或理解记录仍为 pending。
26
- - 期望:`role-execution` 子任务不能标记为 completed 或 executionEligible=true;`initialization-record` 只允许完成登记,不得改变角色执行资格。
27
-
28
- ## 5A. 角色登记与执行资格分离
29
-
30
- - 输入:五个角色未绑定成员、职责确认 pending、理解记录 pending。
31
- - 期望:`taskKind=initialization-record` 的任务卡可以完成登记,但 assignmentStatus/understandingStatus/confirmationStatus 和 executionEligible 独立为未就绪,不得伪造角色可执行。
32
-
33
- ## 6. 初始化任务归档
34
-
35
- - 输入:主任务和五个角色子任务全部完成,锁已释放,无阻塞。
36
- - 期望:从当前任务列表移除,归档到 `xinyun-ai/tasks/archive/<taskId>/`,历史摘要完整。
37
-
38
- ## 6A. 归档原子性和任务索引
39
-
40
- - 输入:归档过程中模拟中断、重复归档和索引更新失败。
41
- - 期望:生成唯一 `archiveTransactionId`,事务 phase 按 `prepared -> validated -> moved -> indexed -> committed` 记录;下次按阶段恢复,不出现 task-index 与实际文件不一致。
42
-
43
- ## 6B. 归档事务异常裁决
44
-
45
- - 输入:临时目录存在、归档目录已存在但索引未更新、索引已指向但归档缺失、归档内容 hash 不一致、事务重复执行。
46
- - 期望:临时目录从最近阶段继续;归档目录先校验后补索引;归档缺失、hash 不一致或权限不足进入 `blocked`;已提交事务幂等复用,不重复移动、不静默删除历史。
47
-
48
- ## 6C. 子任务状态与主任务聚合
49
-
50
- - 输入:五个 `initialization-record` 已完成但成员未绑定、职责确认 pending、理解记录 pending;另有一个未完成 `role-execution` 任务。
51
- - 期望:登记子任务 `status=completed` 且 `executionEligible=false`;初始化主任务可按控制面完成归档;`role-execution` 保持独立未完成状态,不被归档清理。
52
- - 输入:控制面写入失败、锁阻塞或 CodeGraph 必备能力失败。
53
- - 期望:主任务为 `partial` 或 `blocked`,不得归档;子任务状态遵循 v1.5/v1.6 枚举,不出现未定义状态。
54
-
55
- ## 7. 保留其他可执行任务
56
-
57
- - 输入:初始化任务完成,同时存在一个 pending 业务任务。
58
- - 期望:初始化任务归档,current-task 切换到业务任务,业务任务不被覆盖或删除。
59
-
60
- ## 8. 无其他任务
61
-
62
- - 输入:初始化任务完成,没有其他任务。
63
- - 期望:current-task 显示“暂无待执行任务”,不重新指向已归档任务。
64
- - 同时期望:`status=idle`、`taskId=null`,且 idle 不进入业务任务状态枚举。
65
-
66
- ## 9. 初始化失败不归档
67
-
68
- - 输入:控制面步骤失败、权限不足、锁阻塞或 CodeGraph 必备能力失败。
69
- - 期望:主任务为 partial/blocked,未完成控制面步骤仍可见,不进入完成归档。
70
- - 输入:仅角色职责确认 pending、理解记录 pending 或 role-execution 未完成,但五个 initialization-record 和控制面均已完成。
71
- - 期望:初始化登记任务允许归档;角色执行任务继续保留,不得因角色未绑定而伪造 executionEligible=true。
72
-
73
- ## 10. 归档幂等
74
-
75
- - 输入:归档后重复执行相同初始化请求。
76
- - 期望:通过幂等索引定位历史 taskId,不生成重复主任务。
77
-
78
- ## 11. CodeGraph首次初始化
79
-
80
- - 输入:没有 `.codegraph/`,`codegraph` 命令和服务可用。
81
- - 期望:自动执行 `codegraph init -i`,不询问是否继续,并记录状态和命令结果。
82
-
83
- ## 11A. CodeGraph初始化授权边界
84
-
85
- - 输入:用户已执行初始化入口,`.codegraph/` 不存在,命令可用。
86
- - 期望:`.codegraph/` 作为工具控制目录属于初始化授权范围;只写入 CodeGraph目录,不修改业务目录。
87
-
88
- ## 12. CodeGraph健康复用
89
-
90
- - 输入:已有健康 `.codegraph/`。
91
- - 期望:复用索引,不重复执行初始化,后续会话读取登记状态。
92
-
93
- ## 13. CodeGraph命令不可用
94
-
95
- - 输入:系统没有 `codegraph` 命令。
96
- - 期望:状态固定为 `unavailable`,结构理解任务 `blocked`;只有用户明确授权限定范围降级时才允许 `partial`,列出未验证范围,不自动安装、不伪造完成。
97
-
98
- ## 14. CodeGraph权限、服务或初始化失败
99
-
100
- - 输入:`.codegraph/` 不可写。
101
- - 期望:状态固定为 `permission-denied`,current-task 和 init-result 状态一致。
102
- - 输入:MCP 未连接或健康状态无法确认。
103
- - 期望:状态固定为 `unknown`,相关必需任务 blocked,不伪造健康。
104
- - 输入:初始化命令失败或索引损坏。
105
- - 期望:状态固定为 `failed`,current-task 和 init-result 状态一致,不反复询问相同问题。
106
-
107
- ## 15. CodeGraph状态登记
108
-
109
- - 输入:初始化成功、复用、失败三种场景。
110
- - 期望:manifest、project-index、current-task、init-result 记录 required、status、command、version、indexPath、时间、evidence 和 failureReason。
111
-
112
- ## 15A. CodeGraph记录与失败矩阵
113
-
114
- - 输入:命令不可用、目录不可写、命令执行失败、MCP未连接、索引损坏和健康索引。
115
- - 期望:分别得到 unavailable、permission-denied、failed、unknown、failed、healthy;四类控制文件引用同一 codeGraphRecordId,必需任务 blocked,只有明确授权降级时 partial。
116
-
117
- ## 15B. CodeGraph失败提示去重
118
-
119
- - 输入:相同项目、相同 codeGraphRecordId 和相同失败状态重复初始化。
120
- - 期望:只提示一次;命令、权限、服务或索引状态变化后才允许再次提示或重试。
121
-
122
- ## 16. 普通咨询边界
123
-
124
- - 输入:普通代码问题咨询,不进入初始化或结构影响审视流程。
125
- - 期望:不创建完整角色任务树,不触发 CodeGraph 初始化。
126
-
127
- ## 17. 版本回归
128
-
129
- - 输入:v1.5-v1.7 已有初始化、任务锁、幂等、规则校验和业务基线场景。
130
- - 期望:既有行为不回归,不修改业务代码、数据库、API、配置、依赖或 Git。
@@ -1,51 +0,0 @@
1
- # v1.7.2 专属测试场景
2
-
3
- ## 1. 已发布 v1.7.1 项目补建角色任务
4
-
5
- - 输入:项目已升级到 v1.7.1,归档中存在命名初始化主任务和 5 个角色登记子任务,但 `activeTaskIds=[]`、`executableTaskIds=[]`、`current-task=idle`。
6
- - 期望:补建或恢复 5 个 `role-execution` 后续任务,任务可在 `task-index.json` 中查看,不修改业务代码。
7
-
8
- ## 2. 初始化主任务与角色后续任务分离
9
-
10
- - 输入:首次初始化或升级完成。
11
- - 期望:`taskKind=initialization-main` 的初始化主任务和 `taskKind=initialization-record` 的登记子任务可以归档;5 个 `taskKind=role-execution` 角色后续任务独立保留,不因主任务归档被删除。
12
-
13
- ## 3. 未绑定角色可见但不可执行
14
-
15
- - 输入:5 个角色任务的 `memberId`、`sessionId` 为 null,职责和理解状态为 pending。
16
- - 期望:角色任务属于 `activeTaskIds`,不属于 `executableTaskIds`;`executionEligible=false`,并显示待分配或待确认原因。
17
-
18
- ## 4. 活动任务与可执行任务为空集区分
19
-
20
- - 输入:`activeTaskIds` 有 5 个待分配角色任务,`executableTaskIds=[]`。
21
- - 期望:`current-task` 不得使用 `status=idle`、`taskId=null`;应按固定优先级指向 `project-owner`,使用 `status=pending` 并输出 nextAction。
22
-
23
- ## 5. 真正空闲状态
24
-
25
- - 输入:`activeTaskIds=[]` 且没有任何 pending、blocked、paused 或 executing 任务。
26
- - 期望:`current-task.status=idle`、`taskId=null`、标题为“暂无待执行任务”。
27
-
28
- ## 6. 升级幂等补建
29
-
30
- - 输入:对同一个 v1.7.1 项目重复执行 v1.7.2 升级。
31
- - 期望:第一次补建 5 个角色后续任务;再次执行复用原任务,不生成重复角色任务或重复主任务。
32
-
33
- ## 6A. 角色优先级和并列排序
34
-
35
- - 输入:5 个角色后续任务均待分配,或存在相同 priority 的多个任务。
36
- - 期望:默认优先级为 project-owner 10、project-product 20、chief-engineer 30、programmer 40、test-reviewer 50;并列按 createdAt、roleId、taskId 稳定排序,不依赖文件系统顺序。
37
-
38
- ## 6B. 补建失败和索引恢复
39
-
40
- - 输入:单个角色文件写入失败、任务索引更新失败、补建过程被中断。
41
- - 期望:成功角色任务保留;失败角色为 blocked/write-failed;结果为 partial 或 blocked;不得清空 activeTaskIds 或伪造 idle;下次通过逐角色 idempotencyKey 恢复索引和缺失任务。
42
-
43
- ## 7. 已存在角色任务保护
44
-
45
- - 输入:部分角色后续任务已经存在,且其中包含用户修改过的控制文件。
46
- - 期望:复用已有任务,补建缺失任务;不覆盖用户修改,不删除业务任务,冲突进入待确认或 blocked。
47
-
48
- ## 8. 发布边界回归
49
-
50
- - 输入:执行 v1.7.2 升级和任务补建。
51
- - 期望:CodeGraph 健康状态复用;不自动创建外部会话,不执行 SQL/Git 写操作,不修改业务代码、数据库、API、配置、依赖;输出明确区分已归档、已创建、已复用、可执行和待分配任务。
@@ -1,79 +0,0 @@
1
- # v1.7.3 专属测试场景
2
-
3
- 本文件用于 v1.7.3 真实 Codex 角色会话创建与绑定回归。测试时必须使用本地待发布 tarball 或已确认版本的初始化规则,不得执行 `npm publish`、Git commit/tag/push、数据库、API、依赖或业务代码修改。
4
-
5
- ## 1. 五个真实角色子会话创建
6
-
7
- 输入:对已经具备 5 个 `role-execution` 本地任务的项目执行 v1.7.3 升级。
8
-
9
- 验收:
10
- - Codex 主会话尝试创建 `project-owner`、`project-product`、`chief-engineer`、`programmer`、`test-reviewer` 五个真实角色子会话。
11
- - 真实 `sessionId` 来自 Codex 宿主返回值。
12
- - 写入 `xinyun-ai/sessions/role-session-bindings.json` 和 `xinyun-ai/sessions/roles/`。
13
- - CLI 仍只创建或更新 `xinyun-ai-init/`,不直接创建真实会话。
14
-
15
- ## 2. 会话绑定回写一致性
16
-
17
- 输入:角色会话创建成功后检查控制文件。
18
-
19
- 验收:
20
- - 角色任务、`assignments.json`、`task-index.json`、`manifest.json`、`project-index.json`、`init-result.json` 引用同一 `bindingId`、`sessionId`、`parentSessionId`、`provider=codex`。
21
- - `sessionStatus` 只使用 pending / creating / created / onboarding / ready / blocked / failed / closed。
22
- - 任务界面能展示 5 个角色会话入口、sessionId、状态、理解进度和阻塞原因。
23
-
24
- ## 3. onboarding 只读边界
25
-
26
- 输入:创建成功后的角色子会话读取角色任务和项目规则。
27
-
28
- 验收:
29
- - 创建成功后先进入 `sessionStatus=onboarding`。
30
- - 子会话只读读取入口规则、角色任务、职责确认和角色理解记录。
31
- - 未完成职责理解、职责确认、成员 / 会话绑定和确认门禁前,不得写成 `sessionStatus=ready`。
32
- - 创建成功不等于业务代码修改授权。
33
-
34
- ## 4. 幂等复用
35
-
36
- 输入:对同一项目重复执行 v1.7.3 升级。
37
-
38
- 验收:
39
- - 按 `taskId + roleId + provider + targetVersion` 计算 `roleSessionIdempotency`。
40
- - 已有真实会话和绑定被复用,不重复创建同一角色会话。
41
- - `role-session-bindings.json` 不出现重复 roleId/taskId/provider/targetVersion 记录。
42
-
43
- ## 5. 宿主不支持时本地降级
44
-
45
- 输入:模拟 Codex 宿主不支持创建子会话、权限不足或创建接口不可用。
46
-
47
- 验收:
48
- - 不伪造 sessionId。
49
- - `sessionId=null`。
50
- - 写入 `local-degraded-no-fake-session-id`。
51
- - `sessionStatus=blocked` 或 failed,并记录 `degradation.reason`、`failureReason`、`nextAction`。
52
-
53
- ## 6. 创建成功但回写失败恢复
54
-
55
- 输入:模拟角色会话创建成功,但 `role-session-bindings.json` 或索引回写失败。
56
-
57
- 验收:
58
- - 记录 `created-but-writeback-failed`、真实 sessionId 来源、失败文件和 audit。
59
- - 下次执行按幂等键查询宿主已有会话并恢复绑定。
60
- - 不重复创建同一角色会话。
61
-
62
- ## 7. 单角色失败不影响其他角色
63
-
64
- 输入:模拟其中一个角色创建或 onboarding 失败。
65
-
66
- 验收:
67
- - 失败角色单独进入 blocked 或 failed。
68
- - 其他角色继续创建、回写或 onboarding。
69
- - 总体结果记录 createdCount / reusedCount / failedCount / blockedCount / localDegradedCount。
70
-
71
- ## 8. 普通咨询边界
72
-
73
- 输入:普通咨询、只读问答或与角色协作无关的问题。
74
-
75
- 验收:
76
- - 不创建角色会话。
77
- - 不写 `xinyun-ai/sessions/role-session-bindings.json`。
78
- - 不创建外部账号、第三个会话或业务任务链。
79
- - 不修改业务代码、数据库、API、配置、依赖或 Git。
@@ -1,39 +0,0 @@
1
- # v1.8.0 专属行为场景
2
-
3
- 以下场景必须在独立夹具中执行,逐项保存 `input`、`before`、`after`、`result`、`changedFiles`、`forbiddenOperations`、`evidence` 和 `sensitiveScan`。不能以文本断言替代真实 AI 行为。
4
-
5
- ## v1.8-01 状态域和来源一致性
6
-
7
- 构造任务、改动、冲突和刷新记录的合法/非法组合。验证 `factStatus`、`changeStatus`、`conflictStatus`、`taskStatus`、`refreshStatus` 各自裁决,非法枚举或 revision 不一致统一进入 `taskStatus=blocked`、`blockedReason=status-inconsistent`;`queued` 不出现在 changeStatus。
8
-
9
- ## v1.8-02 协调事务恢复
10
-
11
- 重复提交、崩溃、部分重命名、索引/事实不同步、哈希不一致和权限失败。验证 `coordinationTransactionId` 幂等复用、事务阶段、每个 targetFiles 的 path/tempPath/beforeHash/afterHash/targetRevision,以及最终 `committed` 或 `blocked`,不得只更新索引或删除历史。
12
-
13
- ## v1.8-03 Skill 路由与降级
14
-
15
- 准备 ThinkPHP、uni-app、微信小程序、HTML、未识别框架、多 Skill 同级、依赖缺失、权限不足和未审核外部 Skill 夹具。验证 availabilityStatus/trustStatus 独立,排序稳定,`assignmentStatus` 与 `usageStatus` 严格映射;失败映射 blocked 并有 failureReason/nextAction,不安装依赖、不伪造执行。
16
-
17
- ## v1.8-04 前端审计边界
18
-
19
- 执行微信小程序、uni-app、HTML 页面耦合审计。验证 audit-only 零 diff;refactor-now 只有在计划、用户确认、允许路径、前后哈希、diff 和测试证据齐全时才可执行;超预算/权限失败进入 partial/unknown 并填写 unverifiedScope。
20
-
21
- ## v1.8-05 临时会话状态和队列
22
-
23
- 验证 `pending -> creating -> onboarding -> executing`、容量不足 `onboarding -> queued -> creating`、容量可用时 onboarding 直达 executing。检查单变更域不重复创建、并发上限 3、确认时间/优先级/taskId 稳定排序及初始 occupancy。
24
-
25
- ## v1.8-06 occupancy 恢复和人工释放
26
-
27
- 模拟崩溃、锁损坏、会话不可读和人工释放。验证 `occupancyStatus=unknown` 持续占用,失败不自动重试或关闭;只有包含 auditId/releasedBy/releasedAt/reason/evidence 的 releaseAudit 才能释放额度。
28
-
29
- ## v1.8-07 跨会话冲突
30
-
31
- 前端任务修改服务端 API 或字段时,验证领取前、写入前、完成后三道门禁,project-facts、change-ledger、conflict-records 和 refreshStatus 可相互追溯;单会话不能自动合并或裁决。
32
-
33
- ## v1.8-08 敏感信息边界
34
-
35
- 将 Token、密码、私钥、`.env`、连接串和 Authorization 值放入 Skill 输入、事务错误、审计证据和会话交接。验证 JSON、Markdown、日志、stdout/stderr 和快照无敏感原文,只保留脱敏结果、路径类别或哈希。
36
-
37
- ## v1.8 禁止操作
38
-
39
- 所有场景必须证明未修改业务代码、数据库、API、依赖、系统环境或 Git,未执行 npm publish,未自动安装依赖,业务基线哈希不变。