@givolt/i3-composer-agent 3.1.0 → 4.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 (677) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-build.md +1 -0
  3. package/.claude/commands/i3-code-simplify.md +1 -0
  4. package/.claude/commands/i3-constraints.md +1 -0
  5. package/.claude/commands/i3-plan.md +1 -0
  6. package/.claude/commands/i3-review.md +1 -0
  7. package/.claude/commands/i3-ship.md +1 -0
  8. package/.claude/commands/i3-sop.md +3 -3
  9. package/.claude/commands/i3-spec.md +1 -0
  10. package/.claude/commands/i3-test.md +1 -0
  11. package/.claude/commands/i3-webperf.md +1 -0
  12. package/.claude-plugin/marketplace.json +1 -1
  13. package/.claude-plugin/plugin.json +1 -1
  14. package/.codex-plugin/plugin.json +2 -2
  15. package/.gemini/commands/i3-sop.toml +3 -3
  16. package/README.md +44 -43
  17. package/bin/i3-composer-agent.cjs +4 -59
  18. package/bin/install.cjs +6 -14
  19. package/bin/native-layout.cjs +11 -2
  20. package/bin/native-migration.cjs +68 -28
  21. package/bin/retired-custom-fingerprints.json +1597 -0
  22. package/bin/wizard.cjs +2 -13
  23. package/commands/i3-sop.toml +3 -3
  24. package/docs/antigravity-setup.md +3 -1
  25. package/docs/codebuddy-setup.md +19 -76
  26. package/docs/codex-setup.md +10 -4
  27. package/docs/comparison.md +1 -1
  28. package/docs/copilot-cli-setup.md +4 -4
  29. package/docs/cursor-setup.md +1 -1
  30. package/docs/gemini-cli-setup.md +1 -1
  31. package/docs/other-hosts.md +2 -2
  32. package/docs/windsurf-setup.md +2 -2
  33. package/docs/workbuddy-setup.md +9 -16
  34. package/evals/README.md +10 -0
  35. package/evals/cases/i3-code-simplification.json +8 -0
  36. package/evals/cases/i3-documentation-and-adrs.json +4 -0
  37. package/evals/cases/i3-enterprise-sop.json +70 -32
  38. package/evals/cases/i3-frontend-ui-engineering.json +1 -1
  39. package/evals/cases/i3-security-and-hardening.json +4 -0
  40. package/evals/cases/i3-ui-demo.json +2 -2
  41. package/evals/cases/i3-using-agent-skills.json +5 -5
  42. package/evals/plugin/simplify-fires-on-pasted-function/graders/behavior-kept-and-explained.md +7 -0
  43. package/evals/plugin/simplify-fires-on-pasted-function/graders/skill-fired.md +5 -0
  44. package/evals/plugin/simplify-fires-on-pasted-function/prompt.md +30 -0
  45. package/evals/plugin/simplify-stays-quiet-on-make-it-fast/graders/not-fired.md +8 -0
  46. package/evals/plugin/simplify-stays-quiet-on-make-it-fast/prompt.md +20 -0
  47. package/evals/zh-CN/cases/i3-code-simplification.json +8 -0
  48. package/evals/zh-CN/cases/i3-documentation-and-adrs.json +4 -0
  49. package/evals/zh-CN/cases/i3-enterprise-sop.json +77 -31
  50. package/evals/zh-CN/cases/i3-frontend-ui-engineering.json +2 -2
  51. package/evals/zh-CN/cases/i3-security-and-hardening.json +4 -0
  52. package/evals/zh-CN/cases/i3-ui-demo.json +2 -2
  53. package/evals/zh-CN/cases/i3-using-agent-skills.json +6 -6
  54. package/hooks/SDD-CACHE.md +1 -1
  55. package/package.json +13 -102
  56. package/plugin.json +15 -2
  57. package/references/accessibility-checklist.md +4 -4
  58. package/references/performance-checklist.md +5 -4
  59. package/references/testing-patterns.md +2 -1
  60. package/scripts/floor-guard-reference-test.js +32 -0
  61. package/scripts/lib/execution-status.js +44 -0
  62. package/scripts/run-evals-test.js +157 -7
  63. package/scripts/run-evals.js +59 -12
  64. package/scripts/ui-demo-test.js +2 -2
  65. package/scripts/validate-artifact-paths-test.js +14 -0
  66. package/scripts/validate-artifact-paths.js +4 -2
  67. package/skills/i3-api-and-interface-design/SKILL.md +3 -1
  68. package/skills/i3-ci-cd-and-automation/SKILL.md +7 -4
  69. package/skills/i3-code-simplification/SKILL.md +3 -3
  70. package/skills/i3-constraint-driven-development/SKILL.md +4 -4
  71. package/skills/i3-constraint-driven-development/references/floor-guard.md +2 -2
  72. package/skills/i3-context-engineering/SKILL.md +1 -1
  73. package/skills/i3-debugging-and-error-recovery/SKILL.md +1 -1
  74. package/skills/i3-deprecation-and-migration/SKILL.md +6 -1
  75. package/skills/i3-documentation-and-adrs/SKILL.md +3 -2
  76. package/skills/i3-enterprise-sop/SKILL.md +121 -94
  77. package/skills/i3-enterprise-sop/references/engineering-skeleton/directory-standard.md +31 -17
  78. package/skills/i3-enterprise-sop/references/handoff.py +235 -135
  79. package/skills/i3-enterprise-sop/references/read_text.py +60 -0
  80. package/skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md +47 -47
  81. package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +9 -118
  82. package/skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md +8 -8
  83. package/skills/i3-enterprise-sop/references/{ad/templates → templates}/ad.md +57 -50
  84. package/skills/i3-enterprise-sop/references/{brd/templates → templates}/brd.md +23 -12
  85. package/skills/i3-enterprise-sop/references/{prd/templates → templates}/prd.md +84 -51
  86. package/skills/i3-enterprise-sop/references/{testcase/templates → templates}/testcase.md +49 -39
  87. package/skills/i3-frontend-ui-engineering/SKILL.md +6 -10
  88. package/skills/i3-idea-refine/SKILL.md +4 -2
  89. package/skills/i3-incremental-implementation/SKILL.md +0 -4
  90. package/skills/i3-performance-optimization/SKILL.md +2 -2
  91. package/skills/i3-security-and-hardening/references/hardening-patterns.md +5 -0
  92. package/skills/i3-source-driven-development/SKILL.md +3 -2
  93. package/skills/i3-spec-driven-development/SKILL.md +1 -1
  94. package/skills/i3-ui-demo/SKILL.md +3 -1
  95. package/skills/i3-ui-demo/references/dependencies.md +1 -1
  96. package/skills/i3-ui-demo/references/resources.md +1 -1
  97. package/skills/i3-ui-demo/scripts/dependencies.cjs +0 -3
  98. package/skills/i3-using-agent-skills/SKILL.md +2 -2
  99. package/.claude/commands/i3-prototype.md +0 -23
  100. package/.gemini/commands/i3-prototype.toml +0 -23
  101. package/commands/i3-prototype.toml +0 -23
  102. package/docs/upstream-repository/AGENTS.md +0 -92
  103. package/docs/upstream-repository/CLAUDE.md +0 -60
  104. package/docs/upstream-repository/CONTRIBUTING.md +0 -137
  105. package/docs/upstream-repository/README.md +0 -8
  106. package/docs/upstream-repository/gitattributes.txt +0 -1
  107. package/docs/upstream-repository/gitignore.txt +0 -10
  108. package/docs/upstream-repository/manifest.json +0 -71
  109. package/docs/upstream-repository/opencode-skills.link +0 -1
  110. package/docs/upstream-repository/skill-gap.yml +0 -80
  111. package/docs/upstream-repository/skills-contributing.md +0 -15
  112. package/docs/upstream-repository/test-plugin-install.yml +0 -167
  113. package/evals/cases/i3-ui-prototype.json +0 -158
  114. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.css +0 -3
  115. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.js +0 -8
  116. package/evals/fixtures/i3-ui-prototype/admin-list/capability-definition.json +0 -67
  117. package/evals/fixtures/i3-ui-prototype/admin-list/index.html +0 -89
  118. package/evals/fixtures/i3-ui-prototype/admin-list/readme.md +0 -52
  119. package/evals/fixtures/i3-ui-prototype/admin-list/template.json +0 -8
  120. package/evals/fixtures/i3-ui-prototype/business-brief.md +0 -7
  121. package/evals/zh-CN/cases/i3-ui-prototype.json +0 -165
  122. package/hooks/PROTOTYPE.md +0 -31
  123. package/hooks/codebuddy-upstream.cjs +0 -93
  124. package/hooks/i3-prototype.cjs +0 -7
  125. package/hooks/manage.cjs +0 -169
  126. package/scripts/design-provider-discovery-test.js +0 -190
  127. package/scripts/design-provider-test.js +0 -75
  128. package/scripts/enterprise-template-test.js +0 -205
  129. package/scripts/lib/prototype-fixture.cjs +0 -17
  130. package/scripts/prototype-cache-test.js +0 -55
  131. package/scripts/prototype-generation-entry-test.js +0 -6
  132. package/scripts/prototype-generation-evidence-test.js +0 -10
  133. package/scripts/prototype-generation-native-test.js +0 -78
  134. package/scripts/prototype-generation-test.js +0 -99
  135. package/scripts/prototype-inventory-test.js +0 -43
  136. package/scripts/prototype-locations-test.js +0 -79
  137. package/scripts/prototype-project-test.js +0 -183
  138. package/scripts/template-adapter-test.js +0 -155
  139. package/scripts/ui-prototype-binding-recovery-test.js +0 -84
  140. package/scripts/ui-prototype-buddy-lifecycle-test.js +0 -102
  141. package/scripts/ui-prototype-codebuddy-hook-test.js +0 -112
  142. package/scripts/ui-prototype-content-test.js +0 -123
  143. package/scripts/ui-prototype-dependencies-test.js +0 -226
  144. package/scripts/ui-prototype-devtools-test.js +0 -53
  145. package/scripts/ui-prototype-execution-evidence-test.js +0 -62
  146. package/scripts/ui-prototype-execution-gates-test.js +0 -91
  147. package/scripts/ui-prototype-execution-policy-test.js +0 -53
  148. package/scripts/ui-prototype-execution-runtime-test.js +0 -27
  149. package/scripts/ui-prototype-ide-source-test.js +0 -73
  150. package/scripts/ui-prototype-native-test.js +0 -526
  151. package/scripts/ui-prototype-recovery-test.js +0 -81
  152. package/scripts/ui-prototype-registration-test.js +0 -53
  153. package/scripts/ui-prototype-template-test.js +0 -261
  154. package/scripts/ui-prototype-test.js +0 -124
  155. package/scripts/ui-prototype-transcript-auto-test.js +0 -67
  156. package/skills/i3-enterprise-sop/references/ad/assets-manifest.json +0 -86
  157. package/skills/i3-enterprise-sop/references/ad/prompts/01-generate.md +0 -58
  158. package/skills/i3-enterprise-sop/references/ad/prompts/02-review.md +0 -54
  159. package/skills/i3-enterprise-sop/references/ad/prompts/03-revise.md +0 -54
  160. package/skills/i3-enterprise-sop/references/ad/prompts/04-recheck.md +0 -54
  161. package/skills/i3-enterprise-sop/references/ad/readme.md +0 -70
  162. package/skills/i3-enterprise-sop/references/assets-manifest.json +0 -230
  163. package/skills/i3-enterprise-sop/references/brd/assets-manifest.json +0 -83
  164. package/skills/i3-enterprise-sop/references/brd/prompts/01-generate.md +0 -51
  165. package/skills/i3-enterprise-sop/references/brd/prompts/02-review.md +0 -47
  166. package/skills/i3-enterprise-sop/references/brd/prompts/03-revise.md +0 -47
  167. package/skills/i3-enterprise-sop/references/brd/prompts/04-recheck.md +0 -47
  168. package/skills/i3-enterprise-sop/references/brd/readme.md +0 -50
  169. package/skills/i3-enterprise-sop/references/codebuddy-project-guide.md +0 -34
  170. package/skills/i3-enterprise-sop/references/controlled-handoff.md +0 -41
  171. package/skills/i3-enterprise-sop/references/controlled_handoff.py +0 -379
  172. package/skills/i3-enterprise-sop/references/engineering-skeleton/adoption.md +0 -200
  173. package/skills/i3-enterprise-sop/references/engineering-skeleton/catalog.json +0 -17
  174. package/skills/i3-enterprise-sop/references/engineering-skeleton/readme.md +0 -52
  175. package/skills/i3-enterprise-sop/references/handoff-contract.md +0 -196
  176. package/skills/i3-enterprise-sop/references/lifecycle-contract.md +0 -91
  177. package/skills/i3-enterprise-sop/references/plan-handoff.md +0 -73
  178. package/skills/i3-enterprise-sop/references/prd/assets-manifest.json +0 -109
  179. package/skills/i3-enterprise-sop/references/prd/prompts/01-generate.md +0 -64
  180. package/skills/i3-enterprise-sop/references/prd/prompts/02-review.md +0 -49
  181. package/skills/i3-enterprise-sop/references/prd/prompts/03-revise.md +0 -48
  182. package/skills/i3-enterprise-sop/references/prd/prompts/04-recheck.md +0 -47
  183. package/skills/i3-enterprise-sop/references/prd/readme.md +0 -137
  184. package/skills/i3-enterprise-sop/references/prd/template-contracts.md +0 -39
  185. package/skills/i3-enterprise-sop/references/prd/templates/ad.md +0 -17
  186. package/skills/i3-enterprise-sop/references/readme.md +0 -167
  187. package/skills/i3-enterprise-sop/references/recovery-contract.md +0 -65
  188. package/skills/i3-enterprise-sop/references/review-handoff.md +0 -105
  189. package/skills/i3-enterprise-sop/references/selection-handoff.md +0 -55
  190. package/skills/i3-enterprise-sop/references/selection_handoff.py +0 -225
  191. package/skills/i3-enterprise-sop/references/stages.json +0 -271
  192. package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +0 -84
  193. package/skills/i3-enterprise-sop/references/template-contracts.md +0 -142
  194. package/skills/i3-enterprise-sop/references/testcase/assets-manifest.json +0 -91
  195. package/skills/i3-enterprise-sop/references/testcase/prompts/01-generate.md +0 -53
  196. package/skills/i3-enterprise-sop/references/testcase/prompts/02-review.md +0 -51
  197. package/skills/i3-enterprise-sop/references/testcase/prompts/03-revise.md +0 -49
  198. package/skills/i3-enterprise-sop/references/testcase/prompts/04-recheck.md +0 -51
  199. package/skills/i3-enterprise-sop/references/testcase/readme.md +0 -61
  200. package/skills/i3-enterprise-sop/references/verification/check_execution.py +0 -185
  201. package/skills/i3-enterprise-sop/references/verification/check_native_execution.py +0 -282
  202. package/skills/i3-enterprise-sop/references/verification/check_reads.py +0 -348
  203. package/skills/i3-enterprise-sop/references/verification/readme.md +0 -149
  204. package/skills/i3-enterprise-sop/references/verification/review-output.schema.json +0 -155
  205. package/skills/i3-enterprise-sop/references/verification/review_handoff.py +0 -329
  206. package/skills/i3-ui-prototype/SKILL.md +0 -256
  207. package/skills/i3-ui-prototype/assets/capabilities/generation.json +0 -833
  208. package/skills/i3-ui-prototype/assets/capabilities/management.json +0 -294
  209. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/acceptance.json +0 -51
  210. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/component-map.json +0 -13
  211. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/generation-component-map.json +0 -300
  212. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/index.html +0 -11
  213. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package-lock.json +0 -2298
  214. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package.json +0 -22
  215. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/public/prototype-config.json +0 -6
  216. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/App.vue +0 -136
  217. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/components/DeviceEditor.vue +0 -111
  218. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/config.ts +0 -19
  219. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/content.ts +0 -28
  220. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/devices.ts +0 -50
  221. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/theme.ts +0 -25
  222. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/main.ts +0 -18
  223. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/style.css +0 -50
  224. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/useDevices.ts +0 -66
  225. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/devices.test.ts +0 -44
  226. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/theme.test.ts +0 -26
  227. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tsconfig.json +0 -15
  228. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/vite.config.ts +0 -4
  229. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/profile.json +0 -174
  230. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/readme.md +0 -61
  231. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/index.html +0 -11
  232. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package-lock.json +0 -2298
  233. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package.json +0 -22
  234. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/public/prototype-config.json +0 -21
  235. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/App.vue +0 -62
  236. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/PrototypeShell.vue +0 -59
  237. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/config.ts +0 -23
  238. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/presentation.ts +0 -29
  239. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/theme.ts +0 -25
  240. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/main.ts +0 -18
  241. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/style.css +0 -26
  242. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/presentation.test.ts +0 -23
  243. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/theme.test.ts +0 -26
  244. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tsconfig.json +0 -15
  245. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/vite.config.ts +0 -4
  246. package/skills/i3-ui-prototype/assets/hosts/codebuddy/profile.json +0 -17
  247. package/skills/i3-ui-prototype/assets/optional-skills/host-targets.json +0 -739
  248. package/skills/i3-ui-prototype/assets/optional-skills/sources.json +0 -27
  249. package/skills/i3-ui-prototype/assets/templates/catalog.js +0 -149
  250. package/skills/i3-ui-prototype/assets/templates/catalog.json +0 -149
  251. package/skills/i3-ui-prototype/assets/templates/classic-admin/manifest.json +0 -9
  252. package/skills/i3-ui-prototype/assets/templates/classic-admin/preset.json +0 -6
  253. package/skills/i3-ui-prototype/assets/templates/common/app/app.mjs +0 -89
  254. package/skills/i3-ui-prototype/assets/templates/common/app/config.json +0 -1
  255. package/skills/i3-ui-prototype/assets/templates/common/app/domain.mjs +0 -20
  256. package/skills/i3-ui-prototype/assets/templates/common/app/index.html +0 -17
  257. package/skills/i3-ui-prototype/assets/templates/common/app/serve.cjs +0 -16
  258. package/skills/i3-ui-prototype/assets/templates/common/app/styles.css +0 -670
  259. package/skills/i3-ui-prototype/assets/templates/common/app/tokens.css +0 -19
  260. package/skills/i3-ui-prototype/assets/templates/common/design-system/master.md +0 -20
  261. package/skills/i3-ui-prototype/assets/templates/common/gallery.html +0 -2
  262. package/skills/i3-ui-prototype/assets/templates/common/mocks/applications.json +0 -5
  263. package/skills/i3-ui-prototype/assets/templates/common/requirements-map.json +0 -8
  264. package/skills/i3-ui-prototype/assets/templates/common/serve-gallery.cjs +0 -16
  265. package/skills/i3-ui-prototype/assets/templates/credits.md +0 -17
  266. package/skills/i3-ui-prototype/assets/templates/data-operations/manifest.json +0 -9
  267. package/skills/i3-ui-prototype/assets/templates/data-operations/preset.json +0 -6
  268. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/capability-definition.json +0 -294
  269. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/component-inventory.json +0 -707
  270. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/design-system.md +0 -32
  271. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/generation.json +0 -49
  272. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/index.html +0 -534
  273. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/manifest.json +0 -9
  274. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline-build.json +0 -265
  275. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline.js +0 -8888
  276. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/origin.json +0 -344
  277. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/preset.json +0 -928
  278. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/app.js +0 -22
  279. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/empty.svg +0 -1
  280. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/reference-styles.json +0 -1
  281. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-403.svg +0 -1
  282. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-404.svg +0 -1
  283. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets-manifest.json +0 -334
  284. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/baseline.json +0 -173
  285. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/conversion.md +0 -30
  286. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/credits.md +0 -17
  287. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/design-tokens.json +0 -881
  288. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/index.html +0 -28
  289. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +0 -9
  290. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +0 -22
  291. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +0 -21
  292. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/package.json +0 -12
  293. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/browser-routes.json +0 -298
  294. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/coverage.json +0 -180
  295. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/integrity.json +0 -13
  296. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/keyboard.json +0 -11
  297. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/responsive.json +0 -125
  298. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/review.md +0 -51
  299. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/rules.log +0 -150
  300. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
  301. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
  302. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
  303. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
  304. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
  305. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
  306. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
  307. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
  308. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/selection.json +0 -9
  309. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +0 -342
  310. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/readme.md +0 -73
  311. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/reference.md +0 -59
  312. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/routes.json +0 -178
  313. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/controls.js +0 -99
  314. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dialogs.js +0 -54
  315. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dom.js +0 -264
  316. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/forms.js +0 -47
  317. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/icons.js +0 -41
  318. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/layout.js +0 -47
  319. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/router.js +0 -63
  320. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/state.js +0 -90
  321. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/table.js +0 -41
  322. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/widgets.js +0 -8
  323. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +0 -3
  324. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +0 -36
  325. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +0 -2
  326. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +0 -51
  327. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +0 -3
  328. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +0 -48
  329. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +0 -2
  330. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +0 -6
  331. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +0 -2
  332. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +0 -13
  333. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/data.js +0 -24
  334. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/domain.js +0 -32
  335. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/registry.js +0 -25
  336. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/store.js +0 -85
  337. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +0 -2
  338. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +0 -17
  339. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +0 -2
  340. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +0 -66
  341. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +0 -3
  342. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +0 -38
  343. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +0 -2
  344. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +0 -66
  345. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +0 -2
  346. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +0 -5
  347. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +0 -2
  348. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +0 -12
  349. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +0 -2
  350. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +0 -11
  351. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +0 -2
  352. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +0 -116
  353. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +0 -2
  354. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +0 -32
  355. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +0 -2
  356. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +0 -49
  357. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +0 -2
  358. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +0 -10
  359. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +0 -2
  360. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +0 -77
  361. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/data.js +0 -60
  362. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/domain.js +0 -105
  363. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/store.js +0 -212
  364. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +0 -2
  365. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +0 -18
  366. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +0 -2
  367. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +0 -23
  368. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +0 -2
  369. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +0 -78
  370. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +0 -2
  371. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +0 -55
  372. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +0 -2
  373. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +0 -26
  374. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +0 -2
  375. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +0 -38
  376. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +0 -2
  377. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +0 -7
  378. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +0 -2
  379. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +0 -72
  380. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +0 -2
  381. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +0 -46
  382. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +0 -2
  383. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +0 -52
  384. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.html +0 -2
  385. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.js +0 -19
  386. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +0 -2
  387. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +0 -30
  388. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/data.js +0 -48
  389. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/domain.js +0 -39
  390. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/store.js +0 -129
  391. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +0 -4
  392. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +0 -21
  393. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +0 -2
  394. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +0 -8
  395. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +0 -2
  396. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +0 -37
  397. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +0 -2
  398. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +0 -10
  399. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +0 -2
  400. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +0 -37
  401. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +0 -2
  402. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +0 -49
  403. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +0 -4
  404. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +0 -22
  405. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +0 -2
  406. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +0 -9
  407. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/commands.js +0 -82
  408. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/examples.js +0 -47
  409. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/model.js +0 -61
  410. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/repair.js +0 -68
  411. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/store.js +0 -55
  412. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/types.js +0 -1
  413. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/workbench.js +0 -18
  414. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +0 -3
  415. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +0 -28
  416. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +0 -2
  417. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +0 -18
  418. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +0 -2
  419. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +0 -31
  420. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +0 -2
  421. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +0 -27
  422. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +0 -2
  423. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +0 -16
  424. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +0 -2
  425. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +0 -43
  426. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +0 -4
  427. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +0 -34
  428. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +0 -2
  429. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +0 -30
  430. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +0 -3
  431. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +0 -67
  432. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +0 -2
  433. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +0 -41
  434. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +0 -2
  435. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +0 -31
  436. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +0 -2
  437. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +0 -26
  438. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +0 -2
  439. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +0 -70
  440. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/data.js +0 -8
  441. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/domain.js +0 -62
  442. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/management.js +0 -36
  443. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +0 -49
  444. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/store.js +0 -132
  445. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +0 -2
  446. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +0 -38
  447. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +0 -2
  448. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +0 -11
  449. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +0 -2
  450. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +0 -45
  451. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +0 -2
  452. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +0 -54
  453. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +0 -3
  454. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +0 -27
  455. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +0 -2
  456. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +0 -12
  457. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +0 -2
  458. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +0 -45
  459. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +0 -3
  460. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +0 -38
  461. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/domain.js +0 -61
  462. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/state.js +0 -51
  463. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/store.js +0 -116
  464. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +0 -2
  465. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +0 -45
  466. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +0 -4
  467. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +0 -30
  468. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +0 -2
  469. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +0 -67
  470. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +0 -2
  471. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +0 -5
  472. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +0 -4
  473. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +0 -60
  474. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/commands.js +0 -157
  475. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/model.js +0 -136
  476. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/store.js +0 -76
  477. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +0 -3
  478. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +0 -26
  479. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +0 -2
  480. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +0 -14
  481. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +0 -2
  482. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +0 -113
  483. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +0 -3
  484. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +0 -62
  485. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/commands.js +0 -97
  486. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/model.js +0 -147
  487. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/store.js +0 -13
  488. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +0 -2
  489. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +0 -9
  490. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +0 -2
  491. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +0 -8
  492. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +0 -2
  493. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +0 -37
  494. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +0 -2
  495. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +0 -8
  496. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +0 -2
  497. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +0 -17
  498. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/columns.js +0 -32
  499. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +0 -49
  500. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +0 -12
  501. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +0 -15
  502. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +0 -37
  503. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/policy.js +0 -68
  504. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/session.js +0 -44
  505. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +0 -2
  506. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +0 -25
  507. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +0 -2
  508. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +0 -53
  509. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +0 -10
  510. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +0 -30
  511. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +0 -2
  512. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +0 -10
  513. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +0 -2
  514. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +0 -9
  515. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +0 -3
  516. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/navigation.js +0 -19
  517. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +0 -2
  518. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +0 -8
  519. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +0 -2
  520. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +0 -32
  521. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +0 -2
  522. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +0 -15
  523. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +0 -2
  524. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +0 -11
  525. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +0 -2
  526. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +0 -57
  527. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +0 -2
  528. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +0 -37
  529. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/data.js +0 -20
  530. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/domain.js +0 -55
  531. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/store.js +0 -151
  532. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +0 -3
  533. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +0 -18
  534. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +0 -2
  535. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +0 -40
  536. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +0 -2
  537. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +0 -51
  538. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +0 -2
  539. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +0 -9
  540. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +0 -5
  541. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +0 -48
  542. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/domain.js +0 -204
  543. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +0 -22
  544. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/registry.js +0 -135
  545. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/store.js +0 -137
  546. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +0 -3
  547. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +0 -36
  548. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/model.js +0 -56
  549. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/store.js +0 -15
  550. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +0 -2
  551. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +0 -27
  552. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +0 -4
  553. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +0 -31
  554. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +0 -2
  555. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +0 -68
  556. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +0 -5
  557. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +0 -55
  558. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/data.js +0 -16
  559. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/domain.js +0 -83
  560. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/registry.js +0 -18
  561. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/store.js +0 -61
  562. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/admin.css +0 -60
  563. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/agents.css +0 -46
  564. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/antdv.css +0 -295
  565. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/app.css +0 -102
  566. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/delivery.css +0 -4
  567. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/intents.css +0 -37
  568. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/native.css +0 -22
  569. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/operations.css +0 -2
  570. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pbc.css +0 -3
  571. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/permissions.css +0 -22
  572. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pro.css +0 -1
  573. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/releases.css +0 -4
  574. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reset.css +0 -246
  575. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reviews.css +0 -8
  576. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tasks.css +0 -6
  577. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tokens.css +0 -15
  578. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workbench.css +0 -61
  579. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workflows.css +0 -1
  580. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +0 -96
  581. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/agents.test.js +0 -14
  582. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +0 -37
  583. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +0 -44
  584. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +0 -19
  585. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +0 -14
  586. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operations.test.js +0 -25
  587. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +0 -17
  588. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +0 -24
  589. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +0 -23
  590. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permissions.test.js +0 -24
  591. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/releases.test.js +0 -50
  592. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/reviews.test.js +0 -36
  593. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +0 -28
  594. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +0 -42
  595. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +0 -16
  596. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +0 -11
  597. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/tasks.test.js +0 -27
  598. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workbench.test.js +0 -34
  599. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workflows.test.js +0 -16
  600. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/convert.mjs +0 -168
  601. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/serve.mjs +0 -7
  602. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/styles.mjs +0 -11
  603. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/verify.mjs +0 -24
  604. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/serve.cjs +0 -16
  605. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template-inventory.json +0 -28791
  606. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template.json +0 -9
  607. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/usability.css +0 -44
  608. package/skills/i3-ui-prototype/assets/templates/gallery/index.html +0 -40
  609. package/skills/i3-ui-prototype/assets/templates/generation-options.js +0 -42
  610. package/skills/i3-ui-prototype/assets/templates/index.html +0 -3
  611. package/skills/i3-ui-prototype/assets/templates/modern-workspace/manifest.json +0 -9
  612. package/skills/i3-ui-prototype/assets/templates/modern-workspace/preset.json +0 -6
  613. package/skills/i3-ui-prototype/assets/templates/presentation.html +0 -17
  614. package/skills/i3-ui-prototype/assets/templates/serve-gallery.cjs +0 -23
  615. package/skills/i3-ui-prototype/references/artifact-contract.md +0 -66
  616. package/skills/i3-ui-prototype/references/content-template.md +0 -81
  617. package/skills/i3-ui-prototype/references/enterprise-admin.md +0 -44
  618. package/skills/i3-ui-prototype/references/entry-contract.md +0 -71
  619. package/skills/i3-ui-prototype/references/execution-evidence.md +0 -51
  620. package/skills/i3-ui-prototype/references/expert-adapter.md +0 -76
  621. package/skills/i3-ui-prototype/references/framework-contract.md +0 -76
  622. package/skills/i3-ui-prototype/references/generation-contract.md +0 -122
  623. package/skills/i3-ui-prototype/references/interaction-acceptance.md +0 -169
  624. package/skills/i3-ui-prototype/references/legacy-native.md +0 -58
  625. package/skills/i3-ui-prototype/references/optional-skills.md +0 -63
  626. package/skills/i3-ui-prototype/references/project-layout.md +0 -92
  627. package/skills/i3-ui-prototype/references/template-adapters.md +0 -63
  628. package/skills/i3-ui-prototype/references/workflow-contract.md +0 -77
  629. package/skills/i3-ui-prototype/scripts/adapters/easel-html.cjs +0 -30
  630. package/skills/i3-ui-prototype/scripts/adapters/legacy-html.cjs +0 -28
  631. package/skills/i3-ui-prototype/scripts/browser-workspace.cjs +0 -72
  632. package/skills/i3-ui-prototype/scripts/buddy-host.cjs +0 -40
  633. package/skills/i3-ui-prototype/scripts/check-design-provider.cjs +0 -9
  634. package/skills/i3-ui-prototype/scripts/check-prototype.cjs +0 -14
  635. package/skills/i3-ui-prototype/scripts/codebuddy-context.cjs +0 -92
  636. package/skills/i3-ui-prototype/scripts/codebuddy-hook.cjs +0 -298
  637. package/skills/i3-ui-prototype/scripts/codebuddy-ide-source.cjs +0 -69
  638. package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +0 -125
  639. package/skills/i3-ui-prototype/scripts/content-template.cjs +0 -98
  640. package/skills/i3-ui-prototype/scripts/design-provider-discovery.cjs +0 -128
  641. package/skills/i3-ui-prototype/scripts/enterprise-template.cjs +0 -104
  642. package/skills/i3-ui-prototype/scripts/execution-assertions.cjs +0 -43
  643. package/skills/i3-ui-prototype/scripts/execution-diagnostics.cjs +0 -91
  644. package/skills/i3-ui-prototype/scripts/execution-evidence.cjs +0 -177
  645. package/skills/i3-ui-prototype/scripts/execution-gates.cjs +0 -216
  646. package/skills/i3-ui-prototype/scripts/execution-policy.cjs +0 -62
  647. package/skills/i3-ui-prototype/scripts/execution-recovery.cjs +0 -58
  648. package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +0 -69
  649. package/skills/i3-ui-prototype/scripts/generation-assets.cjs +0 -18
  650. package/skills/i3-ui-prototype/scripts/generation-contract.cjs +0 -214
  651. package/skills/i3-ui-prototype/scripts/generation-evidence.cjs +0 -50
  652. package/skills/i3-ui-prototype/scripts/generation-replan.cjs +0 -34
  653. package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +0 -21
  654. package/skills/i3-ui-prototype/scripts/init-prototype.cjs +0 -8
  655. package/skills/i3-ui-prototype/scripts/manage-baseline.cjs +0 -11
  656. package/skills/i3-ui-prototype/scripts/native-browser.cjs +0 -785
  657. package/skills/i3-ui-prototype/scripts/native-build.cjs +0 -91
  658. package/skills/i3-ui-prototype/scripts/native-command.cjs +0 -35
  659. package/skills/i3-ui-prototype/scripts/native-delivery.cjs +0 -104
  660. package/skills/i3-ui-prototype/scripts/native-devtools.cjs +0 -92
  661. package/skills/i3-ui-prototype/scripts/native-files.cjs +0 -44
  662. package/skills/i3-ui-prototype/scripts/native-pilot-lib.cjs +0 -290
  663. package/skills/i3-ui-prototype/scripts/native-pilot.cjs +0 -59
  664. package/skills/i3-ui-prototype/scripts/native-tool-name.cjs +0 -5
  665. package/skills/i3-ui-prototype/scripts/native-tool-result.cjs +0 -14
  666. package/skills/i3-ui-prototype/scripts/optional-skill-install.cjs +0 -203
  667. package/skills/i3-ui-prototype/scripts/project-registry.cjs +0 -126
  668. package/skills/i3-ui-prototype/scripts/prototype-dependencies.cjs +0 -103
  669. package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +0 -94
  670. package/skills/i3-ui-prototype/scripts/prototype-lib.cjs +0 -277
  671. package/skills/i3-ui-prototype/scripts/prototype-locations.cjs +0 -69
  672. package/skills/i3-ui-prototype/scripts/ptc-callbacks.cjs +0 -131
  673. package/skills/i3-ui-prototype/scripts/sync-template.cjs +0 -19
  674. package/skills/i3-ui-prototype/scripts/template-adapters.cjs +0 -89
  675. package/skills/i3-ui-prototype/scripts/template-contract.cjs +0 -407
  676. package/skills/i3-ui-prototype/scripts/template-inventory.cjs +0 -78
  677. package/skills/i3-ui-prototype/scripts/validate-result.cjs +0 -117
