@givolt/i3-composer-agent 3.0.0 → 3.1.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 (494) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-ui-demo.md +21 -0
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/.claude-plugin/plugin.json +1 -1
  5. package/.codex-plugin/plugin.json +2 -2
  6. package/.gemini/commands/i3-ui-demo.toml +21 -0
  7. package/README.md +10 -8
  8. package/bin/i3-composer-agent.cjs +38 -44
  9. package/bin/install.cjs +15 -3
  10. package/bin/native-layout.cjs +2 -1
  11. package/bin/native-migration.cjs +19 -2
  12. package/bin/retired-sop-fingerprints.json +213 -0
  13. package/bin/wizard.cjs +7 -18
  14. package/commands/i3-ui-demo.toml +21 -0
  15. package/docs/codebuddy-setup.md +20 -23
  16. package/docs/codex-setup.md +2 -2
  17. package/docs/comparison.md +131 -0
  18. package/docs/developer-onboarding.md +143 -0
  19. package/docs/opencode-setup.md +1 -1
  20. package/docs/other-hosts.md +2 -2
  21. package/docs/skill-anatomy.md +211 -0
  22. package/docs/upstream-repository/AGENTS.md +92 -0
  23. package/docs/upstream-repository/CLAUDE.md +60 -0
  24. package/docs/upstream-repository/CONTRIBUTING.md +137 -0
  25. package/docs/upstream-repository/README.md +8 -0
  26. package/docs/upstream-repository/gitattributes.txt +1 -0
  27. package/docs/upstream-repository/gitignore.txt +10 -0
  28. package/docs/upstream-repository/manifest.json +71 -0
  29. package/docs/upstream-repository/opencode-skills.link +1 -0
  30. package/docs/upstream-repository/skill-gap.yml +80 -0
  31. package/docs/upstream-repository/skills-contributing.md +15 -0
  32. package/docs/upstream-repository/test-plugin-install.yml +167 -0
  33. package/docs/workbuddy-setup.md +7 -10
  34. package/evals/cases/i3-ui-demo.json +98 -0
  35. package/evals/fixtures/i3-ui-demo/asset-management.md +25 -0
  36. package/evals/zh-CN/cases/i3-ui-demo.json +103 -0
  37. package/hooks/PROTOTYPE.md +16 -8
  38. package/hooks/i3-prototype.cjs +4 -10
  39. package/hooks/manage.cjs +30 -31
  40. package/package.json +42 -5
  41. package/plugin.json +1 -1
  42. package/scripts/ui-demo-dependencies-test.js +228 -0
  43. package/scripts/ui-demo-mcp-test.js +95 -0
  44. package/scripts/ui-demo-test.js +170 -0
  45. package/scripts/ui-prototype-execution-runtime-test.js +1 -1
  46. package/scripts/ui-prototype-native-test.js +25 -3
  47. package/skills/i3-enterprise-sop/SKILL.md +15 -15
  48. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/ad/assets-manifest.json +9 -29
  49. package/{references/enterprise-sop-resources/ad/README.md → skills/i3-enterprise-sop/references/ad/readme.md} +4 -4
  50. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/assets-manifest.json +64 -33
  51. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/brd/assets-manifest.json +9 -20
  52. package/{references/enterprise-sop-resources/brd/README.md → skills/i3-enterprise-sop/references/brd/readme.md} +4 -4
  53. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/codebuddy-project-guide.md +1 -1
  54. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/controlled_handoff.py +52 -7
  55. package/{references/engineering-skeleton-resources → skills/i3-enterprise-sop/references/engineering-skeleton}/adoption.md +1 -1
  56. package/{references/engineering-skeleton-resources/README.md → skills/i3-enterprise-sop/references/engineering-skeleton/readme.md} +2 -2
  57. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/handoff-contract.md +2 -2
  58. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/lifecycle-contract.md +1 -1
  59. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/plan-handoff.md +3 -3
  60. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/assets-manifest.json +20 -26
  61. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/prompts/01-generate.md +1 -1
  62. package/{references/enterprise-sop-resources/prd/README.md → skills/i3-enterprise-sop/references/prd/readme.md} +4 -4
  63. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/template-contracts.md +3 -3
  64. package/{references/enterprise-sop-resources/prd/templates/AD.md → skills/i3-enterprise-sop/references/prd/templates/ad.md} +1 -1
  65. package/{references/enterprise-sop-resources/prd/templates/PRD.md → skills/i3-enterprise-sop/references/prd/templates/prd.md} +1 -1
  66. package/{references/enterprise-sop-resources/README.md → skills/i3-enterprise-sop/references/readme.md} +14 -12
  67. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/recovery-contract.md +2 -2
  68. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/stages.json +16 -7
  69. package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +84 -0
  70. package/{references/enterprise-sop-resources/technical-baseline/baselines//344/274/201/344/270/232/345/272/224/347/224/250-/346/212/200/346/234/257/350/247/204/347/272/246_v0.0.2.md → skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md} +122 -37
  71. package/{references/enterprise-sop-resources/technical-baseline/README.md → skills/i3-enterprise-sop/references/technical-baseline/readme.md} +8 -8
  72. package/{references/enterprise-sop-resources/technical-baseline/templates/TECHNICAL-BASELINE.md → skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md} +1 -1
  73. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/template-contracts.md +7 -7
  74. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/testcase/assets-manifest.json +9 -29
  75. package/{references/enterprise-sop-resources/testcase/README.md → skills/i3-enterprise-sop/references/testcase/readme.md} +4 -4
  76. package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/verification/review_handoff.py +3 -3
  77. package/skills/i3-ui-demo/SKILL.md +234 -0
  78. package/skills/i3-ui-demo/assets/antdv-build/package-lock.json +3363 -0
  79. package/skills/i3-ui-demo/assets/antdv-build/package.json +28 -0
  80. package/skills/i3-ui-demo/assets/design-source.json +11 -0
  81. package/skills/i3-ui-demo/assets/host-targets.json +739 -0
  82. package/skills/i3-ui-demo/assets/official-files.json +76 -0
  83. package/skills/i3-ui-demo/assets/starter/index.html +11 -0
  84. package/skills/i3-ui-demo/assets/starter/package-lock.json +2299 -0
  85. package/skills/i3-ui-demo/assets/starter/package.json +28 -0
  86. package/skills/i3-ui-demo/assets/starter/provenance.json +14 -0
  87. package/skills/i3-ui-demo/assets/starter/public/prototype-config.json +22 -0
  88. package/skills/i3-ui-demo/assets/starter/src/App.vue +64 -0
  89. package/skills/i3-ui-demo/assets/starter/src/PrototypeShell.vue +59 -0
  90. package/skills/i3-ui-demo/assets/starter/src/config.ts +23 -0
  91. package/skills/i3-ui-demo/assets/starter/src/domain/presentation.ts +30 -0
  92. package/skills/i3-ui-demo/assets/starter/src/domain/theme.ts +25 -0
  93. package/skills/i3-ui-demo/assets/starter/src/main.ts +18 -0
  94. package/skills/i3-ui-demo/assets/starter/src/style.css +26 -0
  95. package/skills/i3-ui-demo/assets/starter/tests/presentation.test.ts +23 -0
  96. package/skills/i3-ui-demo/assets/starter/tests/theme.test.ts +26 -0
  97. package/skills/i3-ui-demo/assets/starter/tsconfig.json +15 -0
  98. package/skills/i3-ui-demo/assets/starter/vite.config.ts +4 -0
  99. package/skills/i3-ui-demo/assets/templates/enterprise-admin/capability-definition.json +1395 -0
  100. package/skills/i3-ui-demo/assets/templates/enterprise-admin/component-inventory.json +707 -0
  101. package/skills/i3-ui-demo/assets/templates/enterprise-admin/design-system.md +26 -0
  102. package/skills/i3-ui-demo/assets/templates/enterprise-admin/generation.json +49 -0
  103. package/skills/i3-ui-demo/assets/templates/enterprise-admin/index.html +534 -0
  104. package/skills/i3-ui-demo/assets/templates/enterprise-admin/manifest.json +9 -0
  105. package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline-build.json +265 -0
  106. package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline.js +8888 -0
  107. package/skills/i3-ui-demo/assets/templates/enterprise-admin/origin.json +344 -0
  108. package/skills/i3-ui-demo/assets/templates/enterprise-admin/preset.json +928 -0
  109. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/app.js +22 -0
  110. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/empty.svg +1 -0
  111. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/reference-styles.json +1 -0
  112. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-403.svg +1 -0
  113. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-404.svg +1 -0
  114. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets-manifest.json +334 -0
  115. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/baseline.json +173 -0
  116. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/conversion.md +30 -0
  117. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/credits.md +17 -0
  118. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/design-tokens.json +881 -0
  119. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/index.html +28 -0
  120. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +9 -0
  121. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +22 -0
  122. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +21 -0
  123. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/package.json +12 -0
  124. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/browser-routes.json +298 -0
  125. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/coverage.json +180 -0
  126. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/integrity.json +13 -0
  127. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/keyboard.json +11 -0
  128. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/responsive.json +125 -0
  129. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/review.md +51 -0
  130. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/rules.log +150 -0
  131. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
  132. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
  133. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
  134. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
  135. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
  136. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
  137. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
  138. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
  139. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/selection.json +9 -0
  140. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +342 -0
  141. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/readme.md +73 -0
  142. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/reference.md +59 -0
  143. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/routes.json +178 -0
  144. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/controls.js +99 -0
  145. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dialogs.js +54 -0
  146. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dom.js +264 -0
  147. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/forms.js +47 -0
  148. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/icons.js +41 -0
  149. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/layout.js +47 -0
  150. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/router.js +63 -0
  151. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/state.js +90 -0
  152. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/table.js +41 -0
  153. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/widgets.js +8 -0
  154. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +3 -0
  155. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +36 -0
  156. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +2 -0
  157. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +51 -0
  158. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +3 -0
  159. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +48 -0
  160. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +2 -0
  161. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +6 -0
  162. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +2 -0
  163. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +13 -0
  164. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/data.js +24 -0
  165. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/domain.js +32 -0
  166. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/registry.js +25 -0
  167. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/store.js +85 -0
  168. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +2 -0
  169. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +17 -0
  170. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +2 -0
  171. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +66 -0
  172. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +3 -0
  173. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +38 -0
  174. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +2 -0
  175. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +66 -0
  176. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +2 -0
  177. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +5 -0
  178. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +2 -0
  179. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +12 -0
  180. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +2 -0
  181. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +11 -0
  182. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +2 -0
  183. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +116 -0
  184. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +2 -0
  185. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +32 -0
  186. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +2 -0
  187. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +49 -0
  188. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +2 -0
  189. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +10 -0
  190. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +2 -0
  191. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +77 -0
  192. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/data.js +60 -0
  193. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/domain.js +105 -0
  194. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/store.js +212 -0
  195. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +2 -0
  196. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +18 -0
  197. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +2 -0
  198. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +23 -0
  199. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +2 -0
  200. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +78 -0
  201. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +2 -0
  202. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +55 -0
  203. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +2 -0
  204. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +26 -0
  205. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +2 -0
  206. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +38 -0
  207. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +2 -0
  208. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +7 -0
  209. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +2 -0
  210. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +72 -0
  211. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +2 -0
  212. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +46 -0
  213. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +2 -0
  214. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +52 -0
  215. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.html +2 -0
  216. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.js +19 -0
  217. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +2 -0
  218. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +30 -0
  219. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/data.js +48 -0
  220. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/domain.js +39 -0
  221. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/store.js +129 -0
  222. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +4 -0
  223. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +21 -0
  224. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +2 -0
  225. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +8 -0
  226. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +2 -0
  227. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +37 -0
  228. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +2 -0
  229. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +10 -0
  230. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +2 -0
  231. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +37 -0
  232. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +2 -0
  233. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +49 -0
  234. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +4 -0
  235. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +22 -0
  236. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +2 -0
  237. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +9 -0
  238. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/commands.js +82 -0
  239. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/examples.js +47 -0
  240. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/model.js +61 -0
  241. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/repair.js +68 -0
  242. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/store.js +55 -0
  243. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/types.js +1 -0
  244. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/workbench.js +18 -0
  245. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +3 -0
  246. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +28 -0
  247. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +2 -0
  248. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +18 -0
  249. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +2 -0
  250. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +31 -0
  251. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +2 -0
  252. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +27 -0
  253. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +2 -0
  254. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +16 -0
  255. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +2 -0
  256. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +43 -0
  257. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +4 -0
  258. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +34 -0
  259. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +2 -0
  260. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +30 -0
  261. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +3 -0
  262. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +67 -0
  263. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +2 -0
  264. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +41 -0
  265. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +2 -0
  266. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +31 -0
  267. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +2 -0
  268. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +26 -0
  269. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +2 -0
  270. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +70 -0
  271. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/data.js +8 -0
  272. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/domain.js +62 -0
  273. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/management.js +36 -0
  274. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +49 -0
  275. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/store.js +132 -0
  276. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +2 -0
  277. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +38 -0
  278. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +2 -0
  279. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +11 -0
  280. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +2 -0
  281. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +45 -0
  282. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +2 -0
  283. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +54 -0
  284. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +3 -0
  285. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +27 -0
  286. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +2 -0
  287. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +12 -0
  288. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +2 -0
  289. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +45 -0
  290. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +3 -0
  291. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +38 -0
  292. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/domain.js +61 -0
  293. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/state.js +51 -0
  294. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/store.js +116 -0
  295. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +2 -0
  296. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +45 -0
  297. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +4 -0
  298. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +30 -0
  299. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +2 -0
  300. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +67 -0
  301. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +2 -0
  302. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +5 -0
  303. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +4 -0
  304. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +60 -0
  305. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/commands.js +157 -0
  306. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/model.js +136 -0
  307. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/store.js +76 -0
  308. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +3 -0
  309. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +26 -0
  310. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +2 -0
  311. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +14 -0
  312. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +2 -0
  313. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +113 -0
  314. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +3 -0
  315. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +62 -0
  316. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/commands.js +97 -0
  317. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/model.js +147 -0
  318. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/store.js +13 -0
  319. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +2 -0
  320. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +9 -0
  321. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +2 -0
  322. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +8 -0
  323. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +2 -0
  324. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +37 -0
  325. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +2 -0
  326. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +8 -0
  327. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +2 -0
  328. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +17 -0
  329. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/columns.js +32 -0
  330. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +49 -0
  331. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +12 -0
  332. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +15 -0
  333. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +37 -0
  334. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/policy.js +68 -0
  335. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/session.js +44 -0
  336. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +2 -0
  337. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +25 -0
  338. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +2 -0
  339. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +53 -0
  340. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +10 -0
  341. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +30 -0
  342. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +2 -0
  343. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +10 -0
  344. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +2 -0
  345. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +9 -0
  346. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +3 -0
  347. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/navigation.js +19 -0
  348. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +2 -0
  349. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +8 -0
  350. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +2 -0
  351. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +32 -0
  352. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +2 -0
  353. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +15 -0
  354. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +2 -0
  355. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +11 -0
  356. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +2 -0
  357. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +57 -0
  358. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +2 -0
  359. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +37 -0
  360. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/data.js +20 -0
  361. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/domain.js +55 -0
  362. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/store.js +151 -0
  363. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +3 -0
  364. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +18 -0
  365. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +2 -0
  366. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +40 -0
  367. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +2 -0
  368. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +51 -0
  369. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +2 -0
  370. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +9 -0
  371. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +5 -0
  372. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +48 -0
  373. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/domain.js +204 -0
  374. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +22 -0
  375. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/registry.js +135 -0
  376. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/store.js +137 -0
  377. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +3 -0
  378. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +36 -0
  379. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/model.js +56 -0
  380. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/store.js +15 -0
  381. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +2 -0
  382. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +27 -0
  383. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +4 -0
  384. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +31 -0
  385. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +2 -0
  386. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +68 -0
  387. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +5 -0
  388. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +55 -0
  389. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/data.js +16 -0
  390. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/domain.js +83 -0
  391. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/registry.js +18 -0
  392. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/store.js +61 -0
  393. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/admin.css +60 -0
  394. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/agents.css +46 -0
  395. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/antdv.css +295 -0
  396. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/app.css +102 -0
  397. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/delivery.css +4 -0
  398. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/intents.css +37 -0
  399. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/native.css +22 -0
  400. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/operations.css +2 -0
  401. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pbc.css +3 -0
  402. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/permissions.css +22 -0
  403. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pro.css +1 -0
  404. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/releases.css +4 -0
  405. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reset.css +246 -0
  406. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reviews.css +8 -0
  407. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tasks.css +6 -0
  408. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tokens.css +15 -0
  409. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workbench.css +61 -0
  410. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workflows.css +1 -0
  411. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +96 -0
  412. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/agents.test.js +14 -0
  413. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +37 -0
  414. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +44 -0
  415. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +19 -0
  416. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +14 -0
  417. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operations.test.js +25 -0
  418. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +17 -0
  419. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +24 -0
  420. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +23 -0
  421. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permissions.test.js +24 -0
  422. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/releases.test.js +50 -0
  423. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/reviews.test.js +36 -0
  424. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +28 -0
  425. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +42 -0
  426. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +16 -0
  427. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +11 -0
  428. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/tasks.test.js +27 -0
  429. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workbench.test.js +34 -0
  430. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workflows.test.js +16 -0
  431. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/convert.mjs +168 -0
  432. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/serve.mjs +7 -0
  433. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/styles.mjs +11 -0
  434. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/verify.mjs +24 -0
  435. package/skills/i3-ui-demo/assets/templates/enterprise-admin/serve.cjs +16 -0
  436. package/skills/i3-ui-demo/assets/templates/enterprise-admin/template-inventory.json +28791 -0
  437. package/skills/i3-ui-demo/assets/templates/enterprise-admin/template.json +9 -0
  438. package/skills/i3-ui-demo/assets/templates/enterprise-admin/usability.css +44 -0
  439. package/skills/i3-ui-demo/assets/templates.json +10 -0
  440. package/skills/i3-ui-demo/assets/versions.json +20 -0
  441. package/skills/i3-ui-demo/readme.md +350 -0
  442. package/skills/i3-ui-demo/references/browser.md +71 -0
  443. package/skills/i3-ui-demo/references/dependencies.md +67 -0
  444. package/skills/i3-ui-demo/references/resources.md +142 -0
  445. package/skills/i3-ui-demo/scripts/dependencies.cjs +364 -0
  446. package/skills/i3-ui-demo/scripts/design-install.cjs +105 -0
  447. package/skills/i3-ui-demo/scripts/design-provider.cjs +57 -0
  448. package/skills/i3-ui-demo/scripts/locations.cjs +52 -0
  449. package/skills/i3-ui-demo/scripts/mcp.cjs +112 -0
  450. package/skills/i3-ui-demo/scripts/provider-discovery.cjs +131 -0
  451. package/skills/i3-ui-demo/scripts/resources.cjs +283 -0
  452. package/skills/i3-ui-prototype/SKILL.md +1 -1
  453. package/skills/i3-ui-prototype/references/execution-evidence.md +12 -56
  454. package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +1 -1
  455. package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +5 -2
  456. package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +3 -2
  457. package/skills/i3-ui-prototype/scripts/native-delivery.cjs +2 -2
  458. package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +23 -20
  459. package/docs/ui-prototype-native/MAIN-SESSION-REPORT.md +0 -66
  460. package/docs/ui-prototype-native/USAGE.md +0 -93
  461. package/references/enterprise-sop-resources/technical-baseline/assets-manifest.json +0 -101
  462. package/references/enterprise-sop-resources/technical-baseline/baselines/PROVENANCE.md +0 -40
  463. package/references/enterprise-sop-resources/technical-baseline/references/engineering-directory-v0.2.0/adoption.md +0 -112
  464. package/references/enterprise-sop-resources/technical-baseline/references/engineering-directory-v0.2.0/directory-standard.md +0 -119
  465. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/ad/prompts/01-generate.md +0 -0
  466. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/ad/prompts/02-review.md +0 -0
  467. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/ad/prompts/03-revise.md +0 -0
  468. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/ad/prompts/04-recheck.md +0 -0
  469. /package/{references/enterprise-sop-resources/ad/templates/AD.md → skills/i3-enterprise-sop/references/ad/templates/ad.md} +0 -0
  470. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/brd/prompts/01-generate.md +0 -0
  471. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/brd/prompts/02-review.md +0 -0
  472. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/brd/prompts/03-revise.md +0 -0
  473. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/brd/prompts/04-recheck.md +0 -0
  474. /package/{references/enterprise-sop-resources/brd/templates/BRD.md → skills/i3-enterprise-sop/references/brd/templates/brd.md} +0 -0
  475. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/controlled-handoff.md +0 -0
  476. /package/{references/engineering-skeleton-resources → skills/i3-enterprise-sop/references/engineering-skeleton}/catalog.json +0 -0
  477. /package/{references/engineering-skeleton-resources → skills/i3-enterprise-sop/references/engineering-skeleton}/directory-standard.md +0 -0
  478. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/handoff.py +0 -0
  479. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/prompts/02-review.md +0 -0
  480. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/prompts/03-revise.md +0 -0
  481. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/prd/prompts/04-recheck.md +0 -0
  482. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/review-handoff.md +0 -0
  483. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/selection-handoff.md +0 -0
  484. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/selection_handoff.py +0 -0
  485. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/testcase/prompts/01-generate.md +0 -0
  486. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/testcase/prompts/02-review.md +0 -0
  487. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/testcase/prompts/03-revise.md +0 -0
  488. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/testcase/prompts/04-recheck.md +0 -0
  489. /package/{references/enterprise-sop-resources/testcase/templates/TestCase.md → skills/i3-enterprise-sop/references/testcase/templates/testcase.md} +0 -0
  490. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/verification/check_execution.py +0 -0
  491. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/verification/check_native_execution.py +0 -0
  492. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/verification/check_reads.py +0 -0
  493. /package/{references/enterprise-sop-resources/verification/README.md → skills/i3-enterprise-sop/references/verification/readme.md} +0 -0
  494. /package/{references/enterprise-sop-resources → skills/i3-enterprise-sop/references}/verification/review-output.schema.json +0 -0
@@ -0,0 +1,170 @@
1
+ const test = require('node:test');
2
+ const assert = require('node:assert/strict');
3
+ const fs = require('node:fs');
4
+ const path = require('node:path');
5
+ const os = require('node:os');
6
+ const { spawn } = require('node:child_process');
7
+ const { runInNewContext } = require('node:vm');
8
+ const installation = path.join(__dirname, 'lib/installation.js');
9
+ const skills = fs.existsSync(installation) ? require(installation).loadInstallation().skillsDirectory : path.resolve(__dirname, '../skills');
10
+ const resources = require(path.join(skills, 'i3-ui-demo/scripts/resources.cjs'));
11
+
12
+ test('i3-ui-demo waits for a submitted template choice and accepts submitted empty as default', () => {
13
+ assert.equal(resources.selectTemplates({ submitted: false }).status, 'needs-selection');
14
+ assert.deepEqual(resources.selectTemplates({ submitted: true, values: [] }).selected, ['enterprise-admin']);
15
+ assert.deepEqual(resources.selectTemplates({ submitted: true, values: ['1', 'enterprise-admin'] }).selected, ['enterprise-admin']);
16
+ });
17
+
18
+ test('i3-ui-demo never substitutes unavailable templates or drops one from a multiple selection', () => {
19
+ for (const values of [['2'], ['3'], ['4'], ['1', '2'], ['unknown']]) {
20
+ assert.throws(() => resources.selectTemplates({ submitted: true, values }), /unavailable|Unknown/);
21
+ }
22
+ });
23
+
24
+ test('i3-ui-demo resolves its own enterprise template and design rules', () => {
25
+ const result = resources.resolveResources();
26
+ assert.equal(result.skillRoot, resources.root);
27
+ assert.equal(result.templateRoot, path.join(resources.root, 'assets/templates/enterprise-admin'));
28
+ assert.equal(result.template.id, 'enterprise-admin');
29
+ assert.ok(fs.statSync(result.generation).isFile());
30
+ assert.ok(fs.statSync(result.designRules).isFile());
31
+ assert.ok(fs.statSync(path.join(result.templateRoot, 'reference/src/shell/ConsoleShell.html')).isFile());
32
+ const generation = JSON.parse(fs.readFileSync(result.generation, 'utf8'));
33
+ assert.ok(generation.choices.layout.sidebar);
34
+ assert.ok(generation.choices.style.business);
35
+ assert.equal(result.versions.component.version, '1.6.0');
36
+ assert.equal(result.versions.design.version, '2.15.0');
37
+ });
38
+
39
+ test('i3-ui-demo template resolution works without another prototype skill and never falls back to its template', t => {
40
+ const temporary = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), 'ui-demo-owned-template-')));
41
+ t.after(() => fs.rmSync(temporary, { recursive: true, force: true }));
42
+ const own = path.join(temporary, 'skills', path.basename(resources.root));
43
+ fs.cpSync(resources.root, own, { recursive: true });
44
+ const isolated = require(path.join(own, 'scripts/resources.cjs'));
45
+ assert.equal(isolated.resolveResources().templateRoot, path.join(own, 'assets/templates/enterprise-admin'));
46
+ const dependencies = require(path.join(own, 'scripts/dependencies.cjs'));
47
+ const detection = dependencies.check({ project: temporary, home: path.join(temporary, 'home'), host: 'codebuddy', env: {} });
48
+ assert.equal(detection.ready, false);
49
+ assert.equal(detection.design.availability, 'missing');
50
+ assert.equal(detection.official.availability, 'missing');
51
+ const ownGeneration = path.join(own, 'assets/templates/enterprise-admin/generation.json');
52
+ const foreign = path.join(temporary, 'skills', path.basename(resources.root).startsWith('i3-') ? 'i3-ui-prototype' : 'i3-ui-prototype', 'assets/templates/enterprise-admin');
53
+ fs.cpSync(path.dirname(ownGeneration), foreign, { recursive: true });
54
+ fs.unlinkSync(ownGeneration);
55
+ assert.throws(() => isolated.resolveResources(), /missing/i);
56
+ });
57
+
58
+ test('i3-ui-demo owns one complete capability contract including native mappings and lifecycle checks', () => {
59
+ const definition = JSON.parse(fs.readFileSync(path.join(resources.root, 'assets/templates/enterprise-admin/capability-definition.json'), 'utf8'));
60
+ assert.equal(definition.schemaVersion, 2);
61
+ assert.equal(Object.keys(definition.capabilities).length, 26);
62
+ assert.equal(Object.keys(definition.patterns).length, 10);
63
+ for (const capability of Object.values(definition.capabilities)) {
64
+ assert.ok(capability.implementation.components.length, capability.id);
65
+ assert.ok(capability.scenarios.every(scenario => scenario.expected && scenario.id), capability.id);
66
+ const native = capability.nativeChecks || [];
67
+ assert.equal(new Set(native.map(check => check.id)).size, native.length, capability.id);
68
+ }
69
+ assert.equal(definition.capabilities.pagination.defaults.mode, 'adjustable');
70
+ assert.ok(definition.capabilities.feedback.parameters.states.includesByMode['management-list'].includes('empty'));
71
+ assert.ok(definition.capabilities.dialog.nativeChecks.some(check => check.id === 'mask-blur'));
72
+ assert.ok(definition.capabilities.theme.scenarios.some(check => check.id === 'accessibility'));
73
+ });
74
+
75
+ test('default native presentation matches the owned template palette and dimensions', () => {
76
+ const source = file => fs.readFileSync(path.join(resources.root, 'assets/starter/src/domain', file), 'utf8');
77
+ const themes = source('theme.ts').match(/export const THEME_PRESETS = (\{[\s\S]*?\n\}) as const/);
78
+ const recipe = source('presentation.ts').match(/export function presentationTokens\(value: Presentation\) \{([\s\S]*?)\n\}/);
79
+ assert.ok(themes && recipe, 'The native theme and presentation definitions must be readable');
80
+ // Installer checks support Node 20; evaluate the actual JS expressions without importing TS.
81
+ const body = recipe[1].replace(" as 'small' | 'middle' | 'large'", '');
82
+ const actual = runInNewContext(`const presets = ${themes[1]}; function tokens(value) {${body}};
83
+ ({light:presets.light,presentation:tokens({layout:'sidebar',style:'business',density:'standard'})});`, {}, { timeout: 1000 });
84
+ const profile = resources.resolveResources().visual;
85
+ assert.equal(actual.light.primary, profile.nativeTokens.colorPrimary);
86
+ assert.equal(actual.light.bg, profile.nativeTokens.colorBgLayout);
87
+ assert.equal(actual.light.text, profile.nativeTokens.colorText);
88
+ assert.equal(actual.light.border, profile.nativeTokens.colorBorder);
89
+ assert.equal(actual.light.panelBorder, profile.nativeTokens.colorBorderSecondary);
90
+ assert.equal(actual.presentation.borderRadius, profile.nativeTokens.borderRadius);
91
+ assert.equal(actual.presentation.panelRadius, profile.panelRadius);
92
+ assert.equal(actual.presentation.spacing, profile.spacing);
93
+ });
94
+
95
+ test('reference mappings reject unrelated capabilities and create separate node scenarios', () => {
96
+ const scope = { pages: [{ id: 'assets', title: '资产', referencePage: 'models-page', regions: [{ id: 'list', pattern: 'management-list',
97
+ fields: [{ id: 'name', label: '名称', requirementId: 'R1', type: 'text' }],
98
+ actions: [{ id: 'query', label: '查询', requirementId: 'R1', target: 'page', outcome: '展示匹配资产' }] }] }],
99
+ requirements: [{ id: 'R1', text: '查询资产', pages: ['assets'], source: { type: 'user', reference: 'request', statement: '查询资产' } }] };
100
+ const element = resources.readPage('models-page').elements.find(item => item.component === 'ProTable');
101
+ const decision = { pageId: 'assets', nodeIds: [element.id], decision: 'mapped', reason: '对应资产列表', requirementId: 'R1', bindingIds: ['assets/list/collection'] };
102
+ const mapped = resources.plan({ ...scope, generation: { referenceDecisions: [decision] } });
103
+ assert.ok(mapped.scenarios.some(item => item.referenceNodeId === element.id));
104
+ assert.ok(!mapped.pendingReferenceElements.some(item => item.pageId === 'assets' && item.id === element.id));
105
+ assert.throws(() => resources.plan({ ...scope, generation: { referenceDecisions: [{ ...decision, bindingIds: ['app-shell/shell/theme'] }] } }), /capabilit|mapping/i);
106
+ assert.throws(() => resources.plan({ ...scope, generation: { decisions: [{ pageId: 'assets', capabilityId: 'pagination', decision: 'not-applicable', reason: '省略', requirementId: 'R1' }] } }), /Required/);
107
+ assert.equal(new Set(mapped.scenarios.map(item => item.id)).size, mapped.scenarios.length);
108
+ assert.throws(() => resources.plan({ ...scope, pages: [{ ...scope.pages[0], regions: [{ id: 'form', pattern: 'form-page', parameters: { edit: { presentation: 'drawer' } } }] }] }), /presentation/i);
109
+ });
110
+
111
+ test('i3-ui-demo reads selected page structure, behavior and styles without an installed prototype skill', t => {
112
+ const temporary = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), 'ui-demo-page-')));
113
+ t.after(() => fs.rmSync(temporary, { recursive: true, force: true }));
114
+ const own = path.join(temporary, 'skills', path.basename(resources.root));
115
+ fs.cpSync(resources.root, own, { recursive: true, filter: file => path.basename(file) !== '.DS_Store' });
116
+ const isolated = require(path.join(own, 'scripts/resources.cjs'));
117
+ const page = isolated.readPage('models-page');
118
+ assert.ok(page.fragments.some(fragment => fragment.file.endsWith('ModelsPage.html')));
119
+ assert.ok(page.behaviorFiles.some(file => file.endsWith('ModelsPage.js')));
120
+ assert.ok(page.behaviorFiles.some(file => file.endsWith('/models/store.js')));
121
+ assert.ok(page.styleFiles.includes('reference/styles/tokens.css'));
122
+ assert.ok(page.elements.length > 0);
123
+ assert.ok(page.elements.some(element => element.events.length > 0));
124
+ assert.ok(!JSON.stringify(page).includes('i3-ui-prototype'));
125
+ assert.equal(isolated.readCapability('pagination').defaults.minimumTestPages, 3);
126
+ });
127
+
128
+ test('i3-ui-demo maps required page capabilities and keeps reference decisions pending until accounted for', () => {
129
+ const scope = { title: '资产管理', pages: [{ id: 'assets', title: '资产台账', referencePage: 'models-page',
130
+ regions: [{ id: 'list', pattern: 'management-list' }] }],
131
+ requirements: [{ id: 'ASSET-01', text: '资产查询、分页和批量处理', pages: ['assets'],
132
+ source: { type: 'user', reference: 'request', statement: '创建资产管理列表' } }] };
133
+ const plan = resources.plan(scope);
134
+ assert.equal(plan.status, 'pending-implementation');
135
+ assert.ok(plan.bindings.some(binding => binding.id === 'assets/list/columns'));
136
+ assert.ok(plan.bindings.some(binding => binding.id === 'app-shell/shell/theme'));
137
+ assert.ok(plan.pendingReferenceElements.length > 0);
138
+ assert.ok(plan.scenarios.some(scenario => scenario.bindingId === 'assets/list/pagination'));
139
+ assert.throws(() => resources.plan({ ...scope, pages: [{ ...scope.pages[0], referencePage: 'missing' }] }), /reference|page/i);
140
+ assert.throws(() => resources.plan({ ...scope, pages: [{ ...scope.pages[0], regions: [{ id: 'list', pattern: 'management-list',
141
+ parameters: { pagination: { mode: 'fixed' } } }] }] }), /fixedPageSize/);
142
+ });
143
+
144
+ test('i3-ui-demo rejects changed or missing owned capability and style resources', t => {
145
+ const temporary = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), 'ui-demo-integrity-')));
146
+ t.after(() => fs.rmSync(temporary, { recursive: true, force: true }));
147
+ const own = path.join(temporary, 'skills', path.basename(resources.root));
148
+ fs.cpSync(resources.root, own, { recursive: true, filter: file => path.basename(file) !== '.DS_Store' });
149
+ const isolated = require(path.join(own, 'scripts/resources.cjs'));
150
+ const css = path.join(own, 'assets/templates/enterprise-admin/reference/styles/tokens.css');
151
+ fs.appendFileSync(css, '\n:root { --easel-primary: red; }\n');
152
+ assert.throws(() => isolated.resolveResources(), /integrity|changed|digest/i);
153
+ });
154
+
155
+ test('owned template preview serves its entry, offline runtime and styles without an instance app folder', { timeout: 10000 }, async t => {
156
+ const child = spawn(process.execPath, [path.join(resources.root, 'assets/templates/enterprise-admin/serve.cjs'), '0'], { stdio: ['ignore','pipe','pipe'] });
157
+ t.after(() => child.kill());
158
+ const url = await new Promise((resolve, reject) => {
159
+ child.on('error', reject);
160
+ child.on('exit', code => reject(new Error(`Preview exited: ${code}`)));
161
+ child.stdout.on('data', chunk => { const match = String(chunk).match(/http:\/\/127\.0\.0\.1:\d+\//); if (match) resolve(match[0]); });
162
+ });
163
+ const response = await fetch(url);
164
+ assert.equal(response.status, 200);
165
+ assert.match(await response.text(), /src="offline\.js"/);
166
+ for (const file of ['offline.js','reference/styles/tokens.css']) {
167
+ const asset = await fetch(new URL(file, url));
168
+ assert.equal(asset.status, 200, file);
169
+ }
170
+ });
@@ -10,7 +10,7 @@ test('new execution inputs freeze complete scenario expectations without changin
10
10
  const file=path.join(options.project,'assertions.json');fs.writeFileSync(file,JSON.stringify(assertions));
11
11
  const fresh=lib.createPrototype({...options,id:'strict',host:'codebuddy',executionPolicy:'codebuddy-ab-v1',executionAssertions:file});
12
12
  assert.equal(X.policy(fresh.directory).id,'codebuddy-ab-v1');assert.equal(lib.inspect(fresh.directory).status,'passed');
13
- assert.equal(X.check(fresh.directory,'delivery',lib).status,'failed');assert.throws(()=>X.requireStage(fresh.directory,'implementation',lib),/binding|execution-begin/);
13
+ assert.equal(X.check(fresh.directory,'delivery',lib).status,'failed');const stage=X.requireStage(fresh.directory,'implementation',lib);assert.equal(stage.status,'not-required');assert.equal(stage.auditHook,'retired');assert.equal(stage.invocationVerification,'unverified');
14
14
  assert.deepEqual(lib.manifest(legacy.directory),before);assert.deepEqual(fs.readdirSync(options.project).sort(),['assertions.json','prototypes','scope.json']);
15
15
  });
16
16
  test('missing or incomplete fixed facts cannot silently create a strict artifact or affect legacy state',t=>{
@@ -133,9 +133,16 @@ function write(directory, relative, value) {
133
133
  const file=path.join(directory,relative); fs.mkdirSync(path.dirname(file),{recursive:true});
134
134
  fs.writeFileSync(file,Buffer.isBuffer(value)||typeof value==='string'?value:JSON.stringify(value));
135
135
  }
136
- function candidate(t) {
136
+ function candidate(t,extra={}) {
137
137
  const root=project(t); const template=legacyFixture.prepareTemplate(require(path.join(skillsDirectory,'i3-ui-prototype/scripts/template-contract.cjs')), {project:root});
138
- return lib.createPrototype({project:root,id:'devices',templateRoot:template.directory,expertMode:'template'}).directory;
138
+ const options={project:root,id:'devices',templateRoot:template.directory,expertMode:'template',...extra};
139
+ if(options.executionPolicy){
140
+ write(root,'scope.json',{schemaVersion:1,requirements:[{id:'AUDIT-RETIREMENT-1',text:'Synthetic fixed business coverage',source:{type:'prd',reference:'unit-fixture',statement:'Synthetic contract fixture, not browser acceptance'}}],exemptions:[],openQuestions:[]});options.scope=path.join(root,'scope.json');
141
+ const A=require(path.join(skillsDirectory,'i3-ui-prototype/scripts/execution-assertions.cjs'));
142
+ const assertions=A.template(options);for(const scenario of assertions.scenarios)scenario.checks=[{method:'evaluate_script',pointer:'/observed',operator:'equals',expected:true}];
143
+ write(root,'assertions.json',assertions);options.executionAssertions=path.join(root,'assertions.json');options.host='codebuddy';
144
+ }
145
+ return lib.createPrototype(options).directory;
139
146
  }
140
147
  function syntheticBuild(directory,{embedded=true}={}) {
141
148
  const current=lib.manifest(directory);
@@ -166,6 +173,21 @@ function syntheticReport(directory,build=syntheticBuild(directory)) {
166
173
  return {id:'synthetic-guard-fixture',status:'passed',candidateDigest:build.current.digest,revision:build.current.revision,buildId:build.buildId,buildDigest:build.buildDigest,executor:'unit-fixture',tool:'unit-fixture',source:'synthetic-unit-fixture',startedAt:'2026-10-17T00:00:00.000Z',completedAt:'2026-10-17T00:00:01.000Z',consoleErrors:[],journeys:[...acceptance.requiredScenarios,...acceptance.frameworkScenarios].map(id=>({id,status:'passed'})),screenshots:['qa/fixtures/a.png','qa/fixtures/b.png'],trace:'qa/fixtures/trace.zip',viewports:[1440,768],previewBaseURL,observedResources:Object.entries(build.files).map(([name,sha256])=>({path:name,url:new URL(name==='index.html'?'':name,previewBaseURL).href,status:200,sha256,resourceType:name==='index.html'?'document':name.endsWith('.js')?'script':name.endsWith('.css')?'stylesheet':'fetch'}))};
167
174
  }
168
175
 
176
+ for(const executionPolicy of ['buddy-ab-v2','codebuddy-ab-v1'])test(`${executionPolicy}: normal browser record and finalize need no retired Hook binding`,t=>{
177
+ const directory=candidate(t,{executionPolicy});
178
+ assert.equal(fs.existsSync(path.join(directory,'qa/execution-context.json')),false);
179
+ assert.throws(()=>lib.finalize(directory),/acceptance|verified|验收/i,'Retiring audit must not accept missing business evidence');
180
+ const report=syntheticReport(directory);lib.recordRun(directory,report);
181
+ const delivery=lib.finalize(directory);
182
+ assert.equal(delivery.status,'complete');assert.equal(delivery.invocationVerification,'unverified');assert.equal(delivery.checks.execution,undefined);
183
+ assert.equal(delivery.checks.devtoolsReview,'current');assert.equal(lib.state(directory).delivery.status,'current');
184
+ assert.equal(fs.existsSync(path.join(directory,'qa/execution-context.json')),false);
185
+ assert.equal(fs.existsSync(path.join(directory,'qa/execution-evidence.json')),false);
186
+ assert.equal(lib.state(directory).execution.auditHook,'retired');
187
+ const evidence=path.join(directory,'qa/fixtures/devtools-dom.txt');fs.appendFileSync(evidence,'edited');
188
+ assert.throws(()=>lib.finalize(directory),/DevTools review required/,'Stale browser evidence still blocks finalization');
189
+ });
190
+
169
191
  test('new policy blocks finalization and human baseline when DevTools review is missing or stale',t=>{
170
192
  const directory=candidate(t),report=syntheticReport(directory);lib.recordRun(directory,report);
171
193
  const current=lib.manifest(directory),file=path.join(directory,'qa/devtools-review.json'),valid=fs.readFileSync(file);
@@ -358,7 +380,7 @@ test('ordinary revise can start repair of broken user code without accepting cha
358
380
  });
359
381
 
360
382
  test('a failing real npm test prevents the build command and fixed build publication', t => {
361
- const directory=candidate(t),app=path.join(directory,'app'),file=path.join(app,'package.json');
383
+ const directory=candidate(t,{executionPolicy:'buddy-ab-v2'}),app=path.join(directory,'app'),file=path.join(app,'package.json');
362
384
  const pkg=JSON.parse(fs.readFileSync(file));
363
385
  pkg.scripts={typecheck:'node -e "process.exit(0)"',test:'node -e "process.exit(3)"',build:'node build-test.cjs'};
364
386
  fs.writeFileSync(file,JSON.stringify(pkg));
@@ -39,7 +39,7 @@ Skill/Command/Agent 标识、文件路径、命令参数、代码/API 名称、
39
39
  | prd | BRD或等效业务依据、PBC/主题,新增主题还是修改既有主题;各PRD独立版本 |
40
40
  | ad | 准确PRD及配套、实际技术规约/契约/骨架选择的缺口;优先已有规范,原型按需并行 |
41
41
  | testcase | 准确PRD/AD、测试边界和关键预期/环境未知项;配套不一致先报告,不执行测试 |
42
- | plan | 清单或手动方式、本次主题/明确组合、必要规格缺口和未完计划冲突,详见[规划交接](../../references/enterprise-sop-resources/plan-handoff.md) |
42
+ | plan | 清单或手动方式、本次主题/明确组合、必要规格缺口和未完计划冲突,详见[规划交接](references/plan-handoff.md) |
43
43
 
44
44
  `plan` 的范围明确后,JSON与手动路径先经过同一个读取准备环节,不提前分流到原规划。先按项目采用记录或下文真实安装清单定位所选资料根,不能从skills目录猜资料路径。首批完整读取原 `/i3-plan` 命令正文及该根的README.md、stages.json、template-contracts.md、handoff-contract.md、plan-handoff.md;必读资源名以索引planHandoff.requiredResourceReads为同一清单,不只读专用plan说明就继续。手动方式仅省去JSON解析/辅助调用,不豁免共用说明、项目规则或必要业务依据;未知自改组合仍读实际选定原件。
45
45
 
@@ -55,33 +55,33 @@ AD声明的能力/主题身份与本次PRD或所选范围冲突,或直接上
55
55
 
56
56
  宿主有实际可用的结构化提问工具时使用简短问题和选项,允许用户自己说明;没有该工具、当前模式不能交互或工具不可用时,用普通会话提问并停轮等待。取消、无答复、预选、时间经过或含糊答复均不代替必要决定;等待期零项目写入,不先建占位稿、清单或采用记录。前四阶段把已有答复交原Spec,继续其真正需要的内容澄清,不能再做重复访谈或跳过原停点。plan则承接原规划的澄清,不重跑Spec。
57
57
 
58
- 明确当前项目根、阶段/动作、工作范围、准确输入和唯一输出。多个清单或主题并存时先确定对象,不取目录最大版本。目录、命名及新项目默认见[共用合同](../../references/enterprise-sop-resources/template-contracts.md)§1;既有项目位置不自动迁移。
58
+ 明确当前项目根、阶段/动作、工作范围、准确输入和唯一输出。多个清单或主题并存时先确定对象,不取目录最大版本。目录、命名及新项目默认见[共用合同](references/template-contracts.md)§1;既有项目位置不自动迁移。
59
59
 
60
60
  纯路径登记或交接准备不生成/修订业务文档,不调用 Plan、Build 或测试。新稿起草、现稿修订、采用选择、业务认可和工程执行分别依据实际任务。
61
61
 
62
- 任务说明本次输出目标已有稿件、该目标写入中断、登记失败、重复执行或人工修改时,先按[最小恢复规则](../../references/enterprise-sop-resources/recovery-contract.md)核现状,不把阶段名直接解释成重新 generate。只有上游 PRD 等输入已存在、目标 AD 尚未创建时,仍按明确的新建任务处理,不误判为现稿恢复。恢复默认只读评估;明确采用某份文档且允许登记时才改本次清单,明确委托修稿才另按原 Spec 执行。部分稿不自动续写或选用,已有 Plan 不因恢复改变。
62
+ 任务说明本次输出目标已有稿件、该目标写入中断、登记失败、重复执行或人工修改时,先按[最小恢复规则](references/recovery-contract.md)核现状,不把阶段名直接解释成重新 generate。只有上游 PRD 等输入已存在、目标 AD 尚未创建时,仍按明确的新建任务处理,不误判为现稿恢复。恢复默认只读评估;明确采用某份文档且允许登记时才改本次清单,明确委托修稿才另按原 Spec 执行。部分稿不自动续写或选用,已有 Plan 不因恢复改变。
63
63
 
64
- 现稿需受控交接时采用[单次受控入口](../../references/enterprise-sop-resources/controlled-handoff.md):调用方从本次采用记录整理准确路径,先运行 CodeBuddy 只读预检;外层核成功回执并确认本次准确选用委托后,才登记 selected;旧候选登记授权不构成选用委托。被此入口调用的只读会话只用 Read/Glob/Grep/Skill,不自行调用 shell、登记、原 Spec 或其他工程方法。缺读可在本次只读会话内补齐;拒绝、失败或选择冲突须列原因、推荐和可选操作,不能用后续成功抹去。入口不自动挂载普通会话,不改变标准流程或原版停点。
64
+ 现稿需受控交接时采用[单次受控入口](references/controlled-handoff.md):调用方从本次采用记录整理准确路径,先运行 CodeBuddy 只读预检;外层核成功回执并确认本次准确选用委托后,才登记 selected;旧候选登记授权不构成选用委托。被此入口调用的只读会话只用 Read/Glob/Grep/Skill,不自行调用 shell、登记、原 Spec 或其他工程方法。缺读可在本次只读会话内补齐;拒绝、失败或选择冲突须列原因、推荐和可选操作,不能用后续成功抹去。入口不自动挂载普通会话,不改变标准流程或原版停点。
65
65
 
66
- 明确要求改变同主题既有选用组合时,按[改选与影响预览](../../references/enterprise-sop-resources/selection-handoff.md)处理:先只读核当前/目标 PRD、AD、已有用例/原型的直接上游及规约、契约、骨架、Plan/任务;展示准确差异、缺口、原因、推荐与选项。未列配套沿用旧引用但必须核绑定,不能将旧 AD 静默配给新 PRD;显式解除仅移除引用、保留文件。预览后取得该组准确路径的明确选择,才可使用受控辅助更新本主题。来源变化或配套未知须重新预览,不能用模型推荐、候选登记或自动模式代替人作选择。原 Plan、任务及已完成记录不因改选自动改写。
66
+ 明确要求改变同主题既有选用组合时,按[改选与影响预览](references/selection-handoff.md)处理:先只读核当前/目标 PRD、AD、已有用例/原型的直接上游及规约、契约、骨架、Plan/任务;展示准确差异、缺口、原因、推荐与选项。未列配套沿用旧引用但必须核绑定,不能将旧 AD 静默配给新 PRD;显式解除仅移除引用、保留文件。预览后取得该组准确路径的明确选择,才可使用受控辅助更新本主题。来源变化或配套未知须重新预览,不能用模型推荐、候选登记或自动模式代替人作选择。原 Plan、任务及已完成记录不因改选自动改写。
67
67
 
68
68
  未采用的文档保留原位置,在会话中说明实际路径和未选用状态;不登记候选,也没有候选撤回操作。已选主题的撤销、业务需求取消、文件删除和功能退役仍是另有范围的任务,不因未选用某稿而自动执行。
69
69
 
70
70
  ### 2. 读取适用来源
71
71
 
72
- 本次动作为 `plan` 时先完成§1的统一共用读取,按所选资源根的[规划交接](../../references/enterprise-sop-resources/plan-handoff.md)核读取准备、身份及上游停点,再进入原规划分支;不是只读本说明便跳过其他共用文件。JSON/手动两种输入遵守同一必读清单,不套四阶段模板/生成提示词,不生成新规格。标准原规划任务不进入本Skill,也不因清单存在而读取企业资料。
72
+ 本次动作为 `plan` 时先完成§1的统一共用读取,按所选资源根的[规划交接](references/plan-handoff.md)核读取准备、身份及上游停点,再进入原规划分支;不是只读本说明便跳过其他共用文件。JSON/手动两种输入遵守同一必读清单,不套四阶段模板/生成提示词,不生成新规格。标准原规划任务不进入本Skill,也不因清单存在而读取企业资料。
73
73
 
74
- 本次动作是 review/recheck 时先按[统一审查约定](../../references/enterprise-sop-resources/review-handoff.md)分流:调用者定位项目采用及准确业务对象,由外层辅助解析索引、清单和依赖;不要先套下面生成/状态作业的五项共用全文读取。独立审查者仍完整读项目规则与实际采用约束、本阶段README、完整模板、唯一动作和业务原文;未知/自改组合按选定原件完整读取,不静默回退。纯引导/status/交接/恢复及生成/修订保持原读取规则。
74
+ 本次动作是 review/recheck 时先按[统一审查约定](references/review-handoff.md)分流:调用者定位项目采用及准确业务对象,由外层辅助解析索引、清单和依赖;不要先套下面生成/状态作业的五项共用全文读取。独立审查者仍完整读项目规则与实际采用约束、本阶段README、完整模板、唯一动作和业务原文;未知/自改组合按选定原件完整读取,不静默回退。纯引导/status/交接/恢复及生成/修订保持原读取规则。
75
75
 
76
76
  资料定位:本轮明确来源 → 项目已采用自改副本 → 同宿主项目安装 → 同宿主可读全局。实际读取项目规则、根说明及明确引用的采用约定;已选来源失效就报告,不静默换模板或跨宿主兜底。历史、验证样例和备份不作默认候选。
77
77
 
78
- CodeBuddy没有对应角色的明确项目采用根时,先定位项目 `.codebuddy/` 中本包的隐藏安装清单:显式Glob `.codebuddy/.*composer*.json`,不能用默认忽略隐藏目录的全局Glob断言不存在。实际读取name/version/scope/resources,核本包身份及当前宿主范围;多个、异名或损坏清单先报告,不当作未安装。将resources.references相对于**该清单所在目录**展开,再进入其中的enterprise-sop-resources;不是skills目录,也不是相对于项目根直接展开references字段。可先Grep精确键找行号,再Read必要范围,不全文加载assets清单。项目确实未安装时才查同宿主可读全局清单;有项目自改采用根时不先探读发行副本。其他宿主依据其真实安装清单定位,不借CodeBuddy目录兜底。
78
+ 没有对应角色的明确项目采用根时,默认资料根是**本次实际加载的 SOP Skill 目录下 references/**,从其中 README 与 stages.json 进入;工程骨架也在同一根的 engineering-skeleton/,不另借共用资料。CodeBuddy先显式Glob `.codebuddy/.*composer*.json` 定位本包隐藏安装清单,核 name/version/scope、catalog.skills 与本 Skill 的 SKILL.md、references/readme.md 两项精确 assets;可先Grep找行号再Read必要范围,不全文加载assets列表。多个安装、正文身份不符、缺登记或资料缺失时先报告,不当作未安装。resources.references继续定位原版共用资料,不能用来推导SOP专属根。项目确实未安装时才查同宿主可读全局安装,并仍从实际Skill定位;有项目自改采用根时不先探读发行副本。其他宿主按其真实安装的Skill位置定位,不借CodeBuddy目录兜底。
79
79
 
80
80
  阶段所需模板/原方法确实不可用时报告准确缺口并停下,可提示选择已有可读资料或安装;不把“无企业模板裸跑继续”列作同一次SOP作业的选项。用户另行明确改走标准流程才按原标准方法处理,不能静默降级。
81
81
 
82
82
  安装清单用于定位资料根,只读取识别所需的 name/version/scope/resources 字段;可先定位键再读取相应范围,不全文注入 assets 文件列表。业务与模板必要正文仍实际读取,不能用这种元数据裁剪替代内容核对。
83
83
 
84
- 先读取所选资源根的 [README](../../references/enterprise-sop-resources/README.md)、[索引](../../references/enterprise-sop-resources/stages.json)、[共用合同](../../references/enterprise-sop-resources/template-contracts.md)、[交接合同](../../references/enterprise-sop-resources/handoff-contract.md)和[生命周期合同](../../references/enterprise-sop-resources/lifecycle-contract.md)。实际起草/审查时,再读索引指定的本阶段 README、manifest,以及该 manifest 指定的完整模板和本次唯一动作提示词;不按默认路径猜模板,也不加载四阶段全部资料。
84
+ 先读取所选资源根的 [README](references/readme.md)、[索引](references/stages.json)、[共用合同](references/template-contracts.md)、[交接合同](references/handoff-contract.md)和[生命周期合同](references/lifecycle-contract.md)。实际起草/审查时,再读索引指定的本阶段 README、manifest,以及该 manifest 指定的完整模板和本次唯一动作提示词;不按默认路径猜模板,也不加载四阶段全部资料。
85
85
 
86
86
  明确企业 status、只读交接与恢复也须完成上述五项共用读取;它们不需要生成模板和 Spec,不等于可以跳过共用合同。安装清单实际用于定位时,逐项确认 name、version、scope、resources.references 的真实值;只搜索资产列表里的资源名称不算完成身份核对。列出实际路径及读取结果,缺项先补读或保留未通过,不以“已自动注入”代替回执,也不把后来补读追认为旧作业写前已读。
87
87
 
@@ -93,7 +93,7 @@ CodeBuddy没有对应角色的明确项目采用根时,先定位项目 `.codeb
93
93
 
94
94
  起草或修订 BRD/PRD/AD/TestCase 时,必须先调用原 [i3-spec-driven-development](../i3-spec-driven-development/SKILL.md) Skill,再按本次明确的企业任务、模板和唯一输出执行;不是让 using 判断是否需要 Spec,也不调用会默认保存根 SPEC.md 的 `/i3-spec` 包装来替代它。原 Spec 支持外部规格格式与存储;内容要求、澄清、权限、认可及结束轮次完整保留,真实冲突先报告,不改原版或另造影子 SPEC。
95
95
 
96
- `plan` 必须按[规划交接](../../references/enterprise-sop-resources/plan-handoff.md)实际调用原 [i3-planning-and-task-breakdown](../i3-planning-and-task-breakdown/SKILL.md),读取并履行本宿主当前原 `/i3-plan` 命令合同。不是只输出提示词让用户再粘贴,不以提及名称或自行写计划代替成功加载;没有正式加载机制或调用失败时停止说明。Skill加载与命令转交分别记录,不声称等价执行另一个slash命令。此分支不调用Spec、不改业务稿/JSON、不进入Build。
96
+ `plan` 必须按[规划交接](references/plan-handoff.md)实际调用原 [i3-planning-and-task-breakdown](../i3-planning-and-task-breakdown/SKILL.md),读取并履行本宿主当前原 `/i3-plan` 命令合同。不是只输出提示词让用户再粘贴,不以提及名称或自行写计划代替成功加载;没有正式加载机制或调用失败时停止说明。Skill加载与命令转交分别记录,不声称等价执行另一个slash命令。此分支不调用Spec、不改业务稿/JSON、不进入Build。
97
97
 
98
98
  宿主提供 Skill 工具时须取得加载原 Spec 的成功回执,继续读取其本次适用正文;只在计划里写 Skill 名称、读取索引或自行声称已调用不算。原生没有该工具的宿主使用其正式技能加载机制并保留可核记录;方法不可用就说明缺口,不裸跑写稿。按任务另用适用专业方法,不造第二张全局路由表。纯引导、状态、只读审查和已有文件的路径登记不调用规格生成。
99
99
 
@@ -103,7 +103,7 @@ AD 的直接产品依据是选定 PRD。公共技术规约优先复用项目已
103
103
 
104
104
  ### 4. 最小路径交接
105
105
 
106
- 使用所选发行资料根的 [handoff.py](../../references/enterprise-sop-resources/handoff.py);项目采用副本只有明确包含兼容辅助工具时才改用该工具。Python 3.9+ 为此辅助的运行条件;没有可用解释器时保留手动路径方式,不安装依赖或改项目环境。
106
+ 使用所选发行资料根的 [handoff.py](references/handoff.py);项目采用副本只有明确包含兼容辅助工具时才改用该工具。Python 3.9+ 为此辅助的运行条件;没有可用解释器时保留手动路径方式,不安装依赖或改项目环境。
107
107
 
108
108
  先执行工具 `--help` 核接口。以下是工具操作,不是新增顶级命令;`<资料根>`与项目路径均须用实际位置替换。
109
109
 
@@ -131,17 +131,17 @@ python3 <资料根>/handoff.py resolve --project-root <项目根> --work <工作
131
131
 
132
132
  引导、status、review、recheck 零项目写入。审查只给问题、原文位置、来源、影响和建议;作者会话不冒充独立审查,报告另存由获准调用者处理。
133
133
 
134
- review/recheck共用外层解析/模型正文读取规则,按[独立只读审查衔接](../../references/enterprise-sop-resources/review-handoff.md)执行。当前作者会话有获准且已验证的CLI隔离能力时,由外层调用者整理本次所选资料、准确目标和真实来源,使用该资料根的verification/review_handoff.py启动新的只读会话;辅助不在审查者内部执行,不调用原Spec、Plan或原代码review,不串行修稿。复查绑定旧稿、原报告及逐项人工回应,仍使用新上下文。没有隔离机制则给出可复制的新会话任务并结束;已在新会话也须如实说明实际权限证据,不能自称清除了上下文。证据检查通过仅接受本轮报告,业务问题及人工处理空间保留。
134
+ review/recheck共用外层解析/模型正文读取规则,按[独立只读审查衔接](references/review-handoff.md)执行。当前作者会话有获准且已验证的CLI隔离能力时,由外层调用者整理本次所选资料、准确目标和真实来源,使用该资料根的verification/review_handoff.py启动新的只读会话;辅助不在审查者内部执行,不调用原Spec、Plan或原代码review,不串行修稿。复查绑定旧稿、原报告及逐项人工回应,仍使用新上下文。没有隔离机制则给出可复制的新会话任务并结束;已在新会话也须如实说明实际权限证据,不能自称清除了上下文。证据检查通过仅接受本轮报告,业务问题及人工处理空间保留。
135
135
 
136
136
  ### 6. 交原 Plan 与 Build
137
137
 
138
- 用户显式调用 `/i3-sop plan` 或本Skill的plan动作时,本Skill读取所选清单/明确手动路径,按[规划交接](../../references/enterprise-sop-resources/plan-handoff.md)组织原文输入并实际复用原规划。只生成原计划与唯一任务目标,完整回读并交人工审阅后停轮。四阶段文档作业仍不自动进入该动作;原 `/i3-plan` 加明确企业任务的手动方式保留。
138
+ 用户显式调用 `/i3-sop plan` 或本Skill的plan动作时,本Skill读取所选清单/明确手动路径,按[规划交接](references/plan-handoff.md)组织原文输入并实际复用原规划。只生成原计划与唯一任务目标,完整回读并交人工审阅后停轮。四阶段文档作业仍不自动进入该动作;原 `/i3-plan` 加明确企业任务的手动方式保留。
139
139
 
140
140
  Plan内的来源表逐项记录实际使用的PRD、AD、规范、契约、工程采用说明的完整项目相对路径(明确外部来源则绝对路径)及其文档版本,不只写AD_v…、契约简称或JSON位置。保存后将来源表与本次实际读取集合逐项对照,缺项先补齐Plan并再次全文回读,再交审;不修改来源业务稿或JSON。
141
141
 
142
142
  新项目默认将业务文档存于 `spec/{能力}/`。工程规划入口是本次选定 AD 及其明确引用的 PRD、已采用规范、共享契约、真实骨架与相关代码;在入口及已选集合内逐项回读 SPEC 六项。BRD、空链接、JSON、只有文件落在 spec/ 均不证明工程规格齐备。不复制第五份核心 SPEC,不改 JSON schema 或强制业务 hash。
143
143
 
144
- 按[交接合同](../../references/enterprise-sop-resources/handoff-contract.md)§10准备原 `/i3-plan` 的实际输入。有明确采用指引可据其读取唯一范围;没有指引就手动列准确路径。原 Plan 不天然读写 JSON,多个主题/版本没有选择时先问,不猜。计划保留实际来源、主题、FR/AC、共享依赖和验证依据,仍输出原 `tasks/plan.md` 与唯一任务目标,不覆盖其他工作未完计划。
144
+ 按[交接合同](references/handoff-contract.md)§10准备原 `/i3-plan` 的实际输入。有明确采用指引可据其读取唯一范围;没有指引就手动列准确路径。原 Plan 不天然读写 JSON,多个主题/版本没有选择时先问,不猜。计划保留实际来源、主题、FR/AC、共享依赖和验证依据,仍输出原 `tasks/plan.md` 与唯一任务目标,不覆盖其他工作未完计划。
145
145
 
146
146
  随后由用户审阅并明确批准计划,才调用原 `/i3-build` 或 `/i3-build auto`。原 Build auto 的有效规格、Git 干净基线、完整计划认可、逐任务测试/构建/提交和风险停点全保留;未提交的 `.i3/sop`、项目指引等可能触发原 Git 停点,不隐藏、不擅自提交业务文件规避。企业跨阶段 auto 与原 Build auto 是不同功能。
147
147
 
@@ -170,4 +170,4 @@ Plan内的来源表逐项记录实际使用的PRD、AD、规范、契约、工
170
170
  - 实际所读输入、模板/工具来源、主题与输出可定位;缺项和未核内容准确列出。
171
171
  - 新稿只展示路径,明确选用才更新 selected;写后已回读清单,旧稿及人工修改保留。
172
172
  - 纯手动路径交接及只读任务零项目变化;显式plan的手动输入只允许原规划产物,标准流程不误用企业资料。
173
- - 按[共用交接合同§9](../../references/enterprise-sop-resources/handoff-contract.md#9-真实调用与执行报告)报告真实尝试及回执;占位说明不用工具,拒绝/失败不漏报。需外层执行复核时附约定的最小报告块,不声称新命令、全流程、工程或发布已验收。
173
+ - 按[共用交接合同§9](references/handoff-contract.md#9-真实调用与执行报告)报告真实尝试及回执;占位说明不用工具,拒绝/失败不漏报。需外层执行复核时附约定的最小报告块,不声称新命令、全流程、工程或发布已验收。
@@ -6,8 +6,8 @@
6
6
  "stage": "ad",
7
7
  "documentType": "AD",
8
8
  "source": {
9
- "path": "references/i3-enterprise-sop/ad/templates/AD.md",
10
- "resourcePath": "templates/AD.md",
9
+ "path": "skills/i3-enterprise-sop/references/ad/templates/ad.md",
10
+ "resourcePath": "templates/ad.md",
11
11
  "templateVersion": "v0.0.4",
12
12
  "sha256": "0e48c7149792aede3b5c7be70b65b7e4f9b312889760f2fb4105d184162abeae",
13
13
  "role": "complete-document-template",
@@ -38,9 +38,9 @@
38
38
  ],
39
39
  "files": [
40
40
  {
41
- "path": "README.md",
42
- "sourceSha256": "eb4c075d6ba4f8ed8fcdd0e42fddfbc1326ca1a8ffb7dd702701cf6f9d82459e",
43
- "sha256": "71191b896caf41ee775fdf85327e2a9f56c759248551507a3e5473a7270a4a6e",
41
+ "path": "readme.md",
42
+ "sourceSha256": "70b8e0b39b3e8c2ee6f1123fd0f57a10d9848c697ab43240970414b7f79a0246",
43
+ "sha256": "0052fe43876055749d6988f9ad246c08bdfa3929985bcb53cc9d89e063ba0056",
44
44
  "role": "stage-guidance"
45
45
  },
46
46
  {
@@ -68,39 +68,19 @@
68
68
  "role": "stage-action-guidance"
69
69
  },
70
70
  {
71
- "path": "templates/AD.md",
71
+ "path": "templates/ad.md",
72
72
  "sourceSha256": "0e48c7149792aede3b5c7be70b65b7e4f9b312889760f2fb4105d184162abeae",
73
73
  "sha256": "37d3f77efe23b85ebaf50cfad09d92344227d4f778ea7e965c4fea70d89817bb",
74
74
  "role": "complete-document-template"
75
75
  }
76
76
  ],
77
- "derivedFrom": {
78
- "path": "docs/sop-design/templates/AD.md",
79
- "templateVersion": "v0.0.2",
80
- "sha256": "215a570d4c9310752edebfe7022d423855086f769db0b6bdef29d055f35caea5",
81
- "included": false,
82
- "role": "maintenance-provenance-only-not-runtime-dependency",
83
- "changes": [
84
- "distribution title",
85
- "template version and status",
86
- "package-contained shared-contract link"
87
- ]
88
- },
89
77
  "projectDiscovery": {
90
- "entryRelativeToReferences": "enterprise-sop-resources/README.md",
78
+ "entryRelativeToReferences": "readme.md",
91
79
  "stagesRelativeToEntry": "stages.json",
92
- "ordinaryInstallEnablesEnterpriseWorkflow": false
80
+ "ordinaryInstallEnablesEnterpriseWorkflow": false,
81
+ "resourceRoot": "actual-loaded-sop-skill/references"
93
82
  },
94
83
  "revision": "20261018-B02",
95
84
  "revisionScope": "AD linkage content and four task prompts; no original skill/command or auto-registration change",
96
- "revisionProvenance": [
97
- {
98
- "path": "history/sop-design/20261018-before-b02-ad-linkage/branches/prd-sop-resources-source/references/i3-enterprise-sop/ad/templates/AD.md",
99
- "templateVersion": "v0.0.3",
100
- "sha256": "63e30a247f9172c4b15bc48da0c6e71a4df849b7b387652cb33f23761d08a6d2",
101
- "included": false,
102
- "role": "immutable-maintenance-provenance-not-runtime-dependency"
103
- }
104
- ],
105
85
  "validationBoundary": "distribution hashes are computed using existing pure reference mapping; no npm build, installation, new entry or engineering claim"
106
86
  }
@@ -12,9 +12,9 @@
12
12
 
13
13
  审查加载分支:review/recheck完整读取本README、完整模板、唯一动作、实际业务与采用约束,依[统一审查约定](../review-handoff.md)由外层解析元数据并保留变化核对。下文涉及整套共用文件的加载要求在这两个动作按该分支理解;未知自改组合完整读选定原件,其余作业及实质条款保持。
14
14
 
15
- 前版子包版本:0.3.2;模板内容版本:v0.0.4。状态:本地候选,尚未发布。完整[模板](templates/AD.md)和[共用合同](../template-contracts.md)用于明确任务,不新增Skill/命令/自动调度,原方法内容/工具/认可/停轮保留。
15
+ 前版子包版本:0.3.2;模板内容版本:v0.0.4。状态:本地候选,尚未发布。完整[模板](templates/ad.md)和[共用合同](../template-contracts.md)用于明确任务,不新增Skill/命令/自动调度,原方法内容/工具/认可/停轮保留。
16
16
 
17
- 从[入口](../README.md)和[阶段索引](../stages.json)选本阶段,按[清单](assets-manifest.json)定位[生成](prompts/01-generate.md)、[独立只读审查](prompts/02-review.md)、[明确委托修订](prompts/03-revise.md)、[独立只读复查](prompts/04-recheck.md),四作业不自动串行。可复用方法:i3-documentation-and-adrs,按需API/前端等方法;实际原生调用和读取分别取证。
17
+ 从[入口](../readme.md)和[阶段索引](../stages.json)选本阶段,按[清单](assets-manifest.json)定位[生成](prompts/01-generate.md)、[独立只读审查](prompts/02-review.md)、[明确委托修订](prompts/03-revise.md)、[独立只读复查](prompts/04-recheck.md),四作业不自动串行。可复用方法:i3-documentation-and-adrs,按需API/前端等方法;实际原生调用和读取分别取证。
18
18
 
19
19
  ## 1. 本阶段输入与内容
20
20
 
@@ -61,10 +61,10 @@ review/recheck在独立新上下文只读会话输出,审查者零项目写
61
61
 
62
62
  ## B05 变更交接规则
63
63
 
64
- B05当时资源子包0.3.0;本次增量见收口说明,模板正文和版本保持。按[入口](../README.md)§3列本次必要读取,实际读三份共用合同及本次唯一动作;[生命周期合同](../lifecycle-contract.md)统一新增、修改、撤销和退役,不新增命令、JSON程序或工程执行器。
64
+ B05当时资源子包0.3.0;本次增量见收口说明,模板正文和版本保持。按[入口](../readme.md)§3列本次必要读取,实际读三份共用合同及本次唯一动作;[生命周期合同](../lifecycle-contract.md)统一新增、修改、撤销和退役,不新增命令、JSON程序或工程执行器。
65
65
 
66
66
  完整三图和详设继续保留;核所选PRD、公共规约、共享契约/数据owner、必要消费者、实际骨架、移除/兼容/迁移/恢复和工程任务影响。原方法停点、只读审查与人工空间、候选/选择/Plan边界保留,项目副本升级不覆盖人工内容。
67
67
 
68
68
  ## B05收口资源增量
69
69
 
70
- B05当时子包0.3.1,模板正文及版本不改。统一修订全文回读措辞、适用来源和单项目审查证据;外层校验见[说明](../verification/README.md)。不把辅助资料/Plan统一变前置,不自动改业务稿、JSON、任务或原版方法。旧验证与历史版本按当时对象保留。
70
+ B05当时子包0.3.1,模板正文及版本不改。统一修订全文回读措辞、适用来源和单项目审查证据;外层校验见[说明](../verification/readme.md)。不把辅助资料/Plan统一变前置,不自动改业务稿、JSON、任务或原版方法。旧验证与历史版本按当时对象保留。