cann-workbench 0.0.0-stage → 0.0.2-alpha

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 (408) hide show
  1. package/README.md +183 -2
  2. package/THIRD_PARTY_NOTICES.md +85 -0
  3. package/cordis.patch.yml +3 -0
  4. package/doctor/LICENSE +202 -0
  5. package/doctor/NOTICE +12 -0
  6. package/doctor/README.md +18 -0
  7. package/lib/client.js +94437 -0
  8. package/lib/index.d.ts +722 -0
  9. package/lib/index.js +33711 -0
  10. package/locale/en.json +6 -0
  11. package/locale/zh.json +6 -0
  12. package/package.json +171 -4
  13. package/skills/asc-tools/tool-ops-tune/INSTALL.md +52 -0
  14. package/skills/asc-tools/tool-ops-tune/LICENSE +38 -0
  15. package/skills/asc-tools/tool-ops-tune/README.md +167 -0
  16. package/skills/asc-tools/tool-ops-tune/SKILL.md +93 -0
  17. package/skills/asc-tools/tool-ops-tune/agent/AGENTS.md +195 -0
  18. package/skills/asc-tools/tool-ops-tune/agent/agents/perf-implementer.md +68 -0
  19. package/skills/asc-tools/tool-ops-tune/agent/agents/perf-reviewer.md +86 -0
  20. package/skills/asc-tools/tool-ops-tune/agent/workflows/task-prompts.md +362 -0
  21. package/skills/asc-tools/tool-ops-tune/agent/workflows/troubleshooting.md +43 -0
  22. package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.png +0 -0
  23. package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.svg +253 -0
  24. package/skills/asc-tools/tool-ops-tune/docs/ops-tune-design.md +404 -0
  25. package/skills/asc-tools/tool-ops-tune/docs//347/224/250/344/276/213/346/236/204/345/273/272.md +730 -0
  26. package/skills/asc-tools/tool-ops-tune/docs//347/237/245/350/257/206/345/272/223/350/247/204/350/214/203.md +103 -0
  27. package/skills/asc-tools/tool-ops-tune/evals/evals.json +242 -0
  28. package/skills/asc-tools/tool-ops-tune/ops-collect/SKILL.md +146 -0
  29. package/skills/asc-tools/tool-ops-tune/ops-collect/references/tool-routing.md +86 -0
  30. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_board.sh +458 -0
  31. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_cases.py +368 -0
  32. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_sim.sh +134 -0
  33. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/csv_to_db.py +314 -0
  34. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/db_bench.py +545 -0
  35. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/facts_bridge.py +1102 -0
  36. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/isolation_test.py +452 -0
  37. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/jsonl_to_cases.py +163 -0
  38. package/skills/asc-tools/tool-ops-tune/ops-family/SKILL.md +76 -0
  39. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/advanced_tiling.md +92 -0
  40. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/broadcast_design.md +160 -0
  41. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_kernel.cpp +126 -0
  42. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_tiling.cpp +144 -0
  43. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_tiling_common.h +401 -0
  44. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_kernel.cpp +107 -0
  45. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_tiling.cpp +64 -0
  46. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/datacopypad_design.md +46 -0
  47. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/guide.md +14 -0
  48. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/nddma_design.md +53 -0
  49. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/onedim_design.md +114 -0
  50. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/ub_broadcast_design.md +67 -0
  51. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/datacopy_optimization_design.md +351 -0
  52. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/index.md +9 -0
  53. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/tail_block_design.md +268 -0
  54. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/index.md +38 -0
  55. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_aclrt_event.cpp +199 -0
  56. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_torch_event.py +130 -0
  57. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/ub_resident_design.md +342 -0
  58. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/guide.md +69 -0
  59. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/index.md +4 -0
  60. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_base.template +81 -0
  61. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_big_dim.template +217 -0
  62. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_one_axis.template +336 -0
  63. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_two_axis.template +781 -0
  64. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_n_last.template +340 -0
  65. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_small_shape.template +321 -0
  66. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_tensor_move.template +102 -0
  67. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd.template +480 -0
  68. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd_021axis.template +533 -0
  69. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_with_gather.template +688 -0
  70. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/transpose_tiling_data.template +192 -0
  71. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_big_dim.md +220 -0
  72. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_one_axis.md +175 -0
  73. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_two_axis.md +177 -0
  74. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_fusion_design.md +398 -0
  75. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_gather.md +191 -0
  76. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_n_last.md +276 -0
  77. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_small_shape.md +315 -0
  78. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tensor_move.md +203 -0
  79. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tiling_data.md +176 -0
  80. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_021.md +206 -0
  81. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_5hd.md +179 -0
  82. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/double_buffer_design.md +288 -0
  83. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/guide.md +46 -0
  84. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/index.md +10 -0
  85. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/CMakeLists.txt +131 -0
  86. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/README.md +55 -0
  87. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/add_custom_torch.cpp +80 -0
  88. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/ops.h +23 -0
  89. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/register.cpp +30 -0
  90. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/add_custom.asc +149 -0
  91. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/data_utils.h +97 -0
  92. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_kernel.asc +136 -0
  93. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_tiling.h +31 -0
  94. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/run.sh +87 -0
  95. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/gen_data.py +70 -0
  96. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/golden.py +34 -0
  97. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/test_torch.py +99 -0
  98. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/verify_result.py +56 -0
  99. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/usage_guide.md +61 -0
  100. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/vector_efficiency_design.md +203 -0
  101. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_mixed_kernel_design.md +174 -0
  102. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_roofline_design.md +141 -0
  103. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/guide.md +87 -0
  104. package/skills/asc-tools/tool-ops-tune/ops-family/references/knowledge_gaps.json +56 -0
  105. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/best-practices-guide.md +14 -0
  106. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/fullload_design.md +344 -0
  107. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/guide.md +52 -0
  108. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/mte2_preload_design.md +320 -0
  109. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/pingpong_design.md +254 -0
  110. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/scale_coalescing_design.md +282 -0
  111. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/streamk_design.md +374 -0
  112. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/swat_design.md +423 -0
  113. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/matmul_basic_blaze.template +165 -0
  114. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/usage_guide.md +29 -0
  115. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/best-practices-guide.md +43 -0
  116. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/guide.md +42 -0
  117. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/local_matmul_design.md +130 -0
  118. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/pipeline_balancing_design.md +502 -0
  119. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/guide.md +178 -0
  120. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/kernel_utils.template +75 -0
  121. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_full_load.template +429 -0
  122. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_recompute.template +485 -0
  123. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_small_r.template +348 -0
  124. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_full_load.template +574 -0
  125. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_online.template +324 -0
  126. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_recompute.template +436 -0
  127. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_base.template +950 -0
  128. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/fused_attention_online_softmax_design.md +428 -0
  129. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_full_load.md +137 -0
  130. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_recompute.md +135 -0
  131. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_small_r.md +122 -0
  132. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_full_load.md +144 -0
  133. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_online.md +185 -0
  134. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_recompute.md +163 -0
  135. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling.template +460 -0
  136. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling_data.template +278 -0
  137. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/state_resident_design.md +337 -0
  138. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/usage_guide.md +253 -0
  139. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/coding_principles.md +476 -0
  140. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/conv_scalar.md +163 -0
  141. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/guide.md +30 -0
  142. package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/guide.md +91 -0
  143. package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/optimization-guide.md +110 -0
  144. package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/guide.md +83 -0
  145. package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/radix_sort.md +354 -0
  146. package/skills/asc-tools/tool-ops-tune/ops-family/scripts/family_asset_audit.py +68 -0
  147. package/skills/asc-tools/tool-ops-tune/ops-family/scripts/tiling_candidates.py +419 -0
  148. package/skills/asc-tools/tool-ops-tune/ops-mechanism/SKILL.md +23 -0
  149. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_groupedmatmul_pipeline.md +23 -0
  150. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_triton_atomic_revert.md +19 -0
  151. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/mc2/case_mc2_fusion.md +19 -0
  152. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/api-usage.md +70 -0
  153. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-regbase-vf.md +45 -0
  154. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-tiling.md +51 -0
  155. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/data-copy.md +67 -0
  156. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/index.md +45 -0
  157. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2-balancing.md +77 -0
  158. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2.md +103 -0
  159. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/memory-hierarchy.md +40 -0
  160. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/pipeline.md +95 -0
  161. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/case_backfill.py +170 -0
  162. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/log_gap.py +145 -0
  163. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/mc2_search.py +367 -0
  164. package/skills/asc-tools/tool-ops-tune/ops-report/SKILL.md +77 -0
  165. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/run_evals.py +963 -0
  166. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/install-hooks.sh +65 -0
  167. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/run_smoke.sh +535 -0
  168. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/core_tail_a5.csv +25 -0
  169. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/few_cores_a5.csv +5 -0
  170. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/mte2_bound_a2.csv +17 -0
  171. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/multi_kernel_mix_a5.csv +7 -0
  172. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/no_bound_a5.csv +9 -0
  173. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/serial_no_overlap_a2.csv +9 -0
  174. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/vec_bound_a5.csv +9 -0
  175. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/io-contracts.md +94 -0
  176. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/rule-schema.md +130 -0
  177. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/scope-schema.md +61 -0
  178. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/soc-spec.yaml +140 -0
  179. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L0-instruction.yaml +67 -0
  180. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L1-single-core.yaml +316 -0
  181. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L2-inter-core.yaml +173 -0
  182. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L3-inter-card.yaml +156 -0
  183. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/batch_pipeline.py +466 -0
  184. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/calibrate.py +249 -0
  185. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/delta_compare.py +278 -0
  186. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/render_html.py +304 -0
  187. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/snapshot.py +200 -0
  188. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/trace_bubble.py +331 -0
  189. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/verdict.py +1094 -0
  190. package/skills/asc-tools/tool-ops-tune/scripts/diff_audit.py +281 -0
  191. package/skills/asc-tools/tool-precision-debug/LICENSE +38 -0
  192. package/skills/asc-tools/tool-precision-debug/README.md +190 -0
  193. package/skills/asc-tools/tool-precision-debug/scripts/install.sh +475 -0
  194. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/LICENSE +38 -0
  195. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/SKILL.md +136 -0
  196. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/evals/evals.json +932 -0
  197. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/baseline.md +69 -0
  198. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/checkpoint-design.md +82 -0
  199. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/dumptensor.md +83 -0
  200. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/hypothesis-experiment.md +114 -0
  201. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/index.md +20 -0
  202. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/localization.md +85 -0
  203. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/numerical-modeling.md +94 -0
  204. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/operator-modeling.md +116 -0
  205. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/progressive-error-analysis.md +86 -0
  206. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reporting.md +140 -0
  207. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reproducibility.md +121 -0
  208. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/semantic-bisection.md +72 -0
  209. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/sensitive-points.md +146 -0
  210. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fp16-promotion-boundary.md +46 -0
  211. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fused-rmsnorm-gelu-residual.md +162 -0
  212. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/index.md +16 -0
  213. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/integer-float-collision.md +44 -0
  214. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/partial-statistics-merge.md +30 -0
  215. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/softplus-v2-grad-family.md +156 -0
  216. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/sync-dataflow-handshake.md +89 -0
  217. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/tail-valid-region-state.md +30 -0
  218. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/thnn-fused-gru-bias-reduction.md +73 -0
  219. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/index.md +34 -0
  220. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/accumulation-order.md +108 -0
  221. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/algorithm-parameter-contract.md +118 -0
  222. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/buffer-lifetime-alias.md +133 -0
  223. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/cast-rounding.md +76 -0
  224. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/complex-operator-boundary.md +48 -0
  225. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/data-movement-alignment.md +104 -0
  226. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/golden-host-contract.md +84 -0
  227. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index-address-ownership.md +57 -0
  228. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index.md +32 -0
  229. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/multicore-ownership.md +117 -0
  230. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/pipeline-sync-visibility.md +146 -0
  231. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/precision-mode-approximation.md +90 -0
  232. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/shape-boundary-contract.md +57 -0
  233. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/special-values.md +122 -0
  234. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/tiling-tail-state.md +146 -0
  235. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/broadcast-transpose.md +64 -0
  236. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/convolution.md +60 -0
  237. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/dynamic-quant.md +47 -0
  238. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/index.md +18 -0
  239. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/matmul-mmad.md +131 -0
  240. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/normalization.md +145 -0
  241. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/reduction.md +167 -0
  242. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/softplus-v2-grad.md +58 -0
  243. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/sort-merge.md +65 -0
  244. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/index.md +18 -0
  245. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/kernel-debug-data.md +133 -0
  246. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/msobjdump.md +150 -0
  247. package/skills/cann-doctor/SKILL.md +15 -0
  248. package/skills/catalog.json +79 -0
  249. package/skills/mattpocock/GLOSSARY.md +30 -0
  250. package/skills/mattpocock/LICENSE +21 -0
  251. package/skills/mattpocock/README.md +258 -0
  252. package/skills/mattpocock/SCOPE.md +35 -0
  253. package/skills/mattpocock/docs/agents/triage-labels.md +15 -0
  254. package/skills/mattpocock/docs/engineering/ask-matt.md +91 -0
  255. package/skills/mattpocock/docs/engineering/code-review.md +101 -0
  256. package/skills/mattpocock/docs/engineering/codebase-design.md +88 -0
  257. package/skills/mattpocock/docs/engineering/diagnosing-bugs.md +94 -0
  258. package/skills/mattpocock/docs/engineering/domain-modeling.md +86 -0
  259. package/skills/mattpocock/docs/engineering/grill-with-docs.md +82 -0
  260. package/skills/mattpocock/docs/engineering/implement-spec.md +86 -0
  261. package/skills/mattpocock/docs/engineering/implement.md +97 -0
  262. package/skills/mattpocock/docs/engineering/improve-codebase-architecture.md +113 -0
  263. package/skills/mattpocock/docs/engineering/pr.md +79 -0
  264. package/skills/mattpocock/docs/engineering/prototype.md +67 -0
  265. package/skills/mattpocock/docs/engineering/research.md +73 -0
  266. package/skills/mattpocock/docs/engineering/resolving-merge-conflicts.md +53 -0
  267. package/skills/mattpocock/docs/engineering/retro.md +81 -0
  268. package/skills/mattpocock/docs/engineering/setup-matt-pocock-skills.md +94 -0
  269. package/skills/mattpocock/docs/engineering/tdd.md +94 -0
  270. package/skills/mattpocock/docs/engineering/to-spec.md +81 -0
  271. package/skills/mattpocock/docs/engineering/to-tickets.md +99 -0
  272. package/skills/mattpocock/docs/engineering/triage.md +109 -0
  273. package/skills/mattpocock/docs/engineering/wayfinder.md +103 -0
  274. package/skills/mattpocock/docs/engineering/wizard.md +96 -0
  275. package/skills/mattpocock/docs/productivity/grill-me.md +76 -0
  276. package/skills/mattpocock/docs/productivity/grilling.md +87 -0
  277. package/skills/mattpocock/docs/productivity/handoff.md +76 -0
  278. package/skills/mattpocock/docs/productivity/teach.md +97 -0
  279. package/skills/mattpocock/docs/productivity/to-questionnaire.md +78 -0
  280. package/skills/mattpocock/docs/productivity/wait-what.md +36 -0
  281. package/skills/mattpocock/docs/productivity/writing-for-agents.md +70 -0
  282. package/skills/mattpocock/scripts/link-skills.sh +62 -0
  283. package/skills/mattpocock/scripts/list-skills.sh +7 -0
  284. package/skills/mattpocock/scripts/sync-plugin-version.mjs +41 -0
  285. package/skills/mattpocock/skills/deprecated/README.md +3 -0
  286. package/skills/mattpocock/skills/engineering/README.md +34 -0
  287. package/skills/mattpocock/skills/engineering/ask-matt/PHASE-BOUNDARIES.md +55 -0
  288. package/skills/mattpocock/skills/engineering/ask-matt/SKILL.md +97 -0
  289. package/skills/mattpocock/skills/engineering/ask-matt/agents/openai.yaml +5 -0
  290. package/skills/mattpocock/skills/engineering/code-review/SKILL.md +89 -0
  291. package/skills/mattpocock/skills/engineering/code-review/agents/openai.yaml +3 -0
  292. package/skills/mattpocock/skills/engineering/codebase-design/DEEPENING.md +37 -0
  293. package/skills/mattpocock/skills/engineering/codebase-design/DESIGN-IT-TWICE.md +44 -0
  294. package/skills/mattpocock/skills/engineering/codebase-design/SKILL.md +114 -0
  295. package/skills/mattpocock/skills/engineering/codebase-design/agents/openai.yaml +3 -0
  296. package/skills/mattpocock/skills/engineering/diagnosing-bugs/SKILL.md +138 -0
  297. package/skills/mattpocock/skills/engineering/diagnosing-bugs/agents/openai.yaml +3 -0
  298. package/skills/mattpocock/skills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
  299. package/skills/mattpocock/skills/engineering/domain-modeling/ADR-FORMAT.md +47 -0
  300. package/skills/mattpocock/skills/engineering/domain-modeling/GLOSSARY-FORMAT.md +60 -0
  301. package/skills/mattpocock/skills/engineering/domain-modeling/SKILL.md +74 -0
  302. package/skills/mattpocock/skills/engineering/domain-modeling/agents/openai.yaml +3 -0
  303. package/skills/mattpocock/skills/engineering/grill-with-docs/SKILL.md +7 -0
  304. package/skills/mattpocock/skills/engineering/grill-with-docs/agents/openai.yaml +5 -0
  305. package/skills/mattpocock/skills/engineering/implement/SKILL.md +17 -0
  306. package/skills/mattpocock/skills/engineering/implement/agents/openai.yaml +5 -0
  307. package/skills/mattpocock/skills/engineering/implement-spec/SKILL.md +42 -0
  308. package/skills/mattpocock/skills/engineering/implement-spec/agents/openai.yaml +5 -0
  309. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/HTML-REPORT.md +123 -0
  310. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/SKILL.md +71 -0
  311. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/agents/openai.yaml +5 -0
  312. package/skills/mattpocock/skills/engineering/pr/CREDITS.md +3 -0
  313. package/skills/mattpocock/skills/engineering/pr/SKILL.md +170 -0
  314. package/skills/mattpocock/skills/engineering/pr/agents/openai.yaml +3 -0
  315. package/skills/mattpocock/skills/engineering/prototype/LOGIC.md +67 -0
  316. package/skills/mattpocock/skills/engineering/prototype/SKILL.md +26 -0
  317. package/skills/mattpocock/skills/engineering/prototype/UI.md +112 -0
  318. package/skills/mattpocock/skills/engineering/prototype/agents/openai.yaml +3 -0
  319. package/skills/mattpocock/skills/engineering/research/SKILL.md +12 -0
  320. package/skills/mattpocock/skills/engineering/research/agents/openai.yaml +3 -0
  321. package/skills/mattpocock/skills/engineering/retro/SKILL.md +44 -0
  322. package/skills/mattpocock/skills/engineering/retro/agents/openai.yaml +5 -0
  323. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/SKILL.md +120 -0
  324. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  325. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/domain.md +51 -0
  326. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +50 -0
  327. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
  328. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
  329. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -0
  330. package/skills/mattpocock/skills/engineering/tdd/SKILL.md +38 -0
  331. package/skills/mattpocock/skills/engineering/tdd/agents/openai.yaml +3 -0
  332. package/skills/mattpocock/skills/engineering/tdd/mocking.md +59 -0
  333. package/skills/mattpocock/skills/engineering/tdd/tests.md +77 -0
  334. package/skills/mattpocock/skills/engineering/to-spec/SKILL.md +75 -0
  335. package/skills/mattpocock/skills/engineering/to-spec/agents/openai.yaml +5 -0
  336. package/skills/mattpocock/skills/engineering/to-tickets/SKILL.md +105 -0
  337. package/skills/mattpocock/skills/engineering/to-tickets/agents/openai.yaml +5 -0
  338. package/skills/mattpocock/skills/engineering/triage/AGENT-BRIEF.md +207 -0
  339. package/skills/mattpocock/skills/engineering/triage/OUT-OF-SCOPE.md +105 -0
  340. package/skills/mattpocock/skills/engineering/triage/SKILL.md +112 -0
  341. package/skills/mattpocock/skills/engineering/triage/agents/openai.yaml +5 -0
  342. package/skills/mattpocock/skills/engineering/wayfinder/SKILL.md +128 -0
  343. package/skills/mattpocock/skills/engineering/wayfinder/agents/openai.yaml +5 -0
  344. package/skills/mattpocock/skills/engineering/wizard/SKILL.md +44 -0
  345. package/skills/mattpocock/skills/engineering/wizard/agents/openai.yaml +3 -0
  346. package/skills/mattpocock/skills/engineering/wizard/template.sh +223 -0
  347. package/skills/mattpocock/skills/in-progress/README.md +17 -0
  348. package/skills/mattpocock/skills/in-progress/chief-of-staff/SKILL.md +75 -0
  349. package/skills/mattpocock/skills/in-progress/chief-of-staff/agents/openai.yaml +5 -0
  350. package/skills/mattpocock/skills/in-progress/claude-handoff/SKILL.md +18 -0
  351. package/skills/mattpocock/skills/in-progress/claude-handoff/agents/openai.yaml +5 -0
  352. package/skills/mattpocock/skills/in-progress/loop-me/SKILL.md +32 -0
  353. package/skills/mattpocock/skills/in-progress/loop-me/agents/openai.yaml +5 -0
  354. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/SKILL.md +102 -0
  355. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/agents/openai.yaml +5 -0
  356. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
  357. package/skills/mattpocock/skills/in-progress/software-factory/EXAMPLE-TASKS.md +80 -0
  358. package/skills/mattpocock/skills/in-progress/software-factory/GIT-HOSTS.md +84 -0
  359. package/skills/mattpocock/skills/in-progress/software-factory/OBSERVABILITY-PLATFORMS.md +75 -0
  360. package/skills/mattpocock/skills/in-progress/software-factory/RUNNERS.md +94 -0
  361. package/skills/mattpocock/skills/in-progress/software-factory/SKILL.md +98 -0
  362. package/skills/mattpocock/skills/in-progress/software-factory/TICKET-TRACKERS.md +85 -0
  363. package/skills/mattpocock/skills/in-progress/writing-beats/SKILL.md +67 -0
  364. package/skills/mattpocock/skills/in-progress/writing-beats/agents/openai.yaml +5 -0
  365. package/skills/mattpocock/skills/in-progress/writing-fragments/SKILL.md +79 -0
  366. package/skills/mattpocock/skills/in-progress/writing-fragments/agents/openai.yaml +5 -0
  367. package/skills/mattpocock/skills/in-progress/writing-shape/SKILL.md +79 -0
  368. package/skills/mattpocock/skills/in-progress/writing-shape/agents/openai.yaml +5 -0
  369. package/skills/mattpocock/skills/misc/README.md +8 -0
  370. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/SKILL.md +95 -0
  371. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/agents/openai.yaml +3 -0
  372. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
  373. package/skills/mattpocock/skills/misc/migrate-to-shoehorn/SKILL.md +118 -0
  374. package/skills/mattpocock/skills/misc/migrate-to-shoehorn/agents/openai.yaml +3 -0
  375. package/skills/mattpocock/skills/misc/scaffold-exercises/SKILL.md +106 -0
  376. package/skills/mattpocock/skills/misc/scaffold-exercises/agents/openai.yaml +3 -0
  377. package/skills/mattpocock/skills/misc/setup-pre-commit/SKILL.md +91 -0
  378. package/skills/mattpocock/skills/misc/setup-pre-commit/agents/openai.yaml +3 -0
  379. package/skills/mattpocock/skills/productivity/README.md +20 -0
  380. package/skills/mattpocock/skills/productivity/grill-me/SKILL.md +7 -0
  381. package/skills/mattpocock/skills/productivity/grill-me/agents/openai.yaml +5 -0
  382. package/skills/mattpocock/skills/productivity/grilling/SKILL.md +30 -0
  383. package/skills/mattpocock/skills/productivity/grilling/agents/openai.yaml +3 -0
  384. package/skills/mattpocock/skills/productivity/handoff/SKILL.md +16 -0
  385. package/skills/mattpocock/skills/productivity/handoff/agents/openai.yaml +5 -0
  386. package/skills/mattpocock/skills/productivity/teach/GLOSSARY-FORMAT.md +35 -0
  387. package/skills/mattpocock/skills/productivity/teach/LEARNING-RECORD-FORMAT.md +46 -0
  388. package/skills/mattpocock/skills/productivity/teach/MISSION-FORMAT.md +31 -0
  389. package/skills/mattpocock/skills/productivity/teach/RESOURCES-FORMAT.md +32 -0
  390. package/skills/mattpocock/skills/productivity/teach/SKILL.md +140 -0
  391. package/skills/mattpocock/skills/productivity/teach/agents/openai.yaml +5 -0
  392. package/skills/mattpocock/skills/productivity/to-questionnaire/SKILL.md +54 -0
  393. package/skills/mattpocock/skills/productivity/to-questionnaire/agents/openai.yaml +5 -0
  394. package/skills/mattpocock/skills/productivity/wait-what/SKILL.md +7 -0
  395. package/skills/mattpocock/skills/productivity/wait-what/agents/openai.yaml +5 -0
  396. package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL-MECHANICS.md +22 -0
  397. package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL.md +81 -0
  398. package/skills/mattpocock/skills/productivity/writing-for-agents/agents/openai.yaml +3 -0
  399. package/skills/task-agents/operator-development/Agent.md +71 -0
  400. package/skills/task-agents/operator-development/skills.json +120 -0
  401. package/skills/task-agents/operator-development/stages.schema.json +532 -0
  402. package/skills/task-agents/performance-optimization/Agent.md +78 -0
  403. package/skills/task-agents/performance-optimization/skills.json +64 -0
  404. package/skills/task-agents/response-protocol.md +35 -0
  405. package/skills/task-agents/sidebar-contracts.schema.json +4168 -0
  406. package/skills/task-agents/sidebar-selection.schema.json +971 -0
  407. package/skills/task-agents/visuals/components.json +283 -0
  408. package/skills/task-agents/visuals/contracts.schema.json +3628 -0
