@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,22 +0,0 @@
1
- {
2
- "schemaVersion": 2,
3
- "executionModel": "shared-project-multi-conversation-runtime",
4
- "gateId": "takeover-gate-template",
5
- "status": "blocked",
6
- "statusEnum": ["not-started", "assessing", "partial", "blocked", "manual-required", "ready"],
7
- "executionEligible": false,
8
- "contextStatus": "blocked",
9
- "understandingStatus": "unknown",
10
- "contextGate": {
11
- "requiredFiles": ["AGENTS.md", "xinyun-ai/README.md", "xinyun-ai/manifest.json", "xinyun-ai/current-task.md", "xinyun-ai/rules/core-rules.md", "xinyun-ai/index/project-index.json"],
12
- "snapshotFreshness": "unknown",
13
- "status": "not-started"
14
- },
15
- "requiredGates": ["projectIdentity", "projectContext", "conversationBinding", "incrementalSync", "sevenHostOperations", "taskTransaction", "taskGraphConsistency", "skillRegistry", "skillRoute", "codeGraph", "sharedFacts", "conflicts", "sensitiveScan"],
16
- "gates": {},
17
- "missingEvidence": ["real project-session interaction and control-file evidence"],
18
- "blockedReasons": ["conversation-binding-and-sync-not-verified"],
19
- "nextActions": ["verify at least one conversation binding and incremental sync; real cross-conversation sharing remains a release gate"],
20
- "evidence": [],
21
- "updatedAt": null
22
- }
@@ -1,35 +0,0 @@
1
- # 初始化任务历史模板
2
-
3
- - schemaVersion:1
4
- - taskId:task-template
5
- - taskType:workspace-initialization
6
- - idempotencyKey:null
7
- - reusedFromTaskId:null
8
- - supersedesTaskId:null
9
- - relatedTaskIds:[]
10
- - status:pending
11
- - attempt:1
12
- - 用户原始入口:不落盘原始敏感内容;仅记录入口摘要或 hash
13
- - 初始化版本:
14
- - 目标版本:1.7.1
15
- - 已创建文件:[]
16
- - 未创建内容:[]
17
- - 是否修改业务代码:unknown
18
- - businessCodeChangedEvidence:[]
19
- - upgradeStatus:not-started
20
- - lockStatus:released
21
- - blockedReason:null
22
- - 恢复动作:[]
23
- - createdAt:2026-07-20T00:00:00.000Z
24
- - updatedAt:2026-07-20T00:00:00.000Z
25
-
26
- ## 步骤状态
27
-
28
- | stepId | name | status | reason | nextAction |
29
- |---|---|---|---|---|
30
- | step-template | 初始化任务模板 | pending | null | 等待执行 |
31
-
32
- ## 状态一致性
33
-
34
- - `current-task.md`、`tasks/<taskId>.md`、`init-result.json`、`task-lock.json` 的 `taskId`、`executionId`、`attempt`、状态和时间必须一致。
35
- - 发现非法状态组合或 Markdown / JSON 冲突时,统一进入 `blocked`,不得选择性覆盖。
@@ -1,19 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "executionModel": "shared-project-multi-conversation-runtime",
4
- "leaseId": null,
5
- "projectContextId": null,
6
- "taskId": null,
7
- "ownerConversationId": null,
8
- "targetKeys": [],
9
- "baselineHashes": {},
10
- "status": "released",
11
- "statusEnum": ["requested", "active", "renewing", "released", "expired", "conflict", "blocked", "recovery-required"],
12
- "conflictingLeaseIds": [],
13
- "acquiredAt": null,
14
- "expiresAt": null,
15
- "renewedAt": null,
16
- "releasedAt": null,
17
- "evidence": [],
18
- "audit": []
19
- }
@@ -1,31 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "lockId": "lock-template",
4
- "scope": "xinyun-ai-control",
5
- "taskId": null,
6
- "executionId": null,
7
- "owner": {
8
- "actorType": "main-session",
9
- "actorId": null
10
- },
11
- "status": "released",
12
- "createdAt": "2026-07-20T00:00:00.000Z",
13
- "updatedAt": "2026-07-20T00:00:00.000Z",
14
- "expiresAt": null,
15
- "releasedBy": {
16
- "actorType": "main-session",
17
- "actorId": null
18
- },
19
- "releasedAt": "2026-07-20T00:00:00.000Z",
20
- "releaseReason": "template-initial-state",
21
- "audit": [
22
- {
23
- "auditId": "audit-template",
24
- "action": "released",
25
- "actorType": "main-session",
26
- "actorId": null,
27
- "reason": "template-initial-state",
28
- "at": "2026-07-20T00:00:00.000Z"
29
- }
30
- ]
31
- }
@@ -1,38 +0,0 @@
1
- # 任务节点
2
-
3
- - executionModel:shared-project-multi-conversation-runtime
4
- - taskId:
5
- - parentTaskId:null
6
- - taskType:
7
- - title:
8
- - status:captured
9
- - projectContextId:
10
- - conversationBindingId:
11
- - syncCheckId:
12
- - taskLeaseId:
13
- - requestFingerprint:
14
- - idempotencyKey:
15
- - requiredSkills:[]
16
- - selectedSkills:[]
17
- - skillRunIds:[]
18
- - dependencies:[]
19
- - permissionScope:[]
20
- - confirmationStatus:not-requested
21
- - expectedFiles:[]
22
- - actualFiles:[]
23
- - evidence:[]
24
- - result:null
25
- - nextAction:
26
- - legacyRoleId:null
27
- - createdAt:
28
- - updatedAt:
29
-
30
- ## 需求和范围
31
-
32
- ## 影响范围
33
-
34
- ## Skill 阶段
35
-
36
- ## 验证与结果
37
-
38
- ## 未完成事项
@@ -1,23 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "resultId": "result-template",
4
- "taskId": "task-template",
5
- "executionId": null,
6
- "attempt": 1,
7
- "status": "pending",
8
- "upgradeStatus": "not-started",
9
- "lockStatus": "released",
10
- "businessCodeChanged": {
11
- "value": "unknown",
12
- "evidence": []
13
- },
14
- "steps": [],
15
- "createdFiles": [],
16
- "updatedFiles": [],
17
- "skippedFiles": [],
18
- "failedFiles": [],
19
- "capabilities": [],
20
- "sensitiveScanStatus": "not-checked",
21
- "createdAt": "2026-07-20T00:00:00.000Z",
22
- "updatedAt": "2026-07-20T00:00:00.000Z"
23
- }
@@ -1,51 +0,0 @@
1
- # AI 项目团队
2
-
3
- 本目录用于记录本地 AI 协作团队、职责确认、角色理解、任务责任和文件目录责任。
4
-
5
- ## 初始化边界
6
-
7
- - 团队配置只创建逻辑角色和待绑定成员槽位,不自动创建外部人员账号、外部 AI 会话或无限会话。
8
- - 未绑定真实人员或会话时,`personId`、`sessionId`、`memberId`、`confirmedBy` 使用 `null`,不得虚构姓名或会话 ID。
9
- - `confirmations/<roleId>.md` 和 `understandings/<roleId>.md` 的 `createdAt`、`updatedAt` 必须存在且为 ISO 8601 时间;首次落盘可使用模板初始时间或替换为当前时间,但不得留空。
10
- - `xinyun-ai/team/**` 属于 AI 工作区控制文件,不授权修改业务代码、数据库、API、依赖、构建脚本或执行发布操作。
11
-
12
- ## Codex 角色会话绑定
13
-
14
- - v1.7.3 起,在 Codex 宿主支持创建子会话时,主会话可以为五个默认角色自动创建真实角色子会话,并把真实 `sessionId` 回写到角色任务、`assignments.json`、`task-index.json`、`manifest.json`、`project-index.json` 和 `xinyun-ai/sessions/role-session-bindings.json`。
15
- - 固定角色为 `project-owner`、`project-product`、`chief-engineer`、`programmer`、`test-reviewer`,不得因为初始化或升级创建超过 5 个角色会话。
16
- - `sessionId` 必须来自 Codex 宿主返回值,不得使用任务 ID、随机占位字符串、本地文件名或历史会话记忆冒充。
17
- - 会话绑定最小字段为 `taskId`、`roleId`、`sessionId`、`parentSessionId`、`provider`、`sessionStatus`、`createdAt`、`updatedAt`。
18
- - 会话状态固定为 `pending/creating/created/onboarding/ready/blocked/failed/closed`。
19
- - 创建成功后先进入 `onboarding`,只允许只读理解职责范围和项目资料;职责理解、确认关系和执行门禁满足后才允许 `ready`。
20
- - Codex 宿主不支持创建子会话、权限不足或创建失败时,必须进入本地降级:保留 `sessionId=null`,记录 `sessionStatus=blocked/failed`、失败原因和下一步动作,不得伪造会话。
21
- - v1.12.1 起,canonical 外部会话身份单独记录为 `providerSessionId`;必须有项目/角色/任务身份和真实发送/接收交互证据。普通线程 ID、标题或历史摘要不能直接绑定。
22
-
23
- ## 默认角色
24
-
25
- - `project-owner`:项目负责人,负责需求最终确认、业务验收和发布授权。
26
- - `project-product`:项目产品,负责需求整理、任务拆分和产品验收建议。
27
- - `chief-engineer`:总工 / 技术负责人,负责技术方案、架构风险和技术最终确认。
28
- - `programmer`:程序员,按确认范围执行代码、配置和测试任务。
29
- - `test-reviewer`:测试审查员,独立测试、发布阻断判断和测试结论,不修改代码。
30
-
31
- ## 状态规则
32
-
33
- - 角色生命周期:`unassigned`、`assigned`、`onboarding`、`ready`、`blocked`、`disabled`。
34
- - 职责确认状态:`pending`、`confirmed`、`adjustment-required`。
35
- - 任务分配状态:`pending`、`assigned`、`accepted`、`executing`、`paused`、`blocked`、`completed`、`cancelled`。
36
- - `status=paused` 时必须填写 `pauseReason`,超范围统一使用 `pauseReason=out-of-scope`。
37
- - `status=blocked` 时必须填写 `blockedReason`,确认人不可用为 `approver-unavailable`,成员冲突为 `member-conflict`。
38
- - 执行人不得作为自己的技术最终确认人、业务最终确认人或发布授权人;冲突必须按 `memberId` 判断。
39
-
40
- ## 文件目录责任
41
-
42
- 任务开始前记录预计更新文件目录,任务完成后通过文件清单和 diff 只读核对实际更新文件目录。
43
-
44
- 发现实际修改超出预计目录时,任务必须设置:
45
-
46
- ```md
47
- status=paused
48
- pauseReason=out-of-scope
49
- ```
50
-
51
- 不得使用未定义状态 `paused-out-of-scope`。
@@ -1,49 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "assignments": [],
4
- "statusEnum": ["pending", "assigned", "accepted", "executing", "paused", "blocked", "completed", "cancelled"],
5
- "pauseReasonEnum": ["out-of-scope", "awaiting-confirmation", "execution-failed", "user-requested"],
6
- "blockedReasonEnum": ["approver-unavailable", "member-conflict"],
7
- "memberConflictRule": "memberId must not equal technicalApproverMemberId, businessApproverMemberId, or publishAuthorizerMemberId.",
8
- "recordContract": {
9
- "requiredFields": [
10
- "assignmentId",
11
- "taskId",
12
- "roleId",
13
- "sessionId",
14
- "providerSessionId",
15
- "projectSessionId",
16
- "hostThreadId",
17
- "hostSessionId",
18
- "orchestratorSessionId",
19
- "projectRootHash",
20
- "workspaceScope",
21
- "repositoryScopeHash",
22
- "identityMapping",
23
- "identityEvidence",
24
- "interactionEvidence",
25
- "parentSessionId",
26
- "provider",
27
- "sessionStatus",
28
- "memberId",
29
- "workstream",
30
- "scope",
31
- "understandingRecordId",
32
- "confirmationRecordId",
33
- "reviewerMemberId",
34
- "technicalApproverMemberId",
35
- "businessApproverMemberId",
36
- "publishAuthorizerMemberId",
37
- "status",
38
- "blockedReason",
39
- "pauseReason",
40
- "createdAt",
41
- "updatedAt"
42
- ],
43
- "pausedRule": "status=paused requires pauseReason; other statuses require pauseReason=null.",
44
- "blockedRule": "status=blocked requires blockedReason=approver-unavailable or member-conflict.",
45
- "executionEligibility": "member bound, role ready, sessionStatus=ready, responsibility confirmed, understanding ready, and executor memberId not equal to final approver member IDs.",
46
- "sessionBindingRule": "providerSessionId must be a real host-returned value from the provider canonical API and pass create-or-reuse, send, receive, query-status, recover and close evidence. sessionId and projectSessionId remain null until then; once verified, sessionId equals providerSessionId. hostThreadId and hostSessionId are host mapping evidence, never substitutes for providerSessionId."
47
- },
48
- "updatedAt": ""
49
- }
@@ -1,24 +0,0 @@
1
- # 职责确认记录:chief-engineer
2
-
3
- - schemaVersion:1
4
- - recordId:confirmation-chief-engineer
5
- - roleId:chief-engineer
6
- - memberId:null
7
- - status:pending
8
- - responsibilityScope:技术方案、架构风险、技术最终确认
9
- - readScope:architecture, api, database, git, workstreams, rules
10
- - writeScope:xinyun-ai/global-review/, xinyun-ai/team/understandings/chief-engineer.md
11
- - forbiddenActions:git-push, npm-publish, execute-sql-without-confirmation
12
- - reviewerRoleId:test-reviewer
13
- - technicalApproverRoleId:null
14
- - businessApproverRoleId:project-owner
15
- - publishAuthorizerRoleId:project-owner
16
- - confirmedBy:null
17
- - confirmedAt:null
18
- - createdAt:2026-07-19T00:00:00.000Z
19
- - updatedAt:2026-07-19T00:00:00.000Z
20
-
21
- ## 待确认
22
-
23
- - 总工默认不设置技术确认候选,避免角色默认值自指。
24
- - 总工为执行人时,不得回落为自己确认自己。
@@ -1,24 +0,0 @@
1
- # 职责确认记录:programmer
2
-
3
- - schemaVersion:1
4
- - recordId:confirmation-programmer
5
- - roleId:programmer
6
- - memberId:null
7
- - status:pending
8
- - responsibilityScope:按确认范围执行代码、配置和测试任务
9
- - readScope:assigned-workstream, framework-rules, entry-files, tests
10
- - writeScope:confirmed-task-scope
11
- - forbiddenActions:technical-final-approval, business-final-approval, publish-authorization, git-push, npm-publish
12
- - reviewerRoleId:test-reviewer
13
- - technicalApproverRoleId:chief-engineer
14
- - businessApproverRoleId:project-owner
15
- - publishAuthorizerRoleId:project-owner
16
- - confirmedBy:null
17
- - confirmedAt:null
18
- - createdAt:2026-07-19T00:00:00.000Z
19
- - updatedAt:2026-07-19T00:00:00.000Z
20
-
21
- ## 待确认
22
-
23
- - 程序员不得担任技术最终确认人、业务最终确认人或发布授权人。
24
- - 执行范围必须来自已确认任务单。
@@ -1,24 +0,0 @@
1
- # 职责确认记录:project-owner
2
-
3
- - schemaVersion:1
4
- - recordId:confirmation-project-owner
5
- - roleId:project-owner
6
- - memberId:null
7
- - status:pending
8
- - responsibilityScope:需求最终确认、业务验收、发布授权
9
- - readScope:requirements, delivery, release, business-acceptance
10
- - writeScope:
11
- - forbiddenActions:modify-business-code, execute-sql, git-push, npm-publish
12
- - reviewerRoleId:test-reviewer
13
- - technicalApproverRoleId:chief-engineer
14
- - businessApproverRoleId:null
15
- - publishAuthorizerRoleId:null
16
- - confirmedBy:null
17
- - confirmedAt:null
18
- - createdAt:2026-07-19T00:00:00.000Z
19
- - updatedAt:2026-07-19T00:00:00.000Z
20
-
21
- ## 待确认
22
-
23
- - 需要绑定实际项目负责人或用户确认成员后才能进入 `confirmed`。
24
- - 项目负责人 / 用户保留业务最终确认和发布授权。
@@ -1,24 +0,0 @@
1
- # 职责确认记录:project-product
2
-
3
- - schemaVersion:1
4
- - recordId:confirmation-project-product
5
- - roleId:project-product
6
- - memberId:null
7
- - status:pending
8
- - responsibilityScope:需求整理、任务拆分、产品验收建议
9
- - readScope:requirements, current-task, project-guide, business-notes
10
- - writeScope:xinyun-ai/requirements/, xinyun-ai/current-task.md
11
- - forbiddenActions:technical-final-approval, publish-authorization, git-push, npm-publish
12
- - reviewerRoleId:test-reviewer
13
- - technicalApproverRoleId:chief-engineer
14
- - businessApproverRoleId:project-owner
15
- - publishAuthorizerRoleId:project-owner
16
- - confirmedBy:null
17
- - confirmedAt:null
18
- - createdAt:2026-07-19T00:00:00.000Z
19
- - updatedAt:2026-07-19T00:00:00.000Z
20
-
21
- ## 待确认
22
-
23
- - 项目产品不拥有技术最终确认权或发布授权权。
24
- - 未绑定成员前不能领取需要执行权限的任务。
@@ -1,24 +0,0 @@
1
- # 职责确认记录:test-reviewer
2
-
3
- - schemaVersion:1
4
- - recordId:confirmation-test-reviewer
5
- - roleId:test-reviewer
6
- - memberId:null
7
- - status:pending
8
- - responsibilityScope:独立测试、发布阻断判断、测试结论
9
- - readScope:test-scenarios, acceptance-criteria, permissions, dangerous-actions
10
- - writeScope:xinyun-ai/handoffs/, xinyun-ai/team/understandings/test-reviewer.md
11
- - forbiddenActions:modify-business-code, execute-sql, git-push, npm-publish
12
- - reviewerRoleId:null
13
- - technicalApproverRoleId:chief-engineer
14
- - businessApproverRoleId:project-owner
15
- - publishAuthorizerRoleId:project-owner
16
- - confirmedBy:null
17
- - confirmedAt:null
18
- - createdAt:2026-07-19T00:00:00.000Z
19
- - updatedAt:2026-07-19T00:00:00.000Z
20
-
21
- ## 待确认
22
-
23
- - 测试审查员只测试和输出结论,不直接修改代码。
24
- - 发布阻断结论不等同于发布授权。
@@ -1,32 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "ownerships": [],
4
- "pathTypeEnum": ["file", "directory", "glob"],
5
- "fileCategoryEnum": ["business-code", "control-file", "test", "config", "database", "api", "ui", "documentation", "generated"],
6
- "pathRule": "path must be a forward-slash path relative to repoRoot and must not contain ..",
7
- "recordContract": {
8
- "requiredFields": [
9
- "ownershipId",
10
- "pathType",
11
- "path",
12
- "repoRoot",
13
- "workstream",
14
- "fileCategory",
15
- "ownerRoleId",
16
- "executorRoleId",
17
- "reviewerRoleId",
18
- "technicalApproverRoleId",
19
- "businessApproverRoleId",
20
- "createdAt",
21
- "updatedAt"
22
- ],
23
- "controlFiles": [
24
- "xinyun-ai/team/**",
25
- "xinyun-ai/current-task.md",
26
- "xinyun-ai/index/session-current.md",
27
- "xinyun-ai/handoffs/**"
28
- ],
29
- "outOfScopeRule": "Actual diff outside expected paths requires status=paused and pauseReason=out-of-scope."
30
- },
31
- "updatedAt": ""
32
- }
@@ -1,61 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "members": [
4
- {
5
- "memberId": "member-project-owner",
6
- "displayName": "项目负责人(待绑定)",
7
- "memberType": "logical-slot",
8
- "roleIds": ["project-owner"],
9
- "personId": null,
10
- "sessionId": null,
11
- "status": "unassigned",
12
- "createdAt": "",
13
- "updatedAt": ""
14
- },
15
- {
16
- "memberId": "member-project-product",
17
- "displayName": "项目产品(待绑定)",
18
- "memberType": "logical-slot",
19
- "roleIds": ["project-product"],
20
- "personId": null,
21
- "sessionId": null,
22
- "status": "unassigned",
23
- "createdAt": "",
24
- "updatedAt": ""
25
- },
26
- {
27
- "memberId": "member-chief-engineer",
28
- "displayName": "总工(待绑定)",
29
- "memberType": "logical-slot",
30
- "roleIds": ["chief-engineer"],
31
- "personId": null,
32
- "sessionId": null,
33
- "status": "unassigned",
34
- "createdAt": "",
35
- "updatedAt": ""
36
- },
37
- {
38
- "memberId": "member-programmer",
39
- "displayName": "程序员(待绑定)",
40
- "memberType": "logical-slot",
41
- "roleIds": ["programmer"],
42
- "personId": null,
43
- "sessionId": null,
44
- "status": "unassigned",
45
- "createdAt": "",
46
- "updatedAt": ""
47
- },
48
- {
49
- "memberId": "member-test-reviewer",
50
- "displayName": "测试审查员(待绑定)",
51
- "memberType": "logical-slot",
52
- "roleIds": ["test-reviewer"],
53
- "personId": null,
54
- "sessionId": null,
55
- "status": "unassigned",
56
- "createdAt": "",
57
- "updatedAt": ""
58
- }
59
- ],
60
- "updatedAt": ""
61
- }
@@ -1,81 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "matrix": [
4
- {
5
- "matrixId": "matrix-project-owner",
6
- "roleId": "project-owner",
7
- "responsibilities": ["需求最终确认", "业务验收", "发布授权"],
8
- "readScope": ["requirements", "delivery", "release", "business-acceptance"],
9
- "writeScope": [],
10
- "forbiddenActions": ["modify-business-code", "execute-sql", "git-push", "npm-publish"],
11
- "reviewerRoleId": "test-reviewer",
12
- "technicalApproverRoleId": "chief-engineer",
13
- "businessApproverRoleId": null,
14
- "publishAuthorizerRoleId": null,
15
- "confirmationStatus": "pending",
16
- "confirmedBy": null,
17
- "confirmedAt": null
18
- },
19
- {
20
- "matrixId": "matrix-project-product",
21
- "roleId": "project-product",
22
- "responsibilities": ["需求整理", "任务拆分", "产品验收建议"],
23
- "readScope": ["requirements", "current-task", "project-guide"],
24
- "writeScope": ["xinyun-ai/requirements/", "xinyun-ai/current-task.md"],
25
- "forbiddenActions": ["technical-final-approval", "publish-authorization"],
26
- "reviewerRoleId": "test-reviewer",
27
- "technicalApproverRoleId": "chief-engineer",
28
- "businessApproverRoleId": "project-owner",
29
- "publishAuthorizerRoleId": "project-owner",
30
- "confirmationStatus": "pending",
31
- "confirmedBy": null,
32
- "confirmedAt": null
33
- },
34
- {
35
- "matrixId": "matrix-chief-engineer",
36
- "roleId": "chief-engineer",
37
- "responsibilities": ["技术方案", "架构风险", "技术最终确认"],
38
- "readScope": ["architecture", "api", "database", "git", "workstreams", "rules"],
39
- "writeScope": ["xinyun-ai/global-review/", "xinyun-ai/team/understandings/chief-engineer.md"],
40
- "forbiddenActions": ["git-push", "npm-publish", "execute-sql-without-confirmation"],
41
- "reviewerRoleId": "test-reviewer",
42
- "technicalApproverRoleId": null,
43
- "businessApproverRoleId": "project-owner",
44
- "publishAuthorizerRoleId": "project-owner",
45
- "confirmationStatus": "pending",
46
- "confirmedBy": null,
47
- "confirmedAt": null
48
- },
49
- {
50
- "matrixId": "matrix-programmer",
51
- "roleId": "programmer",
52
- "responsibilities": ["按确认范围执行代码、配置和测试任务"],
53
- "readScope": ["assigned-workstream", "framework-rules", "entry-files", "tests"],
54
- "writeScope": ["confirmed-task-scope"],
55
- "forbiddenActions": ["technical-final-approval", "business-final-approval", "publish-authorization"],
56
- "reviewerRoleId": "test-reviewer",
57
- "technicalApproverRoleId": "chief-engineer",
58
- "businessApproverRoleId": "project-owner",
59
- "publishAuthorizerRoleId": "project-owner",
60
- "confirmationStatus": "pending",
61
- "confirmedBy": null,
62
- "confirmedAt": null
63
- },
64
- {
65
- "matrixId": "matrix-test-reviewer",
66
- "roleId": "test-reviewer",
67
- "responsibilities": ["独立测试", "发布阻断判断", "测试结论"],
68
- "readScope": ["test-scenarios", "acceptance-criteria", "permissions", "dangerous-actions"],
69
- "writeScope": ["xinyun-ai/handoffs/", "xinyun-ai/team/understandings/test-reviewer.md"],
70
- "forbiddenActions": ["modify-business-code", "execute-sql", "git-push", "npm-publish"],
71
- "reviewerRoleId": null,
72
- "technicalApproverRoleId": "chief-engineer",
73
- "businessApproverRoleId": "project-owner",
74
- "publishAuthorizerRoleId": "project-owner",
75
- "confirmationStatus": "pending",
76
- "confirmedBy": null,
77
- "confirmedAt": null
78
- }
79
- ],
80
- "updatedAt": ""
81
- }
@@ -1,71 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "roles": [
4
- {
5
- "roleId": "project-owner",
6
- "name": "项目负责人",
7
- "roleType": "logical-role",
8
- "lifecycleStatus": "unassigned",
9
- "readScope": ["requirements", "delivery", "release", "business-acceptance"],
10
- "writeScope": ["xinyun-ai/team/confirmations/project-owner.md"],
11
- "forbiddenActions": ["modify-business-code", "execute-sql", "git-push", "npm-publish"],
12
- "defaultReviewerRoleId": "test-reviewer",
13
- "defaultTechnicalApproverRoleId": "chief-engineer",
14
- "defaultBusinessApproverRoleId": null,
15
- "defaultPublishAuthorizerRoleId": null
16
- },
17
- {
18
- "roleId": "project-product",
19
- "name": "项目产品",
20
- "roleType": "logical-role",
21
- "lifecycleStatus": "unassigned",
22
- "readScope": ["requirements", "current-task", "project-guide", "business-notes"],
23
- "writeScope": ["xinyun-ai/requirements/", "xinyun-ai/current-task.md", "xinyun-ai/team/understandings/project-product.md"],
24
- "forbiddenActions": ["technical-final-approval", "publish-authorization", "git-push", "npm-publish"],
25
- "defaultReviewerRoleId": "test-reviewer",
26
- "defaultTechnicalApproverRoleId": "chief-engineer",
27
- "defaultBusinessApproverRoleId": "project-owner",
28
- "defaultPublishAuthorizerRoleId": "project-owner"
29
- },
30
- {
31
- "roleId": "chief-engineer",
32
- "name": "总工",
33
- "roleType": "logical-role",
34
- "lifecycleStatus": "unassigned",
35
- "readScope": ["architecture", "api", "database", "git", "workstreams", "rules"],
36
- "writeScope": ["xinyun-ai/team/understandings/chief-engineer.md", "xinyun-ai/global-review/"],
37
- "forbiddenActions": ["git-push", "npm-publish", "execute-sql-without-confirmation"],
38
- "defaultReviewerRoleId": "test-reviewer",
39
- "defaultTechnicalApproverRoleId": null,
40
- "defaultBusinessApproverRoleId": "project-owner",
41
- "defaultPublishAuthorizerRoleId": "project-owner"
42
- },
43
- {
44
- "roleId": "programmer",
45
- "name": "程序员",
46
- "roleType": "logical-role",
47
- "lifecycleStatus": "unassigned",
48
- "readScope": ["assigned-workstream", "framework-rules", "entry-files", "tests"],
49
- "writeScope": ["confirmed-task-scope"],
50
- "forbiddenActions": ["technical-final-approval", "business-final-approval", "publish-authorization", "git-push", "npm-publish"],
51
- "defaultReviewerRoleId": "test-reviewer",
52
- "defaultTechnicalApproverRoleId": "chief-engineer",
53
- "defaultBusinessApproverRoleId": "project-owner",
54
- "defaultPublishAuthorizerRoleId": "project-owner"
55
- },
56
- {
57
- "roleId": "test-reviewer",
58
- "name": "测试审查员",
59
- "roleType": "logical-role",
60
- "lifecycleStatus": "unassigned",
61
- "readScope": ["test-scenarios", "acceptance-criteria", "permissions", "dangerous-actions"],
62
- "writeScope": ["xinyun-ai/team/understandings/test-reviewer.md", "xinyun-ai/handoffs/"],
63
- "forbiddenActions": ["modify-business-code", "execute-sql", "git-push", "npm-publish"],
64
- "defaultReviewerRoleId": null,
65
- "defaultTechnicalApproverRoleId": "chief-engineer",
66
- "defaultBusinessApproverRoleId": "project-owner",
67
- "defaultPublishAuthorizerRoleId": "project-owner"
68
- }
69
- ],
70
- "updatedAt": ""
71
- }