@givolt/i3-composer-agent 2.3.7 → 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 (497) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-sop.md +19 -0
  3. package/.claude/commands/i3-ui-demo.md +21 -0
  4. package/.claude-plugin/marketplace.json +1 -1
  5. package/.claude-plugin/plugin.json +1 -1
  6. package/.codex-plugin/plugin.json +2 -2
  7. package/.gemini/commands/i3-sop.toml +19 -0
  8. package/.gemini/commands/i3-ui-demo.toml +21 -0
  9. package/README.md +42 -6
  10. package/bin/i3-composer-agent.cjs +38 -44
  11. package/bin/install.cjs +15 -3
  12. package/bin/native-layout.cjs +2 -1
  13. package/bin/native-migration.cjs +19 -2
  14. package/bin/retired-sop-fingerprints.json +213 -0
  15. package/bin/wizard.cjs +7 -18
  16. package/commands/i3-sop.toml +19 -0
  17. package/commands/i3-ui-demo.toml +21 -0
  18. package/docs/codebuddy-setup.md +20 -23
  19. package/docs/codex-setup.md +2 -2
  20. package/docs/comparison.md +131 -0
  21. package/docs/developer-onboarding.md +143 -0
  22. package/docs/opencode-setup.md +1 -1
  23. package/docs/other-hosts.md +2 -2
  24. package/docs/skill-anatomy.md +211 -0
  25. package/docs/upstream-repository/AGENTS.md +92 -0
  26. package/docs/upstream-repository/CLAUDE.md +60 -0
  27. package/docs/upstream-repository/CONTRIBUTING.md +137 -0
  28. package/docs/upstream-repository/README.md +8 -0
  29. package/docs/upstream-repository/gitattributes.txt +1 -0
  30. package/docs/upstream-repository/gitignore.txt +10 -0
  31. package/docs/upstream-repository/manifest.json +71 -0
  32. package/docs/upstream-repository/opencode-skills.link +1 -0
  33. package/docs/upstream-repository/skill-gap.yml +80 -0
  34. package/docs/upstream-repository/skills-contributing.md +15 -0
  35. package/docs/upstream-repository/test-plugin-install.yml +167 -0
  36. package/docs/workbuddy-setup.md +7 -10
  37. package/evals/cases/i3-enterprise-sop.json +64 -0
  38. package/evals/cases/i3-ui-demo.json +98 -0
  39. package/evals/fixtures/i3-enterprise-sop/brief.md +11 -0
  40. package/evals/fixtures/i3-ui-demo/asset-management.md +25 -0
  41. package/evals/zh-CN/cases/i3-enterprise-sop.json +61 -0
  42. package/evals/zh-CN/cases/i3-ui-demo.json +103 -0
  43. package/hooks/PROTOTYPE.md +16 -8
  44. package/hooks/i3-prototype.cjs +4 -10
  45. package/hooks/manage.cjs +30 -31
  46. package/package.json +48 -5
  47. package/plugin.json +1 -1
  48. package/scripts/ui-demo-dependencies-test.js +228 -0
  49. package/scripts/ui-demo-mcp-test.js +95 -0
  50. package/scripts/ui-demo-test.js +170 -0
  51. package/scripts/ui-prototype-execution-runtime-test.js +1 -1
  52. package/scripts/ui-prototype-native-test.js +25 -3
  53. package/skills/i3-enterprise-sop/SKILL.md +173 -0
  54. package/skills/i3-enterprise-sop/agents/openai.yaml +2 -0
  55. package/skills/i3-enterprise-sop/references/ad/assets-manifest.json +86 -0
  56. package/skills/i3-enterprise-sop/references/ad/prompts/01-generate.md +58 -0
  57. package/skills/i3-enterprise-sop/references/ad/prompts/02-review.md +54 -0
  58. package/skills/i3-enterprise-sop/references/ad/prompts/03-revise.md +54 -0
  59. package/skills/i3-enterprise-sop/references/ad/prompts/04-recheck.md +54 -0
  60. package/skills/i3-enterprise-sop/references/ad/readme.md +70 -0
  61. package/skills/i3-enterprise-sop/references/ad/templates/ad.md +337 -0
  62. package/skills/i3-enterprise-sop/references/assets-manifest.json +230 -0
  63. package/skills/i3-enterprise-sop/references/brd/assets-manifest.json +83 -0
  64. package/skills/i3-enterprise-sop/references/brd/prompts/01-generate.md +51 -0
  65. package/skills/i3-enterprise-sop/references/brd/prompts/02-review.md +47 -0
  66. package/skills/i3-enterprise-sop/references/brd/prompts/03-revise.md +47 -0
  67. package/skills/i3-enterprise-sop/references/brd/prompts/04-recheck.md +47 -0
  68. package/skills/i3-enterprise-sop/references/brd/readme.md +50 -0
  69. package/skills/i3-enterprise-sop/references/brd/templates/brd.md +169 -0
  70. package/skills/i3-enterprise-sop/references/codebuddy-project-guide.md +34 -0
  71. package/skills/i3-enterprise-sop/references/controlled-handoff.md +41 -0
  72. package/skills/i3-enterprise-sop/references/controlled_handoff.py +379 -0
  73. package/skills/i3-enterprise-sop/references/engineering-skeleton/adoption.md +200 -0
  74. package/skills/i3-enterprise-sop/references/engineering-skeleton/catalog.json +17 -0
  75. package/skills/i3-enterprise-sop/references/engineering-skeleton/directory-standard.md +119 -0
  76. package/skills/i3-enterprise-sop/references/engineering-skeleton/readme.md +52 -0
  77. package/skills/i3-enterprise-sop/references/handoff-contract.md +196 -0
  78. package/skills/i3-enterprise-sop/references/handoff.py +277 -0
  79. package/skills/i3-enterprise-sop/references/lifecycle-contract.md +91 -0
  80. package/skills/i3-enterprise-sop/references/plan-handoff.md +73 -0
  81. package/skills/i3-enterprise-sop/references/prd/assets-manifest.json +109 -0
  82. package/skills/i3-enterprise-sop/references/prd/prompts/01-generate.md +64 -0
  83. package/skills/i3-enterprise-sop/references/prd/prompts/02-review.md +49 -0
  84. package/skills/i3-enterprise-sop/references/prd/prompts/03-revise.md +48 -0
  85. package/skills/i3-enterprise-sop/references/prd/prompts/04-recheck.md +47 -0
  86. package/skills/i3-enterprise-sop/references/prd/readme.md +137 -0
  87. package/skills/i3-enterprise-sop/references/prd/template-contracts.md +39 -0
  88. package/skills/i3-enterprise-sop/references/prd/templates/ad.md +17 -0
  89. package/skills/i3-enterprise-sop/references/prd/templates/prd.md +257 -0
  90. package/skills/i3-enterprise-sop/references/readme.md +167 -0
  91. package/skills/i3-enterprise-sop/references/recovery-contract.md +65 -0
  92. package/skills/i3-enterprise-sop/references/review-handoff.md +105 -0
  93. package/skills/i3-enterprise-sop/references/selection-handoff.md +55 -0
  94. package/skills/i3-enterprise-sop/references/selection_handoff.py +225 -0
  95. package/skills/i3-enterprise-sop/references/stages.json +271 -0
  96. package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +84 -0
  97. package/skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md +380 -0
  98. package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +132 -0
  99. package/skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md +133 -0
  100. package/skills/i3-enterprise-sop/references/template-contracts.md +142 -0
  101. package/skills/i3-enterprise-sop/references/testcase/assets-manifest.json +91 -0
  102. package/skills/i3-enterprise-sop/references/testcase/prompts/01-generate.md +53 -0
  103. package/skills/i3-enterprise-sop/references/testcase/prompts/02-review.md +51 -0
  104. package/skills/i3-enterprise-sop/references/testcase/prompts/03-revise.md +49 -0
  105. package/skills/i3-enterprise-sop/references/testcase/prompts/04-recheck.md +51 -0
  106. package/skills/i3-enterprise-sop/references/testcase/readme.md +61 -0
  107. package/skills/i3-enterprise-sop/references/testcase/templates/testcase.md +269 -0
  108. package/skills/i3-enterprise-sop/references/verification/check_execution.py +185 -0
  109. package/skills/i3-enterprise-sop/references/verification/check_native_execution.py +282 -0
  110. package/skills/i3-enterprise-sop/references/verification/check_reads.py +348 -0
  111. package/skills/i3-enterprise-sop/references/verification/readme.md +149 -0
  112. package/skills/i3-enterprise-sop/references/verification/review-output.schema.json +155 -0
  113. package/skills/i3-enterprise-sop/references/verification/review_handoff.py +329 -0
  114. package/skills/i3-ui-demo/SKILL.md +234 -0
  115. package/skills/i3-ui-demo/assets/antdv-build/package-lock.json +3363 -0
  116. package/skills/i3-ui-demo/assets/antdv-build/package.json +28 -0
  117. package/skills/i3-ui-demo/assets/design-source.json +11 -0
  118. package/skills/i3-ui-demo/assets/host-targets.json +739 -0
  119. package/skills/i3-ui-demo/assets/official-files.json +76 -0
  120. package/skills/i3-ui-demo/assets/starter/index.html +11 -0
  121. package/skills/i3-ui-demo/assets/starter/package-lock.json +2299 -0
  122. package/skills/i3-ui-demo/assets/starter/package.json +28 -0
  123. package/skills/i3-ui-demo/assets/starter/provenance.json +14 -0
  124. package/skills/i3-ui-demo/assets/starter/public/prototype-config.json +22 -0
  125. package/skills/i3-ui-demo/assets/starter/src/App.vue +64 -0
  126. package/skills/i3-ui-demo/assets/starter/src/PrototypeShell.vue +59 -0
  127. package/skills/i3-ui-demo/assets/starter/src/config.ts +23 -0
  128. package/skills/i3-ui-demo/assets/starter/src/domain/presentation.ts +30 -0
  129. package/skills/i3-ui-demo/assets/starter/src/domain/theme.ts +25 -0
  130. package/skills/i3-ui-demo/assets/starter/src/main.ts +18 -0
  131. package/skills/i3-ui-demo/assets/starter/src/style.css +26 -0
  132. package/skills/i3-ui-demo/assets/starter/tests/presentation.test.ts +23 -0
  133. package/skills/i3-ui-demo/assets/starter/tests/theme.test.ts +26 -0
  134. package/skills/i3-ui-demo/assets/starter/tsconfig.json +15 -0
  135. package/skills/i3-ui-demo/assets/starter/vite.config.ts +4 -0
  136. package/skills/i3-ui-demo/assets/templates/enterprise-admin/capability-definition.json +1395 -0
  137. package/skills/i3-ui-demo/assets/templates/enterprise-admin/component-inventory.json +707 -0
  138. package/skills/i3-ui-demo/assets/templates/enterprise-admin/design-system.md +26 -0
  139. package/skills/i3-ui-demo/assets/templates/enterprise-admin/generation.json +49 -0
  140. package/skills/i3-ui-demo/assets/templates/enterprise-admin/index.html +534 -0
  141. package/skills/i3-ui-demo/assets/templates/enterprise-admin/manifest.json +9 -0
  142. package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline-build.json +265 -0
  143. package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline.js +8888 -0
  144. package/skills/i3-ui-demo/assets/templates/enterprise-admin/origin.json +344 -0
  145. package/skills/i3-ui-demo/assets/templates/enterprise-admin/preset.json +928 -0
  146. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/app.js +22 -0
  147. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/empty.svg +1 -0
  148. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/reference-styles.json +1 -0
  149. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-403.svg +1 -0
  150. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-404.svg +1 -0
  151. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets-manifest.json +334 -0
  152. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/baseline.json +173 -0
  153. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/conversion.md +30 -0
  154. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/credits.md +17 -0
  155. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/design-tokens.json +881 -0
  156. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/index.html +28 -0
  157. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +9 -0
  158. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +22 -0
  159. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +21 -0
  160. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/package.json +12 -0
  161. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/browser-routes.json +298 -0
  162. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/coverage.json +180 -0
  163. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/integrity.json +13 -0
  164. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/keyboard.json +11 -0
  165. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/responsive.json +125 -0
  166. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/review.md +51 -0
  167. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/rules.log +150 -0
  168. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
  169. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
  170. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
  171. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
  172. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
  173. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
  174. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
  175. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
  176. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/selection.json +9 -0
  177. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +342 -0
  178. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/readme.md +73 -0
  179. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/reference.md +59 -0
  180. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/routes.json +178 -0
  181. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/controls.js +99 -0
  182. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dialogs.js +54 -0
  183. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dom.js +264 -0
  184. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/forms.js +47 -0
  185. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/icons.js +41 -0
  186. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/layout.js +47 -0
  187. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/router.js +63 -0
  188. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/state.js +90 -0
  189. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/table.js +41 -0
  190. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/widgets.js +8 -0
  191. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +3 -0
  192. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +36 -0
  193. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +2 -0
  194. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +51 -0
  195. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +3 -0
  196. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +48 -0
  197. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +2 -0
  198. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +6 -0
  199. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +2 -0
  200. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +13 -0
  201. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/data.js +24 -0
  202. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/domain.js +32 -0
  203. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/registry.js +25 -0
  204. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/store.js +85 -0
  205. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +2 -0
  206. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +17 -0
  207. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +2 -0
  208. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +66 -0
  209. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +3 -0
  210. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +38 -0
  211. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +2 -0
  212. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +66 -0
  213. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +2 -0
  214. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +5 -0
  215. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +2 -0
  216. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +12 -0
  217. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +2 -0
  218. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +11 -0
  219. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +2 -0
  220. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +116 -0
  221. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +2 -0
  222. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +32 -0
  223. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +2 -0
  224. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +49 -0
  225. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +2 -0
  226. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +10 -0
  227. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +2 -0
  228. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +77 -0
  229. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/data.js +60 -0
  230. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/domain.js +105 -0
  231. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/store.js +212 -0
  232. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +2 -0
  233. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +18 -0
  234. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +2 -0
  235. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +23 -0
  236. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +2 -0
  237. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +78 -0
  238. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +2 -0
  239. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +55 -0
  240. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +2 -0
  241. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +26 -0
  242. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +2 -0
  243. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +38 -0
  244. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +2 -0
  245. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +7 -0
  246. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +2 -0
  247. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +72 -0
  248. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +2 -0
  249. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +46 -0
  250. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +2 -0
  251. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +52 -0
  252. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.html +2 -0
  253. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.js +19 -0
  254. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +2 -0
  255. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +30 -0
  256. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/data.js +48 -0
  257. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/domain.js +39 -0
  258. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/store.js +129 -0
  259. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +4 -0
  260. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +21 -0
  261. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +2 -0
  262. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +8 -0
  263. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +2 -0
  264. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +37 -0
  265. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +2 -0
  266. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +10 -0
  267. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +2 -0
  268. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +37 -0
  269. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +2 -0
  270. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +49 -0
  271. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +4 -0
  272. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +22 -0
  273. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +2 -0
  274. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +9 -0
  275. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/commands.js +82 -0
  276. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/examples.js +47 -0
  277. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/model.js +61 -0
  278. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/repair.js +68 -0
  279. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/store.js +55 -0
  280. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/types.js +1 -0
  281. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/workbench.js +18 -0
  282. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +3 -0
  283. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +28 -0
  284. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +2 -0
  285. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +18 -0
  286. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +2 -0
  287. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +31 -0
  288. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +2 -0
  289. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +27 -0
  290. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +2 -0
  291. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +16 -0
  292. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +2 -0
  293. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +43 -0
  294. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +4 -0
  295. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +34 -0
  296. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +2 -0
  297. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +30 -0
  298. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +3 -0
  299. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +67 -0
  300. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +2 -0
  301. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +41 -0
  302. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +2 -0
  303. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +31 -0
  304. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +2 -0
  305. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +26 -0
  306. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +2 -0
  307. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +70 -0
  308. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/data.js +8 -0
  309. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/domain.js +62 -0
  310. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/management.js +36 -0
  311. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +49 -0
  312. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/store.js +132 -0
  313. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +2 -0
  314. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +38 -0
  315. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +2 -0
  316. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +11 -0
  317. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +2 -0
  318. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +45 -0
  319. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +2 -0
  320. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +54 -0
  321. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +3 -0
  322. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +27 -0
  323. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +2 -0
  324. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +12 -0
  325. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +2 -0
  326. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +45 -0
  327. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +3 -0
  328. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +38 -0
  329. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/domain.js +61 -0
  330. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/state.js +51 -0
  331. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/store.js +116 -0
  332. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +2 -0
  333. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +45 -0
  334. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +4 -0
  335. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +30 -0
  336. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +2 -0
  337. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +67 -0
  338. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +2 -0
  339. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +5 -0
  340. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +4 -0
  341. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +60 -0
  342. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/commands.js +157 -0
  343. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/model.js +136 -0
  344. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/store.js +76 -0
  345. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +3 -0
  346. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +26 -0
  347. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +2 -0
  348. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +14 -0
  349. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +2 -0
  350. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +113 -0
  351. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +3 -0
  352. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +62 -0
  353. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/commands.js +97 -0
  354. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/model.js +147 -0
  355. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/store.js +13 -0
  356. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +2 -0
  357. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +9 -0
  358. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +2 -0
  359. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +8 -0
  360. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +2 -0
  361. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +37 -0
  362. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +2 -0
  363. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +8 -0
  364. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +2 -0
  365. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +17 -0
  366. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/columns.js +32 -0
  367. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +49 -0
  368. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +12 -0
  369. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +15 -0
  370. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +37 -0
  371. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/policy.js +68 -0
  372. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/session.js +44 -0
  373. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +2 -0
  374. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +25 -0
  375. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +2 -0
  376. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +53 -0
  377. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +10 -0
  378. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +30 -0
  379. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +2 -0
  380. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +10 -0
  381. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +2 -0
  382. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +9 -0
  383. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +3 -0
  384. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/navigation.js +19 -0
  385. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +2 -0
  386. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +8 -0
  387. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +2 -0
  388. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +32 -0
  389. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +2 -0
  390. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +15 -0
  391. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +2 -0
  392. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +11 -0
  393. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +2 -0
  394. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +57 -0
  395. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +2 -0
  396. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +37 -0
  397. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/data.js +20 -0
  398. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/domain.js +55 -0
  399. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/store.js +151 -0
  400. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +3 -0
  401. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +18 -0
  402. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +2 -0
  403. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +40 -0
  404. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +2 -0
  405. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +51 -0
  406. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +2 -0
  407. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +9 -0
  408. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +5 -0
  409. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +48 -0
  410. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/domain.js +204 -0
  411. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +22 -0
  412. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/registry.js +135 -0
  413. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/store.js +137 -0
  414. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +3 -0
  415. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +36 -0
  416. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/model.js +56 -0
  417. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/store.js +15 -0
  418. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +2 -0
  419. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +27 -0
  420. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +4 -0
  421. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +31 -0
  422. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +2 -0
  423. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +68 -0
  424. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +5 -0
  425. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +55 -0
  426. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/data.js +16 -0
  427. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/domain.js +83 -0
  428. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/registry.js +18 -0
  429. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/store.js +61 -0
  430. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/admin.css +60 -0
  431. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/agents.css +46 -0
  432. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/antdv.css +295 -0
  433. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/app.css +102 -0
  434. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/delivery.css +4 -0
  435. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/intents.css +37 -0
  436. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/native.css +22 -0
  437. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/operations.css +2 -0
  438. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pbc.css +3 -0
  439. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/permissions.css +22 -0
  440. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pro.css +1 -0
  441. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/releases.css +4 -0
  442. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reset.css +246 -0
  443. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reviews.css +8 -0
  444. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tasks.css +6 -0
  445. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tokens.css +15 -0
  446. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workbench.css +61 -0
  447. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workflows.css +1 -0
  448. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +96 -0
  449. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/agents.test.js +14 -0
  450. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +37 -0
  451. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +44 -0
  452. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +19 -0
  453. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +14 -0
  454. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operations.test.js +25 -0
  455. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +17 -0
  456. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +24 -0
  457. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +23 -0
  458. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permissions.test.js +24 -0
  459. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/releases.test.js +50 -0
  460. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/reviews.test.js +36 -0
  461. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +28 -0
  462. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +42 -0
  463. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +16 -0
  464. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +11 -0
  465. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/tasks.test.js +27 -0
  466. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workbench.test.js +34 -0
  467. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workflows.test.js +16 -0
  468. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/convert.mjs +168 -0
  469. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/serve.mjs +7 -0
  470. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/styles.mjs +11 -0
  471. package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/verify.mjs +24 -0
  472. package/skills/i3-ui-demo/assets/templates/enterprise-admin/serve.cjs +16 -0
  473. package/skills/i3-ui-demo/assets/templates/enterprise-admin/template-inventory.json +28791 -0
  474. package/skills/i3-ui-demo/assets/templates/enterprise-admin/template.json +9 -0
  475. package/skills/i3-ui-demo/assets/templates/enterprise-admin/usability.css +44 -0
  476. package/skills/i3-ui-demo/assets/templates.json +10 -0
  477. package/skills/i3-ui-demo/assets/versions.json +20 -0
  478. package/skills/i3-ui-demo/readme.md +350 -0
  479. package/skills/i3-ui-demo/references/browser.md +71 -0
  480. package/skills/i3-ui-demo/references/dependencies.md +67 -0
  481. package/skills/i3-ui-demo/references/resources.md +142 -0
  482. package/skills/i3-ui-demo/scripts/dependencies.cjs +364 -0
  483. package/skills/i3-ui-demo/scripts/design-install.cjs +105 -0
  484. package/skills/i3-ui-demo/scripts/design-provider.cjs +57 -0
  485. package/skills/i3-ui-demo/scripts/locations.cjs +52 -0
  486. package/skills/i3-ui-demo/scripts/mcp.cjs +112 -0
  487. package/skills/i3-ui-demo/scripts/provider-discovery.cjs +131 -0
  488. package/skills/i3-ui-demo/scripts/resources.cjs +283 -0
  489. package/skills/i3-ui-prototype/SKILL.md +1 -1
  490. package/skills/i3-ui-prototype/references/execution-evidence.md +12 -56
  491. package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +1 -1
  492. package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +5 -2
  493. package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +3 -2
  494. package/skills/i3-ui-prototype/scripts/native-delivery.cjs +2 -2
  495. package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +23 -20
  496. package/docs/ui-prototype-native/MAIN-SESSION-REPORT.md +0 -66
  497. package/docs/ui-prototype-native/USAGE.md +0 -93