@@ -1,41 +0,0 @@
1
- # 单次受控交接
2
-
3
- <!-- i3:zh-guide:start -->
4
- ## 中文使用说明
5
-
6
- 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
-
8
- 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
- <!-- i3:zh-guide:end -->
10
-
11
- 本辅助 v0.4.0 处理明确选用的现有 BRD/PRD/AD/TestCase 路径登记、只读手动交接及[同主题准确组合改选](selection-handoff.md)。本次源码修订尚未测试、尚未发布。显式运行,不是自动安装的 Hook,不提供企业跨阶段 auto,不接管原 Spec/Plan/Build。当前适配项目级 CodeBuddy CLI、Python 3.9+,其他宿主和项目外来源保留手动方式。
12
-
13
- ## 谁负责什么
14
-
15
- - 调用方根据用户本次实际选用意图、项目采用记录和准确主题准备请求;inputs 取直接上游、采用规约、共享契约、工程骨架及本次相关已有工作,不猜最高版本。原任务已经明确选用时直接承接,不要求使用人重复确认或填写全部资源路径。
16
- - 只读会话只开放 Read/Glob/Grep/Skill,原生加载唯一 SOP Skill 并完整读取必要来源;允许同次补读,不写稿、不提交 shell、不调用原 Spec、Plan 或 Build。原 Spec 仍用于另有明确委托的生成/修订任务。
17
- - 外层核真实回执、方法范围、文件快照和有界报告。漏读、失败、越界、报告矛盾或输入变化均停止登记,不扩权、循环重试、猜版本或改业务稿。
18
- - 只读预检通过且本次准确文档已明确选用,外层才以固定 argv、shell=false 执行一次 handoff.py select。初次选用或同路径复用无需候选预登记;不同既有选择走改选预览,不直接替换。
19
- - 写后只允许本次清单和必要原始字节历史变化。清单顶层仅 schemaVersion、scope、selected;保护其他主题、业务稿、Plan、任务及 scope/selected 内人工内容。旧 candidates/delivery 在已获准选用写入时随旧清单历史留存后移出当前文件,未知顶层字段先明确用途,不静默丢弃。
20
-
21
- ## 调用约定
22
-
23
- 调用方在项目外准备一次性 request.json:schemaVersion=1;operation 为 select 或 manual;work 为真实范围;manifest 为已有清单项目相对路径(manual 可省略);reference 含 role、path,主题文档另有 capabilityId、prdId;inputs 为本次明确采用的来源路径数组;task 为真实任务。首次选用前可在本次明确权限内初始化三字段清单,入口本身不自动初始化。
24
-
25
- ```bash
26
- python3 <资料根>/controlled_handoff.py --project-root <项目根> --request <调用方请求.json> --evidence-dir <全新项目外证据目录>
27
- ```
28
-
29
- 用户已明确选用本次准确文档时,调用方才加 --select-reference。没有选用委托则只返回原因、推荐及选项,不写清单;manual 始终零项目写入。选用不是业务批准或 Plan 开工批准,原方法停轮保持。
30
-
31
- 旧候选登记/撤回操作和 --register-candidate、--withdraw-candidate 已移除,不转换为选用授权。未选稿件只保留实际文件和会话路径,不维护待审队列,不为弃用某稿而改 JSON 或删文件。
32
-
33
- 同主题改选继续使用 selection-preview/selection-switch;只有真人确认准确预览,后续切换才加 --switch-selection,并经过新的只读预检及快照核对。该参数与 --select-reference 互不替代,预览不写项目。请求和结果位于项目外证据目录,不成为业务 JSON 的审批或任务状态。
34
-
35
- ## 问题交互
36
-
37
- 结果含 status、reason、recommendation、options 和真实登记尝试。缺来源、选用冲突、人工改稿取舍、拒绝或并发变化须保留现场,给原因及可选操作,不承诺宿主弹窗。methodIssues、工具真实失败、报告问题及文件变化分开;成功加载禁止方法属于方法越界,不能伪造为工具 failed 或 blocked。
38
-
39
- ## 保证范围
40
-
41
- 入口只约束由此进入的一次作业;原命令、其他会话和其他宿主不自动挂载该保护。工具限制依赖宿主执行,完整读取不证明理解或业务批准;瞬时文件快照不禁止用户以后修改,基础锁不保证跨编辑器事务。证据目录必须全新且在项目外;只有一次原生会话,无自动循环复测。旧验证记录只对旧候选流程有效,本修订未运行测试。
@@ -1,379 +0,0 @@
1
- #!/usr/bin/env python3
2
- """One CodeBuddy readonly preflight, receipt audit, then an explicitly selected reference.
3
-
4
- Explicit adapter, not a Hook or enterprise auto. Python standard library only.
5
- Request/evidence are caller records, never business approval or handoff JSON state.
6
- """
7
- import argparse
8
- import importlib.util
9
- import json
10
- import os
11
- from pathlib import Path
12
- import re
13
- import shutil
14
- import subprocess
15
- import sys
16
- import time
17
- import uuid
18
-
19
- sys.dont_write_bytecode = True
20
- RESOURCES = Path(__file__).resolve().parent
21
-
22
-
23
- def module(name, path):
24
- spec = importlib.util.spec_from_file_location(name, path)
25
- value = importlib.util.module_from_spec(spec)
26
- spec.loader.exec_module(value)
27
- return value
28
-
29
-
30
- native = module('controlled_native', RESOURCES/'verification/check_native_execution.py')
31
- handoff = module('controlled_json', RESOURCES/'handoff.py')
32
- selection = module('controlled_selection', RESOURCES/'selection_handoff.py')
33
-
34
-
35
- class Decision(ValueError):
36
- def __init__(self, code, message):
37
- super().__init__(message)
38
- self.code = code
39
-
40
-
41
- def save(path, value):
42
- path.write_text(json.dumps(value, ensure_ascii=False, indent=2)+'\n')
43
-
44
-
45
- def response(status, code, message, *, recommendation='核对所列原因,在新作业中重新只读预检。', evidence=None):
46
- return {'schemaVersion': 1, 'status': status,
47
- 'reason': {'code': code, 'message': message, 'evidence': evidence or []},
48
- 'recommendation': {'id': 'readonly-preflight', 'description': recommendation},
49
- 'options': [{'id': 'readonly-preflight', 'label': '重新只读预检'},
50
- {'id': 'manual-handoff', 'label': '手动传递明确路径'},
51
- {'id': 'stop', 'label': '暂停并保留现场'}],
52
- 'registration': {'attempted': False},
53
- 'businessApproved': False, 'implementationApproved': False, 'published': False}
54
-
55
-
56
- def decision_response(error):
57
- choices = {
58
- 'topic_choice_required': ('choose-topic', '明确 PBC 与 PRD 主题', '请明确本次 PBC 与 PRD 主题,沿用真实选定路径,不按最高版本猜测。'),
59
- 'work_conflict': ('choose-manifest', '确认本次工作与清单', '请确认本次工作的实际清单,保留其他工作与已有选择。'),
60
- 'resource_identity': ('choose-source', '确认采用来源', '请确认项目实际采用的资料来源;不切换到其他副本。'),
61
- 'skill_identity': ('choose-source', '确认采用来源', '请确认唯一实际安装的 SOP Skill,不自动借用其他安装。'),
62
- 'manifest_required': ('choose-handoff', '选择清单或手动交接', '建议先使用准确路径手动交接;需要清单时另行明确创建范围。'),
63
- 'selection_preview_required': ('create-preview', '先保存准确改选预览', '先只读核对准确组合与影响,再明确选择该预览;不直接替换。'),
64
- }
65
- choice = choices.get(getattr(error, 'code', ''))
66
- out = response('needs_confirmation' if choice else 'blocked', getattr(error, 'code', 'execution_unconfirmed'), str(error))
67
- if choice:
68
- out['recommendation'] = {'id': choice[0], 'description': choice[2]}
69
- out['options'].insert(0, {'id': choice[0], 'label': choice[1]})
70
- return out
71
-
72
-
73
- def local_file(root, raw):
74
- if not isinstance(raw, str) or not raw.strip():
75
- raise Decision('missing_path', '需要明确的实际文件路径,不能由模型猜测版本。')
76
- p = (root/Path(raw)).resolve()
77
- if not p.is_relative_to(root) or not p.is_file() or not p.read_text(encoding='utf-8').strip():
78
- raise Decision('unavailable_input', '文件须在本项目内实际可读且非空:'+raw)
79
- return str(p.relative_to(root))
80
-
81
-
82
- def installed_resource_root(project_root):
83
- """Resolve this installed Skill, never the toolkit's shared references."""
84
- root = Path(project_root).resolve()
85
- base = root/'.codebuddy'
86
- locator = base/'.i3-composer-agent.json'
87
- try:
88
- metadata = native.loads(locator.read_text(encoding='utf-8'))
89
- except (OSError, ValueError) as error:
90
- raise Decision('resource_identity', '项目安装清单不可读或损坏,不能改用另一副本。') from error
91
- if (not isinstance(metadata, dict) or metadata.get('name') != 'i3-composer-agent'
92
- or not metadata.get('version') or metadata.get('scope') != 'project'):
93
- raise Decision('resource_identity', '项目安装身份或作用域不一致,需先确认采用来源。')
94
- catalog = metadata.get('catalog', {})
95
- registered = catalog.get('skills', []) if isinstance(catalog, dict) else []
96
- assets = metadata.get('assets', [])
97
- aliases = ('i3-enterprise-sop', 'enterprise-sop')
98
- names = [name for name in aliases if (base/'skills'/name/'SKILL.md').is_file()]
99
- if (len(names) != 1 or not isinstance(registered, list)
100
- or [name for name in aliases if name in registered] != names):
101
- raise Decision('skill_identity', '需要唯一且已登记的项目 SOP Skill,不自动选择另一副本。')
102
- name = names[0]
103
- skill = base/'skills'/name
104
- entry = skill/'SKILL.md'
105
- resources = skill/'references'
106
- required = [f'skills/{name}/SKILL.md', f'skills/{name}/references/readme.md']
107
- if (not isinstance(assets, list) or not all(item in assets for item in required)
108
- or not resources.resolve().is_relative_to(base.resolve())
109
- or not entry.resolve().is_relative_to(base.resolve())
110
- or not (resources/'readme.md').is_file()):
111
- raise Decision('resource_identity', '本次 SOP Skill 的资料未完整登记或不可读;不借用共用 references。')
112
- try:
113
- text = entry.read_text(encoding='utf-8')
114
- identity = re.match(r'\A---\s*\n(.*?)\n---(?:\s*\n|\Z)', text, re.S)
115
- if not identity or not re.search(r'^name:\s*'+re.escape(name)+r'\s*$', identity[1], re.M):
116
- raise Decision('skill_identity', 'SOP Skill 正文身份与安装清单不一致。')
117
- if not (resources/'readme.md').read_text(encoding='utf-8').strip():
118
- raise Decision('resource_identity', '本次 SOP 资料入口为空,不能改用其他副本。')
119
- except OSError as error:
120
- raise Decision('resource_identity', '本次 SOP Skill 或资料入口不可读。') from error
121
- return resources.resolve()
122
-
123
-
124
- def prepare(project_root, request, *, resource_root=RESOURCES):
125
- root = Path(project_root).resolve(); resources = Path(resource_root).resolve()
126
- if isinstance(request, dict) and request.get('operation') in ('selection-preview', 'selection-switch'):
127
- proposal = selection.plan(root, request)
128
- base = dict(proposal['preflightRequest'])
129
- receipt = None
130
- if request['operation'] == 'selection-switch':
131
- preview = Path(request.get('preview', '')).resolve()
132
- if preview.is_relative_to(root) or not preview.is_file():
133
- raise Decision('selection_preview_required', '须先核对项目外保存的准确预览,再明确委托该次改选。')
134
- receipt = native.loads(preview.read_text())
135
- if (not isinstance(receipt, dict) or receipt.get('kind') != 'i3-sop-selection-preview'
136
- or not isinstance(receipt.get('plan'), dict)
137
- or not isinstance(receipt['plan'].get('preflightRequest'), dict)
138
- or not isinstance(receipt['plan']['preflightRequest'].get('inputs'), list)):
139
- raise Decision('selection_preview_required', '预览证据不符合契约,不能作为改选依据。')
140
- base['inputs'] += receipt.get('plan', {}).get('preflightRequest', {}).get('inputs', [])
141
- base['inputs'] += [str(resources/'selection-handoff.md')]
142
- prepared = prepare(root, base, resource_root=resources)
143
- prepared.update(request=request, selection=proposal, selectionReceipt=receipt)
144
- return prepared
145
- fields = {'schemaVersion', 'operation', 'work', 'manifest', 'reference', 'inputs', 'task'}
146
- if not isinstance(request, dict) or set(request)-fields or request.get('schemaVersion') != 1:
147
- raise Decision('request_contract', '调用方请求不符合单次交接契约。')
148
- if request.get('operation') not in ('select', 'manual'):
149
- raise Decision('explicit_enterprise_required', '本入口只接受明确选用登记或手动交接;旧候选登记及撤回操作已退出,不转换为选用授权。')
150
- if not root.is_dir() or not resources.is_relative_to(root):
151
- raise Decision('project_install_required', '本片仅支持项目内实际 CodeBuddy 安装;其他来源可继续手动交接。')
152
- if not isinstance(request.get('work'), str) or not request['work'].strip() or not isinstance(request.get('task'), str) or not request['task'].strip():
153
- raise Decision('missing_scope', '需要本次真实工作范围及任务说明。')
154
- ref = request.get('reference')
155
- if not isinstance(ref, dict) or set(ref)-{'role', 'path', 'capabilityId', 'prdId'} or ref.get('role') not in ('brd', 'prd', 'ad', 'testCase'):
156
- raise Decision('reference_contract', '本片只登记明确的 BRD/PRD/AD/TestCase 现稿。')
157
- if ref['role'] in handoff.TOPIC_ROLES and not all(isinstance(ref.get(k), str) and ref[k].strip() for k in ('capabilityId', 'prdId')):
158
- raise Decision('topic_choice_required', '尚未明确 PBC 与 PRD 主题,不能按文件版本号自动选择。')
159
- reference = handoff._reference(root, ref['role'], local_file(root, ref.get('path')), ref.get('capabilityId'), ref.get('prdId'))
160
- inputs = request.get('inputs', [])
161
- if not isinstance(inputs, list):
162
- raise Decision('input_contract', '本次采用的直接上游、规约和骨架须以路径列表交接。')
163
- paths = [local_file(root, p) for p in inputs]
164
- locator = root/'.codebuddy/.i3-composer-agent.json'
165
- if installed_resource_root(root) != resources:
166
- raise Decision('resource_identity', '项目安装身份或实际资料根不一致,需先确认采用来源。')
167
- locator_lines = [i for i, line in enumerate(locator.read_text().splitlines(), 1)
168
- if any(line.lstrip().startswith('"'+key+'":') for key in ('name', 'version', 'scope', 'catalog', 'skills'))
169
- or any('"'+value+'"' in line for value in (
170
- 'i3-enterprise-sop', 'enterprise-sop',
171
- 'skills/i3-enterprise-sop/SKILL.md', 'skills/i3-enterprise-sop/references/readme.md',
172
- 'skills/enterprise-sop/SKILL.md', 'skills/enterprise-sop/references/readme.md'))]
173
- selected = []
174
- manifest = request.get('manifest')
175
- if manifest:
176
- mf = handoff._manifest_path(root, manifest)
177
- local_file(root, str(mf))
178
- value = handoff._load(mf.read_bytes())
179
- if value['scope']['work'] != request['work']:
180
- raise Decision('work_conflict', '交接清单属于其他工作范围,不能自动替换。')
181
- context = value
182
- if request['operation'] == 'select':
183
- context = handoff._selected_only(value)
184
- selection_check = json.loads(json.dumps(context['selected']))
185
- handoff._assign(selection_check, reference)
186
- # A first selection may name a new topic; only existing sources in
187
- # that scope, plus global references, belong in the preflight.
188
- context['selected']['topics'] = [
189
- topic for topic in context['selected'].get('topics', [])
190
- if reference['role'] in handoff.TOPIC_ROLES
191
- and all(topic[key] == reference[key] for key in ('capabilityId', 'prdId'))]
192
- resolved = handoff._resolve(root, context, ref.get('capabilityId'), ref.get('prdId'), ())
193
- selected = [local_file(root, x['path']) for x in resolved['references']]
194
- manifest = str(mf.relative_to(root))
195
- elif request['operation'] == 'select':
196
- raise Decision('manifest_required', '选用登记需要现有明确清单;确认采用后可授权初始化,或继续手动交接。')
197
- skills = root/'.codebuddy/skills'
198
- names = sorted({name for name in ('i3-enterprise-sop', 'enterprise-sop') if (skills/name/'SKILL.md').is_file()})
199
- if len(names) != 1:
200
- raise Decision('skill_identity', '需要唯一且可读取的项目 SOP Skill,不能选择另一安装副本。')
201
- common = ['readme.md', 'stages.json', 'template-contracts.md', 'handoff-contract.md',
202
- 'lifecycle-contract.md', 'recovery-contract.md', 'controlled-handoff.md', 'verification/readme.md']
203
- required = [local_file(root, p) for p in ('CODEBUDDY.md', 'README.md') if (root/p).is_file()]
204
- required += [str(locator.relative_to(root))]+[local_file(root, str(resources/p)) for p in common]
205
- required += ([manifest] if manifest else [])+[reference['path']]+selected+paths
206
- required = list(dict.fromkeys(required))
207
- scope = {'profile': 'status', 'requiredReads': required, 'reportInputs': required, 'allowedWrites': [],
208
- 'requiredSkills': names, 'files': native.inventory(root), 'gateExpectations': {},
209
- 'tools': ['Read', 'Glob', 'Grep', 'Skill'], 'allowedShellCommands': [],
210
- 'requiredReadLines': {str(locator.relative_to(root)): locator_lines},
211
- 'forbiddenSkills': [p.name for p in skills.iterdir() if p.is_dir() and p.name not in names]}
212
- return {'root': str(root), 'resourceRoot': str(resources), 'request': request, 'reference': reference,
213
- 'manifest': manifest, 'scope': scope}
214
-
215
-
216
- def prompt_for(prepared):
217
- scope = prepared['scope']
218
- report = {'schemaVersion': 1, 'failedAttempts': [],
219
- 'inputChecks': [{'path': p, 'status': 'full'} for p in scope['reportInputs']], 'gates': []}
220
- return ('本次显式企业 SOP 单次只读预检。原始任务:'+prepared['request']['task']+'\n'
221
- '先实际调用 Skill '+scope['requiredSkills'][0]+'。只核现稿与真实来源,不生成或修订文档。\n'
222
- '本会话仅开放 Read/Glob/Grep/Skill;不要提交 Bash、写工具或其他 Skill,外层负责后续获准登记。\n'
223
- '逐项读完下列项目相对路径;允许在本次只读会话内补读漏项,不扩大来源、不选新版本。\n'
224
- +json.dumps(scope['requiredReads'], ensure_ascii=False)+'\n'
225
- '安装清单仅需下列行核 name/version/scope、catalog.skills 与当前 SOP Skill 的精确 assets;资料取该 Skill 的 references:'
226
- +json.dumps(scope['requiredReadLines'], ensure_ascii=False)+'\n'
227
- '如工具拒绝、失败、来源冲突,保留事实并说明原因、推荐、可选操作,不绕过或重复尝试。\n'
228
- '结束时附且仅附一个原生执行报告块。inputChecks 路径全集固定为上面列表,状态枚举仅 full/partial/not_read;'
229
- 'failedAttempts 按实际非成功尝试顺序列 tool/subject/status,status 仅 blocked/failed/unconfirmed;'
230
- '工具成功加载了本次禁止的方法属于方法越界,应在正文如实说明,不能伪造为工具 failed 或 blocked;'
231
- 'gates 固定为空数组,不创造业务或开工批准。全读成功无失败时的确切结构如下,否则按真实结果填写:\n'
232
- +native.START+'\n```json\n'+json.dumps(report, ensure_ascii=False)+'\n```\n'+native.END+'\n')
233
-
234
-
235
- def launch(prepared, evidence, *, timeout=240, max_turns=40):
236
- executable = shutil.which('codebuddy')
237
- if not executable:
238
- raise Decision('host_unavailable', '本机没有 CodeBuddy CLI;可使用手动路径,不自动安装依赖。')
239
- argv = [executable, '-p', '--verbose', '--output-format', 'stream-json', '--permission-mode', 'default',
240
- '--tools', 'Read,Glob,Grep,Skill', '--allowedTools', 'Read', 'Glob', 'Grep', 'Skill',
241
- '--disallowedTools', 'Bash,Write,Edit,PowerShell,NotebookEdit,Task,Agent',
242
- '--strict-mcp-config', '--mcp-config', '{"mcpServers":{}}',
243
- '--max-turns', str(max_turns), '--session-id', str(uuid.uuid4())]
244
- save(evidence/'invocation.json', {'argv': argv, 'cwd': prepared['root'], 'attempts': 1,
245
- 'modelOverridden': False, 'systemPromptOverridden': False})
246
- (evidence/'prompt.txt').write_text(prompt_for(prepared))
247
- started = time.monotonic(); timed_out = False
248
- with (evidence/'prompt.txt').open('rb') as inp, (evidence/'trace.jsonl').open('wb') as out, (evidence/'stderr.log').open('wb') as err:
249
- proc = subprocess.Popen(argv, cwd=prepared['root'], stdin=inp, stdout=out, stderr=err,
250
- env={**os.environ, 'CODEBUDDY_DISABLE_AUTO_MEMORY': '1', 'CODEBUDDY_CODE_DISABLE_AUTO_MEMORY': '1'})
251
- try:
252
- proc.wait(timeout=timeout)
253
- except subprocess.TimeoutExpired:
254
- timed_out = True; proc.terminate()
255
- try:
256
- proc.wait(timeout=10)
257
- except subprocess.TimeoutExpired:
258
- proc.kill(); proc.wait()
259
- process = {'exitCode': proc.returncode, 'timedOut': timed_out, 'elapsedSeconds': round(time.monotonic()-started, 2)}
260
- save(evidence/'process.json', process)
261
- events = [native.loads(line) for line in (evidence/'trace.jsonl').read_text().splitlines() if line.strip()]
262
- return events, process
263
-
264
-
265
- def finish(prepared, events, process, evidence, *, select_reference=False, switch=False):
266
- root = Path(prepared['root']); evidence = Path(evidence)
267
- audit = native.assess(root, prepared['scope'], events, process)
268
- save(evidence/'preflight-audit.json', audit)
269
- if not audit['passed']:
270
- out = response('blocked', 'preflight_failed', '实际读取、调用、报告或文件边界未通过;本次不启动登记。', evidence=['preflight-audit.json', 'trace.jsonl'])
271
- out['reason']['details'] = {
272
- 'incompleteInputs': [x['path'] for x in audit['inputs']['checks'] if x['status'] != 'full'],
273
- 'failedAttempts': [x for x in audit['attempts'] if x['status'] != 'succeeded'],
274
- 'methodIssues': audit['nativeMethods']['issues'],
275
- 'unexpectedChanges': audit['boundaries']['changedFiles'],
276
- 'reportIssues': audit['reportConsistency']['issues'],
277
- 'executionIssues': audit['toolDiscipline']['issues']}
278
- return out
279
- if native.inventory(root) != prepared['scope']['files']:
280
- return response('blocked', 'project_changed', '预检后项目发生变化,须回读当前内容,不能覆盖人工修改。')
281
- if 'selection' in prepared:
282
- return selection.finish(prepared, evidence, authorized=switch, response=response)
283
- if prepared['request']['operation'] == 'manual':
284
- out = response('manual_ready', 'readonly_handoff_ready', '手动交接路径已只读核对,未创建或更新 JSON。')
285
- out['references'] = {'primary': prepared['reference'], 'inputs': prepared['request'].get('inputs', [])}
286
- return out
287
- if not select_reference:
288
- out = response('needs_confirmation', 'selection_not_authorized', '只读预检通过,但尚无本次准确文档的明确选用委托。', recommendation='核对准确文档及配套后明确选用;已有明确委托可由调用方直接承接,不重复询问。')
289
- out['options'].insert(0, {'id': 'authorize-selection', 'label': '明确采用这份文档并登记'})
290
- out['recommendation']['id'] = 'authorize-selection'
291
- return out
292
- helper = Path(prepared['resourceRoot'])/'handoff.py'
293
- ref = prepared['reference']; request = prepared['request']
294
- mf = root/prepared['manifest']; before = mf.read_bytes(); previous = handoff._load(before)
295
- expected = handoff._selected_only(previous)
296
- handoff._assign(expected['selected'], ref)
297
- args = [sys.executable, str(helper), 'select', '--project-root', str(root), '--manifest', prepared['manifest'],
298
- '--work', request['work'], '--role', ref['role'], '--path', ref['path']]
299
- for key, flag in [('capabilityId', '--capability-id'), ('prdId', '--prd-id')]:
300
- if key in ref:
301
- args += [flag, ref[key]]
302
- record = {'attempted': False, 'helper': str(helper), 'argv': args, 'shell': False, 'attempts': 0}
303
- help_run = subprocess.run([sys.executable, str(helper), '--help'], capture_output=True, text=True, timeout=20)
304
- save(evidence/'helper-help.json', {'exitCode': help_run.returncode, 'stdout': help_run.stdout, 'stderr': help_run.stderr})
305
- if help_run.returncode or native.inventory(root) != prepared['scope']['files']:
306
- return response('blocked', 'helper_precheck_failed', '接口核对失败或项目已变化,不执行登记。')
307
- record.update(attempted=True, attempts=1)
308
- try:
309
- proc = subprocess.run(args, capture_output=True, text=True, timeout=20)
310
- record.update(exitCode=proc.returncode, stdout=proc.stdout, stderr=proc.stderr)
311
- result = native.loads(proc.stdout)
312
- record['result'] = result
313
- except (OSError, subprocess.TimeoutExpired, ValueError) as exc:
314
- record['error'] = str(exc); result = {}
315
- save(evidence/'registration.json', record)
316
- if record.get('exitCode') != 0 or result.get('ok') is not True:
317
- out = response('blocked', 'registration_failed', '登记失败或结果未确认;保留现稿、清单和锁,不重试或旁路写入。', evidence=['registration.json'])
318
- out['registration'] = record
319
- return out
320
- changed = native.inventory(root)
321
- delta = sorted(k for k in set(changed)|set(prepared['scope']['files']) if changed.get(k) != prepared['scope']['files'].get(k))
322
- allowed = [prepared['manifest']]
323
- history = result.get('history')
324
- historical = None
325
- if history:
326
- hp = handoff._manifest_path(root, history)
327
- allowed.append(str(hp.relative_to(root))); historical = hp.read_bytes()
328
- current = handoff._load(mf.read_bytes())
329
- expected_change = expected != previous
330
- passed = (current == expected and result.get('changed') is expected_change
331
- and set(delta) == (set(allowed) if expected_change else set())
332
- and (historical == before if expected_change else history is None))
333
- save(evidence/'readback.json', {'passed': passed, 'changedFiles': delta, 'manifest': current,
334
- 'historyMatchesPreviousBytes': historical == before if history else None,
335
- 'businessDocumentsChanged': False if passed else None})
336
- out = response('selected' if passed and expected_change else 'unchanged' if passed else 'blocked',
337
- 'reference_selected' if passed else 'postcheck_failed',
338
- '明确选用的引用已登记并回读;业务稿、其他主题和原Plan保持,计划批准另行处理。' if passed else '登记后差量不符合约定,保留实际现场交人工核对,不自动回滚。',
339
- evidence=['preflight-audit.json', 'registration.json', 'readback.json'])
340
- out['registration'] = record
341
- return out
342
-
343
-
344
- def run(project_root, request, evidence_dir, *, select_reference=False, switch=False, timeout=240, max_turns=40):
345
- root = Path(project_root).resolve(); evidence = Path(evidence_dir).resolve()
346
- if evidence.is_relative_to(root) or evidence.exists():
347
- raise ValueError('evidence directory must be new and outside the project; never overwrite a prior run')
348
- evidence.mkdir(parents=True)
349
- save(evidence/'request.json', request)
350
- try:
351
- prepared = prepare(root, request)
352
- save(evidence/'before.json', prepared)
353
- events, process = launch(prepared, evidence, timeout=timeout, max_turns=max_turns)
354
- out = finish(prepared, events, process, evidence, select_reference=select_reference, switch=switch)
355
- except (OSError, ValueError, KeyError, TypeError, subprocess.SubprocessError) as exc:
356
- out = decision_response(exc)
357
- out['reason']['evidence'].append('request.json')
358
- save(evidence/'result.json', out)
359
- return out
360
-
361
-
362
- def main():
363
- parser = argparse.ArgumentParser(description=__doc__)
364
- parser.add_argument('--project-root', required=True)
365
- parser.add_argument('--request', required=True, help='caller-prepared explicit task/paths, not approval state')
366
- parser.add_argument('--evidence-dir', required=True)
367
- parser.add_argument('--select-reference', action='store_true', help='only with actual user selection of this exact document; not candidate-registration permission')
368
- parser.add_argument('--switch-selection', action='store_true', help='only with actual delegation for the exact saved selection preview')
369
- parser.add_argument('--timeout', type=int, default=240)
370
- parser.add_argument('--max-turns', type=int, default=40)
371
- args = parser.parse_args()
372
- out = run(args.project_root, native.loads(Path(args.request).read_text()), args.evidence_dir,
373
- select_reference=args.select_reference, switch=args.switch_selection, timeout=args.timeout, max_turns=args.max_turns)
374
- print(json.dumps(out, ensure_ascii=False, indent=2))
375
- return 0 if out['status'] in ('selected', 'unchanged', 'manual_ready') else 2
376
-
377
-
378
- if __name__ == '__main__':
379
- sys.exit(main())
@@ -1,200 +0,0 @@
1
- # 工程目录规范的采用与原 Plan/Build 交接
2
-
3
- <!-- i3:zh-guide:start -->
4
- ## 中文使用说明
5
-
6
- 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
-
8
- 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
- <!-- i3:zh-guide:end -->
10
-
11
- 版本:1.0.0。配套:[工程目录规范](directory-standard.md)。适用于明确选择该规范的新项目或现有项目,不随安装自动启用。§1—5 以企业 AD 交接为例;标准项目沿用自己的 SPEC 或等效规格,不补企业文档。存量接入、选择性更新和人工保护见 §6;入口与资源索引见 [README](readme.md)。
12
-
13
- ## 1. 采用时明确什么
14
-
15
- 先确定真实业务项目根、当前能力/需求主题、所选 AD 及已有代码位置。项目已有工程规范时优先复用;本资源补充目录职责或映射,不重选技术栈,也不把维护 i3 Skill 的仓库当成业务工程根。
16
-
17
- 目录规范可以在 AD 准备时选定,无需另外调用一个工程骨架命令。技术栈、工程内部布局及构建命令仍由公共技术规约、实际配置和 AD 明确。目录规范能够先采用;尚未确定的技术决策只限制依赖它的设计或实施任务。
18
-
19
- 将采用结果写入项目已有工程说明;没有合适位置时,可使用 docs/engineering/engineering-layout.md,或直接写在 AD 的相应章节。以下是填写要点,实际路径和状态据实填写,不为每个项目重复建立全部文档:
20
-
21
- | 项目 | 填写内容 |
22
- | --- | --- |
23
- | 采用来源 | 实际采用规范的真实可读路径及正文版本(本资源为 1.0.0);使用项目副本时保留其来源、明确选用范围及本项目修改说明 |
24
- | 组织方式 | pbc-composite 或 agent-standalone;选择理由与项目根 |
25
- | 实际工程映射 | 工程稳定标识、类别、实际根、已有/拟建、业务模块、共享维护方与消费者 |
26
- | 配套依据 | 当前 AD 的身份/版本/路径、公共技术规约、必要契约及已有代码 |
27
- | 目录例外 | 现有结构或框架惯例与规范示例的差异、理由、影响及明确采用情况 |
28
- | 验证要求 | 本次文件落点核对及实际构建/测试方法;尚无代码时写待实施,不预填通过 |
29
-
30
- 使用项目已采用副本后,以该副本为本次输入;发行资源更新不覆盖它。原路径失效、版本含糊或映射冲突时先说明准确缺项,不静默改读另一个来源。
31
-
32
- ## 2. AD 如何引用
33
-
34
- 沿用现有 AD 模板的栏目,不修改模板或原 Spec:
35
-
36
- | 现有 AD 位置 | 本次承接内容 |
37
- | --- | --- |
38
- | §0.3 公共技术规约、契约与骨架的本次采用 | 引用目录规范或项目采用说明的准确路径/版本,说明适用工程 |
39
- | §9.2 项目目录与维护位置 | 工程根、模块/源码、配置、测试、契约和运行装配的真实或拟建路径及 owner |
40
- | §9.6 工程骨架采用与落地 | 区分现有工程事实与拟建内容;落实当前技术选择、构建/启动/验证/恢复条件及依赖缺口 |
41
-
42
- 其他版本的 AD 使用同义栏目。AD 的整体技术架构图、功能架构图、数据实体关系及必要详细设计仍完整保留,不能以目录规范替代。
43
-
44
- 目录标准是实际可读的规范输入,不能据此把“可运行代码模板已取得”或“工程已生成”填为成功。未采用代码框架模板时可据实写“目录规范已采用;工程拟建;未采用代码框架模板”;语言/框架代码由后续获准任务实现。已有代码则引用真实代码/配置。若本项目另行要求复用特定代码模板,仍需取得它,不由本规范替代。
45
-
46
- 一个 PBC 多份主题 PRD 的各自 AD 引用同一项目规范,并分别映射相关模块;不因 PRD 数量或版本变化重复创建工程。
47
-
48
- ## 3. 交给原 Plan 的方式
49
-
50
- 原 Plan 读取 SPEC.md 或等效规格。选定 AD 与其准确 PRD、公共技术规约、契约及目录采用说明共同提供本次等效规格;原 SPEC 六项内容须足够明确。独立 TestCase 为可选输入,已有且适用就引用;原型按需,可与 AD 并行。
51
-
52
- 手动方式直接提供上述实际路径。已有三字段 JSON 时,可让本次任务先解析 selected 中当前主题的 engineeringSkeleton 及配套路径,再实际读取正文;选择路径不等于读取成功、认可或实施许可。无需为了目录规范新建 JSON,也不把工程说明写入新的顶层字段。
53
-
54
- 先按当前主题读采用说明和必要规范条款,再读该主题 AD/PRD、所涉代码和共享消费者;不一次加载全部历史、所有主题或所有工程源码。跨主题共用约束及直接依赖仍须读齐。
55
-
56
- 在项目根使用以下提示;替换方括号中的实际路径。它是原命令的明确任务上下文,不是新增命令参数:
57
-
58
- ```text
59
- /i3-plan
60
- 为本次已明确的需求范围制定计划:
61
- AD:[实际 AD 路径];准确 PRD:[实际 PRD 路径]。
62
- 公共技术规约:[已采用规范路径];工程目录采用说明:[实际路径]。
63
- 必要共享契约及已有代码:[实际路径;没有则说明不适用]。
64
- 请实际读取这些来源;缺项或冲突先列出,不猜技术版本。
65
- 按 AD 的工程/模块映射拆任务,明确新增或修改文件相对项目根的位置、
66
- 工程负责人/共享依赖、验收条件及实际验证方法。
67
- 将源码、配置和测试放入已采用位置;已有结构的例外明确写在计划里。
68
- 保留原 Plan 的默认产物、唯一任务目标和审阅停点,不改业务稿。
69
- ```
70
-
71
- 计划沿用 tasks/plan.md 和原方法确定的唯一任务目标;默认文件目标为 tasks/todo.md,采用其他 tracker 时不复制竞争状态。不同未完成工作不覆盖。工程落点不是把模块名写入任务即可:任务的 Files likely touched 应包含预计路径,验收条件要核对真实新增/修改文件;实施中合理新增文件也须按映射核对。
72
-
73
- ## 4. 原 Build 如何执行
74
-
75
- 计划满足原有认可及执行条件后,原 Build 从计划取任务。任务必须指向当前 AD、目录采用说明和所需规范,使执行时能实际回读,而非只相信计划摘要或 JSON 的存在。
76
-
77
- ```text
78
- /i3-build
79
- 执行当前计划的下一项获准任务。
80
- 先回读该任务引用的 AD、目录采用说明及所需规范/代码。
81
- 按已采用工程根和模块路径实现;出现目录冲突先说明位置、原因和建议,
82
- 不自行另建同名工程或把源码放进 spec、tasks、文档模板目录。
83
- 完成原有验证后,对照任务及目录映射列出实际变更文件和落点差异。
84
- 业务稿、人工代码和已完成任务按原规则保留。
85
- ```
86
-
87
- 原 /i3-build auto 使用同一份获准 Plan 和目录映射,保持原有 spec/ 识别、Git、计划认可、TDD/构建及逐任务执行条件。它不会因为本资源存在而自动读取规范;需要时在本次任务上下文明确引用。企业跨阶段 auto/调度不在本资源范围。
88
-
89
- 规范期望目录约束被设计、任务和验收共同落实,不提供拦截一切写入的 Hook。未实际读取、任务没有落点或实际文件越界时,不声称目录验收通过。
90
-
91
- ## 5. Build 后如何核目录
92
-
93
- 在实际业务项目中核对本次任务新增、修改和必要删除的文件。可用 git status --short、针对任务的 git diff/文件清单及实际配置获取事实;不把其他人的未提交文件混作本次结果,也不只看空目录树。
94
-
95
- | 核对项 | 通过条件 |
96
- | --- | --- |
97
- | 来源与范围 | 当前 AD、目录采用说明及任务可回读,采用版本和实际工程根一致 |
98
- | 文件落点 | 每个变更文件都能映射到工程/模块、共用资产或原有管理文档位置;例外有明确依据 |
99
- | 工程边界 | 同一工程标识未重复创建,未按每份 PRD 再造底座;没有未经采用的顶层代码目录 |
100
- | 共享责任 | 契约、共用代码及跨工程测试各有实际维护位置与相关消费者,未复制其他主题的共享权威 |
101
- | 构建与测试 | 实际配置的源码、资源、测试和产物路径与采用映射一致;完成本次要求的原有验证 |
102
- | 人工内容 | 既有目录、项目自改规范、人工代码和已完成任务保留;无整仓覆盖或未经说明的移动/删除 |
103
-
104
- 结果沿用原工程验证记录或本次任务总结,至少列出“文件/实际位置/采用依据/差异处理/验证结果”。不另建任务完成率或审批状态文件。构建产物、依赖、缓存按实际工具配置和忽略规则处理,不因出现 dist、target、node_modules 等就判源码越界。
105
-
106
- 落点有偏差时先标注准确位置、影响、推荐和可选处理(按规范调整,或明确采用例外后同步 AD/Plan),不自动移动人工代码或改业务稿。目录核对通过与构建、业务测试、独立审查、Ship 就绪及发布分别记录。
107
-
108
- ## 6. 现有工程与后续变更
109
-
110
- ### 6.1 先确定本次范围与真实现状
111
-
112
- 仅在本次任务明确采用或项目已采用指引指定时读取本资源。标准项目沿用自己的 SPEC 或等效规格,目录采用不要求补企业 BRD/PRD/AD;§2—5 的 AD 交接是企业 SOP 用法,标准项目将相同目录依据交给自己的规格与原 Plan。安装、目录存在、PRD 或 JSON 字样不激活企业 SOP。
113
-
114
- 先确定实际业务项目根、本次需求/工程范围、已选规格、当前采用说明和唯一任务目标,再只读检查相关工程入口、源码/测试、构建/运行配置、项目自改说明及必要共享消费者。按当前主题加载必要来源和直接依赖,不一次读全部历史或所有工程;不猜语言/框架版本,不因缺项重选技术栈。
115
-
116
- ### 6.2 把现有目录映射到逻辑职责
117
-
118
- | 逻辑职责 | 现有位置示例 | 映射与保护要求 |
119
- | --- | --- | --- |
120
- | frontend | web/、apps/console/ | 保留前端工程标识、框架入口和内部结构;不另外生成同名 frontend 工程 |
121
- | backend | services/asset-api/、server/ | 映射真实源码/测试/配置位置,不再建 backend/asset-api/ 的第二套底座 |
122
- | agents | 项目根“.”、已有服务内模块、agents/ 下工程 | 独立 Agent 可沿用根布局;服务内组件映射真实子路径,不强行拆工程 |
123
- | jobs | worker/、jobs/、现有后端任务模块 | 按触发与执行职责映射;目录名不决定进程或部署边界 |
124
- | 共用资产与配置 | 既有契约、shared、测试、CI/运行装配位置 | 保留实际维护位置、owner 和消费者;不按每份 PRD 复制共享权威 |
125
-
126
- 采用结果复用项目现有工程说明,或写入当前规格;没有合适载体时才按需使用 docs/engineering/engineering-layout.md。至少列出来源/版本、项目根与组织方式、工程稳定标识及类别、实际根、已有/拟建、源码/配置/测试位置、维护方/消费者、例外与理由、真实验证命令和未定项。不要求每个项目重复建全部文档。
127
-
128
- 在只读接入阶段,输出映射建议、缺项和影响,不创建目录、不写采用说明、不改业务稿或 JSON。人明确采用后才更新获准的工程说明;规格变化可由人修改或按原 Spec 形成候审稿,I5 不自动修业务稿。缺失事实只限制依赖它的任务,不能无依据阻断其他范围。
129
-
130
- 已有不同工作的未完计划时,指出准确冲突并保留 tasks/plan.md、todo 或已有 tracker;不覆盖、批量关闭或另建竞争任务库。接入规范不清除旧任务、未提交改动或原始失败记录。
131
-
132
- ### 6.3 比较新资源,再明确选择
133
-
134
- 实际读取项目当前采用说明/副本,以及本次明确比较的新资源;先展示准确路径、正文版本、条款差异、项目例外和受影响工程/规格/未完任务。如有可读的旧采用来源,可辅助判断;没有时列明无法确定之处,不猜哪些段落属于用户修改,不建立新的基线库或自动合并器。
135
-
136
- | 选择 | 可写范围 | 后续依据 |
137
- | --- | --- | --- |
138
- | 保留当前 | 项目采用资料、业务稿、JSON、代码和历史均不写;在本次答复说明选择即可 | 继续读取原采用文件,不因新资源可读而换源 |
139
- | 部分采用 | 仅更新明确选中的条款及必要采用说明;保留其余本地约定和人工段落 | 标明选用来源/版本、选中条款及本地例外,不宣称整套新版都已采用 |
140
- | 整体采用 | 明确替换的是哪些规范内容,并逐项说明人工差异如何保留或处理;变更前保留原文件历史 | 新项目采用资料成为依据;整体采用不等于整文件/整仓覆盖或源码迁移 |
141
-
142
- 人已明确选择且范围充分时继续完成该范围,不重复索要同一确认。涉及未明确的冲突,先给出准确位置、影响、推荐和可选操作:保留原约定、采用具体条款,或先人工修改。审查只标注问题,保留人工修改空间;不以审查意见自动修业务稿。
143
-
144
- 仅改获准位置,保留人工代码、项目副本、其他主题及已完成任务。无法区分段落或文件归属时先列冲突,不把整个文件当成可替换生成物。选定新规则与现有规格/任务不一致时,先处理受影响范围,再实施依赖它的任务;采用说明更新不自动扩大已有 Build/auto 授权。
145
-
146
- ### 6.4 版本和引用如何传递
147
-
148
- 资源版本、项目采用内容和已实现工程分别核对。1.0.0 是资源内容版本,不使项目规格、工程代码或软件发行版自动升级。项目采用内容沿用现有文档版本/变更记录;版本从实际文件名与正文回读,不新增强制版本字段、成功锁或另一套状态库。
149
-
150
- 手动方式直接交入当前规格、已采用说明及必要技术规范/契约/代码的实际路径。已有业务 JSON 顶层仍只有 schemaVersion、scope、selected,需要时沿用 selected.topics 中该主题 engineeringSkeleton 的字符串路径。没有 JSON 可以继续,不为本资源强制新建清单。
151
-
152
- 采用文件路径未变时,JSON 不为记录版本重复写入;同路径人工改稿后重新读当前正文并核对任务,不要求保持旧 SHA256,不凭旧报告沿用认可。路径确需改选时,在人明确采用后沿用现有交接工具的准确预览/确认规则,只改相关主题引用并保留历史;其他 selected 和人工内容保留。不增加更新、迁移、候选、交付或审批字段。
153
-
154
- 已选来源不可读或版本含糊时,展示缺项、影响和可选操作,不静默改读全局/另一路径或最高版本。原采用路径若直接指向已被升级替换的安装文件、旧版已不可读,就不能声称“仍使用旧版”;由人选择采用当前真实版本,或从实际可读历史恢复项目副本,不伪造旧内容。
155
-
156
- 安装目录和项目采用副本分开。曾直接修改安装文件时,先识别并另存为项目资料,再处理升级。本规则保护采用作业中的项目自改内容,不证明原安装器已保护所有安装目录修改;安装/分发行为另按实际合同验证。
157
-
158
- ### 6.5 需要物理迁移时交给原 Plan/Build
159
-
160
- 规范更新默认不移动代码。只有真实工程、维护、构建或部署需求才提出迁移,不能仅因旧路径与示例不同就改名。目录迁移方案复用已有规格/工程说明与原 Plan,不另建迁移登记库。
161
-
162
- 迁移任务须明确旧路径→新路径、实际涉及文件、共同消费者、导入引用、源码/测试/资源及构建/运行/CI/部署配置、人工与未提交内容保护、验证方法和失败恢复范围。企业项目按所选 AD 衔接;标准项目用本次规格承接。未知影响不能填为已核对。
163
-
164
- 原 Plan 实际读取后,将文件路径、依赖、验收和恢复写进 tasks/plan.md 与原方法确定的唯一任务目标,保留计划认可停点。获准原 Build 回读任务所需来源,只处理明确清单,核实际新增/修改/必要删除文件和共享消费者;不以采用规范为由整仓复制、整目录覆盖或递归删除。
165
-
166
- 完成本次要求的程序测试、构建和消费者回归,按 §5 核真实落点。只检查过 CI/部署配置而未实际运行时分别说明,不能报为运行通过。迁移完成不清除旧完成任务,以新任务记录本次变化;撤销未实施需求不自动删工程,功能退役另有明确移除/迁移/回归任务。
167
-
168
- 恢复复用项目已有 Git/备份和明确文件范围,保留本地及其他人的修改,不执行整仓 reset 或覆盖人工内容来还原。计划认可、单任务实施、目录验收、业务审查和发布按各自原条件执行,不由 JSON 或目录存在推导。
169
-
170
- ### 6.6 可复制的任务说明
171
-
172
- 以下是自然语言任务或原命令的任务上下文,不是新参数。已采用指引能准确定位时先按指引查找并展示来源,只向用户补问缺少的选择或事实。
173
-
174
- ```text
175
- 先只读检查当前项目已采用的工程说明、当前规格、相关代码/构建配置和未完计划。
176
- 按现状列出工程类别、真实根、源码/测试位置、维护方与必要例外。
177
- 优先保留已有目录和人工内容,不生成目录、不搬代码、不改业务稿或 JSON。
178
- 给出映射建议、准确缺项、推荐和可选操作,交我决定。
179
- ```
180
-
181
- ```text
182
- 比较项目当前采用说明与本次明确的新目录资源;先展示实际路径和正文版本。
183
- 按项目已采用指引查找,不能准确定位的来源再向我确认,不自动选最高版本。
184
- 列出条款差异及对当前规格/未完任务的影响,保留人工约定。
185
- 我尚未选择时只给建议;我明确选择后仅更新获准条款并展示差量、保留原文件历史。
186
- 未采用的条款不写回,目录不迁移,业务稿和代码不自动修改。
187
- ```
188
-
189
- ```text
190
- /i3-plan
191
- 依据当前明确采用的工程说明和本次规格,规划已明确的目录调整:
192
- 旧位置:[路径] → 新位置:[路径];范围:[文件/模块]。
193
- 先实际读取所选来源、代码、引用和相关配置;按需读直接消费者。
194
- 每项任务写明文件路径、人工内容保护、测试/构建和失败恢复方法。
195
- 保留原计划/唯一任务目标和已完成事实;本轮只规划,等待原有认可后再 Build。
196
- ```
197
-
198
- 获准后使用原 /i3-build 执行当前明确任务,要求回读采用依据、核实际文件与配置落点,并如实列出验证和未通过项。原 /i3-build auto 的原有条件保持,不把上述迁移任务扩展为企业跨阶段调度。
199
-
200
- 本节提供作业规则,不能代替真实调用/读取、任务认可、文件保护和迁移结果的证据;没有运行的步骤保留待验证,原始失败和人工处理意见不转写为通过。