@@ -0,0 +1,4168 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:cann:sidebar:contracts:1",
4
+ "title": "CANN sidebar and interaction contracts (design draft; not wired into runtime)",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "#/$defs/Snapshot"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/Interaction"
11
+ }
12
+ ],
13
+ "$defs": {
14
+ "Evidence": {
15
+ "type": "object",
16
+ "properties": {
17
+ "id": {
18
+ "type": "string"
19
+ },
20
+ "path": {
21
+ "type": "string"
22
+ },
23
+ "kind": {
24
+ "enum": [
25
+ "source",
26
+ "spec",
27
+ "log",
28
+ "test",
29
+ "profile",
30
+ "report",
31
+ "diff"
32
+ ]
33
+ },
34
+ "digest": {
35
+ "anyOf": [
36
+ {
37
+ "type": "string"
38
+ },
39
+ {
40
+ "type": "null"
41
+ }
42
+ ]
43
+ }
44
+ },
45
+ "required": [
46
+ "id",
47
+ "path",
48
+ "kind",
49
+ "digest"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ "Metric": {
54
+ "type": "object",
55
+ "properties": {
56
+ "id": {
57
+ "type": "string"
58
+ },
59
+ "value": {
60
+ "anyOf": [
61
+ {
62
+ "type": "number"
63
+ },
64
+ {
65
+ "type": "null"
66
+ }
67
+ ]
68
+ },
69
+ "unit": {
70
+ "enum": [
71
+ "us",
72
+ "ms",
73
+ "s",
74
+ "%",
75
+ "bytes",
76
+ "count",
77
+ "x",
78
+ "ratio"
79
+ ]
80
+ },
81
+ "direction": {
82
+ "enum": [
83
+ "lower",
84
+ "higher",
85
+ "contextual"
86
+ ]
87
+ },
88
+ "evidenceIds": {
89
+ "type": "array",
90
+ "items": {
91
+ "type": "string"
92
+ }
93
+ }
94
+ },
95
+ "required": [
96
+ "id",
97
+ "value",
98
+ "unit",
99
+ "direction",
100
+ "evidenceIds"
101
+ ],
102
+ "additionalProperties": false
103
+ },
104
+ "Tensor": {
105
+ "type": "object",
106
+ "properties": {
107
+ "name": {
108
+ "type": "string"
109
+ },
110
+ "shape": {
111
+ "type": "array",
112
+ "items": {
113
+ "type": [
114
+ "integer",
115
+ "string"
116
+ ]
117
+ }
118
+ },
119
+ "dtype": {
120
+ "type": "string"
121
+ },
122
+ "layout": {
123
+ "type": "string"
124
+ },
125
+ "constraints": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string"
129
+ }
130
+ }
131
+ },
132
+ "required": [
133
+ "name",
134
+ "shape",
135
+ "dtype",
136
+ "layout",
137
+ "constraints"
138
+ ],
139
+ "additionalProperties": false
140
+ },
141
+ "TestResult": {
142
+ "type": "object",
143
+ "properties": {
144
+ "caseId": {
145
+ "type": "string"
146
+ },
147
+ "status": {
148
+ "enum": [
149
+ "passed",
150
+ "failed",
151
+ "not-run",
152
+ "skipped"
153
+ ]
154
+ },
155
+ "maxAbsError": {
156
+ "anyOf": [
157
+ {
158
+ "type": "number",
159
+ "minimum": 0
160
+ },
161
+ {
162
+ "type": "null"
163
+ }
164
+ ]
165
+ },
166
+ "maxRelError": {
167
+ "anyOf": [
168
+ {
169
+ "type": "number",
170
+ "minimum": 0
171
+ },
172
+ {
173
+ "type": "null"
174
+ }
175
+ ]
176
+ },
177
+ "evidenceIds": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "string"
181
+ }
182
+ }
183
+ },
184
+ "required": [
185
+ "caseId",
186
+ "status",
187
+ "maxAbsError",
188
+ "maxRelError",
189
+ "evidenceIds"
190
+ ],
191
+ "additionalProperties": false
192
+ },
193
+ "Gate": {
194
+ "type": "object",
195
+ "properties": {
196
+ "gateId": {
197
+ "type": "string"
198
+ },
199
+ "result": {
200
+ "enum": [
201
+ "passed",
202
+ "failed",
203
+ "pending"
204
+ ]
205
+ },
206
+ "findings": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string"
210
+ }
211
+ },
212
+ "evidenceIds": {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "string"
216
+ }
217
+ }
218
+ },
219
+ "required": [
220
+ "gateId",
221
+ "result",
222
+ "findings",
223
+ "evidenceIds"
224
+ ],
225
+ "additionalProperties": false
226
+ },
227
+ "StageState": {
228
+ "enum": [
229
+ "pending",
230
+ "active",
231
+ "completed",
232
+ "failed",
233
+ "skipped"
234
+ ]
235
+ },
236
+ "TaskStatus": {
237
+ "enum": [
238
+ "pending",
239
+ "running",
240
+ "blocked",
241
+ "completed",
242
+ "failed"
243
+ ]
244
+ },
245
+ "Summary": {
246
+ "type": "object",
247
+ "properties": {
248
+ "title": {
249
+ "type": "string"
250
+ },
251
+ "status": {
252
+ "$ref": "#/$defs/TaskStatus"
253
+ },
254
+ "currentNodeIds": {
255
+ "type": "array",
256
+ "items": {
257
+ "type": "string"
258
+ }
259
+ },
260
+ "blockedReason": {
261
+ "anyOf": [
262
+ {
263
+ "type": "string"
264
+ },
265
+ {
266
+ "type": "null"
267
+ }
268
+ ]
269
+ }
270
+ },
271
+ "required": [
272
+ "title",
273
+ "status",
274
+ "currentNodeIds",
275
+ "blockedReason"
276
+ ],
277
+ "additionalProperties": false
278
+ },
279
+ "Requirements": {
280
+ "type": "object",
281
+ "properties": {
282
+ "operatorName": {
283
+ "type": "string"
284
+ },
285
+ "requirements": {
286
+ "type": "string"
287
+ },
288
+ "targetChip": {
289
+ "anyOf": [
290
+ {
291
+ "type": "string"
292
+ },
293
+ {
294
+ "type": "null"
295
+ }
296
+ ]
297
+ },
298
+ "developmentMode": {
299
+ "anyOf": [
300
+ {
301
+ "type": "string"
302
+ },
303
+ {
304
+ "type": "null"
305
+ }
306
+ ]
307
+ },
308
+ "skillId": {
309
+ "anyOf": [
310
+ {
311
+ "type": "string"
312
+ },
313
+ {
314
+ "type": "null"
315
+ }
316
+ ]
317
+ }
318
+ },
319
+ "required": [
320
+ "operatorName",
321
+ "requirements",
322
+ "targetChip",
323
+ "developmentMode",
324
+ "skillId"
325
+ ],
326
+ "additionalProperties": false
327
+ },
328
+ "Scope": {
329
+ "type": "object",
330
+ "properties": {
331
+ "goal": {
332
+ "type": "string"
333
+ },
334
+ "sourcePath": {
335
+ "anyOf": [
336
+ {
337
+ "type": "string"
338
+ },
339
+ {
340
+ "type": "null"
341
+ }
342
+ ]
343
+ },
344
+ "casesPath": {
345
+ "anyOf": [
346
+ {
347
+ "type": "string"
348
+ },
349
+ {
350
+ "type": "null"
351
+ }
352
+ ]
353
+ },
354
+ "targetChip": {
355
+ "anyOf": [
356
+ {
357
+ "type": "string"
358
+ },
359
+ {
360
+ "type": "null"
361
+ }
362
+ ]
363
+ },
364
+ "target": {
365
+ "anyOf": [
366
+ {
367
+ "type": "string"
368
+ },
369
+ {
370
+ "type": "null"
371
+ }
372
+ ]
373
+ },
374
+ "profileCommand": {
375
+ "anyOf": [
376
+ {
377
+ "type": "string"
378
+ },
379
+ {
380
+ "type": "null"
381
+ }
382
+ ]
383
+ }
384
+ },
385
+ "required": [
386
+ "goal",
387
+ "sourcePath",
388
+ "casesPath",
389
+ "targetChip",
390
+ "target",
391
+ "profileCommand"
392
+ ],
393
+ "additionalProperties": false
394
+ },
395
+ "Interface": {
396
+ "type": "object",
397
+ "properties": {
398
+ "inputs": {
399
+ "type": "array",
400
+ "items": {
401
+ "$ref": "#/$defs/Tensor"
402
+ }
403
+ },
404
+ "outputs": {
405
+ "type": "array",
406
+ "items": {
407
+ "$ref": "#/$defs/Tensor"
408
+ }
409
+ },
410
+ "scalarParameters": {
411
+ "type": "array",
412
+ "items": {
413
+ "type": "object",
414
+ "properties": {
415
+ "name": {
416
+ "type": "string"
417
+ },
418
+ "dtype": {
419
+ "type": "string"
420
+ },
421
+ "default": {
422
+ "type": [
423
+ "string",
424
+ "number",
425
+ "boolean",
426
+ "null"
427
+ ]
428
+ },
429
+ "constraints": {
430
+ "type": "array",
431
+ "items": {
432
+ "type": "string"
433
+ }
434
+ }
435
+ },
436
+ "required": [
437
+ "name",
438
+ "dtype",
439
+ "default",
440
+ "constraints"
441
+ ],
442
+ "additionalProperties": false
443
+ }
444
+ },
445
+ "shapePolicy": {
446
+ "type": "string"
447
+ },
448
+ "layout": {
449
+ "type": "string"
450
+ }
451
+ },
452
+ "required": [
453
+ "inputs",
454
+ "outputs",
455
+ "scalarParameters",
456
+ "shapePolicy",
457
+ "layout"
458
+ ],
459
+ "additionalProperties": false
460
+ },
461
+ "Compilation": {
462
+ "type": "object",
463
+ "properties": {
464
+ "sourcePath": {
465
+ "anyOf": [
466
+ {
467
+ "type": "string"
468
+ },
469
+ {
470
+ "type": "null"
471
+ }
472
+ ]
473
+ },
474
+ "entryFunction": {
475
+ "anyOf": [
476
+ {
477
+ "type": "string"
478
+ },
479
+ {
480
+ "type": "null"
481
+ }
482
+ ]
483
+ },
484
+ "targetChip": {
485
+ "anyOf": [
486
+ {
487
+ "type": "string"
488
+ },
489
+ {
490
+ "type": "null"
491
+ }
492
+ ]
493
+ },
494
+ "compilerOptions": {
495
+ "type": "array",
496
+ "items": {
497
+ "type": "string"
498
+ }
499
+ },
500
+ "numStages": {
501
+ "anyOf": [
502
+ {
503
+ "type": "integer",
504
+ "minimum": 1
505
+ },
506
+ {
507
+ "type": "null"
508
+ }
509
+ ]
510
+ },
511
+ "numWarps": {
512
+ "anyOf": [
513
+ {
514
+ "type": "integer",
515
+ "minimum": 1
516
+ },
517
+ {
518
+ "type": "null"
519
+ }
520
+ ]
521
+ },
522
+ "autotune": {
523
+ "type": "boolean"
524
+ },
525
+ "autotuneKeys": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string"
529
+ }
530
+ },
531
+ "launchGrid": {
532
+ "anyOf": [
533
+ {
534
+ "type": "string"
535
+ },
536
+ {
537
+ "type": "null"
538
+ }
539
+ ]
540
+ }
541
+ },
542
+ "required": [
543
+ "sourcePath",
544
+ "entryFunction",
545
+ "targetChip",
546
+ "compilerOptions",
547
+ "numStages",
548
+ "numWarps",
549
+ "autotune",
550
+ "autotuneKeys",
551
+ "launchGrid"
552
+ ],
553
+ "additionalProperties": false
554
+ },
555
+ "Tiling": {
556
+ "type": "object",
557
+ "properties": {
558
+ "tilingStrategy": {
559
+ "type": "string"
560
+ },
561
+ "tilingDimensions": {
562
+ "type": "array",
563
+ "items": {
564
+ "type": "object",
565
+ "properties": {
566
+ "axis": {
567
+ "type": "string"
568
+ },
569
+ "size": {
570
+ "type": [
571
+ "integer",
572
+ "string"
573
+ ]
574
+ }
575
+ },
576
+ "required": [
577
+ "axis",
578
+ "size"
579
+ ],
580
+ "additionalProperties": false
581
+ }
582
+ },
583
+ "registerBudget": {
584
+ "anyOf": [
585
+ {
586
+ "type": "number",
587
+ "minimum": 0
588
+ },
589
+ {
590
+ "type": "null"
591
+ }
592
+ ]
593
+ },
594
+ "sharedMemoryBudget": {
595
+ "anyOf": [
596
+ {
597
+ "type": "number",
598
+ "minimum": 0
599
+ },
600
+ {
601
+ "type": "null"
602
+ }
603
+ ]
604
+ },
605
+ "reusePlan": {
606
+ "anyOf": [
607
+ {
608
+ "type": "string"
609
+ },
610
+ {
611
+ "type": "null"
612
+ }
613
+ ]
614
+ }
615
+ },
616
+ "required": [
617
+ "tilingStrategy",
618
+ "tilingDimensions",
619
+ "registerBudget",
620
+ "sharedMemoryBudget",
621
+ "reusePlan"
622
+ ],
623
+ "additionalProperties": false
624
+ },
625
+ "Implementation": {
626
+ "type": "object",
627
+ "properties": {
628
+ "sourcePath": {
629
+ "type": "string"
630
+ },
631
+ "entryFunction": {
632
+ "type": "string"
633
+ },
634
+ "buildCommand": {
635
+ "type": "string"
636
+ },
637
+ "compilerOptions": {
638
+ "type": "array",
639
+ "items": {
640
+ "type": "string"
641
+ }
642
+ }
643
+ },
644
+ "required": [
645
+ "sourcePath",
646
+ "entryFunction",
647
+ "buildCommand",
648
+ "compilerOptions"
649
+ ],
650
+ "additionalProperties": false
651
+ },
652
+ "Validation": {
653
+ "type": "object",
654
+ "properties": {
655
+ "buildCommand": {
656
+ "anyOf": [
657
+ {
658
+ "type": "string"
659
+ },
660
+ {
661
+ "type": "null"
662
+ }
663
+ ]
664
+ },
665
+ "testCommand": {
666
+ "anyOf": [
667
+ {
668
+ "type": "string"
669
+ },
670
+ {
671
+ "type": "null"
672
+ }
673
+ ]
674
+ },
675
+ "accuracyThreshold": {
676
+ "anyOf": [
677
+ {
678
+ "type": "number",
679
+ "minimum": 0
680
+ },
681
+ {
682
+ "type": "null"
683
+ }
684
+ ]
685
+ },
686
+ "testCases": {
687
+ "type": "array",
688
+ "items": {
689
+ "type": "string"
690
+ }
691
+ },
692
+ "results": {
693
+ "type": "array",
694
+ "items": {
695
+ "$ref": "#/$defs/TestResult"
696
+ }
697
+ }
698
+ },
699
+ "required": [
700
+ "buildCommand",
701
+ "testCommand",
702
+ "accuracyThreshold",
703
+ "testCases",
704
+ "results"
705
+ ],
706
+ "additionalProperties": false
707
+ },
708
+ "PerformanceTarget": {
709
+ "type": "object",
710
+ "properties": {
711
+ "baselineMetric": {
712
+ "anyOf": [
713
+ {
714
+ "$ref": "#/$defs/Metric"
715
+ },
716
+ {
717
+ "type": "null"
718
+ }
719
+ ]
720
+ },
721
+ "targetMetric": {
722
+ "anyOf": [
723
+ {
724
+ "$ref": "#/$defs/Metric"
725
+ },
726
+ {
727
+ "type": "null"
728
+ }
729
+ ]
730
+ },
731
+ "profileCommand": {
732
+ "anyOf": [
733
+ {
734
+ "type": "string"
735
+ },
736
+ {
737
+ "type": "null"
738
+ }
739
+ ]
740
+ },
741
+ "regressionPolicy": {
742
+ "enum": [
743
+ "block",
744
+ "warn"
745
+ ]
746
+ }
747
+ },
748
+ "required": [
749
+ "baselineMetric",
750
+ "targetMetric",
751
+ "profileCommand",
752
+ "regressionPolicy"
753
+ ],
754
+ "additionalProperties": false
755
+ },
756
+ "Artifacts": {
757
+ "type": "object",
758
+ "properties": {
759
+ "items": {
760
+ "type": "array",
761
+ "items": {
762
+ "$ref": "#/$defs/Evidence"
763
+ }
764
+ }
765
+ },
766
+ "required": [
767
+ "items"
768
+ ],
769
+ "additionalProperties": false
770
+ },
771
+ "ReportHeader": {
772
+ "type": "object",
773
+ "properties": {
774
+ "reportId": {
775
+ "type": "string"
776
+ },
777
+ "caseName": {
778
+ "type": "string"
779
+ },
780
+ "source": {
781
+ "enum": [
782
+ "npu-compute",
783
+ "simulator"
784
+ ]
785
+ },
786
+ "set": {
787
+ "type": "string"
788
+ },
789
+ "collectedAt": {
790
+ "type": "string"
791
+ },
792
+ "baselineId": {
793
+ "anyOf": [
794
+ {
795
+ "type": "string"
796
+ },
797
+ {
798
+ "type": "null"
799
+ }
800
+ ]
801
+ },
802
+ "measurementFingerprint": {
803
+ "type": "string"
804
+ }
805
+ },
806
+ "required": [
807
+ "reportId",
808
+ "caseName",
809
+ "source",
810
+ "set",
811
+ "collectedAt",
812
+ "baselineId",
813
+ "measurementFingerprint"
814
+ ],
815
+ "additionalProperties": false
816
+ },
817
+ "Metrics": {
818
+ "type": "object",
819
+ "properties": {
820
+ "reportId": {
821
+ "type": "string"
822
+ },
823
+ "values": {
824
+ "type": "array",
825
+ "items": {
826
+ "$ref": "#/$defs/Metric"
827
+ }
828
+ },
829
+ "baselineDurationUs": {
830
+ "anyOf": [
831
+ {
832
+ "type": "number",
833
+ "minimum": 0
834
+ },
835
+ {
836
+ "type": "null"
837
+ }
838
+ ]
839
+ },
840
+ "speedup": {
841
+ "anyOf": [
842
+ {
843
+ "type": "number",
844
+ "minimum": 0
845
+ },
846
+ {
847
+ "type": "null"
848
+ }
849
+ ]
850
+ }
851
+ },
852
+ "required": [
853
+ "reportId",
854
+ "values",
855
+ "baselineDurationUs",
856
+ "speedup"
857
+ ],
858
+ "additionalProperties": false
859
+ },
860
+ "Span": {
861
+ "type": "object",
862
+ "properties": {
863
+ "id": {
864
+ "type": "string"
865
+ },
866
+ "label": {
867
+ "type": "string"
868
+ },
869
+ "lane": {
870
+ "type": "string"
871
+ },
872
+ "startUs": {
873
+ "type": "number",
874
+ "minimum": 0
875
+ },
876
+ "endUs": {
877
+ "type": "number",
878
+ "minimum": 0
879
+ },
880
+ "parentId": {
881
+ "anyOf": [
882
+ {
883
+ "type": "string"
884
+ },
885
+ {
886
+ "type": "null"
887
+ }
888
+ ]
889
+ }
890
+ },
891
+ "required": [
892
+ "id",
893
+ "label",
894
+ "lane",
895
+ "startUs",
896
+ "endUs",
897
+ "parentId"
898
+ ],
899
+ "additionalProperties": false
900
+ },
901
+ "Timeline": {
902
+ "type": "object",
903
+ "properties": {
904
+ "reportId": {
905
+ "type": "string"
906
+ },
907
+ "traceId": {
908
+ "type": "string"
909
+ },
910
+ "clockId": {
911
+ "type": "string"
912
+ },
913
+ "originUs": {
914
+ "type": "number"
915
+ },
916
+ "kind": {
917
+ "enum": [
918
+ "pipe-trace",
919
+ "flamegraph"
920
+ ]
921
+ },
922
+ "spans": {
923
+ "type": "array",
924
+ "items": {
925
+ "$ref": "#/$defs/Span"
926
+ }
927
+ },
928
+ "baselineReportId": {
929
+ "anyOf": [
930
+ {
931
+ "type": "string"
932
+ },
933
+ {
934
+ "type": "null"
935
+ }
936
+ ]
937
+ }
938
+ },
939
+ "required": [
940
+ "reportId",
941
+ "traceId",
942
+ "clockId",
943
+ "originUs",
944
+ "kind",
945
+ "spans",
946
+ "baselineReportId"
947
+ ],
948
+ "additionalProperties": false
949
+ },
950
+ "CheckFinding": {
951
+ "type": "object",
952
+ "properties": {
953
+ "id": {
954
+ "type": "string"
955
+ },
956
+ "kind": {
957
+ "enum": [
958
+ "mem",
959
+ "sync",
960
+ "init",
961
+ "race"
962
+ ]
963
+ },
964
+ "severity": {
965
+ "enum": [
966
+ "error",
967
+ "warning",
968
+ "info"
969
+ ]
970
+ },
971
+ "file": {
972
+ "type": "string"
973
+ },
974
+ "line": {
975
+ "type": "integer",
976
+ "minimum": 0
977
+ },
978
+ "message": {
979
+ "type": "string"
980
+ },
981
+ "status": {
982
+ "enum": [
983
+ "open",
984
+ "fixed-replay-pending"
985
+ ]
986
+ }
987
+ },
988
+ "required": [
989
+ "id",
990
+ "kind",
991
+ "severity",
992
+ "file",
993
+ "line",
994
+ "message",
995
+ "status"
996
+ ],
997
+ "additionalProperties": false
998
+ },
999
+ "Checks": {
1000
+ "type": "object",
1001
+ "properties": {
1002
+ "reportId": {
1003
+ "type": "string"
1004
+ },
1005
+ "passed": {
1006
+ "type": "boolean"
1007
+ },
1008
+ "source": {
1009
+ "type": "string"
1010
+ },
1011
+ "findings": {
1012
+ "type": "array",
1013
+ "items": {
1014
+ "$ref": "#/$defs/CheckFinding"
1015
+ }
1016
+ }
1017
+ },
1018
+ "required": [
1019
+ "reportId",
1020
+ "passed",
1021
+ "source",
1022
+ "findings"
1023
+ ],
1024
+ "additionalProperties": false
1025
+ },
1026
+ "VerdictFinding": {
1027
+ "type": "object",
1028
+ "properties": {
1029
+ "ruleId": {
1030
+ "type": "string"
1031
+ },
1032
+ "name": {
1033
+ "type": "string"
1034
+ },
1035
+ "severity": {
1036
+ "enum": [
1037
+ "critical",
1038
+ "moderate",
1039
+ "light"
1040
+ ]
1041
+ },
1042
+ "confidence": {
1043
+ "enum": [
1044
+ "HIGH",
1045
+ "MEDIUM",
1046
+ "LOW"
1047
+ ]
1048
+ },
1049
+ "evidenceIds": {
1050
+ "type": "array",
1051
+ "items": {
1052
+ "type": "string"
1053
+ }
1054
+ },
1055
+ "counterEvidence": {
1056
+ "type": "array",
1057
+ "items": {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "id": {
1061
+ "type": "string"
1062
+ },
1063
+ "note": {
1064
+ "type": "string"
1065
+ }
1066
+ },
1067
+ "required": [
1068
+ "id",
1069
+ "note"
1070
+ ],
1071
+ "additionalProperties": false
1072
+ }
1073
+ },
1074
+ "speedupRange": {
1075
+ "anyOf": [
1076
+ {
1077
+ "type": "string"
1078
+ },
1079
+ {
1080
+ "type": "null"
1081
+ }
1082
+ ]
1083
+ },
1084
+ "mechanismRefs": {
1085
+ "type": "array",
1086
+ "items": {
1087
+ "type": "string"
1088
+ }
1089
+ }
1090
+ },
1091
+ "required": [
1092
+ "ruleId",
1093
+ "name",
1094
+ "severity",
1095
+ "confidence",
1096
+ "evidenceIds",
1097
+ "counterEvidence",
1098
+ "speedupRange",
1099
+ "mechanismRefs"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ },
1103
+ "Verdict": {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "reportId": {
1107
+ "type": "string"
1108
+ },
1109
+ "soc": {
1110
+ "type": "string"
1111
+ },
1112
+ "verdict": {
1113
+ "enum": [
1114
+ "GOOD",
1115
+ "NEEDS_OPTIMIZATION",
1116
+ "NEAR_LIMIT",
1117
+ "NO_BOUND_FOUND",
1118
+ "INSUFFICIENT_DATA"
1119
+ ]
1120
+ },
1121
+ "headline": {
1122
+ "type": "string"
1123
+ },
1124
+ "findings": {
1125
+ "type": "array",
1126
+ "items": {
1127
+ "$ref": "#/$defs/VerdictFinding"
1128
+ }
1129
+ },
1130
+ "recommendedNext": {
1131
+ "type": "array",
1132
+ "items": {
1133
+ "type": "string"
1134
+ }
1135
+ }
1136
+ },
1137
+ "required": [
1138
+ "reportId",
1139
+ "soc",
1140
+ "verdict",
1141
+ "headline",
1142
+ "findings",
1143
+ "recommendedNext"
1144
+ ],
1145
+ "additionalProperties": false
1146
+ },
1147
+ "Comparison": {
1148
+ "type": "object",
1149
+ "properties": {
1150
+ "baselineId": {
1151
+ "type": "string"
1152
+ },
1153
+ "reportId": {
1154
+ "type": "string"
1155
+ },
1156
+ "comparable": {
1157
+ "type": "boolean"
1158
+ },
1159
+ "mismatchReasons": {
1160
+ "type": "array",
1161
+ "items": {
1162
+ "type": "string"
1163
+ }
1164
+ },
1165
+ "values": {
1166
+ "type": "array",
1167
+ "items": {
1168
+ "type": "object",
1169
+ "properties": {
1170
+ "metricId": {
1171
+ "type": "string"
1172
+ },
1173
+ "unit": {
1174
+ "type": "string"
1175
+ },
1176
+ "baseline": {
1177
+ "anyOf": [
1178
+ {
1179
+ "type": "number"
1180
+ },
1181
+ {
1182
+ "type": "null"
1183
+ }
1184
+ ]
1185
+ },
1186
+ "current": {
1187
+ "anyOf": [
1188
+ {
1189
+ "type": "number"
1190
+ },
1191
+ {
1192
+ "type": "null"
1193
+ }
1194
+ ]
1195
+ },
1196
+ "delta": {
1197
+ "anyOf": [
1198
+ {
1199
+ "type": "number"
1200
+ },
1201
+ {
1202
+ "type": "null"
1203
+ }
1204
+ ]
1205
+ },
1206
+ "changePct": {
1207
+ "anyOf": [
1208
+ {
1209
+ "type": "number"
1210
+ },
1211
+ {
1212
+ "type": "null"
1213
+ }
1214
+ ]
1215
+ }
1216
+ },
1217
+ "required": [
1218
+ "metricId",
1219
+ "unit",
1220
+ "baseline",
1221
+ "current",
1222
+ "delta",
1223
+ "changePct"
1224
+ ],
1225
+ "additionalProperties": false
1226
+ }
1227
+ },
1228
+ "decision": {
1229
+ "enum": [
1230
+ "KEEP",
1231
+ "REVERT",
1232
+ "REPEAT",
1233
+ "INCOMPARABLE",
1234
+ "UNDECIDED"
1235
+ ]
1236
+ }
1237
+ },
1238
+ "required": [
1239
+ "baselineId",
1240
+ "reportId",
1241
+ "comparable",
1242
+ "mismatchReasons",
1243
+ "values",
1244
+ "decision"
1245
+ ],
1246
+ "additionalProperties": false
1247
+ },
1248
+ "EvidencePaths": {
1249
+ "type": "object",
1250
+ "properties": {
1251
+ "scopePath": {
1252
+ "anyOf": [
1253
+ {
1254
+ "type": "string"
1255
+ },
1256
+ {
1257
+ "type": "null"
1258
+ }
1259
+ ]
1260
+ },
1261
+ "manifestPath": {
1262
+ "anyOf": [
1263
+ {
1264
+ "type": "string"
1265
+ },
1266
+ {
1267
+ "type": "null"
1268
+ }
1269
+ ]
1270
+ },
1271
+ "baselinePath": {
1272
+ "anyOf": [
1273
+ {
1274
+ "type": "string"
1275
+ },
1276
+ {
1277
+ "type": "null"
1278
+ }
1279
+ ]
1280
+ },
1281
+ "verdictPath": {
1282
+ "anyOf": [
1283
+ {
1284
+ "type": "string"
1285
+ },
1286
+ {
1287
+ "type": "null"
1288
+ }
1289
+ ]
1290
+ },
1291
+ "candidatePath": {
1292
+ "anyOf": [
1293
+ {
1294
+ "type": "string"
1295
+ },
1296
+ {
1297
+ "type": "null"
1298
+ }
1299
+ ]
1300
+ },
1301
+ "diffAuditPath": {
1302
+ "anyOf": [
1303
+ {
1304
+ "type": "string"
1305
+ },
1306
+ {
1307
+ "type": "null"
1308
+ }
1309
+ ]
1310
+ },
1311
+ "comparisonPath": {
1312
+ "anyOf": [
1313
+ {
1314
+ "type": "string"
1315
+ },
1316
+ {
1317
+ "type": "null"
1318
+ }
1319
+ ]
1320
+ },
1321
+ "reportPath": {
1322
+ "anyOf": [
1323
+ {
1324
+ "type": "string"
1325
+ },
1326
+ {
1327
+ "type": "null"
1328
+ }
1329
+ ]
1330
+ }
1331
+ },
1332
+ "required": [
1333
+ "scopePath",
1334
+ "manifestPath",
1335
+ "baselinePath",
1336
+ "verdictPath",
1337
+ "candidatePath",
1338
+ "diffAuditPath",
1339
+ "comparisonPath",
1340
+ "reportPath"
1341
+ ],
1342
+ "additionalProperties": false
1343
+ },
1344
+ "GenericOperatorStage": {
1345
+ "type": "object",
1346
+ "properties": {
1347
+ "id": {
1348
+ "type": "string"
1349
+ },
1350
+ "contract": {
1351
+ "const": "operator.stage/1"
1352
+ },
1353
+ "state": {
1354
+ "$ref": "#/$defs/StageState"
1355
+ },
1356
+ "summary": {
1357
+ "anyOf": [
1358
+ {
1359
+ "type": "string"
1360
+ },
1361
+ {
1362
+ "type": "null"
1363
+ }
1364
+ ]
1365
+ },
1366
+ "evidence": {
1367
+ "type": "array",
1368
+ "items": {
1369
+ "$ref": "#/$defs/Evidence"
1370
+ }
1371
+ },
1372
+ "data": {
1373
+ "anyOf": [
1374
+ {
1375
+ "type": "object",
1376
+ "properties": {
1377
+ "goal": {
1378
+ "type": "string"
1379
+ },
1380
+ "commands": {
1381
+ "type": "array",
1382
+ "items": {
1383
+ "type": "string"
1384
+ }
1385
+ },
1386
+ "results": {
1387
+ "type": "array",
1388
+ "items": {
1389
+ "type": "string"
1390
+ }
1391
+ },
1392
+ "openQuestions": {
1393
+ "type": "array",
1394
+ "items": {
1395
+ "type": "string"
1396
+ }
1397
+ }
1398
+ },
1399
+ "required": [
1400
+ "goal",
1401
+ "commands",
1402
+ "results",
1403
+ "openQuestions"
1404
+ ],
1405
+ "additionalProperties": false
1406
+ },
1407
+ {
1408
+ "type": "null"
1409
+ }
1410
+ ]
1411
+ }
1412
+ },
1413
+ "required": [
1414
+ "id",
1415
+ "contract",
1416
+ "state",
1417
+ "summary",
1418
+ "evidence",
1419
+ "data"
1420
+ ],
1421
+ "additionalProperties": false
1422
+ },
1423
+ "Workflow": {
1424
+ "type": "object",
1425
+ "properties": {
1426
+ "definitionId": {
1427
+ "type": "string"
1428
+ },
1429
+ "definitionVersion": {
1430
+ "type": "string"
1431
+ },
1432
+ "nodes": {
1433
+ "type": "array",
1434
+ "items": {
1435
+ "oneOf": [
1436
+ {
1437
+ "type": "object",
1438
+ "properties": {
1439
+ "id": {
1440
+ "const": "review-delivery"
1441
+ },
1442
+ "contract": {
1443
+ "const": "operator.review-delivery/1"
1444
+ },
1445
+ "state": {
1446
+ "$ref": "#/$defs/StageState"
1447
+ },
1448
+ "summary": {
1449
+ "anyOf": [
1450
+ {
1451
+ "type": "string"
1452
+ },
1453
+ {
1454
+ "type": "null"
1455
+ }
1456
+ ]
1457
+ },
1458
+ "evidence": {
1459
+ "type": "array",
1460
+ "items": {
1461
+ "$ref": "#/$defs/Evidence"
1462
+ }
1463
+ },
1464
+ "data": {
1465
+ "anyOf": [
1466
+ {
1467
+ "$ref": "#/$defs/operator.review-delivery"
1468
+ },
1469
+ {
1470
+ "type": "null"
1471
+ }
1472
+ ]
1473
+ }
1474
+ },
1475
+ "required": [
1476
+ "id",
1477
+ "contract",
1478
+ "state",
1479
+ "summary",
1480
+ "evidence",
1481
+ "data"
1482
+ ],
1483
+ "additionalProperties": false
1484
+ },
1485
+ {
1486
+ "type": "object",
1487
+ "properties": {
1488
+ "id": {
1489
+ "const": "optimization"
1490
+ },
1491
+ "contract": {
1492
+ "const": "operator.optimization/1"
1493
+ },
1494
+ "state": {
1495
+ "$ref": "#/$defs/StageState"
1496
+ },
1497
+ "summary": {
1498
+ "anyOf": [
1499
+ {
1500
+ "type": "string"
1501
+ },
1502
+ {
1503
+ "type": "null"
1504
+ }
1505
+ ]
1506
+ },
1507
+ "evidence": {
1508
+ "type": "array",
1509
+ "items": {
1510
+ "$ref": "#/$defs/Evidence"
1511
+ }
1512
+ },
1513
+ "data": {
1514
+ "anyOf": [
1515
+ {
1516
+ "$ref": "#/$defs/operator.optimization"
1517
+ },
1518
+ {
1519
+ "type": "null"
1520
+ }
1521
+ ]
1522
+ }
1523
+ },
1524
+ "required": [
1525
+ "id",
1526
+ "contract",
1527
+ "state",
1528
+ "summary",
1529
+ "evidence",
1530
+ "data"
1531
+ ],
1532
+ "additionalProperties": false
1533
+ },
1534
+ {
1535
+ "type": "object",
1536
+ "properties": {
1537
+ "id": {
1538
+ "const": "diagnosis"
1539
+ },
1540
+ "contract": {
1541
+ "const": "operator.diagnosis/1"
1542
+ },
1543
+ "state": {
1544
+ "$ref": "#/$defs/StageState"
1545
+ },
1546
+ "summary": {
1547
+ "anyOf": [
1548
+ {
1549
+ "type": "string"
1550
+ },
1551
+ {
1552
+ "type": "null"
1553
+ }
1554
+ ]
1555
+ },
1556
+ "evidence": {
1557
+ "type": "array",
1558
+ "items": {
1559
+ "$ref": "#/$defs/Evidence"
1560
+ }
1561
+ },
1562
+ "data": {
1563
+ "anyOf": [
1564
+ {
1565
+ "$ref": "#/$defs/operator.diagnosis"
1566
+ },
1567
+ {
1568
+ "type": "null"
1569
+ }
1570
+ ]
1571
+ }
1572
+ },
1573
+ "required": [
1574
+ "id",
1575
+ "contract",
1576
+ "state",
1577
+ "summary",
1578
+ "evidence",
1579
+ "data"
1580
+ ],
1581
+ "additionalProperties": false
1582
+ },
1583
+ {
1584
+ "type": "object",
1585
+ "properties": {
1586
+ "id": {
1587
+ "const": "verification"
1588
+ },
1589
+ "contract": {
1590
+ "const": "operator.verification/1"
1591
+ },
1592
+ "state": {
1593
+ "$ref": "#/$defs/StageState"
1594
+ },
1595
+ "summary": {
1596
+ "anyOf": [
1597
+ {
1598
+ "type": "string"
1599
+ },
1600
+ {
1601
+ "type": "null"
1602
+ }
1603
+ ]
1604
+ },
1605
+ "evidence": {
1606
+ "type": "array",
1607
+ "items": {
1608
+ "$ref": "#/$defs/Evidence"
1609
+ }
1610
+ },
1611
+ "data": {
1612
+ "anyOf": [
1613
+ {
1614
+ "$ref": "#/$defs/operator.verification"
1615
+ },
1616
+ {
1617
+ "type": "null"
1618
+ }
1619
+ ]
1620
+ }
1621
+ },
1622
+ "required": [
1623
+ "id",
1624
+ "contract",
1625
+ "state",
1626
+ "summary",
1627
+ "evidence",
1628
+ "data"
1629
+ ],
1630
+ "additionalProperties": false
1631
+ },
1632
+ {
1633
+ "type": "object",
1634
+ "properties": {
1635
+ "id": {
1636
+ "const": "implementation"
1637
+ },
1638
+ "contract": {
1639
+ "const": "operator.implementation/1"
1640
+ },
1641
+ "state": {
1642
+ "$ref": "#/$defs/StageState"
1643
+ },
1644
+ "summary": {
1645
+ "anyOf": [
1646
+ {
1647
+ "type": "string"
1648
+ },
1649
+ {
1650
+ "type": "null"
1651
+ }
1652
+ ]
1653
+ },
1654
+ "evidence": {
1655
+ "type": "array",
1656
+ "items": {
1657
+ "$ref": "#/$defs/Evidence"
1658
+ }
1659
+ },
1660
+ "data": {
1661
+ "anyOf": [
1662
+ {
1663
+ "$ref": "#/$defs/operator.implementation"
1664
+ },
1665
+ {
1666
+ "type": "null"
1667
+ }
1668
+ ]
1669
+ }
1670
+ },
1671
+ "required": [
1672
+ "id",
1673
+ "contract",
1674
+ "state",
1675
+ "summary",
1676
+ "evidence",
1677
+ "data"
1678
+ ],
1679
+ "additionalProperties": false
1680
+ },
1681
+ {
1682
+ "type": "object",
1683
+ "properties": {
1684
+ "id": {
1685
+ "const": "technical-design"
1686
+ },
1687
+ "contract": {
1688
+ "const": "operator.technical-design/1"
1689
+ },
1690
+ "state": {
1691
+ "$ref": "#/$defs/StageState"
1692
+ },
1693
+ "summary": {
1694
+ "anyOf": [
1695
+ {
1696
+ "type": "string"
1697
+ },
1698
+ {
1699
+ "type": "null"
1700
+ }
1701
+ ]
1702
+ },
1703
+ "evidence": {
1704
+ "type": "array",
1705
+ "items": {
1706
+ "$ref": "#/$defs/Evidence"
1707
+ }
1708
+ },
1709
+ "data": {
1710
+ "anyOf": [
1711
+ {
1712
+ "$ref": "#/$defs/operator.technical-design"
1713
+ },
1714
+ {
1715
+ "type": "null"
1716
+ }
1717
+ ]
1718
+ }
1719
+ },
1720
+ "required": [
1721
+ "id",
1722
+ "contract",
1723
+ "state",
1724
+ "summary",
1725
+ "evidence",
1726
+ "data"
1727
+ ],
1728
+ "additionalProperties": false
1729
+ },
1730
+ {
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "id": {
1734
+ "const": "requirements-analysis"
1735
+ },
1736
+ "contract": {
1737
+ "const": "operator.requirements-analysis/1"
1738
+ },
1739
+ "state": {
1740
+ "$ref": "#/$defs/StageState"
1741
+ },
1742
+ "summary": {
1743
+ "anyOf": [
1744
+ {
1745
+ "type": "string"
1746
+ },
1747
+ {
1748
+ "type": "null"
1749
+ }
1750
+ ]
1751
+ },
1752
+ "evidence": {
1753
+ "type": "array",
1754
+ "items": {
1755
+ "$ref": "#/$defs/Evidence"
1756
+ }
1757
+ },
1758
+ "data": {
1759
+ "anyOf": [
1760
+ {
1761
+ "$ref": "#/$defs/operator.requirements-analysis"
1762
+ },
1763
+ {
1764
+ "type": "null"
1765
+ }
1766
+ ]
1767
+ }
1768
+ },
1769
+ "required": [
1770
+ "id",
1771
+ "contract",
1772
+ "state",
1773
+ "summary",
1774
+ "evidence",
1775
+ "data"
1776
+ ],
1777
+ "additionalProperties": false
1778
+ },
1779
+ {
1780
+ "$ref": "#/$defs/GenericOperatorStage"
1781
+ },
1782
+ {
1783
+ "type": "object",
1784
+ "properties": {
1785
+ "id": {
1786
+ "const": "baseline"
1787
+ },
1788
+ "contract": {
1789
+ "const": "perf.baseline/1"
1790
+ },
1791
+ "state": {
1792
+ "$ref": "#/$defs/StageState"
1793
+ },
1794
+ "summary": {
1795
+ "anyOf": [
1796
+ {
1797
+ "type": "string"
1798
+ },
1799
+ {
1800
+ "type": "null"
1801
+ }
1802
+ ]
1803
+ },
1804
+ "evidence": {
1805
+ "type": "array",
1806
+ "items": {
1807
+ "$ref": "#/$defs/Evidence"
1808
+ }
1809
+ },
1810
+ "data": {
1811
+ "anyOf": [
1812
+ {
1813
+ "$ref": "#/$defs/perf.baseline"
1814
+ },
1815
+ {
1816
+ "type": "null"
1817
+ }
1818
+ ]
1819
+ }
1820
+ },
1821
+ "required": [
1822
+ "id",
1823
+ "contract",
1824
+ "state",
1825
+ "summary",
1826
+ "evidence",
1827
+ "data"
1828
+ ],
1829
+ "additionalProperties": false
1830
+ },
1831
+ {
1832
+ "type": "object",
1833
+ "properties": {
1834
+ "id": {
1835
+ "const": "analysis"
1836
+ },
1837
+ "contract": {
1838
+ "const": "perf.analysis/1"
1839
+ },
1840
+ "state": {
1841
+ "$ref": "#/$defs/StageState"
1842
+ },
1843
+ "summary": {
1844
+ "anyOf": [
1845
+ {
1846
+ "type": "string"
1847
+ },
1848
+ {
1849
+ "type": "null"
1850
+ }
1851
+ ]
1852
+ },
1853
+ "evidence": {
1854
+ "type": "array",
1855
+ "items": {
1856
+ "$ref": "#/$defs/Evidence"
1857
+ }
1858
+ },
1859
+ "data": {
1860
+ "anyOf": [
1861
+ {
1862
+ "$ref": "#/$defs/perf.analysis"
1863
+ },
1864
+ {
1865
+ "type": "null"
1866
+ }
1867
+ ]
1868
+ }
1869
+ },
1870
+ "required": [
1871
+ "id",
1872
+ "contract",
1873
+ "state",
1874
+ "summary",
1875
+ "evidence",
1876
+ "data"
1877
+ ],
1878
+ "additionalProperties": false
1879
+ },
1880
+ {
1881
+ "type": "object",
1882
+ "properties": {
1883
+ "id": {
1884
+ "const": "experiment"
1885
+ },
1886
+ "contract": {
1887
+ "const": "perf.experiment/1"
1888
+ },
1889
+ "state": {
1890
+ "$ref": "#/$defs/StageState"
1891
+ },
1892
+ "summary": {
1893
+ "anyOf": [
1894
+ {
1895
+ "type": "string"
1896
+ },
1897
+ {
1898
+ "type": "null"
1899
+ }
1900
+ ]
1901
+ },
1902
+ "evidence": {
1903
+ "type": "array",
1904
+ "items": {
1905
+ "$ref": "#/$defs/Evidence"
1906
+ }
1907
+ },
1908
+ "data": {
1909
+ "anyOf": [
1910
+ {
1911
+ "$ref": "#/$defs/perf.experiment"
1912
+ },
1913
+ {
1914
+ "type": "null"
1915
+ }
1916
+ ]
1917
+ }
1918
+ },
1919
+ "required": [
1920
+ "id",
1921
+ "contract",
1922
+ "state",
1923
+ "summary",
1924
+ "evidence",
1925
+ "data"
1926
+ ],
1927
+ "additionalProperties": false
1928
+ },
1929
+ {
1930
+ "type": "object",
1931
+ "properties": {
1932
+ "id": {
1933
+ "const": "verification"
1934
+ },
1935
+ "contract": {
1936
+ "const": "perf.verification/1"
1937
+ },
1938
+ "state": {
1939
+ "$ref": "#/$defs/StageState"
1940
+ },
1941
+ "summary": {
1942
+ "anyOf": [
1943
+ {
1944
+ "type": "string"
1945
+ },
1946
+ {
1947
+ "type": "null"
1948
+ }
1949
+ ]
1950
+ },
1951
+ "evidence": {
1952
+ "type": "array",
1953
+ "items": {
1954
+ "$ref": "#/$defs/Evidence"
1955
+ }
1956
+ },
1957
+ "data": {
1958
+ "anyOf": [
1959
+ {
1960
+ "$ref": "#/$defs/perf.verification"
1961
+ },
1962
+ {
1963
+ "type": "null"
1964
+ }
1965
+ ]
1966
+ }
1967
+ },
1968
+ "required": [
1969
+ "id",
1970
+ "contract",
1971
+ "state",
1972
+ "summary",
1973
+ "evidence",
1974
+ "data"
1975
+ ],
1976
+ "additionalProperties": false
1977
+ }
1978
+ ]
1979
+ }
1980
+ },
1981
+ "edges": {
1982
+ "type": "array",
1983
+ "items": {
1984
+ "type": "object",
1985
+ "properties": {
1986
+ "from": {
1987
+ "type": "string"
1988
+ },
1989
+ "to": {
1990
+ "type": "string"
1991
+ },
1992
+ "kind": {
1993
+ "enum": [
1994
+ "sequential",
1995
+ "conditional",
1996
+ "feedback",
1997
+ "retry"
1998
+ ]
1999
+ },
2000
+ "condition": {
2001
+ "anyOf": [
2002
+ {
2003
+ "type": "string"
2004
+ },
2005
+ {
2006
+ "type": "null"
2007
+ }
2008
+ ]
2009
+ }
2010
+ },
2011
+ "required": [
2012
+ "from",
2013
+ "to",
2014
+ "kind",
2015
+ "condition"
2016
+ ],
2017
+ "additionalProperties": false
2018
+ }
2019
+ }
2020
+ },
2021
+ "required": [
2022
+ "definitionId",
2023
+ "definitionVersion",
2024
+ "nodes",
2025
+ "edges"
2026
+ ],
2027
+ "additionalProperties": false
2028
+ },
2029
+ "Component": {
2030
+ "oneOf": [
2031
+ {
2032
+ "type": "object",
2033
+ "properties": {
2034
+ "id": {
2035
+ "type": "string"
2036
+ },
2037
+ "contract": {
2038
+ "const": "task.summary/1"
2039
+ },
2040
+ "availability": {
2041
+ "enum": [
2042
+ "ready",
2043
+ "empty",
2044
+ "error"
2045
+ ]
2046
+ },
2047
+ "data": {
2048
+ "anyOf": [
2049
+ {
2050
+ "$ref": "#/$defs/Summary"
2051
+ },
2052
+ {
2053
+ "type": "null"
2054
+ }
2055
+ ]
2056
+ },
2057
+ "error": {
2058
+ "anyOf": [
2059
+ {
2060
+ "type": "string"
2061
+ },
2062
+ {
2063
+ "type": "null"
2064
+ }
2065
+ ]
2066
+ }
2067
+ },
2068
+ "required": [
2069
+ "id",
2070
+ "contract",
2071
+ "availability",
2072
+ "data",
2073
+ "error"
2074
+ ],
2075
+ "additionalProperties": false
2076
+ },
2077
+ {
2078
+ "type": "object",
2079
+ "properties": {
2080
+ "id": {
2081
+ "type": "string"
2082
+ },
2083
+ "contract": {
2084
+ "const": "operator.requirements/1"
2085
+ },
2086
+ "availability": {
2087
+ "enum": [
2088
+ "ready",
2089
+ "empty",
2090
+ "error"
2091
+ ]
2092
+ },
2093
+ "data": {
2094
+ "anyOf": [
2095
+ {
2096
+ "$ref": "#/$defs/Requirements"
2097
+ },
2098
+ {
2099
+ "type": "null"
2100
+ }
2101
+ ]
2102
+ },
2103
+ "error": {
2104
+ "anyOf": [
2105
+ {
2106
+ "type": "string"
2107
+ },
2108
+ {
2109
+ "type": "null"
2110
+ }
2111
+ ]
2112
+ }
2113
+ },
2114
+ "required": [
2115
+ "id",
2116
+ "contract",
2117
+ "availability",
2118
+ "data",
2119
+ "error"
2120
+ ],
2121
+ "additionalProperties": false
2122
+ },
2123
+ {
2124
+ "type": "object",
2125
+ "properties": {
2126
+ "id": {
2127
+ "type": "string"
2128
+ },
2129
+ "contract": {
2130
+ "const": "operator.interface/1"
2131
+ },
2132
+ "availability": {
2133
+ "enum": [
2134
+ "ready",
2135
+ "empty",
2136
+ "error"
2137
+ ]
2138
+ },
2139
+ "data": {
2140
+ "anyOf": [
2141
+ {
2142
+ "$ref": "#/$defs/Interface"
2143
+ },
2144
+ {
2145
+ "type": "null"
2146
+ }
2147
+ ]
2148
+ },
2149
+ "error": {
2150
+ "anyOf": [
2151
+ {
2152
+ "type": "string"
2153
+ },
2154
+ {
2155
+ "type": "null"
2156
+ }
2157
+ ]
2158
+ }
2159
+ },
2160
+ "required": [
2161
+ "id",
2162
+ "contract",
2163
+ "availability",
2164
+ "data",
2165
+ "error"
2166
+ ],
2167
+ "additionalProperties": false
2168
+ },
2169
+ {
2170
+ "type": "object",
2171
+ "properties": {
2172
+ "id": {
2173
+ "type": "string"
2174
+ },
2175
+ "contract": {
2176
+ "const": "operator.compilation/1"
2177
+ },
2178
+ "availability": {
2179
+ "enum": [
2180
+ "ready",
2181
+ "empty",
2182
+ "error"
2183
+ ]
2184
+ },
2185
+ "data": {
2186
+ "anyOf": [
2187
+ {
2188
+ "$ref": "#/$defs/Compilation"
2189
+ },
2190
+ {
2191
+ "type": "null"
2192
+ }
2193
+ ]
2194
+ },
2195
+ "error": {
2196
+ "anyOf": [
2197
+ {
2198
+ "type": "string"
2199
+ },
2200
+ {
2201
+ "type": "null"
2202
+ }
2203
+ ]
2204
+ }
2205
+ },
2206
+ "required": [
2207
+ "id",
2208
+ "contract",
2209
+ "availability",
2210
+ "data",
2211
+ "error"
2212
+ ],
2213
+ "additionalProperties": false
2214
+ },
2215
+ {
2216
+ "type": "object",
2217
+ "properties": {
2218
+ "id": {
2219
+ "type": "string"
2220
+ },
2221
+ "contract": {
2222
+ "const": "operator.tiling/1"
2223
+ },
2224
+ "availability": {
2225
+ "enum": [
2226
+ "ready",
2227
+ "empty",
2228
+ "error"
2229
+ ]
2230
+ },
2231
+ "data": {
2232
+ "anyOf": [
2233
+ {
2234
+ "$ref": "#/$defs/Tiling"
2235
+ },
2236
+ {
2237
+ "type": "null"
2238
+ }
2239
+ ]
2240
+ },
2241
+ "error": {
2242
+ "anyOf": [
2243
+ {
2244
+ "type": "string"
2245
+ },
2246
+ {
2247
+ "type": "null"
2248
+ }
2249
+ ]
2250
+ }
2251
+ },
2252
+ "required": [
2253
+ "id",
2254
+ "contract",
2255
+ "availability",
2256
+ "data",
2257
+ "error"
2258
+ ],
2259
+ "additionalProperties": false
2260
+ },
2261
+ {
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "id": {
2265
+ "type": "string"
2266
+ },
2267
+ "contract": {
2268
+ "const": "operator.implementation/1"
2269
+ },
2270
+ "availability": {
2271
+ "enum": [
2272
+ "ready",
2273
+ "empty",
2274
+ "error"
2275
+ ]
2276
+ },
2277
+ "data": {
2278
+ "anyOf": [
2279
+ {
2280
+ "$ref": "#/$defs/Implementation"
2281
+ },
2282
+ {
2283
+ "type": "null"
2284
+ }
2285
+ ]
2286
+ },
2287
+ "error": {
2288
+ "anyOf": [
2289
+ {
2290
+ "type": "string"
2291
+ },
2292
+ {
2293
+ "type": "null"
2294
+ }
2295
+ ]
2296
+ }
2297
+ },
2298
+ "required": [
2299
+ "id",
2300
+ "contract",
2301
+ "availability",
2302
+ "data",
2303
+ "error"
2304
+ ],
2305
+ "additionalProperties": false
2306
+ },
2307
+ {
2308
+ "type": "object",
2309
+ "properties": {
2310
+ "id": {
2311
+ "type": "string"
2312
+ },
2313
+ "contract": {
2314
+ "const": "operator.validation/1"
2315
+ },
2316
+ "availability": {
2317
+ "enum": [
2318
+ "ready",
2319
+ "empty",
2320
+ "error"
2321
+ ]
2322
+ },
2323
+ "data": {
2324
+ "anyOf": [
2325
+ {
2326
+ "$ref": "#/$defs/Validation"
2327
+ },
2328
+ {
2329
+ "type": "null"
2330
+ }
2331
+ ]
2332
+ },
2333
+ "error": {
2334
+ "anyOf": [
2335
+ {
2336
+ "type": "string"
2337
+ },
2338
+ {
2339
+ "type": "null"
2340
+ }
2341
+ ]
2342
+ }
2343
+ },
2344
+ "required": [
2345
+ "id",
2346
+ "contract",
2347
+ "availability",
2348
+ "data",
2349
+ "error"
2350
+ ],
2351
+ "additionalProperties": false
2352
+ },
2353
+ {
2354
+ "type": "object",
2355
+ "properties": {
2356
+ "id": {
2357
+ "type": "string"
2358
+ },
2359
+ "contract": {
2360
+ "const": "operator.performance-target/1"
2361
+ },
2362
+ "availability": {
2363
+ "enum": [
2364
+ "ready",
2365
+ "empty",
2366
+ "error"
2367
+ ]
2368
+ },
2369
+ "data": {
2370
+ "anyOf": [
2371
+ {
2372
+ "$ref": "#/$defs/PerformanceTarget"
2373
+ },
2374
+ {
2375
+ "type": "null"
2376
+ }
2377
+ ]
2378
+ },
2379
+ "error": {
2380
+ "anyOf": [
2381
+ {
2382
+ "type": "string"
2383
+ },
2384
+ {
2385
+ "type": "null"
2386
+ }
2387
+ ]
2388
+ }
2389
+ },
2390
+ "required": [
2391
+ "id",
2392
+ "contract",
2393
+ "availability",
2394
+ "data",
2395
+ "error"
2396
+ ],
2397
+ "additionalProperties": false
2398
+ },
2399
+ {
2400
+ "type": "object",
2401
+ "properties": {
2402
+ "id": {
2403
+ "type": "string"
2404
+ },
2405
+ "contract": {
2406
+ "const": "task.artifacts/1"
2407
+ },
2408
+ "availability": {
2409
+ "enum": [
2410
+ "ready",
2411
+ "empty",
2412
+ "error"
2413
+ ]
2414
+ },
2415
+ "data": {
2416
+ "anyOf": [
2417
+ {
2418
+ "$ref": "#/$defs/Artifacts"
2419
+ },
2420
+ {
2421
+ "type": "null"
2422
+ }
2423
+ ]
2424
+ },
2425
+ "error": {
2426
+ "anyOf": [
2427
+ {
2428
+ "type": "string"
2429
+ },
2430
+ {
2431
+ "type": "null"
2432
+ }
2433
+ ]
2434
+ }
2435
+ },
2436
+ "required": [
2437
+ "id",
2438
+ "contract",
2439
+ "availability",
2440
+ "data",
2441
+ "error"
2442
+ ],
2443
+ "additionalProperties": false
2444
+ },
2445
+ {
2446
+ "type": "object",
2447
+ "properties": {
2448
+ "id": {
2449
+ "type": "string"
2450
+ },
2451
+ "contract": {
2452
+ "const": "task.workflow/1"
2453
+ },
2454
+ "availability": {
2455
+ "enum": [
2456
+ "ready",
2457
+ "empty",
2458
+ "error"
2459
+ ]
2460
+ },
2461
+ "data": {
2462
+ "anyOf": [
2463
+ {
2464
+ "$ref": "#/$defs/Workflow"
2465
+ },
2466
+ {
2467
+ "type": "null"
2468
+ }
2469
+ ]
2470
+ },
2471
+ "error": {
2472
+ "anyOf": [
2473
+ {
2474
+ "type": "string"
2475
+ },
2476
+ {
2477
+ "type": "null"
2478
+ }
2479
+ ]
2480
+ }
2481
+ },
2482
+ "required": [
2483
+ "id",
2484
+ "contract",
2485
+ "availability",
2486
+ "data",
2487
+ "error"
2488
+ ],
2489
+ "additionalProperties": false
2490
+ },
2491
+ {
2492
+ "type": "object",
2493
+ "properties": {
2494
+ "id": {
2495
+ "type": "string"
2496
+ },
2497
+ "contract": {
2498
+ "const": "performance.scope/1"
2499
+ },
2500
+ "availability": {
2501
+ "enum": [
2502
+ "ready",
2503
+ "empty",
2504
+ "error"
2505
+ ]
2506
+ },
2507
+ "data": {
2508
+ "anyOf": [
2509
+ {
2510
+ "$ref": "#/$defs/Scope"
2511
+ },
2512
+ {
2513
+ "type": "null"
2514
+ }
2515
+ ]
2516
+ },
2517
+ "error": {
2518
+ "anyOf": [
2519
+ {
2520
+ "type": "string"
2521
+ },
2522
+ {
2523
+ "type": "null"
2524
+ }
2525
+ ]
2526
+ }
2527
+ },
2528
+ "required": [
2529
+ "id",
2530
+ "contract",
2531
+ "availability",
2532
+ "data",
2533
+ "error"
2534
+ ],
2535
+ "additionalProperties": false
2536
+ },
2537
+ {
2538
+ "type": "object",
2539
+ "properties": {
2540
+ "id": {
2541
+ "type": "string"
2542
+ },
2543
+ "contract": {
2544
+ "const": "performance.header/1"
2545
+ },
2546
+ "availability": {
2547
+ "enum": [
2548
+ "ready",
2549
+ "empty",
2550
+ "error"
2551
+ ]
2552
+ },
2553
+ "data": {
2554
+ "anyOf": [
2555
+ {
2556
+ "$ref": "#/$defs/ReportHeader"
2557
+ },
2558
+ {
2559
+ "type": "null"
2560
+ }
2561
+ ]
2562
+ },
2563
+ "error": {
2564
+ "anyOf": [
2565
+ {
2566
+ "type": "string"
2567
+ },
2568
+ {
2569
+ "type": "null"
2570
+ }
2571
+ ]
2572
+ }
2573
+ },
2574
+ "required": [
2575
+ "id",
2576
+ "contract",
2577
+ "availability",
2578
+ "data",
2579
+ "error"
2580
+ ],
2581
+ "additionalProperties": false
2582
+ },
2583
+ {
2584
+ "type": "object",
2585
+ "properties": {
2586
+ "id": {
2587
+ "type": "string"
2588
+ },
2589
+ "contract": {
2590
+ "const": "performance.metrics/1"
2591
+ },
2592
+ "availability": {
2593
+ "enum": [
2594
+ "ready",
2595
+ "empty",
2596
+ "error"
2597
+ ]
2598
+ },
2599
+ "data": {
2600
+ "anyOf": [
2601
+ {
2602
+ "$ref": "#/$defs/Metrics"
2603
+ },
2604
+ {
2605
+ "type": "null"
2606
+ }
2607
+ ]
2608
+ },
2609
+ "error": {
2610
+ "anyOf": [
2611
+ {
2612
+ "type": "string"
2613
+ },
2614
+ {
2615
+ "type": "null"
2616
+ }
2617
+ ]
2618
+ }
2619
+ },
2620
+ "required": [
2621
+ "id",
2622
+ "contract",
2623
+ "availability",
2624
+ "data",
2625
+ "error"
2626
+ ],
2627
+ "additionalProperties": false
2628
+ },
2629
+ {
2630
+ "type": "object",
2631
+ "properties": {
2632
+ "id": {
2633
+ "type": "string"
2634
+ },
2635
+ "contract": {
2636
+ "const": "performance.timeline/1"
2637
+ },
2638
+ "availability": {
2639
+ "enum": [
2640
+ "ready",
2641
+ "empty",
2642
+ "error"
2643
+ ]
2644
+ },
2645
+ "data": {
2646
+ "anyOf": [
2647
+ {
2648
+ "$ref": "#/$defs/Timeline"
2649
+ },
2650
+ {
2651
+ "type": "null"
2652
+ }
2653
+ ]
2654
+ },
2655
+ "error": {
2656
+ "anyOf": [
2657
+ {
2658
+ "type": "string"
2659
+ },
2660
+ {
2661
+ "type": "null"
2662
+ }
2663
+ ]
2664
+ }
2665
+ },
2666
+ "required": [
2667
+ "id",
2668
+ "contract",
2669
+ "availability",
2670
+ "data",
2671
+ "error"
2672
+ ],
2673
+ "additionalProperties": false
2674
+ },
2675
+ {
2676
+ "type": "object",
2677
+ "properties": {
2678
+ "id": {
2679
+ "type": "string"
2680
+ },
2681
+ "contract": {
2682
+ "const": "performance.checks/1"
2683
+ },
2684
+ "availability": {
2685
+ "enum": [
2686
+ "ready",
2687
+ "empty",
2688
+ "error"
2689
+ ]
2690
+ },
2691
+ "data": {
2692
+ "anyOf": [
2693
+ {
2694
+ "$ref": "#/$defs/Checks"
2695
+ },
2696
+ {
2697
+ "type": "null"
2698
+ }
2699
+ ]
2700
+ },
2701
+ "error": {
2702
+ "anyOf": [
2703
+ {
2704
+ "type": "string"
2705
+ },
2706
+ {
2707
+ "type": "null"
2708
+ }
2709
+ ]
2710
+ }
2711
+ },
2712
+ "required": [
2713
+ "id",
2714
+ "contract",
2715
+ "availability",
2716
+ "data",
2717
+ "error"
2718
+ ],
2719
+ "additionalProperties": false
2720
+ },
2721
+ {
2722
+ "type": "object",
2723
+ "properties": {
2724
+ "id": {
2725
+ "type": "string"
2726
+ },
2727
+ "contract": {
2728
+ "const": "performance.verdict/1"
2729
+ },
2730
+ "availability": {
2731
+ "enum": [
2732
+ "ready",
2733
+ "empty",
2734
+ "error"
2735
+ ]
2736
+ },
2737
+ "data": {
2738
+ "anyOf": [
2739
+ {
2740
+ "$ref": "#/$defs/Verdict"
2741
+ },
2742
+ {
2743
+ "type": "null"
2744
+ }
2745
+ ]
2746
+ },
2747
+ "error": {
2748
+ "anyOf": [
2749
+ {
2750
+ "type": "string"
2751
+ },
2752
+ {
2753
+ "type": "null"
2754
+ }
2755
+ ]
2756
+ }
2757
+ },
2758
+ "required": [
2759
+ "id",
2760
+ "contract",
2761
+ "availability",
2762
+ "data",
2763
+ "error"
2764
+ ],
2765
+ "additionalProperties": false
2766
+ },
2767
+ {
2768
+ "type": "object",
2769
+ "properties": {
2770
+ "id": {
2771
+ "type": "string"
2772
+ },
2773
+ "contract": {
2774
+ "const": "performance.comparison/1"
2775
+ },
2776
+ "availability": {
2777
+ "enum": [
2778
+ "ready",
2779
+ "empty",
2780
+ "error"
2781
+ ]
2782
+ },
2783
+ "data": {
2784
+ "anyOf": [
2785
+ {
2786
+ "$ref": "#/$defs/Comparison"
2787
+ },
2788
+ {
2789
+ "type": "null"
2790
+ }
2791
+ ]
2792
+ },
2793
+ "error": {
2794
+ "anyOf": [
2795
+ {
2796
+ "type": "string"
2797
+ },
2798
+ {
2799
+ "type": "null"
2800
+ }
2801
+ ]
2802
+ }
2803
+ },
2804
+ "required": [
2805
+ "id",
2806
+ "contract",
2807
+ "availability",
2808
+ "data",
2809
+ "error"
2810
+ ],
2811
+ "additionalProperties": false
2812
+ },
2813
+ {
2814
+ "type": "object",
2815
+ "properties": {
2816
+ "id": {
2817
+ "type": "string"
2818
+ },
2819
+ "contract": {
2820
+ "const": "performance.evidence/1"
2821
+ },
2822
+ "availability": {
2823
+ "enum": [
2824
+ "ready",
2825
+ "empty",
2826
+ "error"
2827
+ ]
2828
+ },
2829
+ "data": {
2830
+ "anyOf": [
2831
+ {
2832
+ "$ref": "#/$defs/EvidencePaths"
2833
+ },
2834
+ {
2835
+ "type": "null"
2836
+ }
2837
+ ]
2838
+ },
2839
+ "error": {
2840
+ "anyOf": [
2841
+ {
2842
+ "type": "string"
2843
+ },
2844
+ {
2845
+ "type": "null"
2846
+ }
2847
+ ]
2848
+ }
2849
+ },
2850
+ "required": [
2851
+ "id",
2852
+ "contract",
2853
+ "availability",
2854
+ "data",
2855
+ "error"
2856
+ ],
2857
+ "additionalProperties": false
2858
+ }
2859
+ ]
2860
+ },
2861
+ "Snapshot": {
2862
+ "type": "object",
2863
+ "properties": {
2864
+ "schema": {
2865
+ "const": "cann.sidebar.snapshot/1"
2866
+ },
2867
+ "taskId": {
2868
+ "type": "string"
2869
+ },
2870
+ "mainSessionId": {
2871
+ "type": "string"
2872
+ },
2873
+ "workspaceId": {
2874
+ "type": "string"
2875
+ },
2876
+ "definitionId": {
2877
+ "type": "string"
2878
+ },
2879
+ "definitionVersion": {
2880
+ "type": "string"
2881
+ },
2882
+ "revision": {
2883
+ "type": "integer",
2884
+ "minimum": 0
2885
+ },
2886
+ "updatedAt": {
2887
+ "type": "string"
2888
+ },
2889
+ "components": {
2890
+ "type": "array",
2891
+ "items": {
2892
+ "$ref": "#/$defs/Component"
2893
+ }
2894
+ }
2895
+ },
2896
+ "required": [
2897
+ "schema",
2898
+ "taskId",
2899
+ "mainSessionId",
2900
+ "workspaceId",
2901
+ "definitionId",
2902
+ "definitionVersion",
2903
+ "revision",
2904
+ "updatedAt",
2905
+ "components"
2906
+ ],
2907
+ "additionalProperties": false
2908
+ },
2909
+ "Interaction": {
2910
+ "type": "object",
2911
+ "properties": {
2912
+ "schema": {
2913
+ "const": "cann.sidebar.interaction/1"
2914
+ },
2915
+ "eventId": {
2916
+ "type": "string"
2917
+ },
2918
+ "taskId": {
2919
+ "type": "string"
2920
+ },
2921
+ "mainSessionId": {
2922
+ "type": "string"
2923
+ },
2924
+ "workspaceId": {
2925
+ "type": "string"
2926
+ },
2927
+ "componentId": {
2928
+ "type": "string"
2929
+ },
2930
+ "snapshotRevision": {
2931
+ "type": "integer",
2932
+ "minimum": 0
2933
+ },
2934
+ "createdAt": {
2935
+ "type": "string"
2936
+ },
2937
+ "naturalLanguage": {
2938
+ "type": "string"
2939
+ },
2940
+ "templateId": {
2941
+ "type": "string"
2942
+ },
2943
+ "locale": {
2944
+ "enum": [
2945
+ "zh",
2946
+ "en"
2947
+ ]
2948
+ },
2949
+ "action": {
2950
+ "oneOf": [
2951
+ {
2952
+ "type": "object",
2953
+ "properties": {
2954
+ "type": {
2955
+ "const": "timeline.measure"
2956
+ },
2957
+ "data": {
2958
+ "type": "object",
2959
+ "properties": {
2960
+ "reportId": {
2961
+ "type": "string"
2962
+ },
2963
+ "traceId": {
2964
+ "type": "string"
2965
+ },
2966
+ "clockId": {
2967
+ "type": "string"
2968
+ },
2969
+ "selection": {
2970
+ "type": "array",
2971
+ "items": {
2972
+ "type": "object",
2973
+ "properties": {
2974
+ "spanId": {
2975
+ "type": "string"
2976
+ },
2977
+ "boundary": {
2978
+ "enum": [
2979
+ "start",
2980
+ "end"
2981
+ ]
2982
+ },
2983
+ "timestampUs": {
2984
+ "type": "number",
2985
+ "minimum": 0
2986
+ }
2987
+ },
2988
+ "required": [
2989
+ "spanId",
2990
+ "boundary",
2991
+ "timestampUs"
2992
+ ],
2993
+ "additionalProperties": false
2994
+ },
2995
+ "minItems": 2,
2996
+ "maxItems": 2
2997
+ },
2998
+ "operation": {
2999
+ "enum": [
3000
+ "elapsed",
3001
+ "gap"
3002
+ ]
3003
+ },
3004
+ "elapsedUs": {
3005
+ "type": "number",
3006
+ "minimum": 0
3007
+ }
3008
+ },
3009
+ "required": [
3010
+ "reportId",
3011
+ "traceId",
3012
+ "clockId",
3013
+ "selection",
3014
+ "operation",
3015
+ "elapsedUs"
3016
+ ],
3017
+ "additionalProperties": false
3018
+ }
3019
+ },
3020
+ "required": [
3021
+ "type",
3022
+ "data"
3023
+ ],
3024
+ "additionalProperties": false
3025
+ },
3026
+ {
3027
+ "type": "object",
3028
+ "properties": {
3029
+ "type": {
3030
+ "const": "metrics.explain"
3031
+ },
3032
+ "data": {
3033
+ "type": "object",
3034
+ "properties": {
3035
+ "reportId": {
3036
+ "type": "string"
3037
+ },
3038
+ "metric": {
3039
+ "$ref": "#/$defs/Metric"
3040
+ }
3041
+ },
3042
+ "required": [
3043
+ "reportId",
3044
+ "metric"
3045
+ ],
3046
+ "additionalProperties": false
3047
+ }
3048
+ },
3049
+ "required": [
3050
+ "type",
3051
+ "data"
3052
+ ],
3053
+ "additionalProperties": false
3054
+ },
3055
+ {
3056
+ "type": "object",
3057
+ "properties": {
3058
+ "type": {
3059
+ "const": "comparison.explain"
3060
+ },
3061
+ "data": {
3062
+ "type": "object",
3063
+ "properties": {
3064
+ "baselineId": {
3065
+ "type": "string"
3066
+ },
3067
+ "reportId": {
3068
+ "type": "string"
3069
+ },
3070
+ "metricIds": {
3071
+ "type": "array",
3072
+ "items": {
3073
+ "type": "string"
3074
+ }
3075
+ }
3076
+ },
3077
+ "required": [
3078
+ "baselineId",
3079
+ "reportId",
3080
+ "metricIds"
3081
+ ],
3082
+ "additionalProperties": false
3083
+ }
3084
+ },
3085
+ "required": [
3086
+ "type",
3087
+ "data"
3088
+ ],
3089
+ "additionalProperties": false
3090
+ },
3091
+ {
3092
+ "type": "object",
3093
+ "properties": {
3094
+ "type": {
3095
+ "const": "checks.explain"
3096
+ },
3097
+ "data": {
3098
+ "type": "object",
3099
+ "properties": {
3100
+ "reportId": {
3101
+ "type": "string"
3102
+ },
3103
+ "findingIds": {
3104
+ "type": "array",
3105
+ "items": {
3106
+ "type": "string"
3107
+ }
3108
+ }
3109
+ },
3110
+ "required": [
3111
+ "reportId",
3112
+ "findingIds"
3113
+ ],
3114
+ "additionalProperties": false
3115
+ }
3116
+ },
3117
+ "required": [
3118
+ "type",
3119
+ "data"
3120
+ ],
3121
+ "additionalProperties": false
3122
+ },
3123
+ {
3124
+ "type": "object",
3125
+ "properties": {
3126
+ "type": {
3127
+ "const": "verdict.explain"
3128
+ },
3129
+ "data": {
3130
+ "type": "object",
3131
+ "properties": {
3132
+ "reportId": {
3133
+ "type": "string"
3134
+ },
3135
+ "ruleIds": {
3136
+ "type": "array",
3137
+ "items": {
3138
+ "type": "string"
3139
+ }
3140
+ }
3141
+ },
3142
+ "required": [
3143
+ "reportId",
3144
+ "ruleIds"
3145
+ ],
3146
+ "additionalProperties": false
3147
+ }
3148
+ },
3149
+ "required": [
3150
+ "type",
3151
+ "data"
3152
+ ],
3153
+ "additionalProperties": false
3154
+ },
3155
+ {
3156
+ "type": "object",
3157
+ "properties": {
3158
+ "type": {
3159
+ "const": "workflow.explain"
3160
+ },
3161
+ "data": {
3162
+ "type": "object",
3163
+ "properties": {
3164
+ "nodeId": {
3165
+ "type": "string"
3166
+ },
3167
+ "evidenceIds": {
3168
+ "type": "array",
3169
+ "items": {
3170
+ "type": "string"
3171
+ }
3172
+ }
3173
+ },
3174
+ "required": [
3175
+ "nodeId",
3176
+ "evidenceIds"
3177
+ ],
3178
+ "additionalProperties": false
3179
+ }
3180
+ },
3181
+ "required": [
3182
+ "type",
3183
+ "data"
3184
+ ],
3185
+ "additionalProperties": false
3186
+ },
3187
+ {
3188
+ "type": "object",
3189
+ "properties": {
3190
+ "type": {
3191
+ "const": "artifact.explain"
3192
+ },
3193
+ "data": {
3194
+ "type": "object",
3195
+ "properties": {
3196
+ "evidenceIds": {
3197
+ "type": "array",
3198
+ "items": {
3199
+ "type": "string"
3200
+ }
3201
+ }
3202
+ },
3203
+ "required": [
3204
+ "evidenceIds"
3205
+ ],
3206
+ "additionalProperties": false
3207
+ }
3208
+ },
3209
+ "required": [
3210
+ "type",
3211
+ "data"
3212
+ ],
3213
+ "additionalProperties": false
3214
+ }
3215
+ ]
3216
+ }
3217
+ },
3218
+ "required": [
3219
+ "schema",
3220
+ "eventId",
3221
+ "taskId",
3222
+ "mainSessionId",
3223
+ "workspaceId",
3224
+ "componentId",
3225
+ "snapshotRevision",
3226
+ "createdAt",
3227
+ "naturalLanguage",
3228
+ "templateId",
3229
+ "locale",
3230
+ "action"
3231
+ ],
3232
+ "additionalProperties": false
3233
+ },
3234
+ "operator.requirements-analysis": {
3235
+ "type": "object",
3236
+ "properties": {
3237
+ "operatorName": {
3238
+ "anyOf": [
3239
+ {
3240
+ "type": "string"
3241
+ },
3242
+ {
3243
+ "type": "null"
3244
+ }
3245
+ ]
3246
+ },
3247
+ "mathDefinition": {
3248
+ "anyOf": [
3249
+ {
3250
+ "type": "string"
3251
+ },
3252
+ {
3253
+ "type": "null"
3254
+ }
3255
+ ]
3256
+ },
3257
+ "inputs": {
3258
+ "type": "array",
3259
+ "items": {
3260
+ "$ref": "#/$defs/Tensor"
3261
+ }
3262
+ },
3263
+ "outputs": {
3264
+ "type": "array",
3265
+ "items": {
3266
+ "$ref": "#/$defs/Tensor"
3267
+ }
3268
+ },
3269
+ "constraints": {
3270
+ "type": "array",
3271
+ "items": {
3272
+ "type": "string"
3273
+ }
3274
+ },
3275
+ "acceptanceCriteria": {
3276
+ "type": "array",
3277
+ "items": {
3278
+ "type": "string"
3279
+ }
3280
+ },
3281
+ "openQuestions": {
3282
+ "type": "array",
3283
+ "items": {
3284
+ "type": "string"
3285
+ }
3286
+ }
3287
+ },
3288
+ "required": [
3289
+ "operatorName",
3290
+ "mathDefinition",
3291
+ "inputs",
3292
+ "outputs",
3293
+ "constraints",
3294
+ "acceptanceCriteria",
3295
+ "openQuestions"
3296
+ ],
3297
+ "additionalProperties": false
3298
+ },
3299
+ "operator.technical-design": {
3300
+ "type": "object",
3301
+ "properties": {
3302
+ "approach": {
3303
+ "anyOf": [
3304
+ {
3305
+ "type": "string"
3306
+ },
3307
+ {
3308
+ "type": "null"
3309
+ }
3310
+ ]
3311
+ },
3312
+ "implementationLanguage": {
3313
+ "anyOf": [
3314
+ {
3315
+ "type": "string"
3316
+ },
3317
+ {
3318
+ "type": "null"
3319
+ }
3320
+ ]
3321
+ },
3322
+ "apiRefs": {
3323
+ "type": "array",
3324
+ "items": {
3325
+ "type": "string"
3326
+ }
3327
+ },
3328
+ "tilingPlan": {
3329
+ "anyOf": [
3330
+ {
3331
+ "type": "string"
3332
+ },
3333
+ {
3334
+ "type": "null"
3335
+ }
3336
+ ]
3337
+ },
3338
+ "dataMovement": {
3339
+ "anyOf": [
3340
+ {
3341
+ "type": "string"
3342
+ },
3343
+ {
3344
+ "type": "null"
3345
+ }
3346
+ ]
3347
+ },
3348
+ "testPlan": {
3349
+ "type": "array",
3350
+ "items": {
3351
+ "type": "string"
3352
+ }
3353
+ },
3354
+ "risks": {
3355
+ "type": "array",
3356
+ "items": {
3357
+ "type": "string"
3358
+ }
3359
+ }
3360
+ },
3361
+ "required": [
3362
+ "approach",
3363
+ "implementationLanguage",
3364
+ "apiRefs",
3365
+ "tilingPlan",
3366
+ "dataMovement",
3367
+ "testPlan",
3368
+ "risks"
3369
+ ],
3370
+ "additionalProperties": false
3371
+ },
3372
+ "operator.implementation": {
3373
+ "type": "object",
3374
+ "properties": {
3375
+ "files": {
3376
+ "type": "array",
3377
+ "items": {
3378
+ "type": "string"
3379
+ }
3380
+ },
3381
+ "entryFunction": {
3382
+ "anyOf": [
3383
+ {
3384
+ "type": "string"
3385
+ },
3386
+ {
3387
+ "type": "null"
3388
+ }
3389
+ ]
3390
+ },
3391
+ "buildCommand": {
3392
+ "anyOf": [
3393
+ {
3394
+ "type": "string"
3395
+ },
3396
+ {
3397
+ "type": "null"
3398
+ }
3399
+ ]
3400
+ },
3401
+ "compilerOptions": {
3402
+ "type": "array",
3403
+ "items": {
3404
+ "type": "string"
3405
+ }
3406
+ },
3407
+ "completedItems": {
3408
+ "type": "array",
3409
+ "items": {
3410
+ "type": "string"
3411
+ }
3412
+ },
3413
+ "remainingItems": {
3414
+ "type": "array",
3415
+ "items": {
3416
+ "type": "string"
3417
+ }
3418
+ }
3419
+ },
3420
+ "required": [
3421
+ "files",
3422
+ "entryFunction",
3423
+ "buildCommand",
3424
+ "compilerOptions",
3425
+ "completedItems",
3426
+ "remainingItems"
3427
+ ],
3428
+ "additionalProperties": false
3429
+ },
3430
+ "operator.verification": {
3431
+ "type": "object",
3432
+ "properties": {
3433
+ "buildCommand": {
3434
+ "anyOf": [
3435
+ {
3436
+ "type": "string"
3437
+ },
3438
+ {
3439
+ "type": "null"
3440
+ }
3441
+ ]
3442
+ },
3443
+ "testCommand": {
3444
+ "anyOf": [
3445
+ {
3446
+ "type": "string"
3447
+ },
3448
+ {
3449
+ "type": "null"
3450
+ }
3451
+ ]
3452
+ },
3453
+ "exitCode": {
3454
+ "anyOf": [
3455
+ {
3456
+ "type": "integer"
3457
+ },
3458
+ {
3459
+ "type": "null"
3460
+ }
3461
+ ]
3462
+ },
3463
+ "results": {
3464
+ "type": "array",
3465
+ "items": {
3466
+ "$ref": "#/$defs/TestResult"
3467
+ }
3468
+ },
3469
+ "logEvidenceIds": {
3470
+ "type": "array",
3471
+ "items": {
3472
+ "type": "string"
3473
+ }
3474
+ }
3475
+ },
3476
+ "required": [
3477
+ "buildCommand",
3478
+ "testCommand",
3479
+ "exitCode",
3480
+ "results",
3481
+ "logEvidenceIds"
3482
+ ],
3483
+ "additionalProperties": false
3484
+ },
3485
+ "operator.diagnosis": {
3486
+ "type": "object",
3487
+ "properties": {
3488
+ "symptom": {
3489
+ "anyOf": [
3490
+ {
3491
+ "type": "string"
3492
+ },
3493
+ {
3494
+ "type": "null"
3495
+ }
3496
+ ]
3497
+ },
3498
+ "hypotheses": {
3499
+ "type": "array",
3500
+ "items": {
3501
+ "type": "string"
3502
+ }
3503
+ },
3504
+ "rootCause": {
3505
+ "anyOf": [
3506
+ {
3507
+ "type": "string"
3508
+ },
3509
+ {
3510
+ "type": "null"
3511
+ }
3512
+ ]
3513
+ },
3514
+ "absTolerance": {
3515
+ "anyOf": [
3516
+ {
3517
+ "type": "number"
3518
+ },
3519
+ {
3520
+ "type": "null"
3521
+ }
3522
+ ]
3523
+ },
3524
+ "relTolerance": {
3525
+ "anyOf": [
3526
+ {
3527
+ "type": "number"
3528
+ },
3529
+ {
3530
+ "type": "null"
3531
+ }
3532
+ ]
3533
+ },
3534
+ "fixEvidenceIds": {
3535
+ "type": "array",
3536
+ "items": {
3537
+ "type": "string"
3538
+ }
3539
+ },
3540
+ "regressionResults": {
3541
+ "type": "array",
3542
+ "items": {
3543
+ "$ref": "#/$defs/TestResult"
3544
+ }
3545
+ }
3546
+ },
3547
+ "required": [
3548
+ "symptom",
3549
+ "hypotheses",
3550
+ "rootCause",
3551
+ "absTolerance",
3552
+ "relTolerance",
3553
+ "fixEvidenceIds",
3554
+ "regressionResults"
3555
+ ],
3556
+ "additionalProperties": false
3557
+ },
3558
+ "operator.optimization": {
3559
+ "type": "object",
3560
+ "properties": {
3561
+ "reportId": {
3562
+ "anyOf": [
3563
+ {
3564
+ "type": "string"
3565
+ },
3566
+ {
3567
+ "type": "null"
3568
+ }
3569
+ ]
3570
+ },
3571
+ "baselineId": {
3572
+ "anyOf": [
3573
+ {
3574
+ "type": "string"
3575
+ },
3576
+ {
3577
+ "type": "null"
3578
+ }
3579
+ ]
3580
+ },
3581
+ "measurementFingerprint": {
3582
+ "anyOf": [
3583
+ {
3584
+ "type": "string"
3585
+ },
3586
+ {
3587
+ "type": "null"
3588
+ }
3589
+ ]
3590
+ },
3591
+ "bottlenecks": {
3592
+ "type": "array",
3593
+ "items": {
3594
+ "type": "string"
3595
+ }
3596
+ },
3597
+ "changes": {
3598
+ "type": "array",
3599
+ "items": {
3600
+ "type": "string"
3601
+ }
3602
+ },
3603
+ "conclusions": {
3604
+ "type": "array",
3605
+ "items": {
3606
+ "type": "string"
3607
+ }
3608
+ },
3609
+ "missingEvidence": {
3610
+ "type": "array",
3611
+ "items": {
3612
+ "type": "string"
3613
+ }
3614
+ }
3615
+ },
3616
+ "required": [
3617
+ "reportId",
3618
+ "baselineId",
3619
+ "measurementFingerprint",
3620
+ "bottlenecks",
3621
+ "changes",
3622
+ "conclusions",
3623
+ "missingEvidence"
3624
+ ],
3625
+ "additionalProperties": false
3626
+ },
3627
+ "operator.review-delivery": {
3628
+ "type": "object",
3629
+ "properties": {
3630
+ "deliveredItems": {
3631
+ "type": "array",
3632
+ "items": {
3633
+ "type": "string"
3634
+ }
3635
+ },
3636
+ "documents": {
3637
+ "type": "array",
3638
+ "items": {
3639
+ "type": "string"
3640
+ }
3641
+ },
3642
+ "validationEvidenceIds": {
3643
+ "type": "array",
3644
+ "items": {
3645
+ "type": "string"
3646
+ }
3647
+ },
3648
+ "limitations": {
3649
+ "type": "array",
3650
+ "items": {
3651
+ "type": "string"
3652
+ }
3653
+ },
3654
+ "remainingIssues": {
3655
+ "type": "array",
3656
+ "items": {
3657
+ "type": "string"
3658
+ }
3659
+ }
3660
+ },
3661
+ "required": [
3662
+ "deliveredItems",
3663
+ "documents",
3664
+ "validationEvidenceIds",
3665
+ "limitations",
3666
+ "remainingIssues"
3667
+ ],
3668
+ "additionalProperties": false
3669
+ },
3670
+ "PerformanceAccuracyCheck": {
3671
+ "type": "object",
3672
+ "properties": {
3673
+ "command": {
3674
+ "type": "string"
3675
+ },
3676
+ "fullSuite": {
3677
+ "type": "boolean"
3678
+ },
3679
+ "results": {
3680
+ "type": "array",
3681
+ "items": {
3682
+ "$ref": "#/$defs/TestResult"
3683
+ }
3684
+ },
3685
+ "gate": {
3686
+ "$ref": "#/$defs/Gate"
3687
+ }
3688
+ },
3689
+ "required": [
3690
+ "command",
3691
+ "fullSuite",
3692
+ "results",
3693
+ "gate"
3694
+ ],
3695
+ "additionalProperties": false
3696
+ },
3697
+ "PerformanceAccuracyRecovery": {
3698
+ "type": "object",
3699
+ "properties": {
3700
+ "failedCaseIds": {
3701
+ "type": "array",
3702
+ "items": {
3703
+ "type": "string"
3704
+ }
3705
+ },
3706
+ "rootCause": {
3707
+ "anyOf": [
3708
+ {
3709
+ "type": "string"
3710
+ },
3711
+ {
3712
+ "type": "null"
3713
+ }
3714
+ ]
3715
+ },
3716
+ "fixEvidenceIds": {
3717
+ "type": "array",
3718
+ "items": {
3719
+ "type": "string"
3720
+ }
3721
+ },
3722
+ "regressionResults": {
3723
+ "type": "array",
3724
+ "items": {
3725
+ "$ref": "#/$defs/TestResult"
3726
+ }
3727
+ },
3728
+ "canResumeTuning": {
3729
+ "type": "boolean"
3730
+ }
3731
+ },
3732
+ "required": [
3733
+ "failedCaseIds",
3734
+ "rootCause",
3735
+ "fixEvidenceIds",
3736
+ "regressionResults",
3737
+ "canResumeTuning"
3738
+ ],
3739
+ "additionalProperties": false
3740
+ },
3741
+ "perf.baseline": {
3742
+ "type": "object",
3743
+ "properties": {
3744
+ "goal": {
3745
+ "type": "string"
3746
+ },
3747
+ "scopeEvidenceId": {
3748
+ "type": "string"
3749
+ },
3750
+ "manifestEvidenceId": {
3751
+ "type": "string"
3752
+ },
3753
+ "stopConditions": {
3754
+ "type": "array",
3755
+ "items": {
3756
+ "type": "string"
3757
+ }
3758
+ },
3759
+ "measurementFingerprint": {
3760
+ "type": "string"
3761
+ },
3762
+ "accuracy": {
3763
+ "$ref": "#/$defs/PerformanceAccuracyCheck"
3764
+ },
3765
+ "recovery": {
3766
+ "anyOf": [
3767
+ {
3768
+ "$ref": "#/$defs/PerformanceAccuracyRecovery"
3769
+ },
3770
+ {
3771
+ "type": "null"
3772
+ }
3773
+ ]
3774
+ },
3775
+ "reportId": {
3776
+ "anyOf": [
3777
+ {
3778
+ "type": "string"
3779
+ },
3780
+ {
3781
+ "type": "null"
3782
+ }
3783
+ ]
3784
+ },
3785
+ "baselineId": {
3786
+ "anyOf": [
3787
+ {
3788
+ "type": "string"
3789
+ },
3790
+ {
3791
+ "type": "null"
3792
+ }
3793
+ ]
3794
+ },
3795
+ "immutableDigest": {
3796
+ "anyOf": [
3797
+ {
3798
+ "type": "string"
3799
+ },
3800
+ {
3801
+ "type": "null"
3802
+ }
3803
+ ]
3804
+ },
3805
+ "sampleCount": {
3806
+ "anyOf": [
3807
+ {
3808
+ "type": "integer",
3809
+ "minimum": 1
3810
+ },
3811
+ {
3812
+ "type": "null"
3813
+ }
3814
+ ]
3815
+ },
3816
+ "noisePct": {
3817
+ "anyOf": [
3818
+ {
3819
+ "type": "number",
3820
+ "minimum": 0
3821
+ },
3822
+ {
3823
+ "type": "null"
3824
+ }
3825
+ ]
3826
+ },
3827
+ "iteration": {
3828
+ "type": "integer",
3829
+ "minimum": 1
3830
+ },
3831
+ "expectedResult": {
3832
+ "anyOf": [
3833
+ {
3834
+ "type": "null"
3835
+ },
3836
+ {
3837
+ "type": "object",
3838
+ "properties": {
3839
+ "text": {
3840
+ "type": "string",
3841
+ "minLength": 1
3842
+ },
3843
+ "source": {
3844
+ "const": "user"
3845
+ }
3846
+ },
3847
+ "required": [
3848
+ "text",
3849
+ "source"
3850
+ ],
3851
+ "additionalProperties": false
3852
+ }
3853
+ ]
3854
+ }
3855
+ },
3856
+ "required": [
3857
+ "goal",
3858
+ "scopeEvidenceId",
3859
+ "manifestEvidenceId",
3860
+ "stopConditions",
3861
+ "measurementFingerprint",
3862
+ "accuracy",
3863
+ "reportId",
3864
+ "baselineId",
3865
+ "immutableDigest",
3866
+ "sampleCount",
3867
+ "noisePct"
3868
+ ],
3869
+ "additionalProperties": false
3870
+ },
3871
+ "perf.analysis": {
3872
+ "type": "object",
3873
+ "properties": {
3874
+ "verdictReportId": {
3875
+ "type": "string"
3876
+ },
3877
+ "verdictEvidenceId": {
3878
+ "type": "string"
3879
+ },
3880
+ "bottleneckRuleIds": {
3881
+ "type": "array",
3882
+ "items": {
3883
+ "type": "string"
3884
+ }
3885
+ },
3886
+ "missingEvidence": {
3887
+ "type": "array",
3888
+ "items": {
3889
+ "type": "string"
3890
+ }
3891
+ },
3892
+ "reproductionCommand": {
3893
+ "anyOf": [
3894
+ {
3895
+ "type": "string"
3896
+ },
3897
+ {
3898
+ "type": "null"
3899
+ }
3900
+ ]
3901
+ },
3902
+ "hypotheses": {
3903
+ "type": "array",
3904
+ "items": {
3905
+ "type": "object",
3906
+ "properties": {
3907
+ "id": {
3908
+ "type": "string"
3909
+ },
3910
+ "cause": {
3911
+ "type": "string"
3912
+ },
3913
+ "prediction": {
3914
+ "type": "string"
3915
+ },
3916
+ "evidenceIds": {
3917
+ "type": "array",
3918
+ "items": {
3919
+ "type": "string"
3920
+ }
3921
+ },
3922
+ "state": {
3923
+ "enum": [
3924
+ "untested",
3925
+ "supported",
3926
+ "rejected"
3927
+ ]
3928
+ }
3929
+ },
3930
+ "required": [
3931
+ "id",
3932
+ "cause",
3933
+ "prediction",
3934
+ "evidenceIds",
3935
+ "state"
3936
+ ],
3937
+ "additionalProperties": false
3938
+ }
3939
+ },
3940
+ "candidates": {
3941
+ "type": "array",
3942
+ "items": {
3943
+ "type": "object",
3944
+ "properties": {
3945
+ "id": {
3946
+ "type": "string"
3947
+ },
3948
+ "mechanismRef": {
3949
+ "type": "string"
3950
+ },
3951
+ "hypothesis": {
3952
+ "type": "string"
3953
+ },
3954
+ "preconditions": {
3955
+ "type": "array",
3956
+ "items": {
3957
+ "type": "string"
3958
+ }
3959
+ },
3960
+ "expectedMetricIds": {
3961
+ "type": "array",
3962
+ "items": {
3963
+ "type": "string"
3964
+ }
3965
+ },
3966
+ "rollbackPlan": {
3967
+ "type": "string"
3968
+ }
3969
+ },
3970
+ "required": [
3971
+ "id",
3972
+ "mechanismRef",
3973
+ "hypothesis",
3974
+ "preconditions",
3975
+ "expectedMetricIds",
3976
+ "rollbackPlan"
3977
+ ],
3978
+ "additionalProperties": false
3979
+ }
3980
+ },
3981
+ "selectedCandidateId": {
3982
+ "anyOf": [
3983
+ {
3984
+ "type": "string"
3985
+ },
3986
+ {
3987
+ "type": "null"
3988
+ }
3989
+ ]
3990
+ },
3991
+ "experimentPlan": {
3992
+ "type": "array",
3993
+ "items": {
3994
+ "type": "string"
3995
+ }
3996
+ },
3997
+ "iteration": {
3998
+ "type": "integer",
3999
+ "minimum": 1
4000
+ }
4001
+ },
4002
+ "required": [
4003
+ "verdictReportId",
4004
+ "verdictEvidenceId",
4005
+ "bottleneckRuleIds",
4006
+ "missingEvidence",
4007
+ "candidates",
4008
+ "selectedCandidateId"
4009
+ ],
4010
+ "additionalProperties": false
4011
+ },
4012
+ "perf.experiment": {
4013
+ "type": "object",
4014
+ "properties": {
4015
+ "candidateId": {
4016
+ "type": "string"
4017
+ },
4018
+ "mechanismRef": {
4019
+ "type": "string"
4020
+ },
4021
+ "changedFiles": {
4022
+ "type": "array",
4023
+ "items": {
4024
+ "type": "string"
4025
+ }
4026
+ },
4027
+ "diffAuditEvidenceId": {
4028
+ "type": "string"
4029
+ },
4030
+ "scopePassed": {
4031
+ "type": "boolean"
4032
+ },
4033
+ "reviewGate": {
4034
+ "$ref": "#/$defs/Gate"
4035
+ },
4036
+ "diffGate": {
4037
+ "$ref": "#/$defs/Gate"
4038
+ },
4039
+ "accuracyGate": {
4040
+ "$ref": "#/$defs/Gate"
4041
+ },
4042
+ "comparison": {
4043
+ "$ref": "#/$defs/Comparison"
4044
+ },
4045
+ "noisePct": {
4046
+ "anyOf": [
4047
+ {
4048
+ "type": "number",
4049
+ "minimum": 0
4050
+ },
4051
+ {
4052
+ "type": "null"
4053
+ }
4054
+ ]
4055
+ },
4056
+ "measurementFingerprint": {
4057
+ "type": "string"
4058
+ },
4059
+ "precisionPassed": {
4060
+ "type": "boolean"
4061
+ },
4062
+ "iteration": {
4063
+ "type": "integer",
4064
+ "minimum": 1
4065
+ }
4066
+ },
4067
+ "required": [
4068
+ "candidateId",
4069
+ "mechanismRef",
4070
+ "changedFiles",
4071
+ "diffAuditEvidenceId",
4072
+ "scopePassed",
4073
+ "reviewGate",
4074
+ "diffGate",
4075
+ "accuracyGate",
4076
+ "comparison",
4077
+ "noisePct",
4078
+ "measurementFingerprint",
4079
+ "precisionPassed"
4080
+ ],
4081
+ "additionalProperties": false
4082
+ },
4083
+ "perf.verification": {
4084
+ "type": "object",
4085
+ "properties": {
4086
+ "comparison": {
4087
+ "$ref": "#/$defs/Comparison"
4088
+ },
4089
+ "noisePct": {
4090
+ "anyOf": [
4091
+ {
4092
+ "type": "number",
4093
+ "minimum": 0
4094
+ },
4095
+ {
4096
+ "type": "null"
4097
+ }
4098
+ ]
4099
+ },
4100
+ "measurementFingerprint": {
4101
+ "type": "string"
4102
+ },
4103
+ "precisionPassed": {
4104
+ "type": "boolean"
4105
+ },
4106
+ "reportEvidenceId": {
4107
+ "anyOf": [
4108
+ {
4109
+ "type": "string"
4110
+ },
4111
+ {
4112
+ "type": "null"
4113
+ }
4114
+ ]
4115
+ },
4116
+ "decision": {
4117
+ "enum": [
4118
+ "KEEP",
4119
+ "REVERT",
4120
+ "REPEAT",
4121
+ "INCOMPARABLE",
4122
+ "UNDECIDED"
4123
+ ]
4124
+ },
4125
+ "conclusions": {
4126
+ "type": "array",
4127
+ "items": {
4128
+ "type": "string"
4129
+ }
4130
+ },
4131
+ "limitations": {
4132
+ "type": "array",
4133
+ "items": {
4134
+ "type": "string"
4135
+ }
4136
+ },
4137
+ "experienceRefs": {
4138
+ "type": "array",
4139
+ "items": {
4140
+ "type": "string"
4141
+ }
4142
+ },
4143
+ "cleanupItems": {
4144
+ "type": "array",
4145
+ "items": {
4146
+ "type": "string"
4147
+ }
4148
+ },
4149
+ "iteration": {
4150
+ "type": "integer",
4151
+ "minimum": 1
4152
+ }
4153
+ },
4154
+ "required": [
4155
+ "comparison",
4156
+ "noisePct",
4157
+ "measurementFingerprint",
4158
+ "precisionPassed",
4159
+ "reportEvidenceId",
4160
+ "decision",
4161
+ "conclusions",
4162
+ "limitations",
4163
+ "experienceRefs"
4164
+ ],
4165
+ "additionalProperties": false
4166
+ }
4167
+ }
4168
+ }