@@ -0,0 +1,61 @@
1
+ # 企业 SOP · TestCase 阶段资源
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ 当前子包版本:0.3.4;模板内容版本沿本阶段manifest,正文不改。下文B05等旧版本文字保留为历史说明。
12
+
13
+ 审查加载分支:review/recheck完整读取本README、完整模板、唯一动作、实际业务与采用约束,依[统一审查约定](../review-handoff.md)由外层解析元数据并保留变化核对。下文涉及整套共用文件的加载要求在这两个动作按该分支理解;未知自改组合完整读选定原件,其余作业及实质条款保持。
14
+
15
+ 前版子包版本:0.3.1;模板内容版本:v0.0.4。状态:本地候选,尚未发布。完整[模板](templates/testcase.md)和[共用合同](../template-contracts.md)用于明确任务,不新增Skill/命令/自动调度,原方法内容/工具/认可/停轮保留。
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与测试设计内容检查,不是/i3-test执行任务;实际原生调用和读取分别取证。
18
+
19
+ ## 1. 本阶段输入与内容
20
+
21
+
22
+ - §0.2、§6.1按路径、正文版本和条款固定本主题及必要关联组合;公共规范、共享契约/数据权威、提供消费AD、代码/服务/环境版本分别表达,不取最大版本、不强制同号或SHA256,不跨对象比较版本。
23
+ - §3.3、§6.2核唯一业务状态/写入责任、可信租户和主体作用域、幂等重放与新请求的校验顺序、严格消费者及快照过期;产品预期直接核PRD,不复制AD遗漏,不自造正式业务决定。
24
+ - §6.2—§6.4覆盖真实交接、拒绝/失败/UNKNOWN/重复/并发、回执查询、部分成功和恢复;核旧新组合、存量迁移/备份/不可逆限制、必要传递影响及既有行为回归,无关主题不机械改写/升版。
25
+ - §7.1中TestCase是Plan的可选输入:需求、技术约束与验证要求足够即可规划,已有则读取,没有则安排补齐设计;未定判据只限制依赖任务,不取消SPEC六项、必要人审或执行前检查。
26
+ - §0.2明确原test及Build复用TDD,可写测试和实现,不是只读文档生成;原代码review保留五维与临时变异验证,不整体套作零写入的文档review/recheck。本资源不实现JSON登记接点,不自动调用原入口或下阶段。
27
+ - §8.1只定义未来报告的准确组合、实际候选/环境/数据、逐项结果、副作用与证据;替身不关闭必需真实集成,未运行不造runId成功/通过率,实际脚本、Plan、锁和工程未形成不登记未来路径。
28
+ - 原型按需且可与AD并行;保留人工修改、原报告、业务Q、有据不采纳和明确委托修订;文档审查通过不替代代码审查或业务/发布认可。
29
+
30
+
31
+ ## 2. 来源与项目采用
32
+
33
+ 模板基于固定设计v0.0.2与前版分发v0.0.3保留完整正文,B03新增跨主题组合、共享责任、兼容迁移、传递影响、Plan可选输入及原test/review分工。维护来源/真实摘要在清单derivedFrom中标included:false,不要求业务用户读取开发目录。
34
+
35
+ sourceSha256为源码字节,sha256为既有品牌流程分发字节,清单不算自身哈希。项目副本先检查目标和人工修改;明确采用的自改副本优先,当前local hash与发行来源分开,不强制恢复原件。模板版本、项目修订与业务版本分开,不猜最新或机械升版。
36
+
37
+ ## 3. 写入、人工修改与退出
38
+
39
+ 模型从已读项目约定整理准确输入/模板/唯一目标及缺口,用户不必填每个路径。目标已存在先读和保留旧稿,不覆盖未读人工内容;仅授权目标可写。最后编辑后回读,新增规范要求逐条回源,权限/状态一致,逐表核列数和列义。
40
+
41
+ review/recheck在独立新上下文只读会话输出,审查者零项目写入,报告由获准调用者另存。人可自行修改、明确委托、有据不采纳或保持Q,修订不代答业务决定。
42
+
43
+ 候选完成汇报实际来源/目标、假设/Q、自查和未执行事项后交人工审阅并停轮,不自动其他文档、Plan、Build、测试执行、提交或发布。模板/包/安装/宿主读取/模型行为/业务人审分别记录,本文不宣称完整3.0或所有宿主通过。
44
+
45
+ ## 4. 验证与实施边界
46
+
47
+ 本次为TestCase自有资源及必要父级引用修订。CodeBuddy合成资料验证、原入口调用、工程测试、安装及业务认可分别取证;不把资料任务称为原test/review执行。原命令不天然读取企业用例或JSON,接点留后续S11验证。B02生成未通过记录仍保留,不以本次TestCase通过替代。
48
+
49
+ ## B05 变更交接规则
50
+
51
+ B05当时资源子包0.3.0;本次增量见收口说明,模板正文和版本保持。按[入口](../readme.md)§3列本次必要读取,实际读三份共用合同及本次唯一动作;[生命周期合同](../lifecycle-contract.md)统一新增、修改、撤销和退役,不新增命令、JSON程序或工程执行器。
52
+
53
+ 直接核PRD与AD;按真实目标更新新增/变更/撤销/保留预期,补停用/拒绝/替代、跨主题回归、迁移/恢复,不删失败降门槛,不编执行结果。原方法停点、只读审查与人工空间、候选/选择/Plan边界保留,项目副本升级不覆盖人工内容。
54
+
55
+ ## B05收口资源增量
56
+
57
+ B05当时子包0.3.1,模板正文及版本不改。统一修订全文回读措辞、适用来源和单项目审查证据;外层校验见[说明](../verification/readme.md)。不把辅助资料/Plan统一变前置,不自动改业务稿、JSON、任务或原版方法。旧验证与历史版本按当时对象保留。
58
+
59
+ ## 审查输出契约增量
60
+
61
+ B05当时子包0.3.2;前述0.3.1为上一修订。增加[机器输出契约](../verification/review-output.schema.json)与外层错误分类、来源角色绑定和有界人工停点。格式/来源定向复核只更正会话报告,保留业务稿与真实发现;不宣称重新完成全业务审查,不自动运行下阶段。TestCase模板仍v0.0.4,原版test/review分工不变。
@@ -0,0 +1,269 @@
1
+ # TestCase 模板
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ 原型只在本次实际适用且已采用时作为输入,不因缺少原型一律停止测试设计;依赖未定交互的用例明确待确认,其他场景可以继续。最终技术判据仍需核对选定 PRD 和有效 AD,起草不等于已经执行测试。
12
+
13
+ **审查只标注,使用者决定处理。**文档审查者只读标注问题、准确位置、来源、影响和修改建议,不直接修改候选。使用者可以人工修改、明确委托模型修订、有依据地不采纳建议,或将业务问题保持待确认;审查意见不自动触发改写。保留旧稿、人工修改、原报告和逐项处理依据,按项目既有约束进行必要复查;缺少真实答复不为清零而补造规则,人工编辑也不自动等于审查通过或业务批准。
14
+
15
+ 模板版本:v0.0.4。日期:2026-10-18。状态:自有资源候选;模板可供明确采用,业务内容与认可另行记录。
16
+
17
+ 采用[模板与交接合同](../../template-contracts.md)。实例文件名为 `{PBC}-{需求主题}-TestCase_v0.0.1.md`,其中包含多条用例与回归/评估安排。直接读取选定的 PRD、AD 和适用原型,不只从 AD 反推需求;设计遗漏也应被覆盖检查发现。所需条件、判据和报告合同先明确,真实执行结果另写一份或多份 TestReport,不预填通过结论。
18
+
19
+ 本模板承接原 SPEC 的测试策略:明确框架、测试目录、测试层级和适用覆盖要求,并固定引用 AD 的完整测试命令及运行条件。测试代码、实际报告、CONSTRAINTS 与其他辅助产物继续按原方法保留;本模板不替代原 TDD、浏览器或其他 Skill 的工具、步骤、停点和验证要求,也不强制复制 SPEC。
20
+
21
+ ---
22
+
23
+ # {PBC名称} · {需求主题} — 测试用例与验证合同
24
+
25
+ ## 0. 身份与固定输入
26
+
27
+ | 项目 | 本次实际值 |
28
+ | --- | --- |
29
+ | 能力/需求主题 | `{PBC capabilityId/名称;稳定prdId/主题;适用EBC引用}` |
30
+ | 文档身份/版本/位置 | `{documentId;实际版本;可回读路径/固定内容及摘要}` |
31
+ | 直接 PRD 依据 | `{选定主题、PRD版本、具体条目、固定内容与摘要}` |
32
+ | 直接 AD 依据 | `{选定AD版本/固定内容/摘要;其产品引用与本PRD是否一致}` |
33
+ | 原型、契约与质量规则 | `{适用原型版本/认可范围;接口、数据、项目规范固定引用;不适用或缺项说明}` |
34
+ | 当前范围/比较基准 | `{全部有效目标、变化和保留;前次用例/真实实现及历史运行,不混为当前通过证明}` |
35
+ | 模板/责任/状态 | `{固定模板;设计、复核、执行与业务验收责任;未指定如实写}` |
36
+
37
+ ### 0.1 输入与确认核对
38
+
39
+ | 输入 ID | 身份/版本/具体条目 | 固定内容/摘要与已读范围 | 用途与权威定义 | 认可/真实可用性/缺口 |
40
+ | --- | --- | --- | --- | --- |
41
+ | `{别名}` | `{PRD/AD/原型/外部规范/真实答复}` | `{可回读引用}` | `{产品预期/技术约束/交互等}` | `{分别记录,不由文件存在推定}` |
42
+
43
+ 本 TestCase 对应本次选定的一个 AD 版本;后续方法改进可形成新 TestCase 版本而不强制改变 AD 或 PRD 版本。同一能力其他主题可以有自己的用例集,组合交付时显式选择配套集合及集成范围,不自动合并目录中全部最新文件。
44
+
45
+ ### 0.2 跨主题采用依据与原方法分工
46
+
47
+ 先读本主题选定PRD与直接配套AD,再按实际共享定义读取项目已采用公共技术规约、契约正文和必要关联主题。关联AD/TestCase只用于本次组合和交接,不替代本主题产品来源,不把整目录最大版本或未采用候选纳入。基本引用按实际路径、正文版本与条款核对,摘要可选;来源失效或冲突列Q及受影响范围,不静默换源,也不从历史测试恢复旧答案。
48
+
49
+ | 方法/产物 | 职责与输入 | 输出及权限边界 |
50
+ | --- | --- | --- |
51
+ | 企业TestCase | 按PRD产品预期、AD技术判据及采用规范设计用例 | 测试设计与报告合同,不编写测试代码、不运行测试、不预填结果 |
52
+ | 原Plan | 按当前范围的需求、设计、验证要求及真实工程拆任务 | 原tasks/plan.md和唯一任务目标;TestCase为可选输入,已有则引用,没有则安排补齐设计,不统一阻断规划 |
53
+ | 原Build/test | 按获准任务及相关来源执行原TDD、缺陷复现、回归与适用浏览器验证 | 业务与测试代码、实际运行及构建证据;不是只读文档作业,不更改原方法或质量门槛 |
54
+ | 企业文档review/recheck | 独立上下文核来源、语义、覆盖和报告约定 | 零项目写入,只在会话标注;有据人工处理或明确委托修订 |
55
+ | 原代码review | 对真实代码与测试差异作原五维审查及验证 | 保留原检查和结论标准;其中临时变异检查后恢复源码涉及写入,不能整体套作零写入的文档审查 |
56
+
57
+ 原test是开发/修复中的TDD入口,Build也复用它;不要求每次Build之后重复执行同一无变化测试。文档审查通过不替代代码审查、测试或人类认可,保留人工修改空间不降低原合并和发布要求。原命令不天然发现企业TestCase或JSON,实际交接需明确任务或已采用指引;本资源不实现JSON登记接点、自动跨阶段执行或宿主路由。
58
+
59
+ ## 1. 验证目标、范围与排除
60
+
61
+ `{本主题需要证明的业务行为、全部AC/复合子项、关键端到端流程、相关工程质量及受影响既有功能。产品功能验收与运行后业务效果分别说明;未知阈值或观察周期标待确认,不编造。}`
62
+
63
+ | 验证对象 | 本次纳入内容 | 排除/暂不能执行范围及理由 | 依赖/风险 | 所需方法 |
64
+ | --- | --- | --- | --- | --- |
65
+ | `{功能/数据/权限/恢复/性能/交互等}` | `{稳定条目}` | `{必须有依据,不能暗降标准}` | `{具体问题}` | `{测试/测量/业务评审/运行观察}` |
66
+
67
+ 缺少环境不必阻止不依赖它的用例设计,但不能把不可执行范围写成已经通过。
68
+
69
+ ## 2. PRD、AD 与用例覆盖
70
+
71
+ 先从 PRD 独立列出应验证的产品结果,再核对 AD 对应实现和技术风险。AD 没有设计某个需求时登记缺口,不随之删除用例或产品预期。
72
+
73
+ | PRD需求/AC/子项与版本 | 产品预期与来源 | AD条款/字段/契约/状态及版本 | 用例/参数子场景 | 层次与对象 | 设计覆盖缺口 |
74
+ | --- | --- | --- | --- | --- | --- |
75
+ | `{稳定引用}` | `{不能只写需求原文摘要}` | `{精确位置或遗漏}` | `{实际TC ID及子项}` | `{单元/契约/集成/E2E/原型/正式实现/运行观察}` | `{已设计/待明确/不适用及依据,不是执行结果}` |
76
+
77
+ | 工程要求与来源 | 条件/风险 | 技术预期 | 相关产品要求 | 用例/评估及证据要求 | 未决 |
78
+ | --- | --- | --- | --- | --- | --- |
79
+ | `{AD或适用公共质量条款}` | `{实际条件}` | `{有依据的可判断结果}` | `{相关则引用}` | `{具体方法}` | `{问题ID}` |
80
+
81
+ 复合 AC 各子项均应有去向;一部分子项有用例不代表整条覆盖完整。用例与需求/设计可以多对多,不按文档配套关系强行一项一个用例,也不用数量或覆盖率代替语义正确性。
82
+
83
+ ## 3. 所需环境、身份、数据与依赖
84
+
85
+ ### 3.1 测试策略、框架、目录与覆盖要求
86
+
87
+ 先核实项目已有测试体系,按实际范围选择层级,保留原技能要求;不因套用模板改框架、替换工具、跳过红绿重构或降低质量门槛。下表定义验证方法和所需条件,不表示框架已安装、用例已实现或测试已通过。
88
+
89
+ | 测试层级/验证对象 | 关注点与需求/技术依据 | 框架/工具及精确版本 | 测试目录与配置位置 | 命令引用及运行条件 | 适用覆盖要求及来源 | 当前事实与缺口 |
90
+ | --- | --- | --- | --- | --- | --- | --- |
91
+ | 单元 | `{适合独立断言的逻辑、状态及错误分支}` | `{已有框架/runner版本或待确认}` | `{实际测试目录、命名和固定配置}` | `{AD §9.1的完整命令/cwd;聚焦及回归范围}` | `{适用语义/分支或既有覆盖指标、口径及来源}` | `{已存在/拟建/不可执行分别记录}` |
92
+ | 契约/集成 | `{API、数据、权限、事务和外部依赖交接}` | `{实际工具及版本}` | `{测试与夹具/契约配置目录}` | `{命令引用;身份、数据、依赖及替身限制}` | `{接口/状态/副作用/拒绝路径等具体要求}` | `{真实依赖可用性另行核实}` |
93
+ | E2E/浏览器 | `{实际用户流程、组件交互与可访问性}` | `{按适用原方法要求的真实工具及版本}` | `{场景/脚本/配置目录;暂无脚本如实注明}` | `{命令或工具操作引用;实际页面/服务候选及条件}` | `{关键流程、视口/角色/状态等有来源范围}` | `{不适用或缺工具说明依据,不静默换工具}` |
94
+ | 其他适用验证 | `{性能、恢复、Agent行为评价或业务运行观察}` | `{实际方法/工具/样本固定版本}` | `{评估、测量或观察记录的实际位置}` | `{明确入口、条件及责任,不强造CLI}` | `{适用负载/样本/重复次数/判据及来源}` | `{仅所需维度;不适用要说明}` |
95
+
96
+ 每层级说明“验证什么、用什么、放哪里、怎样运行、怎样算足够”。数量和代码覆盖率不能替代第2章的需求/AC语义覆盖;采用数值要求时记录指标类型、分母/排除项、测量条件和固定来源。未知阈值标待确认,既有 CONSTRAINTS 或项目质量要求不得暗降;没有依据不编造统一覆盖率。
97
+
98
+ 完整可执行命令和 cwd 以选定 AD §9.1 为权威,测试目录与 AD §9.2 核对,框架/工具版本与采用的依赖或配置相符。若需新增入口或修改命令,返回对应工程定义处理,不能在此维护第二份不同答案。实际执行报告记录真正使用的框架、配置、目录、命令和覆盖结果,未运行不预填测量值。
99
+
100
+ ### 3.2 身份、环境、数据和依赖条件
101
+
102
+ | 条件 ID | 所需配置/状态及固定依据 | 适用用例 | 真实依赖/替身边界 | 准备/清理/恢复要求 | 责任/缺口 |
103
+ | --- | --- | --- | --- | --- | --- |
104
+ | `{稳定ID}` | `{环境、身份/租户/权限、数据状态、依赖版本、配置、工具}` | `{TC或子项}` | `{模拟只能证明什么}` | `{可重复且不破坏无关数据}` | `{实际主体或未指定}` |
105
+
106
+ 本章定义所需条件;它们的实际就绪情况在执行前独立核实。示例身份不等于真实授权,模拟服务不等于已接通真实依赖,不将生产数据或高风险故障注入当默认测试材料。
107
+
108
+ ### 3.3 跨主题组合的执行条件
109
+
110
+ | 条件ID/组合ID | 提供/消费方及受影响用例 | 规范/契约/数据/实现的选定引用 | 就绪核实与真实/替身边界 | 准备、失败、清理及恢复 | 缺口及可继续部分 |
111
+ | --- | --- | --- | --- | --- | --- |
112
+ | `{与§6.1组合对应}` | `{只列本次实际角色,不擅定人员}` | `{文档版本与代码/服务版本分别记录}` | `{真实凭据范围、存量数据、时钟/快照及依赖;未核实照录}` | `{可重复夹具、操作授权、回执核实、恢复证据及不可逆限制}` | `{问题ID及依赖范围,不扩大到无关任务}` |
113
+
114
+ 设计就绪、服务存在、权限有效和可真实集成分别核实。替身可用于内部验证,不能证明正式契约与真实提供方互通;真实依赖缺失时相关用例标待执行/阻断,不靠模拟响应关闭。故障注入、迁移和恢复只在获准环境与数据范围执行;未取得授权或来源不明的数字、保留期、并存窗口及平台参数保留Q。
115
+
116
+ ## 4. 详细用例(逐用例填写)
117
+
118
+ ### {TC ID} · {用例名称}
119
+
120
+ 1. **来源**:`{PRD需求/AC/子项、AD技术条款及其他适用规范的身份、版本和准确位置}`。
121
+ 2. **目标与层次**:`{本用例证明什么;单元/契约/集成/浏览器/业务评审等,明确原型还是正式实现}`。
122
+ 3. **前置与测试数据**:`{可信身份、权限/租户/资源范围、业务状态、候选与依赖/数据版本、来源和准备条件}`。
123
+ 4. **步骤与输入**:`{可重复的操作、请求、事件、并发顺序或故障注入;各参数子场景独立定位}`。
124
+ 5. **预期结果**:`{业务结果、状态、响应、可见反馈;有来源的精确判断,不由实现反推}`。
125
+ 6. **允许/禁止副作用**:`{成功允许的数据/事件/审计/通知变化;拒绝、失败、重复、未知结果时禁止额外变化什么}`。
126
+ 7. **判定方法**:`{断言、权威数据核查、测量、对照或明确评审;每项预期怎样判断}`。
127
+ 8. **清理、恢复与证据**:`{数据恢复边界、请求/响应、数据库/事务记录、截图、日志、指标等;恢复失败如何记录}`。
128
+ 9. **自动化与实现引用**:`{适合自动化/需人工及理由;脚本实际存在才登记固定路径/版本,尚无则写待实现}`。
129
+
130
+ | 子场景 ID | 特定输入/调度/故障 | 产品/技术预期及副作用 | 所需证据 | 不可执行或未决原因 |
131
+ | --- | --- | --- | --- | --- |
132
+ | `{复合或参数化分支}` | `{独立可复现条件}` | `{明确判断}` | `{对应结果}` | `{无或问题引用}` |
133
+
134
+ 此处只写预期和方法,不填写通过、失败、执行日期或伪造运行截图。产品预期含糊回 PRD,技术判据含糊回 AD;不能改测试方法时暗改业务规则或临时降低阈值。
135
+
136
+ ## 5. 必要路径与专项验证
137
+
138
+ | 维度 | 适用场景 | 方法与判据来源 | 用例/样本版本 | 所需证据/不适用依据 |
139
+ | --- | --- | --- | --- | --- |
140
+ | 主流程与数据一致性 | `{完整链路和事实维护}` | `{PRD/AD固定条款}` | `{实际引用}` | `{权威结果}` |
141
+ | 权限与隔离 | `{员工/管理员等真实角色、直接入口/接口越权、跨组织/租户/资源}` | `{不能只隐藏按钮}` | `{实际引用}` | `{请求拒绝及禁止泄露/写入的证据}` |
142
+ | 状态、并发与幂等 | `{允许/拒绝转换、重复请求、竞争、超时未知和恢复}` | `{AD事务/版本/幂等定义}` | `{实际引用}` | `{最终状态及副作用}` |
143
+ | 交互与可访问性 | `{空态、失败、长内容、窄屏、键盘/焦点、错误可达}` | `{认可原型及PRD/AD}` | `{浏览器场景}` | `{实际执行/截图/控制台}` |
144
+ | 数据与迁移 | `{约束、字段映射、旧值、回填、兼容/回退}` | `{AD精确契约}` | `{实际引用}` | `{设计DDL不等于迁移回执}` |
145
+ | 性能、可靠性与恢复 | `{实际负载和故障}` | `{来源阈值/条件;未知不造值}` | `{方法/样本}` | `{测量和恢复证据}` |
146
+ | 智能能力(适用时) | `{正确性、工具权限、副作用、拒绝、预算及恢复}` | `{模型/Prompt/样本固定版本和评估规则}` | `{重复评估及分支}` | `{不以单次成功代替约定评估}` |
147
+
148
+ 维度用于核对,不要求无相关需求的产品强行增加功能或专项;不适用要有明确依据。
149
+
150
+ ## 6. 跨主题组合、变化与回归
151
+
152
+ | 变更前基准/本次目标 | 受影响主题/功能/状态/契约 | 保留/修订/新增/停止适用的用例 | 选择依据与风险 | 必须重取的证据 |
153
+ | --- | --- | --- | --- | --- |
154
+ | `{PRD/AD/用例/代码固定引用}` | `{精确范围}` | `{版本与替代关系}` | `{未变ID不等于未变预期}` | `{需求/实现/依赖/环境变化影响}` |
155
+
156
+ 多主题组合登记各自 PRD/AD/TestCase 版本,检查共享状态/字段/权限/接口一致性与交接,不以单份检查通过代替组合验证。历史运行仍保留在原对象和环境版本下;未受影响的证据也需说明适用依据,不直接复制为新目标通过。
157
+
158
+ ### 6.1 明确本次兼容组合
159
+
160
+ | 组合ID/作用范围 | 本主题PRD/AD/TestCase实际路径和各自版本 | 提供/消费方主题及配套引用 | 公共规范条款/契约与数据权威 | 实现/制品/环境事实 | 设计判断、执行状态与缺口 |
161
+ | --- | --- | --- | --- | --- | --- |
162
+ | `{独立主题或本次集成组合}` | `{以正文及真实采用为准,不强制同号}` | `{仅相关范围;缺关联TestCase如实记,不造未来文件路径}` | `{准确位置/版本;实际共享定义不在用例中复制另一权威}` | `{已有/拟建/未知;代码或服务不存在不填已部署}` | `{相容/冲突/待核实与依据;不预填运行通过}` |
163
+
164
+ 一个主题TestCase仍对应本主题选定PRD和一个直接AD版本,关联引用用于组合场景;不用总用例文档包办全部主题,不要求双方版本数值一致。文档、契约、代码、服务各自版本属于不同对象,不能跨对象比较大小或据同号/SemVer/Schema校验宣布语义兼容。默认值、枚举、权限、错误、副作用及严格消费者均应核对。
165
+
166
+ ### 6.2 跨边界场景与最终权威
167
+
168
+ | 组合/场景及用例ID | 来源PRD/AC与AD/契约条款 | 提供→消费路径与边界 | 权威结果与禁止副作用 | 失败/未知/重复及恢复预期 | 实际证据要求及缺口 |
169
+ | --- | --- | --- | --- | --- | --- |
170
+ | `{正常交接/拒绝/冲突/过期/并发/取消等适用场景}` | `{产品预期直接核PRD;技术定义核AD及唯一契约}` | `{身份、租户/资源范围、输入映射、事务或消息边界}` | `{业务状态及实体唯一维护方;副本、前端、Agent运行、jobs状态分别判断}` | `{错误映射、回执查询、同key重放、恢复后状态与人工介入条件}` | `{请求/响应、权威数据、版本及副作用核查;仅计划所需证据}` |
171
+
172
+ 至少检查适用的跨租户拒绝、重复与不同负载冲突、并发版本冲突、响应丢失/超时UNKNOWN、只读快照过期、未知枚举、部分成功及恢复。已完成请求重放与新请求的状态/版本校验顺序按权威契约分别设计,不能把初次前置照搬到重放导致有效重放被拒。可信主体和幂等键的租户/主体作用域、查回执的授权与隔离均有据;不只验证界面按钮或方法调用次数。
173
+
174
+ 共享实体可由多个经授权主体操作,但最终业务定义、校验和写入边界必须唯一明确。消费者不得直写提供方数据;执行器结束、缓存刷新或前端成功状态不自动等于业务完成。过期/未知的预期来自正式定义,缺定义列Q而非选择成功分支。
175
+
176
+ ### 6.3 版本并存、迁移及恢复设计
177
+
178
+ | 组合变化/来源 | 旧/新提供消费版本及数据状态 | 必需场景、顺序与兼容判断 | 备份/迁移/恢复/不可逆限制 | 判据和所需证据 | 未决与受限范围 |
179
+ | --- | --- | --- | --- | --- | --- |
180
+ | `{共享定义或实际装配改变}` | `{仅列真实已选或明确拟议对象}` | `{严格消费者、默认/权限/枚举变化、在途请求、并存窗口和部署顺序}` | `{来源明确的准备、故障点、对账和恢复条件;不把改回镜像等同恢复数据}` | `{真实命令/操作与前后权威数据;未执行不得声称可回滚}` | `{缺决定或资源时可设计、不冒认运行就绪}` |
181
+
182
+ ### 6.4 变更影响与既有行为回归
183
+
184
+ | 变化条款/权威位置 | 直接及必要传递影响 | 受影响主题AD/AC/用例及已有任务 | 必须保留/补取的回归证据 | 无关范围与不受影响依据 | 处理决定/Q |
185
+ | --- | --- | --- | --- | --- | --- |
186
+ | `{公共规范、契约、实体、代码或环境的实际变化}` | `{定义→提供方→消费者→必要下游}` | `{有真实任务才登记,不造Plan或tracker项}` | `{旧调用方、拒绝、未知与恢复及既有业务行为}` | `{未消费该定义或明确不受影响;不机械改写全部主题}` | `{降级/移出必需回归要真实理由与决定}` |
187
+
188
+ 公共变化不能只查本主题,也不能把所有AD/PRD统一升版。共享底座、迁移和测试夹具的后续工程修改应在唯一任务目标安排归属,相关任务列依赖;本次仅设计,不生成第二份Plan或竞争tracker,不改人工代码及其他主题。
189
+
190
+ ## 7. 两种结论与执行准入
191
+
192
+ ### 7.1 用例规格可交接
193
+
194
+ `{明确当前范围预期、方法、覆盖、所需条件、未决影响及报告约定是否足够,分别列可交接与仍缺定义范围。此结论不表示代码存在、环境可用或测试已运行。}`
195
+
196
+ **TestCase是Plan的可选输入,不是统一前置文件。**当前范围的需求、技术约束和测试策略/验收预期可从PRD、AD及已采用规范充分回读时,可先按原Plan拆任务;没有独立TestCase不要求先补一份才能规划。已有且适用的TestCase应读取准确版本并落实到任务验收和验证步骤;缺少或待补的用例设计可作为计划任务,相关验证定义在依赖它的实现、测试或验收之前明确。核心行为或技术判据尚不明确时,只限制相应依赖任务,不把计划先行等同编码、测试或发布许可。
197
+
198
+ 测试策略可在AD或现有测试规范中承载原SPEC六项的相应要求,不能因TestCase可选而跳过六项核对。企业SOP仍保留本主题TestCase设计交付,允许其与规划按依赖衔接,不取消正式交付所要求的验证定义。用例与任务、脚本可以多对多;只有真实脚本和任务形成后才登记实际路径,人工用例明确执行方式,不伪造全部自动化。
199
+
200
+ ### 7.2 执行可准入(候选形成后另存核实记录)
201
+
202
+ | 执行前须核实的对象 | 条件与依据 | 核实结果应保存什么 |
203
+ | --- | --- | --- |
204
+ | 候选 | `{代码提交/构建制品与所选需求和用例版本一致}` | `{实际对象及摘要}` |
205
+ | 环境、数据、依赖 | `{满足第3章条件,真实与替身边界清楚}` | `{实际版本/配置/数据/可用性证据}` |
206
+ | 任务和操作授权 | `{Plan范围/执行模式及适用高风险动作授权}` | `{可信来源;沿用有效授权,不自填批准}` |
207
+ | 内容新鲜度与安全边界 | `{版本未变、影响已复核、清理/恢复可执行}` | `{失效范围、阻断用例或独立可执行部分}` |
208
+
209
+ 准入结论由实际核实产生并保存到独立记录,不回填本章为永久通过。设计可用于形成 Plan,不要求先有获批 Plan 才能编写计划;真正运行才核实计划认可和实际执行条件。缺必需条件的用例不准入、不算通过。
210
+
211
+ ### 7.3 适用通过判据、缺陷处理与重测
212
+
213
+ | 验收对象/范围 | 本次必需用例与证据 | 通过口径及来源 | 阻断缺陷/风险接受依据 | 修复后的重测与回归范围 |
214
+ | --- | --- | --- | --- | --- |
215
+ | `{功能、权限、数据、恢复、工程或质量条目}` | `{明确TC ID、适用子场景、真实运行/人工验收/测量等所需证据}` | `{按PRD、AD及质量规范写可判断条件;未知阈值列待决,不自行编数值}` | `{不能放行的失败、未解决风险及有权接受风险的真实来源;没有认可则如实待补}` | `{缺陷修复验证、受影响用例、相关既有行为及需要的新证据}` |
216
+
217
+ 必需用例失败、证据过期、条件缺失、执行被阻断或尚未执行都不能算通过。模拟或局部结果不能替代本次要求的真实集成、完整范围或必要人类验收。明确缺陷处置、重测触发和回归选择依据;修复导致需求或设计变化时先更新对应引用,不能通过降低判据关闭缺陷。以上定义预期和放行口径,实际结果及风险接受事件仍保存到运行报告,不在本模板预填通过状态。
218
+
219
+ ## 8. 测试报告合同:一份用例集,多次运行
220
+
221
+ 测试报告另存于能力目录的实际报告位置,按项目登记解析;命名采用 `{PBC}-{需求主题}-TestReport_v{报告版本}.md`,不强制跟 TestCase 同号。报告版本标识文档修订,`runId` 标识一次真实运行;报告编辑不伪造新运行,重测产生的新运行不覆盖前次失败。
222
+
223
+ ### 8.1 报告必须记录的事实
224
+
225
+ | 报告字段 | 执行后记录要求 |
226
+ | --- | --- |
227
+ | 报告身份与运行 | `{报告ID/版本、runId、实际起止时间、执行主体、实际工具/运行方式}` |
228
+ | 本次选择 | `{capabilityId/prdId;PRD/AD/TestCase准确版本、固定内容及摘要;多主题组合逐项登记}` |
229
+ | 本次组合 | `{§6.1组合ID;提供/消费方文档、契约、数据、代码/服务及环境各自版本;设计配套与真实兼容分开}` |
230
+ | 实际候选 | `{源提交、构建/镜像制品、摘要;实际启动/部署对象,未部署不能写已部署}` |
231
+ | 实际环境 | `{配置、依赖、身份/权限、数据版本及来源、真实/模拟边界;不泄露密钥}` |
232
+ | 实际测试策略 | `{实际框架/工具及版本、配置和测试目录、运行层级;适用覆盖测量的口径、条件、结果及原始报告,未测不填数值}` |
233
+ | 用例及子场景 | `{实际运行的TC/参数/复合子项及脚本/样本版本}` |
234
+ | 原始执行与证据 | `{实际命令/操作、退出结果、请求/响应、日志、截图、数据核查、测量;可定位原始记录}` |
235
+ | 逐项结果 | `{通过/失败/阻断/未执行及具体原因;各子项不得合并隐藏}` |
236
+ | 实际副作用与恢复 | `{允许及意外变化、清理/回滚是否完成、未恢复影响}` |
237
+ | 缺陷与偏差 | `{稳定缺陷ID、复现条件、严重性及影响范围;不暗改预期以适应实现}` |
238
+ | 汇总与适用限制 | `{已验证/未验证对象和范围、残余风险、可接受依据;不能只给总通过率}` |
239
+ | 审查/业务验收 | `{按需的真实参与者、版本范围、可信记录;没认可写未取得}` |
240
+
241
+ 以上是未来报告字段约束,不是本模板已经执行的结果。执行前最多登记运行计划和“未执行”,不能预造 runId 的成功、用户签字或证据文件。一次交付汇总多个真实运行时保留各运行明细、失败和未执行记录,不只挑最后一次绿色结果。
242
+
243
+ ### 8.2 失败、重测与完成规则
244
+
245
+ - 失败先保存原始证据和缺陷;修复后绑定新候选与受影响用例重测,并按影响选择回归。
246
+ - 输入、代码、配置、数据、依赖或环境改变时复核相关证据,不能让旧通过自动证明新对象;无关变动不粗暴重跑全部。
247
+ - 文件或 JSON 存在不能证明真实运行发生。静态检查、单元夹具、浏览器、真实服务、人类认可分层记录。
248
+ - 通过用例、完整产品交付、业务收益、发布就绪、发布授权和部署回执分别判断;测试报告不替代生产放行。
249
+
250
+ ## 9. 开放问题与交接
251
+
252
+ | 问题 ID | 不可判断的预期/条件及来源 | 受影响用例/子项 | 可继续部分 | 返回 PRD/AD/原型/环境责任方 | 实际关闭依据 |
253
+ | --- | --- | --- | --- | --- | --- |
254
+ | `{稳定ID}` | `{区分事实、假设与冲突}` | `{明确范围}` | `{独立工作}` | `{具体位置或未指定}` | `{真实答复/验证,未取得则待处理}` |
255
+
256
+ ### 完成核对
257
+
258
+ - PRD 直接覆盖与 AD 工程覆盖均完整,复合子项、跨主题交接及必要回归未漏。
259
+ - 每个用例九要素明确,允许/禁止副作用可判定,阈值和预期有来源。
260
+ - 所需环境/数据与实际可用状态分开,替身不冒充真实集成。
261
+ - 框架/工具版本、测试目录、层级和适用覆盖要求明确,与 AD 命令/cwd 及项目质量权威一致;未安装、未执行及不适用范围如实登记。
262
+ - 规格可交接、执行可准入、实际运行、业务认可分别记录,无循环开工条件。
263
+ - 报告字段和1:N运行关系明确,未执行不预填通过;旧证据和失败记录保留。
264
+ - §0.2、§3.3、§6.1—§6.4中的准确组合、唯一权威、失败恢复、传递影响和无关主题保护有实际来源。
265
+ - §7.1不把完整TestCase设为所有Plan的前置;原test/Build仍执行TDD,原代码review与零写入文档审查职责分开。
266
+
267
+ 交接结论:`{本次可供Plan采用的验证要求、尚不能确定的判据和影响;实际执行须另行准入。当前版本及真实认可范围如实记录。}`
268
+
269
+ 版本变化:`{变化来源、修改用例/子项、受影响需求/AD/执行任务及报告适用性;保留旧版本与重新采用依据。}`
@@ -0,0 +1,185 @@
1
+ #!/usr/bin/env python3
2
+ """Read-only CodeBuddy stream-json execution/report check, version 0.1.0.
3
+
4
+ The caller supplies the independently produced core audit and a fixed scope
5
+ policy. This tool derives attempts from tool_use/tool_result, never from the
6
+ model's description. It does not approve a business document or write a project.
7
+ """
8
+ import argparse
9
+ from collections import Counter
10
+ import json
11
+ from pathlib import Path
12
+ import re
13
+ import shlex
14
+ import sys
15
+
16
+ START='<!-- i3-sop-execution-report -->'
17
+ END='<!-- /i3-sop-execution-report -->'
18
+ OPERATIONS=('help','init','select','resolve','other')
19
+ STATUSES=('succeeded','blocked','failed','unconfirmed')
20
+ BOUNDARY_FAILURES={'unexpected_project_file_changes','forbidden_or_outside_source_read','forbidden_tool_attempt','read_only_case_changed_files','read_only_case_created_i3_directory'}
21
+
22
+
23
+ def strict_object(pairs):
24
+ out={}
25
+ for key,value in pairs:
26
+ if key in out:raise ValueError('duplicate JSON key: '+key)
27
+ out[key]=value
28
+ return out
29
+
30
+
31
+ def loads(text):
32
+ return json.loads(text,object_pairs_hook=strict_object)
33
+
34
+
35
+ def content(block):
36
+ value=block.get('content','')
37
+ if isinstance(value,str):return value
38
+ if isinstance(value,list):return '\n'.join(x.get('text','') for x in value if isinstance(x,dict) and isinstance(x.get('text',''),str))
39
+ return ''
40
+
41
+
42
+ def command_scope(command,policy):
43
+ """Accept one direct python3 invocation, with exact scope and named args."""
44
+ try:tokens=shlex.split(command)
45
+ except ValueError:return 'other',False
46
+ if len(tokens)<3 or tokens[:2]!=['python3',policy['helper']]:return 'other',False
47
+ if tokens[2:]==['--help']:return 'help',True
48
+ action=tokens[2]
49
+ if action not in ('init','select','resolve'):return 'other',False
50
+ args=tokens[3:];options={}
51
+ if len(args)%2:return action,False
52
+ for key,value in zip(args[::2],args[1::2]):
53
+ if not key.startswith('--') or key in options:return action,False
54
+ options[key]=value
55
+ base={'--project-root':policy['projectRoot'],'--manifest':policy['manifest']}
56
+ if action=='init':allowed=options=={**base,'--work':policy['work']}
57
+ elif action=='resolve':allowed=options=={**base,'--capability-id':policy['capabilityId'],'--prd-id':policy['prdId']}
58
+ else:
59
+ refs=policy['selections']
60
+ allowed=any(options=={**base,'--role':ref['role'],'--path':ref['path'],
61
+ '--capability-id':ref['capabilityId'],'--prd-id':ref['prdId']} for ref in refs)
62
+ return action,allowed
63
+
64
+
65
+ def outcome(result,operation):
66
+ if result is None:return 'unconfirmed','missing_tool_result'
67
+ text=content(result)
68
+ if result.get('is_error') and re.search(r'permission[^\n]*(denied|not allowed)|not (?:been )?granted permission',text,re.I):
69
+ return 'blocked','permission_denial'
70
+ exit_codes=re.findall(r'^Exit Code:\s*(-?\d+)\s*$',text,re.M|re.I)
71
+ if len(exit_codes)!=1:return ('failed','tool_error') if result.get('is_error') else ('unconfirmed','unsupported_result_carrier')
72
+ if result.get('is_error') or int(exit_codes[0])!=0:return 'failed','tool_or_process_error'
73
+ if operation in ('init','select','resolve'):
74
+ match=re.search(r'^Stdout: (.*?)\n\s*Stderr:',text,re.M|re.S)
75
+ try:value=loads(match[1]) if match else None
76
+ except (ValueError,TypeError):value=None
77
+ if not isinstance(value,dict) or type(value.get('ok')) is not bool:return 'unconfirmed','helper_result_not_proven'
78
+ if not value['ok']:return 'failed','helper_reported_failure'
79
+ return 'succeeded','returned_exit_zero'
80
+
81
+
82
+ def attempts_from_trace(events,policy):
83
+ calls=[];results={};ids=set();issues=[]
84
+ for seq,event in enumerate(events):
85
+ blocks=(event.get('message') or {}).get('content',[])
86
+ if not isinstance(blocks,list):continue
87
+ for block in blocks:
88
+ if not isinstance(block,dict):continue
89
+ if event.get('type')=='assistant' and block.get('type')=='tool_use':
90
+ ident=block.get('id')
91
+ if not isinstance(ident,str) or ident in ids:issues.append('missing_or_duplicate_tool_call_id')
92
+ ids.add(ident);calls.append((seq,block))
93
+ if event.get('type')=='user' and block.get('type')=='tool_result':
94
+ ident=block.get('tool_use_id')
95
+ if ident in results:issues.append('duplicate_tool_result')
96
+ if ident not in ids:issues.append('result_without_prior_call')
97
+ results[ident]=(seq,block)
98
+ attempts=[]
99
+ for seq,call in calls:
100
+ name=call.get('name')
101
+ if name in ('PowerShell','NotebookEdit','Write','Edit','Task','Agent'):issues.append('unsupported_or_forbidden_tool_attempt:'+name)
102
+ if name!='Bash':continue
103
+ command=(call.get('input') or {}).get('command','')
104
+ if not isinstance(command,str):command='';issues.append('invalid_shell_command')
105
+ op,allowed=command_scope(command,policy)
106
+ returned=results.get(call.get('id'));status,reason=outcome(returned[1] if returned else None,op)
107
+ attempts.append({'ordinal':len(attempts)+1,'toolCallId':call.get('id'),'traceLine':seq+1,
108
+ 'resultLine':returned[0]+1 if returned else None,'command':command,'operation':op,
109
+ 'allowed':allowed,'status':status,'statusEvidence':reason})
110
+ return attempts,sorted(set(issues))
111
+
112
+
113
+ def reporting_check(text,attempts,legacy_report):
114
+ if legacy_report and START not in text and END not in text:
115
+ return {'passed':False,'status':'not_checked_legacy','issues':['legacy_report_requires_separate_human_explanation']}
116
+ errors=[]
117
+ try:
118
+ if text.count(START)!=1 or text.count(END)!=1:raise ValueError('exactly_one_report_block_required')
119
+ begin=text.index(START)+len(START);end=text.index(END)
120
+ block=text[begin:end].strip()
121
+ match=re.fullmatch(r'```json\s*\n(.*?)\n```',block,re.S)
122
+ if not match:raise ValueError('json_fence_required')
123
+ data=loads(match[1])
124
+ if not isinstance(data,dict) or set(data)!={'schemaVersion','shellAttempts'} or type(data['schemaVersion']) is not int or data['schemaVersion']!=1:
125
+ raise ValueError('report_root_contract_mismatch')
126
+ rows=data['shellAttempts']
127
+ if not isinstance(rows,list) or len(rows)!=len(attempts):raise ValueError('attempt_count_mismatch')
128
+ for actual,row in zip(attempts,rows):
129
+ if not isinstance(row,dict) or set(row)!={'ordinal','operation','status'}:raise ValueError('attempt_row_contract_mismatch')
130
+ if type(row['ordinal']) is not int or row['ordinal']!=actual['ordinal']:raise ValueError('attempt_ordinal_mismatch')
131
+ if row['operation'] not in OPERATIONS or row['status'] not in STATUSES:raise ValueError('attempt_enum_mismatch')
132
+ if row['operation']!=actual['operation'] or row['status']!=actual['status']:errors.append('attempt_evidence_mismatch:'+str(actual['ordinal']))
133
+ except (ValueError,TypeError,KeyError) as exc:errors.append(str(exc))
134
+ return {'passed':not errors,'status':'checked' if not errors else 'needs_review','issues':errors,
135
+ 'scope':'structured attempts only; narrative, business adequacy and approval require human review'}
136
+
137
+
138
+ def check(events,policy,core,report,legacy_report=False):
139
+ attempts,issues=attempts_from_trace(events,policy)
140
+ core_failures=core.get('failures')
141
+ if not isinstance(core_failures,list) or type(core.get('passed')) is not bool:
142
+ raise ValueError('independent_core_audit_contract_missing')
143
+ functional=[x for x in core_failures if x not in BOUNDARY_FAILURES]
144
+ boundary=[x for x in core_failures if x in BOUNDARY_FAILURES]
145
+ if core.get('unexpectedChanges'):boundary.append('unexpected_project_file_changes')
146
+ if core.get('forbiddenReads'):boundary.append('forbidden_or_outside_source_read')
147
+ if core.get('allExistingProjectFilesUnchanged') is not True:boundary.append('existing_files_unchanged_not_proven')
148
+ if not core['passed'] and not functional and not boundary:functional.append('core_audit_failed_without_details')
149
+ discipline=list(issues)
150
+ for row in attempts:
151
+ if not row['allowed']:discipline.append('outside_allowed_command:'+str(row['ordinal']))
152
+ if row['status']!='succeeded':discipline.append('non_success_attempt:'+str(row['ordinal']))
153
+ if row['allowed'] and row['status']!='succeeded':functional.append('required_helper_not_successful:'+str(row['ordinal']))
154
+ counts=Counter(x['operation'] for x in attempts if x['allowed'] and x['status']=='succeeded')
155
+ for op,minimum in policy.get('requiredMinimum',{}).items():
156
+ if op not in OPERATIONS or type(minimum) is not int or minimum<0:raise ValueError('invalid_required_operation')
157
+ if counts[op]<minimum:functional.append('required_operation_missing:'+op)
158
+ if not attempts or attempts[0]['operation']!='help' or not attempts[0]['allowed']:discipline.append('first_shell_must_be_exact_help')
159
+ if not legacy_report and core.get('inputsReadyBeforeFirstShell') is not True:discipline.append('inputs_before_first_shell_not_proven')
160
+ reporting=reporting_check(report,attempts,legacy_report)
161
+ checks={'functional':{'passed':not functional,'issues':sorted(set(functional))},
162
+ 'boundary':{'passed':not boundary,'issues':sorted(set(boundary))},
163
+ 'execution':{'passed':not discipline,'issues':sorted(set(discipline))},'reporting':reporting}
164
+ verdict='failed' if functional or boundary else 'needs_review' if discipline or not reporting['passed'] else 'checks_passed'
165
+ return {'schemaVersion':1,'checkerVersion':'0.1.0','profile':'CodeBuddy stream-json/direct-python3-helper',
166
+ 'checks':checks,'attempts':attempts,'verdict':verdict,'humanApproval':False,
167
+ 'limits':['caller fixes the scope policy and independently verifies the core audit',
168
+ 'not an OS sandbox, universal shell parser, business approval, Plan/Build acceptance or publication authorization']}
169
+
170
+
171
+ def main():
172
+ parser=argparse.ArgumentParser(description=__doc__)
173
+ for name in ('trace','policy','core','report'):parser.add_argument('--'+name,required=True,type=Path)
174
+ parser.add_argument('--legacy-report',action='store_true',help='retain old free-text format without retroactive format failure')
175
+ args=parser.parse_args()
176
+ try:
177
+ events=[loads(line) for line in args.trace.read_text().splitlines() if line.strip()]
178
+ result=check(events,loads(args.policy.read_text()),loads(args.core.read_text()),args.report.read_text(),args.legacy_report)
179
+ except (OSError,ValueError,TypeError,KeyError) as exc:
180
+ result={'schemaVersion':1,'checkerVersion':'0.1.0','verdict':'needs_review','humanApproval':False,'inputError':str(exc)}
181
+ print(json.dumps(result,ensure_ascii=False,indent=2))
182
+ return 0 if result.get('verdict')=='checks_passed' else 1
183
+
184
+
185
+ if __name__=='__main__':sys.exit(main())