@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.
- package/README.md +29 -39
- package/bin/xinyun-ai-init.js +121 -175
- package/init/xinyun-ai-init/README.md +26 -144
- package/init/xinyun-ai-init/rules/v3-skill-runtime.md +45 -0
- package/init/xinyun-ai-init/runtime/migrate-v3.js +115 -0
- package/init/xinyun-ai-init/runtime/route-skill.js +69 -0
- package/init/xinyun-ai-init/runtime-manifest.json +26 -0
- package/init/xinyun-ai-init/skills/registry.json +112 -0
- package/init/xinyun-ai-init/templates/AGENTS.template.md +4 -27
- package/init/xinyun-ai-init/templates/README.template.md +3 -31
- package/init/xinyun-ai-init/templates/control-plane-index.template.json +5 -24
- package/init/xinyun-ai-init/templates/core-rules.template.md +9 -57
- package/init/xinyun-ai-init/templates/current-task.template.md +3 -19
- package/init/xinyun-ai-init/templates/manifest.template.json +13 -67
- package/init/xinyun-ai-init/templates/project-context.template.json +3 -11
- package/init/xinyun-ai-init/templates/project-index.template.json +5 -51
- package/init/xinyun-ai-init/templates/skill-run-record.template.json +4 -16
- package/init/xinyun-ai-init/templates/skill-runtime-route.template.json +3 -24
- package/init/xinyun-ai-init/templates/skills-assignments.template.json +3 -21
- package/init/xinyun-ai-init/templates/skills-registry.template.json +5 -29
- package/init/xinyun-ai-init/templates/task-graph.template.json +3 -5
- package/init/xinyun-ai-init/templates/task-index.template.json +3 -31
- package/init/xinyun-ai-init/version.json +8 -8
- package/package.json +8 -14
- package/scripts/run-v3-runtime-probe.js +8 -0
- package/scripts/verify-legacy-cleanup.js +24 -0
- package/scripts/verify-release-gate.js +10 -23
- package/scripts/verify-rules-tarball-security.js +1 -1
- package/scripts/verify-skill-runtime.js +33 -0
- package/scripts/verify-tarball.js +42 -0
- package/scripts/verify-v3-package.js +70 -0
- package/test-scenarios/v3.0.0-behavior-evidence.json +25 -0
- package/test-scenarios/v3.0.0-scenarios.md +41 -0
- package/init/xinyun-ai-init/prompt.md +0 -1
- package/init/xinyun-ai-init/rules/coordination.md +0 -43
- package/init/xinyun-ai-init/rules/directory-self-completion.md +0 -100
- package/init/xinyun-ai-init/rules/frameworks/README.md +0 -56
- package/init/xinyun-ai-init/rules/frameworks/backend/php/thinkphp.md +0 -42
- package/init/xinyun-ai-init/rules/frameworks/frontend/uni-app.md +0 -36
- package/init/xinyun-ai-init/rules/frameworks/frontend/wechat-miniprogram.md +0 -36
- package/init/xinyun-ai-init/rules/frontend-audit.md +0 -9
- package/init/xinyun-ai-init/rules/init-rules.md +0 -145
- package/init/xinyun-ai-init/rules/self-learning-rules.md +0 -16
- package/init/xinyun-ai-init/rules/session-workbench.md +0 -333
- package/init/xinyun-ai-init/rules/skills.md +0 -23
- package/init/xinyun-ai-init/rules/temporary-sessions.md +0 -13
- package/init/xinyun-ai-init/rules/upgrade-rules.md +0 -161
- package/init/xinyun-ai-init/rules/v1.10.2-contract.md +0 -30
- package/init/xinyun-ai-init/rules/v1.11.0-acceleration.md +0 -27
- package/init/xinyun-ai-init/rules/v1.12.0-recovery.md +0 -34
- package/init/xinyun-ai-init/rules/v1.12.1-provider-session-binding.md +0 -25
- package/init/xinyun-ai-init/rules/v1.13.0-host-adapter.md +0 -43
- package/init/xinyun-ai-init/rules/v1.14.0-agent-core.md +0 -35
- package/init/xinyun-ai-init/rules/v1.15.0-session-binding.md +0 -44
- package/init/xinyun-ai-init/rules/v1.16.0-capability-efficiency.md +0 -23
- package/init/xinyun-ai-init/rules/v2.0.0-shared-project-conversations.md +0 -68
- package/init/xinyun-ai-init/rules/v2.0.0-single-session-skills.md +0 -89
- package/init/xinyun-ai-init/scripts/README.md +0 -16
- package/init/xinyun-ai-init/templates/agent-capabilities.template.json +0 -27
- package/init/xinyun-ai-init/templates/agent-profile.template.json +0 -21
- package/init/xinyun-ai-init/templates/archive-transaction.template.json +0 -15
- package/init/xinyun-ai-init/templates/bootstrap-snapshot.template.json +0 -22
- package/init/xinyun-ai-init/templates/capabilities.template.json +0 -19
- package/init/xinyun-ai-init/templates/codegraph-incremental-record.template.json +0 -21
- package/init/xinyun-ai-init/templates/conversation-binding.template.json +0 -26
- package/init/xinyun-ai-init/templates/conversation-event.template.json +0 -24
- package/init/xinyun-ai-init/templates/conversation-registry.template.json +0 -15
- package/init/xinyun-ai-init/templates/conversation-stream-head.template.json +0 -14
- package/init/xinyun-ai-init/templates/conversation-sync-cursor.template.json +0 -13
- package/init/xinyun-ai-init/templates/coordination-change-ledger.template.json +0 -15
- package/init/xinyun-ai-init/templates/coordination-conflict-record.template.json +0 -18
- package/init/xinyun-ai-init/templates/coordination-contract-snapshot.template.json +0 -9
- package/init/xinyun-ai-init/templates/coordination-project-facts.template.json +0 -20
- package/init/xinyun-ai-init/templates/coordination-transaction.template.json +0 -16
- package/init/xinyun-ai-init/templates/database-authorization.template.json +0 -53
- package/init/xinyun-ai-init/templates/final-delivery.template.json +0 -22
- package/init/xinyun-ai-init/templates/fixed-materialization.template.json +0 -12
- package/init/xinyun-ai-init/templates/framework-profile.template.json +0 -48
- package/init/xinyun-ai-init/templates/framework-profile.template.md +0 -39
- package/init/xinyun-ai-init/templates/frontend-audit.template.json +0 -27
- package/init/xinyun-ai-init/templates/handoff.template.json +0 -27
- package/init/xinyun-ai-init/templates/host-capabilities.template.json +0 -37
- package/init/xinyun-ai-init/templates/host-preflight.template.json +0 -33
- package/init/xinyun-ai-init/templates/html-migration-asset-map.template.md +0 -6
- package/init/xinyun-ai-init/templates/html-migration-compatibility-matrix.template.md +0 -6
- package/init/xinyun-ai-init/templates/html-migration-open-issues.template.md +0 -12
- package/init/xinyun-ai-init/templates/html-migration-pilot-plan.template.md +0 -21
- package/init/xinyun-ai-init/templates/html-migration-record.template.json +0 -36
- package/init/xinyun-ai-init/templates/html-migration-route-map.template.md +0 -6
- package/init/xinyun-ai-init/templates/html-migration-scope.template.md +0 -28
- package/init/xinyun-ai-init/templates/init-result.template.json +0 -25
- package/init/xinyun-ai-init/templates/initialization-cache.template.json +0 -13
- package/init/xinyun-ai-init/templates/initialization-change-report.template.json +0 -14
- package/init/xinyun-ai-init/templates/initialization-recovery.template.json +0 -24
- package/init/xinyun-ai-init/templates/initialization-stages.template.json +0 -18
- package/init/xinyun-ai-init/templates/initialization-timing.template.json +0 -16
- package/init/xinyun-ai-init/templates/local-query-index.template.json +0 -15
- package/init/xinyun-ai-init/templates/managed-baseline.template.json +0 -17
- package/init/xinyun-ai-init/templates/manual-session-binding.template.json +0 -45
- package/init/xinyun-ai-init/templates/manual-session-recovery.template.json +0 -53
- package/init/xinyun-ai-init/templates/multi-conversation-migration.template.json +0 -24
- package/init/xinyun-ai-init/templates/onboarding-report.template.json +0 -30
- package/init/xinyun-ai-init/templates/orchestrator.template.json +0 -28
- package/init/xinyun-ai-init/templates/parallelism.template.json +0 -13
- package/init/xinyun-ai-init/templates/performance-metrics.template.json +0 -17
- package/init/xinyun-ai-init/templates/preflight-report.template.json +0 -25
- package/init/xinyun-ai-init/templates/project-check.template.md +0 -56
- package/init/xinyun-ai-init/templates/project-guide.template.md +0 -57
- package/init/xinyun-ai-init/templates/project-identity.template.json +0 -23
- package/init/xinyun-ai-init/templates/project-status.template.json +0 -28
- package/init/xinyun-ai-init/templates/provider-adapter.template.json +0 -25
- package/init/xinyun-ai-init/templates/provider-session-binding.template.json +0 -77
- package/init/xinyun-ai-init/templates/re-takeover-record.template.json +0 -37
- package/init/xinyun-ai-init/templates/requirement-packet.template.json +0 -23
- package/init/xinyun-ai-init/templates/role-execution.template.md +0 -72
- package/init/xinyun-ai-init/templates/role-session-binding.template.json +0 -105
- package/init/xinyun-ai-init/templates/role-subtask.template.md +0 -36
- package/init/xinyun-ai-init/templates/session-binding.template.json +0 -38
- package/init/xinyun-ai-init/templates/session-candidates.template.json +0 -19
- package/init/xinyun-ai-init/templates/shared-project-snapshot.template.json +0 -24
- package/init/xinyun-ai-init/templates/single-session-migration.template.json +0 -31
- package/init/xinyun-ai-init/templates/sync-check.template.json +0 -23
- package/init/xinyun-ai-init/templates/takeover-baseline.template.json +0 -17
- package/init/xinyun-ai-init/templates/takeover-gate.template.json +0 -22
- package/init/xinyun-ai-init/templates/task-history.template.md +0 -35
- package/init/xinyun-ai-init/templates/task-lease.template.json +0 -19
- package/init/xinyun-ai-init/templates/task-lock.template.json +0 -31
- package/init/xinyun-ai-init/templates/task-main.template.md +0 -38
- package/init/xinyun-ai-init/templates/task-result.template.json +0 -23
- package/init/xinyun-ai-init/templates/team/README.md +0 -51
- package/init/xinyun-ai-init/templates/team/assignments.json +0 -49
- package/init/xinyun-ai-init/templates/team/confirmations/chief-engineer.md +0 -24
- package/init/xinyun-ai-init/templates/team/confirmations/programmer.md +0 -24
- package/init/xinyun-ai-init/templates/team/confirmations/project-owner.md +0 -24
- package/init/xinyun-ai-init/templates/team/confirmations/project-product.md +0 -24
- package/init/xinyun-ai-init/templates/team/confirmations/test-reviewer.md +0 -24
- package/init/xinyun-ai-init/templates/team/file-ownership.json +0 -32
- package/init/xinyun-ai-init/templates/team/members.json +0 -61
- package/init/xinyun-ai-init/templates/team/responsibility-matrix.json +0 -81
- package/init/xinyun-ai-init/templates/team/roles.json +0 -71
- package/init/xinyun-ai-init/templates/team/understandings/chief-engineer.md +0 -23
- package/init/xinyun-ai-init/templates/team/understandings/programmer.md +0 -23
- package/init/xinyun-ai-init/templates/team/understandings/project-owner.md +0 -23
- package/init/xinyun-ai-init/templates/team/understandings/project-product.md +0 -23
- package/init/xinyun-ai-init/templates/team/understandings/test-reviewer.md +0 -23
- package/init/xinyun-ai-init/templates/technical-impact-packet.template.json +0 -31
- package/init/xinyun-ai-init/templates/technical-landscape.template.json +0 -41
- package/init/xinyun-ai-init/templates/temporary-session.template.json +0 -32
- package/init/xinyun-ai-init/templates/workstreams-readme.template.md +0 -36
- package/scripts/collect-v1.10-evidence.js +0 -159
- package/scripts/collect-v1.14-local-evidence.js +0 -66
- package/scripts/collect-v1.15-real-evidence.js +0 -114
- package/scripts/collect-v1.16-evidence.js +0 -48
- package/scripts/collect-v2-evidence.js +0 -35
- package/scripts/run-v1.16-runtime-probe.js +0 -91
- package/scripts/run-v2-runtime-probe.js +0 -110
- package/scripts/verify-init-package.js +0 -2297
- package/scripts/verify-multi-conversation-contract.js +0 -61
- package/scripts/verify-re-takeover-contract.js +0 -54
- package/scripts/verify-rules-package.js +0 -1287
- package/scripts/verify-v2-package.js +0 -210
- package/scripts/verify-v2-tarball.js +0 -73
- package/test-scenarios/README.md +0 -130
- package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/README.md +0 -23
- package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/after/project-status.json +0 -7
- package/test-scenarios/fixtures/v1.10.0-takeover-gate-fixture/before/project-status.json +0 -7
- package/test-scenarios/fixtures/v1.9.0-behavior-fixture/README.md +0 -9
- package/test-scenarios/multi-conversation-evidence.json +0 -26
- package/test-scenarios/multi-conversation-scenarios.md +0 -16
- package/test-scenarios/re-takeover-evidence.json +0 -20
- package/test-scenarios/re-takeover-scenarios.md +0 -33
- package/test-scenarios/review-template.md +0 -165
- package/test-scenarios/scenarios.md +0 -1273
- package/test-scenarios/v1.10.0-behavior-evidence.json +0 -31
- package/test-scenarios/v1.10.0-scenarios.md +0 -96
- package/test-scenarios/v1.10.2-scenarios.md +0 -38
- package/test-scenarios/v1.11.0-scenarios.md +0 -30
- package/test-scenarios/v1.12.0-behavior-evidence.json +0 -29
- package/test-scenarios/v1.12.0-scenarios.md +0 -51
- package/test-scenarios/v1.12.1-behavior-evidence.json +0 -27
- package/test-scenarios/v1.12.1-scenarios.md +0 -42
- package/test-scenarios/v1.13.0-behavior-evidence.json +0 -650
- package/test-scenarios/v1.13.0-scenarios.md +0 -94
- package/test-scenarios/v1.14.0-behavior-evidence.json +0 -780
- package/test-scenarios/v1.14.0-scenarios.md +0 -63
- package/test-scenarios/v1.15.0-behavior-evidence.json +0 -476
- package/test-scenarios/v1.15.0-scenarios.md +0 -57
- package/test-scenarios/v1.16.0-behavior-evidence.json +0 -46
- package/test-scenarios/v1.16.0-real-host-probe.json +0 -132
- package/test-scenarios/v1.16.0-scenarios.md +0 -19
- package/test-scenarios/v1.7.0-scenarios.md +0 -91
- package/test-scenarios/v1.7.1-scenarios.md +0 -130
- package/test-scenarios/v1.7.2-scenarios.md +0 -51
- package/test-scenarios/v1.7.3-scenarios.md +0 -79
- package/test-scenarios/v1.8.0-scenarios.md +0 -39
- package/test-scenarios/v1.9.0-behavior-evidence.json +0 -269
- package/test-scenarios/v1.9.0-scenarios.md +0 -55
- package/test-scenarios/v2.0.0-behavior-evidence.json +0 -40
- package/test-scenarios/v2.0.0-scenarios.md +0 -21
|
@@ -1,27 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
4
|
-
"projectIdentity": "xinyun-ai/project-identity.json",
|
|
5
|
-
"projectContext": "xinyun-ai/project-context.json",
|
|
6
|
-
"manifest": "xinyun-ai/manifest.json",
|
|
7
|
-
"projectIndex": "xinyun-ai/index/project-index.json",
|
|
8
|
-
"bootstrapSnapshot": "xinyun-ai/index/bootstrap-snapshot.json",
|
|
9
|
-
"reTakeoverRecord": "xinyun-ai/index/re-takeover-record.json",
|
|
10
|
-
"currentTask": "xinyun-ai/current-task.md",
|
|
11
|
-
"taskIndex": "xinyun-ai/tasks/task-index.json",
|
|
12
|
-
"taskGraph": "xinyun-ai/tasks/task-graph.json",
|
|
13
|
-
"conversationRegistry": "xinyun-ai/conversations/registry.json",
|
|
14
|
-
"conversationBindings": "xinyun-ai/conversations/bindings/",
|
|
15
|
-
"conversationStreams": "xinyun-ai/coordination/streams/",
|
|
16
|
-
"conversationCursors": "xinyun-ai/coordination/cursors/",
|
|
17
|
-
"syncChecks": "xinyun-ai/coordination/sync-checks/",
|
|
18
|
-
"taskLeases": "xinyun-ai/coordination/leases/",
|
|
19
|
-
"skillRegistry": "xinyun-ai/skills/registry.json",
|
|
20
|
-
"skillAssignments": "xinyun-ai/skills/assignments.json",
|
|
21
|
-
"changeLedger": "xinyun-ai/coordination/change-ledger.json",
|
|
22
|
-
"legacyInventory": "xinyun-ai/migrations/shared-project-conversations/legacy-inventory.json",
|
|
23
|
-
"entries": [],
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
24
4
|
"authoritativeBootstrapOrder": [
|
|
5
|
+
"AGENTS.md",
|
|
25
6
|
"xinyun-ai/README.md",
|
|
26
7
|
"xinyun-ai/manifest.json",
|
|
27
8
|
"xinyun-ai/project-context.json",
|
|
@@ -29,9 +10,9 @@
|
|
|
29
10
|
"xinyun-ai/rules/core-rules.md",
|
|
30
11
|
"xinyun-ai/index/project-index.json",
|
|
31
12
|
"xinyun-ai/index/bootstrap-snapshot.json",
|
|
32
|
-
"xinyun-ai/index/re-takeover-record.json",
|
|
33
13
|
"xinyun-ai/conversations/registry.json"
|
|
34
14
|
],
|
|
35
|
-
"
|
|
15
|
+
"skillRuntime": "xinyun-ai-init/runtime/route-skill.js",
|
|
16
|
+
"legacyRuntime": "removed",
|
|
36
17
|
"updatedAt": null
|
|
37
18
|
}
|
|
@@ -1,59 +1,11 @@
|
|
|
1
1
|
# xinyun-ai 核心规则
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- 新对话默认执行“重新接管同一个项目”,不依赖历史聊天上下文。
|
|
13
|
-
- 先确认项目根目录,再按 `control-plane-index.json` 的 `authoritativeBootstrapOrder` 读取控制面文件。
|
|
14
|
-
- 读取 `bootstrap-snapshot.json` 和 `re-takeover-record.json`,按源文件哈希决定全量理解或增量理解。
|
|
15
|
-
- 接管报告必须区分 `contextStatus` 和 `executionEligible`;前者通过不代表后者通过。
|
|
16
|
-
- 快照、项目身份、任务索引或任务图冲突时,先记录冲突并进入 `partial` 或 `blocked`,不得继续修改业务文件。
|
|
17
|
-
- 新对话可以只读恢复项目上下文,并注册或复用自己的对话绑定。
|
|
18
|
-
- 每次收到用户消息、计划前、写入前、验证前和交付前都比较各对话流 head 与本对话游标。
|
|
19
|
-
- 没有新增事件时静默继续;发现新增事件时只读取增量事件及受影响任务、事实和文件。
|
|
20
|
-
|
|
21
|
-
## 多对话共享与并发
|
|
22
|
-
|
|
23
|
-
- 每个对话只能写自己的 `coordination/streams/<conversationBindingId>/`,事件不可变,流 head 原子替换。
|
|
24
|
-
- 有长期价值的任务、事实、决策、改动、Skill、验证、授权、冲突和交接结果自动写回;临时推理和闲聊不共享。
|
|
25
|
-
- 写入前必须取得任务租约并核对目标基线哈希;重叠租约或基线变化进入冲突状态,不自动覆盖。
|
|
26
|
-
- 最终交付前必须再次同步,确认没有未消费的相关事件或活动冲突。
|
|
27
|
-
|
|
28
|
-
## 任务和写回
|
|
29
|
-
|
|
30
|
-
- 普通咨询可以不创建任务;需要持续跟踪、修改、确认或恢复的工作必须先登记正式任务。
|
|
31
|
-
- 任务文件、任务索引、任务图和 `current-task.md` 必须事务化原子更新。
|
|
32
|
-
- 所有动态事实写入当前项目自己的 `xinyun-ai/`,不得写入 `xinyun-ai-init/`。
|
|
33
|
-
- 任务开始前读取项目身份、任务图、共享事实、变更台账和近期交接;结束后写回实际改动、影响、证据、测试和下一动作。
|
|
34
|
-
|
|
35
|
-
## Skill
|
|
36
|
-
|
|
37
|
-
- Skill 按任务类型、技术栈、端、语言、运行时、平台、框架、风险、依赖和权限选择。
|
|
38
|
-
- Skill 路由不使用固定角色身份。
|
|
39
|
-
- 缺少 Skill、依赖、权限或可信来源时降级、阻断或请求用户处理;不自动安装,不伪造执行。
|
|
40
|
-
- 同一对话的测试结果只能标记为 `self-check`;另一个未参与改动的对话只有取得独立证据后才能标记为 `external-review`。
|
|
41
|
-
|
|
42
|
-
## 确认和授权
|
|
43
|
-
|
|
44
|
-
- 修改代码、配置、数据库、依赖、构建脚本、测试逻辑、API、UI 或业务流程前,先输出计划并等待用户明确确认。
|
|
45
|
-
- 数据库连接、SQL、Git 写入和 npm 发布使用独立授权。
|
|
46
|
-
- 创建任务或选择 Skill 不构成修改授权。
|
|
47
|
-
- 用户必须单独授权 npm 发布。
|
|
48
|
-
|
|
49
|
-
## 对话身份
|
|
50
|
-
|
|
51
|
-
- `projectContextId` 是项目共享上下文标识,`conversationBindingId` 是对话绑定标识,`sessionRefType/sessionRef` 是宿主引用。
|
|
52
|
-
- 普通线程 ID 不能当作 `providerSessionId`。
|
|
53
|
-
- ready 前必须验证对话绑定、跨对话增量同步、create/reuse、send、receive、query-status、recover、close 和控制文件读写,以及项目归属和范围一致性。
|
|
54
|
-
|
|
55
|
-
## 迁移
|
|
56
|
-
|
|
57
|
-
- 旧角色任务转换为普通任务,原角色只保存为 `legacyRoleId`。
|
|
58
|
-
- 旧 `team/`、角色任务和角色会话材料只读保留,不自动删除。
|
|
59
|
-
- 迁移必须有事务、前后 hash、幂等和中断恢复。
|
|
3
|
+
- 使用 `bundled-skill-runtime`,不创建固定角色、team 或角色会话。
|
|
4
|
+
- 正式任务先登记,再调用 Skill。
|
|
5
|
+
- 路由输入只能是任务事实、技术栈、框架、风险、依赖和权限。
|
|
6
|
+
- 修改前必须先出计划并等待确认。
|
|
7
|
+
- 每次交互、计划、写入、验证和交付前执行增量同步。
|
|
8
|
+
- 写入前取得任务租约并校验基线哈希。
|
|
9
|
+
- Skill 运行记录输入、输出、工具、证据和未验证范围。
|
|
10
|
+
- 不得记录 token、密码、私钥、连接串或未经脱敏的项目内容。
|
|
11
|
+
- npm 发布固定使用 `npm run publish:token`,且需要单独授权。
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
# 当前任务
|
|
2
2
|
|
|
3
|
-
- executionModel:
|
|
3
|
+
- executionModel:bundled-skill-runtime
|
|
4
4
|
- taskId:null
|
|
5
|
-
- parentTaskId:null
|
|
6
|
-
- taskType:null
|
|
7
|
-
- title:暂无待执行任务
|
|
8
5
|
- status:idle
|
|
9
|
-
- projectContextId:null
|
|
10
|
-
- conversationBindingId:null
|
|
11
|
-
- syncCheckId:null
|
|
12
|
-
- taskLeaseId:null
|
|
13
6
|
- requiredSkills:[]
|
|
14
7
|
- selectedSkills:[]
|
|
15
|
-
-
|
|
16
|
-
- dependencies:[]
|
|
17
|
-
- permissionScope:[]
|
|
18
|
-
- confirmationStatus:not-requested
|
|
19
|
-
- expectedFiles:[]
|
|
20
|
-
- actualFiles:[]
|
|
8
|
+
- confirmationStatus:not-required
|
|
21
9
|
- evidence:[]
|
|
22
|
-
-
|
|
23
|
-
- nextAction:等待用户需求
|
|
24
|
-
- updatedAt:null
|
|
25
|
-
|
|
26
|
-
任务文件、`task-index.json`、`task-graph.json` 和本文件必须在同一事务中保持一致。不一致时状态改为 `blocked`,不得执行 Skill 或修改业务文件。
|
|
10
|
+
- nextAction:按用户需求登记任务或直接回答咨询
|
|
@@ -1,94 +1,40 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"xinyunAiVersion": "
|
|
4
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"xinyunAiVersion": "3.0.0",
|
|
4
|
+
"executionModel": "bundled-skill-runtime",
|
|
5
5
|
"projectName": null,
|
|
6
|
-
"
|
|
7
|
-
"currentTaskPath": "xinyun-ai/current-task.md",
|
|
6
|
+
"projectContextPath": "xinyun-ai/project-context.json",
|
|
8
7
|
"rulesEntry": "xinyun-ai/rules/core-rules.md",
|
|
9
8
|
"projectIndexPath": "xinyun-ai/index/project-index.json",
|
|
10
9
|
"controlPlaneIndexPath": "xinyun-ai/index/control-plane-index.json",
|
|
11
|
-
"
|
|
12
|
-
"reTakeover": {
|
|
13
|
-
"recordPath": "xinyun-ai/index/re-takeover-record.json",
|
|
14
|
-
"snapshotPath": "xinyun-ai/index/bootstrap-snapshot.json",
|
|
15
|
-
"mode": "read-project-then-validate-execution",
|
|
16
|
-
"contextStatusEnum": ["unknown", "assessing", "context-ready", "partial", "stale", "blocked"],
|
|
17
|
-
"understandingStatusEnum": ["unknown", "quick", "expanded", "verified", "stale"],
|
|
18
|
-
"incrementalBySourceHash": true,
|
|
19
|
-
"executionRequiresConversationBindingEvidence": true,
|
|
20
|
-
"threadIdPolicy": "host-thread-candidate-only"
|
|
21
|
-
},
|
|
22
|
-
"tasking": {
|
|
23
|
-
"tasksDirectory": "xinyun-ai/tasks/",
|
|
24
|
-
"taskIndex": "xinyun-ai/tasks/task-index.json",
|
|
25
|
-
"taskGraph": "xinyun-ai/tasks/task-graph.json",
|
|
26
|
-
"transactionsDirectory": "xinyun-ai/tasks/.transactions/",
|
|
27
|
-
"idempotencyDirectory": "xinyun-ai/tasks/.idempotency/",
|
|
28
|
-
"currentTask": "xinyun-ai/current-task.md",
|
|
29
|
-
"atomicWriteRequired": true,
|
|
30
|
-
"consistencyFailureStatus": "blocked"
|
|
31
|
-
},
|
|
32
|
-
"conversations": {
|
|
33
|
-
"projectContext": "xinyun-ai/project-context.json",
|
|
34
|
-
"registry": "xinyun-ai/conversations/registry.json",
|
|
35
|
-
"bindingsDirectory": "xinyun-ai/conversations/bindings/",
|
|
36
|
-
"activeConversationLimit": null,
|
|
37
|
-
"bindingTemplate": "xinyun-ai-init/templates/conversation-binding.template.json",
|
|
38
|
-
"requiredEvidenceCategories": [
|
|
39
|
-
"create-or-reuse",
|
|
40
|
-
"send",
|
|
41
|
-
"receive",
|
|
42
|
-
"query-status",
|
|
43
|
-
"recover",
|
|
44
|
-
"close",
|
|
45
|
-
"control-file-read-write"
|
|
46
|
-
],
|
|
47
|
-
"legacyProviderSessionPolicy": "compatibility-only",
|
|
48
|
-
"threadIdPolicy": "host-thread-reference-only"
|
|
49
|
-
},
|
|
10
|
+
"currentTaskPath": "xinyun-ai/current-task.md",
|
|
50
11
|
"skills": {
|
|
51
12
|
"registry": "xinyun-ai/skills/registry.json",
|
|
52
13
|
"assignments": "xinyun-ai/skills/assignments.json",
|
|
53
14
|
"routesDirectory": "xinyun-ai/skills/routes/",
|
|
54
15
|
"usageRecordsDirectory": "xinyun-ai/skills/usage-records/",
|
|
55
|
-
"
|
|
56
|
-
"runTemplate": "xinyun-ai-init/templates/skill-run-record.template.json",
|
|
16
|
+
"runtime": "xinyun-ai-init/runtime/route-skill.js",
|
|
57
17
|
"routeByTaskFacts": true,
|
|
58
|
-
"fixedRoleRouting": false
|
|
18
|
+
"fixedRoleRouting": false,
|
|
19
|
+
"bundled": true
|
|
59
20
|
},
|
|
60
21
|
"coordination": {
|
|
61
|
-
"projectFacts": "xinyun-ai/coordination/project-facts.json",
|
|
62
|
-
"changeLedger": "xinyun-ai/coordination/change-ledger.json",
|
|
63
|
-
"conflictsDirectory": "xinyun-ai/coordination/conflict-records/",
|
|
64
|
-
"handoffsDirectory": "xinyun-ai/handoffs/",
|
|
65
22
|
"streamsDirectory": "xinyun-ai/coordination/streams/",
|
|
66
23
|
"cursorsDirectory": "xinyun-ai/coordination/cursors/",
|
|
67
24
|
"syncChecksDirectory": "xinyun-ai/coordination/sync-checks/",
|
|
68
25
|
"leasesDirectory": "xinyun-ai/coordination/leases/",
|
|
69
|
-
"
|
|
70
|
-
"silentWhenNoChanges": true,
|
|
71
|
-
"eventWriteMode": "per-conversation-single-writer"
|
|
26
|
+
"silentWhenNoChanges": true
|
|
72
27
|
},
|
|
73
28
|
"migration": {
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"deleteLegacyMaterials": false
|
|
29
|
+
"runtime": "xinyun-ai-init/runtime/migrate-v3.js",
|
|
30
|
+
"legacyMode": "removed",
|
|
31
|
+
"deleteLegacyMaterials": true,
|
|
32
|
+
"knownLegacyDirectories": ["xinyun-ai/team/", "xinyun-ai/tasks/role-execution/", "xinyun-ai/sessions/roles/", "xinyun-ai/sessions/provider-session-bindings.json"]
|
|
79
33
|
},
|
|
80
34
|
"authorization": {
|
|
81
35
|
"changePlanConfirmationRequired": true,
|
|
82
|
-
"databaseAuthorizationSeparate": true,
|
|
83
|
-
"gitWriteAuthorizationSeparate": true,
|
|
84
36
|
"npmPublishAuthorizationSeparate": true
|
|
85
37
|
},
|
|
86
|
-
"codeGraph": {
|
|
87
|
-
"requiredForStructuralTasks": true,
|
|
88
|
-
"status": "unknown",
|
|
89
|
-
"evidence": [],
|
|
90
|
-
"unverifiedScope": []
|
|
91
|
-
},
|
|
92
38
|
"projectStatus": "not-started",
|
|
93
39
|
"executionEligible": false,
|
|
94
40
|
"lastUpdatedAt": null
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
4
|
"projectContextId": null,
|
|
5
5
|
"projectRootHash": null,
|
|
6
|
-
"workspaceScope": {"scopeType": "project-root", "scopePathHashes": [], "scopeRevision": null},
|
|
7
|
-
"repositoryScope": [],
|
|
8
6
|
"contextRevision": 0,
|
|
9
7
|
"publicSnapshotHash": null,
|
|
10
|
-
"conversationRegistryPath": "xinyun-ai/conversations/registry.json",
|
|
11
|
-
"streamHeadsDirectory": "xinyun-ai/coordination/streams/",
|
|
12
|
-
"cursorDirectory": "xinyun-ai/coordination/cursors/",
|
|
13
|
-
"syncChecksDirectory": "xinyun-ai/coordination/sync-checks/",
|
|
14
8
|
"activeConversationCount": 0,
|
|
15
|
-
"status": "
|
|
16
|
-
"statusEnum": ["pending", "validating", "ready", "partial", "blocked", "recovery-required"],
|
|
9
|
+
"status": "partial",
|
|
17
10
|
"evidence": [],
|
|
18
|
-
"createdAt": null,
|
|
19
11
|
"updatedAt": null
|
|
20
12
|
}
|
|
@@ -1,63 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
4
|
"projectSummary": null,
|
|
5
|
-
"reTakeover": {
|
|
6
|
-
"recordPath": "xinyun-ai/index/re-takeover-record.json",
|
|
7
|
-
"snapshotPath": "xinyun-ai/index/bootstrap-snapshot.json",
|
|
8
|
-
"contextStatus": "unknown",
|
|
9
|
-
"understandingStatus": "unknown",
|
|
10
|
-
"lastVerifiedAt": null,
|
|
11
|
-
"sourceRevision": null,
|
|
12
|
-
"unverifiedScope": []
|
|
13
|
-
},
|
|
14
|
-
"architecture": {
|
|
15
|
-
"entrypoints": [],
|
|
16
|
-
"workstreams": [],
|
|
17
|
-
"modules": [],
|
|
18
|
-
"commands": [],
|
|
19
|
-
"dependencies": [],
|
|
20
|
-
"riskAreas": []
|
|
21
|
-
},
|
|
22
|
-
"projectIdentityPath": "xinyun-ai/project-identity.json",
|
|
23
5
|
"projectContextPath": "xinyun-ai/project-context.json",
|
|
24
|
-
"controlPlaneIndexPath": "xinyun-ai/index/control-plane-index.json",
|
|
25
6
|
"currentTaskPath": "xinyun-ai/current-task.md",
|
|
26
|
-
"
|
|
27
|
-
"tasking": {
|
|
28
|
-
"tasksDirectory": "xinyun-ai/tasks/",
|
|
29
|
-
"taskIndex": "xinyun-ai/tasks/task-index.json",
|
|
30
|
-
"taskGraph": "xinyun-ai/tasks/task-graph.json",
|
|
31
|
-
"transactionsDirectory": "xinyun-ai/tasks/.transactions/"
|
|
32
|
-
},
|
|
7
|
+
"controlPlaneIndexPath": "xinyun-ai/index/control-plane-index.json",
|
|
33
8
|
"skills": {
|
|
34
9
|
"registry": "xinyun-ai/skills/registry.json",
|
|
35
10
|
"assignments": "xinyun-ai/skills/assignments.json",
|
|
36
11
|
"routesDirectory": "xinyun-ai/skills/routes/",
|
|
37
12
|
"usageRecordsDirectory": "xinyun-ai/skills/usage-records/"
|
|
38
13
|
},
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
"changeLedger": "xinyun-ai/coordination/change-ledger.json",
|
|
42
|
-
"handoffsDirectory": "xinyun-ai/handoffs/",
|
|
43
|
-
"streamsDirectory": "xinyun-ai/coordination/streams/",
|
|
44
|
-
"cursorsDirectory": "xinyun-ai/coordination/cursors/",
|
|
45
|
-
"syncChecksDirectory": "xinyun-ai/coordination/sync-checks/",
|
|
46
|
-
"leasesDirectory": "xinyun-ai/coordination/leases/"
|
|
47
|
-
},
|
|
48
|
-
"legacy": {
|
|
49
|
-
"mode": "read-only",
|
|
50
|
-
"inventoryPath": "xinyun-ai/migrations/shared-project-conversations/legacy-inventory.json",
|
|
51
|
-
"activeRuntime": false
|
|
52
|
-
},
|
|
53
|
-
"understanding": {
|
|
54
|
-
"overall": "unknown",
|
|
55
|
-
"workstreams": {}
|
|
56
|
-
},
|
|
57
|
-
"codeGraph": {
|
|
58
|
-
"status": "unknown",
|
|
59
|
-
"evidence": [],
|
|
60
|
-
"unverifiedScope": []
|
|
61
|
-
},
|
|
14
|
+
"legacy": {"mode": "removed", "activeRuntime": false},
|
|
15
|
+
"understanding": {"overall": "unknown", "workstreams": {}},
|
|
62
16
|
"updatedAt": null
|
|
63
17
|
}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"
|
|
4
|
-
"skillRunId": "skill-run-template",
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"skillRunId": null,
|
|
5
4
|
"skillId": null,
|
|
6
5
|
"taskId": null,
|
|
7
|
-
"projectContextId": null,
|
|
8
|
-
"conversationBindingId": null,
|
|
9
|
-
"syncCheckIdBeforeRun": null,
|
|
10
6
|
"phase": null,
|
|
11
|
-
"status": "pending",
|
|
12
|
-
"statusEnum": ["pending", "selected", "running", "completed", "failed", "fallback", "blocked", "skipped"],
|
|
13
7
|
"reviewMode": "self-check",
|
|
14
|
-
"reviewModeEnum": ["self-check", "external-review", "user-acceptance"],
|
|
15
8
|
"usedTools": [],
|
|
16
9
|
"inputEvidence": [],
|
|
17
10
|
"outputEvidence": [],
|
|
18
11
|
"fallbackReason": null,
|
|
19
12
|
"unverifiedScope": [],
|
|
13
|
+
"status": "pending",
|
|
20
14
|
"startedAt": null,
|
|
21
|
-
"finishedAt": null
|
|
22
|
-
"skillSource": null,
|
|
23
|
-
"skillVersion": null,
|
|
24
|
-
"skillDigest": null,
|
|
25
|
-
"trustStatus": "unknown",
|
|
26
|
-
"dependencyStatus": "unknown",
|
|
27
|
-
"permissionStatus": "unknown"
|
|
15
|
+
"finishedAt": null
|
|
28
16
|
}
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "shared-project-multi-conversation-runtime",
|
|
2
|
+
"schemaVersion": 3,
|
|
4
3
|
"routeId": "skill-route-template",
|
|
5
|
-
"
|
|
6
|
-
"projectContextId": null,
|
|
7
|
-
"conversationBindingId": null,
|
|
8
|
-
"syncCheckId": null,
|
|
9
|
-
"taskFacts": {
|
|
10
|
-
"taskType": null,
|
|
11
|
-
"workstream": null,
|
|
12
|
-
"language": null,
|
|
13
|
-
"runtime": null,
|
|
14
|
-
"platform": null,
|
|
15
|
-
"framework": null,
|
|
16
|
-
"riskTerms": [],
|
|
17
|
-
"dependencies": [],
|
|
18
|
-
"permissionScope": []
|
|
19
|
-
},
|
|
4
|
+
"taskFacts": {},
|
|
20
5
|
"routeFingerprint": null,
|
|
21
|
-
"routeReason": [],
|
|
22
6
|
"candidateSkills": [],
|
|
23
7
|
"selected": [],
|
|
24
8
|
"rejected": [],
|
|
25
9
|
"fallback": [],
|
|
26
10
|
"blocked": [],
|
|
27
|
-
"
|
|
28
|
-
"registrySource": "xinyun-ai/skills/registry.json",
|
|
29
|
-
"registryDigest": null,
|
|
30
|
-
"status": "pending",
|
|
31
|
-
"createdAt": null,
|
|
32
|
-
"updatedAt": null
|
|
11
|
+
"status": "pending"
|
|
33
12
|
}
|
|
@@ -1,24 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
4
|
"assignments": [],
|
|
5
|
-
"recordContract": {
|
|
6
|
-
"requiredFields": [
|
|
7
|
-
"assignmentId",
|
|
8
|
-
"skillId",
|
|
9
|
-
"taskId",
|
|
10
|
-
"projectContextId",
|
|
11
|
-
"conversationBindingId",
|
|
12
|
-
"syncCheckId",
|
|
13
|
-
"phase",
|
|
14
|
-
"matchReason",
|
|
15
|
-
"permittedPaths",
|
|
16
|
-
"assignmentStatus",
|
|
17
|
-
"skillRunId",
|
|
18
|
-
"createdAt",
|
|
19
|
-
"updatedAt"
|
|
20
|
-
],
|
|
21
|
-
"assignmentStatusEnum": ["pending", "selected", "running", "completed", "fallback", "blocked", "cancelled"],
|
|
22
|
-
"legacyAssignmentPolicy": "legacyRoleId may be preserved for history but cannot participate in selection"
|
|
23
|
-
}
|
|
5
|
+
"recordContract": {"requiredFields": ["assignmentId", "skillId", "taskId", "phase", "matchReason", "assignmentStatus", "skillRunId"], "assignmentStatusEnum": ["pending", "selected", "running", "completed", "fallback", "blocked", "cancelled"]}
|
|
24
6
|
}
|
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
|
+
"source": "xinyun-ai-init/skills/registry.json",
|
|
4
5
|
"skills": [],
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
"skillId",
|
|
8
|
-
"name",
|
|
9
|
-
"version",
|
|
10
|
-
"source",
|
|
11
|
-
"digest",
|
|
12
|
-
"description",
|
|
13
|
-
"priority",
|
|
14
|
-
"availabilityStatus",
|
|
15
|
-
"trustStatus",
|
|
16
|
-
"reviewedAt",
|
|
17
|
-
"supportedTaskTypes",
|
|
18
|
-
"stacks",
|
|
19
|
-
"frameworks",
|
|
20
|
-
"platforms",
|
|
21
|
-
"dependencies",
|
|
22
|
-
"permissions",
|
|
23
|
-
"evidence",
|
|
24
|
-
"fallbackPlan",
|
|
25
|
-
"createdAt",
|
|
26
|
-
"updatedAt"
|
|
27
|
-
],
|
|
28
|
-
"availabilityStatusEnum": ["available", "unavailable", "disabled", "unknown"],
|
|
29
|
-
"trustStatusEnum": ["unreviewed", "reviewed", "blocked", "expired"]
|
|
30
|
-
},
|
|
31
|
-
"selectionOrder": ["project-binding", "framework-specific", "generic", "fallback"]
|
|
6
|
+
"routeVersion": "3.0.0",
|
|
7
|
+
"updatedAt": null
|
|
32
8
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
4
|
-
"graphId": "task-graph
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
|
+
"graphId": "main-project-task-graph",
|
|
5
5
|
"nodes": [],
|
|
6
6
|
"edges": [],
|
|
7
|
-
"edgeTypeEnum": ["parent-of", "depends-on", "blocks", "produces", "validated-by"],
|
|
8
7
|
"acyclic": true,
|
|
9
8
|
"orphanTasksAllowed": false,
|
|
10
|
-
"projectContextId": null,
|
|
11
9
|
"updatedAt": null
|
|
12
10
|
}
|
|
@@ -1,39 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
3
|
-
"executionModel": "
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"executionModel": "bundled-skill-runtime",
|
|
4
4
|
"activeTaskIds": [],
|
|
5
5
|
"executableTaskIds": [],
|
|
6
6
|
"archivedTaskIds": [],
|
|
7
7
|
"currentTaskId": null,
|
|
8
|
-
"taskGraphPath": "xinyun-ai/tasks/task-graph.json",
|
|
9
|
-
"projectContextId": null,
|
|
10
|
-
"taskLeaseDirectory": "xinyun-ai/coordination/leases/",
|
|
11
|
-
"taskStatusEnum": [
|
|
12
|
-
"captured",
|
|
13
|
-
"pending",
|
|
14
|
-
"awaiting-confirmation",
|
|
15
|
-
"executing",
|
|
16
|
-
"waiting-review",
|
|
17
|
-
"blocked",
|
|
18
|
-
"recovery-required",
|
|
19
|
-
"completed",
|
|
20
|
-
"cancelled"
|
|
21
|
-
],
|
|
22
|
-
"idempotency": {
|
|
23
|
-
"keyFields": ["projectRootHash", "requestFingerprint", "parentTaskId", "taskType"],
|
|
24
|
-
"algorithm": "RFC8785-JCS-SHA-256",
|
|
25
|
-
"duplicatePolicy": "reuse"
|
|
26
|
-
},
|
|
27
|
-
"consistency": {
|
|
28
|
-
"requiredFiles": [
|
|
29
|
-
"xinyun-ai/tasks/<taskId>.md",
|
|
30
|
-
"xinyun-ai/tasks/task-index.json",
|
|
31
|
-
"xinyun-ai/tasks/task-graph.json",
|
|
32
|
-
"xinyun-ai/current-task.md"
|
|
33
|
-
],
|
|
34
|
-
"writeMode": "transactional-atomic-replace",
|
|
35
|
-
"mismatchStatus": "blocked"
|
|
36
|
-
},
|
|
37
8
|
"tasks": [],
|
|
9
|
+
"consistency": {"writeMode": "transactional-atomic-replace", "requiredFiles": ["task.md", "task-index.json", "task-graph.json", "current-task.md"]},
|
|
38
10
|
"updatedAt": null
|
|
39
11
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "xinyun-ai-init",
|
|
3
|
-
"displayName": "欣芸技术开发
|
|
4
|
-
"version": "
|
|
5
|
-
"scriptVersion": "2026.
|
|
6
|
-
"schemaVersion": "
|
|
7
|
-
"executionModel": "
|
|
8
|
-
"defaultMode": "fast-init",
|
|
3
|
+
"displayName": "欣芸技术开发 Skill Runtime",
|
|
4
|
+
"version": "3.0.0",
|
|
5
|
+
"scriptVersion": "2026.10.13",
|
|
6
|
+
"schemaVersion": "3",
|
|
7
|
+
"executionModel": "bundled-skill-runtime",
|
|
8
|
+
"defaultMode": "fast-skill-init",
|
|
9
9
|
"targetWorkspace": "xinyun-ai",
|
|
10
|
-
"
|
|
11
|
-
}
|
|
10
|
+
"legacyRuntime": "removed"
|
|
11
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pm_zhousl/xinyun-ai-init",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "欣芸技术开发
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "欣芸技术开发 Skill Runtime 初始化包",
|
|
5
5
|
"bin": {
|
|
6
6
|
"xinyun-ai-init": "bin/xinyun-ai-init.js"
|
|
7
7
|
},
|
|
@@ -13,20 +13,14 @@
|
|
|
13
13
|
"README.md"
|
|
14
14
|
],
|
|
15
15
|
"scripts": {
|
|
16
|
-
"verify:init": "node ./scripts/verify-
|
|
17
|
-
"verify:rules": "node ./scripts/verify-
|
|
16
|
+
"verify:init": "node ./scripts/verify-v3-package.js --scope init",
|
|
17
|
+
"verify:rules": "node ./scripts/verify-v3-package.js --scope rules",
|
|
18
18
|
"verify:rules:security": "node ./scripts/verify-rules-tarball-security.js",
|
|
19
|
-
"verify:
|
|
20
|
-
"verify:
|
|
19
|
+
"verify:runtime": "node ./scripts/verify-skill-runtime.js",
|
|
20
|
+
"verify:cleanup": "node ./scripts/verify-legacy-cleanup.js",
|
|
21
|
+
"verify:v3": "node ./scripts/verify-v3-package.js",
|
|
21
22
|
"verify:release": "node ./scripts/verify-release-gate.js",
|
|
22
|
-
"
|
|
23
|
-
"evidence:v1.10": "node ./scripts/collect-v1.10-evidence.js",
|
|
24
|
-
"evidence:v1.14:local": "node ./scripts/collect-v1.14-local-evidence.js",
|
|
25
|
-
"evidence:v1.15:real": "node ./scripts/collect-v1.15-real-evidence.js",
|
|
26
|
-
"evidence:v1.16": "node ./scripts/collect-v1.16-evidence.js",
|
|
27
|
-
"evidence:v2": "node ./scripts/collect-v2-evidence.js",
|
|
28
|
-
"probe:v1.16": "node ./scripts/run-v1.16-runtime-probe.js",
|
|
29
|
-
"probe:v2": "node ./scripts/run-v2-runtime-probe.js",
|
|
23
|
+
"probe:v3": "node ./scripts/run-v3-runtime-probe.js",
|
|
30
24
|
"publish:token": "powershell -ExecutionPolicy Bypass -File ./scripts/publish-with-token.ps1",
|
|
31
25
|
"publish:token:dry": "powershell -ExecutionPolicy Bypass -File ./scripts/publish-with-token.ps1 -DryRun"
|
|
32
26
|
},
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawnSync } = require("child_process");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
const script = path.resolve(__dirname, "verify-skill-runtime.js");
|
|
7
|
+
const result = spawnSync(process.execPath, [script], { stdio: "inherit" });
|
|
8
|
+
process.exitCode = result.status || 0;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
const root = path.resolve(__dirname, "..");
|
|
7
|
+
const initRoot = path.join(root, "init", "xinyun-ai-init");
|
|
8
|
+
const forbidden = [
|
|
9
|
+
"team",
|
|
10
|
+
"templates/role-execution.template.md",
|
|
11
|
+
"templates/role-session-binding.template.json",
|
|
12
|
+
"templates/provider-session-binding.template.json",
|
|
13
|
+
"rules/v1.10.2-contract.md",
|
|
14
|
+
"rules/v1.11.0-acceleration.md",
|
|
15
|
+
"rules/v1.12.0-recovery.md",
|
|
16
|
+
"rules/v1.13.0-host-adapter.md",
|
|
17
|
+
"rules/v1.14.0-agent-core.md",
|
|
18
|
+
"rules/v1.15.0-session-binding.md",
|
|
19
|
+
"rules/v1.16.0-capability-efficiency.md",
|
|
20
|
+
"rules/v2.0.0-single-session-skills.md"
|
|
21
|
+
];
|
|
22
|
+
const found = forbidden.filter((relative) => fs.existsSync(path.join(initRoot, relative)));
|
|
23
|
+
console.log(`[${found.length ? "FAIL" : "PASS"}] legacy-package-cleanup${found.length ? `: ${found.join(",")}` : ""}`);
|
|
24
|
+
if (found.length) process.exitCode = 1;
|