abelien-harness 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/.env.example +14 -0
  2. package/README.md +11 -10
  3. package/bin/cli.mjs +11 -1
  4. package/package.json +5 -3
  5. package/skills/abelien-3dgen/SKILL.md +9 -4
  6. package/skills/abelien-algorithm/SKILL.md +35 -27
  7. package/skills/abelien-algorithm/actions/algorithm.candidates.json +43 -0
  8. package/skills/abelien-algorithm/actions/algorithm.finalize.json +38 -0
  9. package/skills/abelien-algorithm/actions/algorithm.lane-state.json +38 -0
  10. package/skills/abelien-algorithm/actions/algorithm.research.json +70 -0
  11. package/skills/abelien-algorithm/bindings.json +58 -0
  12. package/skills/abelien-algorithm/contract/host-tools.generated.json +1235 -0
  13. package/skills/abelien-algorithm/domain.json +8 -2
  14. package/skills/abelien-algorithm/references/actions/algorithm.candidates.generated.md +77 -0
  15. package/skills/abelien-algorithm/references/actions/algorithm.finalize.generated.md +93 -0
  16. package/skills/abelien-algorithm/references/actions/algorithm.lane-state.generated.md +67 -0
  17. package/skills/abelien-algorithm/references/actions/algorithm.research.generated.md +93 -0
  18. package/skills/abelien-algorithm/references/actions.generated.md +11 -0
  19. package/skills/abelien-algorithm/references/research-policy.md +14 -8
  20. package/skills/abelien-algorithm/references/selection-service-contract.md +4 -4
  21. package/skills/abelien-algorithm/schemas/algorithm-common.v1.json +22 -0
  22. package/skills/abelien-algorithm/schemas/candidates-input.v1.json +15 -0
  23. package/skills/abelien-algorithm/schemas/candidates-result.v1.json +17 -0
  24. package/skills/abelien-algorithm/schemas/finalize-input.v1.json +17 -0
  25. package/skills/abelien-algorithm/schemas/finalize-result.v1.json +28 -0
  26. package/skills/abelien-algorithm/schemas/lane-state-input.v1.json +14 -0
  27. package/skills/abelien-algorithm/schemas/lane-state-result.v1.json +14 -0
  28. package/skills/abelien-algorithm/schemas/research-input.v1.json +45 -0
  29. package/skills/abelien-algorithm/schemas/research-result.v1.json +19 -0
  30. package/skills/abelien-algorithm/scripts/evidence.mjs +8 -5
  31. package/skills/abelien-algorithm/scripts/research.mjs +14 -11
  32. package/skills/abelien-algorithm/workflows/user-journey-algorithm.json +1 -1
  33. package/skills/abelien-appearance/SKILL.md +9 -6
  34. package/skills/abelien-appearance/actions/appearance.points-fallback.json +31 -0
  35. package/skills/abelien-appearance/actions/appearance.points.json +41 -0
  36. package/skills/abelien-appearance/bindings.json +32 -0
  37. package/skills/abelien-appearance/contract/host-tools.generated.json +1644 -0
  38. package/skills/abelien-appearance/domain.json +73 -0
  39. package/skills/abelien-appearance/references/actions/appearance.points-fallback.generated.md +74 -0
  40. package/skills/abelien-appearance/references/actions/appearance.points.generated.md +221 -0
  41. package/skills/abelien-appearance/references/actions.generated.md +9 -0
  42. package/skills/abelien-appearance/references/points.md +63 -0
  43. package/skills/abelien-appearance/references/visual-review.md +2 -2
  44. package/skills/abelien-appearance/schemas/points-fallback-input.v1.json +16 -0
  45. package/skills/abelien-appearance/schemas/points-fallback-result.v1.json +18 -0
  46. package/skills/abelien-appearance/schemas/points-input.v1.json +36 -0
  47. package/skills/abelien-appearance/schemas/points-reading.v1.json +90 -0
  48. package/skills/abelien-appearance/schemas/points-result.v1.json +60 -0
  49. package/skills/abelien-appearance/scripts/points.mjs +169 -0
  50. package/skills/abelien-appearance/scripts/schemas.mjs +27 -0
  51. package/skills/abelien-clarify/SKILL.md +3 -5
  52. package/skills/abelien-clarify/contract/host-tools.generated.json +6 -0
  53. package/skills/abelien-clarify/domain.json +14 -0
  54. package/skills/abelien-clarify/references/actions.generated.md +7 -0
  55. package/skills/abelien-clarify/references/runtime-contract.md +9 -0
  56. package/skills/abelien-clarify/schemas/skill-result.v1.json +253 -0
  57. package/skills/abelien-clarify/scripts/validate-result.mjs +80 -0
  58. package/skills/abelien-guide/SKILL.md +2 -6
  59. package/skills/abelien-guide/references/shared-response-rules.md +1 -1
  60. package/skills/abelien-hardware/SKILL.md +44 -12
  61. package/skills/abelien-hardware/actions/hardware.change-scope.json +31 -0
  62. package/skills/abelien-hardware/actions/hardware.finalize.json +33 -0
  63. package/skills/abelien-hardware/actions/hardware.guide.json +27 -0
  64. package/skills/abelien-hardware/actions/hardware.prepare.json +28 -0
  65. package/skills/abelien-hardware/actions/hardware.replace-plan.json +31 -0
  66. package/skills/abelien-hardware/actions/hardware.resource.json +27 -0
  67. package/skills/abelien-hardware/actions/hardware.search.json +97 -0
  68. package/skills/abelien-hardware/actions/hardware.select.json +64 -0
  69. package/skills/abelien-hardware/actions/hardware.selection-commit.json +73 -0
  70. package/skills/abelien-hardware/actions/hardware.selection-propose.json +52 -0
  71. package/skills/abelien-hardware/actions/hardware.selection-recall.json +47 -0
  72. package/skills/abelien-hardware/actions/hardware.web-extract.json +28 -0
  73. package/skills/abelien-hardware/actions/hardware.web-merge.json +48 -0
  74. package/skills/abelien-hardware/actions/hardware.web-search.json +87 -0
  75. package/skills/abelien-hardware/actions/hardware.wiki.json +27 -0
  76. package/skills/abelien-hardware/actions/hardware.workflow.json +31 -0
  77. package/skills/abelien-hardware/assets/pdf-drawing-prompt.txt +1 -0
  78. package/skills/abelien-hardware/bindings.json +302 -0
  79. package/skills/abelien-hardware/contract/hardware-journey-orchestration.md +9 -1
  80. package/skills/abelien-hardware/contract/host-tools.generated.json +16216 -0
  81. package/skills/abelien-hardware/contract/online-supplement-host.md +4 -2
  82. package/skills/abelien-hardware/contract/web-evidence-contract.md +9 -5
  83. package/skills/abelien-hardware/domain.json +97 -2
  84. package/skills/abelien-hardware/references/actions/hardware.change-scope.generated.md +139 -0
  85. package/skills/abelien-hardware/references/actions/hardware.finalize.generated.md +175 -0
  86. package/skills/abelien-hardware/references/actions/hardware.guide.generated.md +37 -0
  87. package/skills/abelien-hardware/references/actions/hardware.prepare.generated.md +38 -0
  88. package/skills/abelien-hardware/references/actions/hardware.replace-plan.generated.md +120 -0
  89. package/skills/abelien-hardware/references/actions/hardware.resource.generated.md +43 -0
  90. package/skills/abelien-hardware/references/actions/hardware.search.generated.md +150 -0
  91. package/skills/abelien-hardware/references/actions/hardware.select.generated.md +178 -0
  92. package/skills/abelien-hardware/references/actions/hardware.selection-commit.generated.md +475 -0
  93. package/skills/abelien-hardware/references/actions/hardware.selection-propose.generated.md +471 -0
  94. package/skills/abelien-hardware/references/actions/hardware.selection-recall.generated.md +355 -0
  95. package/skills/abelien-hardware/references/actions/hardware.web-extract.generated.md +36 -0
  96. package/skills/abelien-hardware/references/actions/hardware.web-merge.generated.md +168 -0
  97. package/skills/abelien-hardware/references/actions/hardware.web-search.generated.md +165 -0
  98. package/skills/abelien-hardware/references/actions/hardware.wiki.generated.md +41 -0
  99. package/skills/abelien-hardware/references/actions/hardware.workflow.generated.md +94 -0
  100. package/skills/abelien-hardware/references/actions.generated.md +23 -0
  101. package/skills/abelien-hardware/references/hardware-selection/SKILL.md +13 -5
  102. package/skills/abelien-hardware/references/hardware-selection/references/query-contract.md +21 -50
  103. package/skills/abelien-hardware/references/selection-evidence-v2.md +76 -0
  104. package/skills/abelien-hardware/references/selection-service-contract.md +9 -4
  105. package/skills/abelien-hardware/schemas/change-scope-input.v1.json +29 -0
  106. package/skills/abelien-hardware/schemas/change-scope-result.v1.json +21 -0
  107. package/skills/abelien-hardware/schemas/hardware-common.v1.json +188 -0
  108. package/skills/abelien-hardware/schemas/hardware-selection-actions.v1.json +154 -0
  109. package/skills/abelien-hardware/schemas/hardware-selection.v2.json +502 -0
  110. package/skills/abelien-hardware/schemas/host-tools-input.v1.json +292 -0
  111. package/skills/abelien-hardware/schemas/proposal-input.v1.json +149 -0
  112. package/skills/abelien-hardware/schemas/proposal-result.v1.json +25 -0
  113. package/skills/abelien-hardware/schemas/replace-plan-input.v1.json +33 -0
  114. package/skills/abelien-hardware/schemas/replace-plan-result.v1.json +16 -0
  115. package/skills/abelien-hardware/schemas/search-input.v1.json +42 -0
  116. package/skills/abelien-hardware/schemas/search-result.v1.json +18 -0
  117. package/skills/abelien-hardware/schemas/select-input.v1.json +39 -0
  118. package/skills/abelien-hardware/schemas/select-result.v1.json +27 -0
  119. package/skills/abelien-hardware/schemas/web-merge-input.v1.json +52 -0
  120. package/skills/abelien-hardware/schemas/web-merge-result.v1.json +18 -0
  121. package/skills/abelien-hardware/schemas/web-search-input.v1.json +42 -0
  122. package/skills/abelien-hardware/schemas/web-search-result.v1.json +18 -0
  123. package/skills/abelien-hardware/scripts/admission.mjs +4 -2
  124. package/skills/abelien-hardware/scripts/provider-chain-contract.mjs +43 -16
  125. package/skills/abelien-hardware/scripts/replace-plan.mjs +14 -2
  126. package/skills/abelien-hardware/scripts/response-redaction.mjs +2 -1
  127. package/skills/abelien-hardware/scripts/selection-bom-use.mjs +47 -0
  128. package/skills/abelien-hardware/scripts/selection-commit.mjs +41 -0
  129. package/skills/abelien-hardware/scripts/selection-model.mjs +293 -0
  130. package/skills/abelien-hardware/scripts/selection-propose.mjs +327 -0
  131. package/skills/abelien-hardware/scripts/selection-recall.mjs +240 -0
  132. package/skills/abelien-hardware/scripts/selection-revision-store.mjs +115 -0
  133. package/skills/abelien-hardware/scripts/selection-structure.mjs +50 -0
  134. package/skills/abelien-hardware/scripts/taxonomy.mjs +25 -0
  135. package/skills/abelien-hardware/scripts/validate-replace-plan.mjs +5 -1
  136. package/skills/abelien-hardware/scripts/validate-slots.mjs +2 -1
  137. package/skills/abelien-hardware/scripts/volc-web-search.mjs +7 -4
  138. package/skills/abelien-hardware/scripts/web-common.mjs +4 -1
  139. package/skills/abelien-hardware/scripts/web-evidence-storage.mjs +6 -2
  140. package/skills/abelien-hardware/scripts/web-integrity.mjs +3 -1
  141. package/skills/abelien-hardware/scripts/web-merge.mjs +32 -3
  142. package/skills/abelien-hardware/scripts/web-pdf.mjs +135 -0
  143. package/skills/abelien-hardware/scripts/web-provider-chain.mjs +70 -17
  144. package/skills/abelien-hardware/scripts/web-receipt.mjs +4 -0
  145. package/skills/abelien-hardware/workflows/definitions/0b95321a6768f916b97b53957f0c5ad3aef7e3d484542bcda4c7ab370ee25a0f.json +272 -0
  146. package/skills/abelien-hardware/workflows/definitions/0e1c309516e5117f3ebb764503bc84dc1771b550b0f01eea994181fbd7a865e3.json +302 -0
  147. package/skills/abelien-hardware/workflows/definitions/136ef3d91d059f43e80a91338748f9d26a65be0cae6fc1ac553177f25af1faa5.json +176 -0
  148. package/skills/abelien-hardware/workflows/definitions/2444df49b516b42b6ff39036e7de94682d8a09af1154bab56b76f171c3750cb2.json +142 -0
  149. package/skills/abelien-hardware/workflows/definitions/2885447bb95dd1ae3a6ab11f5b549b51a797b56b083eb49ce1f7b3720ba2f0a8.json +304 -0
  150. package/skills/abelien-hardware/workflows/definitions/30fa7666f1e5550f8a2c463950545b3ac47c4aa6c012270aacbfbb2bca0888a9.json +144 -0
  151. package/skills/abelien-hardware/workflows/definitions/4d5012942f59fac4e98d8bec3f814b39864bc6654730e886bd3b32a4be293f64.json +348 -0
  152. package/skills/abelien-hardware/workflows/definitions/5770b5963e9f8a5185d4b9bc81011c950dee9349a666c4ef3127c6c3d486789a.json +224 -0
  153. package/skills/abelien-hardware/workflows/definitions/6f48911aa3f189eb7c3e2b239d4561a083d5ea88899205dc7f51c75a53f496d8.json +348 -0
  154. package/skills/abelien-hardware/workflows/definitions/801c406feff066849957231cab01f2bab4480a55ab6a44a0ada3224c4c696af8.json +230 -0
  155. package/skills/abelien-hardware/workflows/definitions/857a5b729a5164c4727d281d64b66941281173ebdde975a20f19a2a2acfbff3a.json +150 -0
  156. package/skills/abelien-hardware/workflows/definitions/b63cb14e876b7d274da3ecefa7e3b056a113ace7d7fb97fcd2c74b749673b6e3.json +218 -0
  157. package/skills/abelien-hardware/workflows/definitions/d391610e118c1d8603a63736d99d6025acbb6ef764395f52b148744c212a775d.json +228 -0
  158. package/skills/abelien-hardware/workflows/definitions/da4fa194d2a9f6349b563aeb4fba38e4f45f662e707c38e7eb2f8d5fcfc76e91.json +270 -0
  159. package/skills/abelien-hardware/workflows/definitions/f9cffb277c9bb2a148de9a6fd91ade3a8cd4b7af7df65023ad7ca64b0280b872.json +346 -0
  160. package/skills/abelien-hardware/workflows/user-journey-hardware-candidates.json +75 -1
  161. package/skills/abelien-hardware/workflows/user-journey-hardware-carry.json +58 -5
  162. package/skills/abelien-hardware/workflows/user-journey-hardware-replace.json +137 -7
  163. package/skills/abelien-hardware/workflows/user-journey-hardware.json +134 -6
  164. package/skills/abelien-harness/SKILL.md +12 -9
  165. package/skills/abelien-harness/contract/action-registry.md +103 -0
  166. package/skills/abelien-harness/contract/source-registry.md +9 -5
  167. package/skills/abelien-harness/contract/workflow-spec.md +15 -0
  168. package/skills/abelien-harness/contracts/README.md +112 -0
  169. package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-design-example-without-result-checks.json +24 -0
  170. package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-postcondition-without-entry.json +31 -0
  171. package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-transport-in-definition.json +32 -0
  172. package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-unknown-effect.json +33 -0
  173. package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-async-web-search.json +45 -0
  174. package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-implementation-dependent-build.json +32 -0
  175. package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-local-change-scope.json +31 -0
  176. package/skills/abelien-harness/contracts/examples/ActionError/invalid-missing-submission-state.json +8 -0
  177. package/skills/abelien-harness/contracts/examples/ActionError/invalid-transient-after-submit.json +10 -0
  178. package/skills/abelien-harness/contracts/examples/ActionError/invalid-unknown-retried.json +9 -0
  179. package/skills/abelien-harness/contracts/examples/ActionError/valid-config-blocked.json +9 -0
  180. package/skills/abelien-harness/contracts/examples/ActionError/valid-design-conflict.json +24 -0
  181. package/skills/abelien-harness/contracts/examples/ActionError/valid-unknown-reconcile.json +9 -0
  182. package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-fallback-with-guessed-points.json +47 -0
  183. package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-missing-image-ref.json +94 -0
  184. package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-mm-without-scale.json +104 -0
  185. package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-ready-without-frame.json +100 -0
  186. package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-degraded-fallback.json +27 -0
  187. package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-ready.json +104 -0
  188. package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-current-with-reasons.json +30 -0
  189. package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-stale-without-reasons.json +15 -0
  190. package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-current.json +15 -0
  191. package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-stale-after-redraw.json +30 -0
  192. package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-degraded-without-unknowns.json +17 -0
  193. package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-design-example-string-inputs.json +19 -0
  194. package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-fallback-on-ready.json +27 -0
  195. package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-degraded-fallback.json +27 -0
  196. package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-ready-evidence.json +17 -0
  197. package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-accept-failed.json +6 -0
  198. package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-empty-quality.json +4 -0
  199. package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-points-accept-degraded.json +7 -0
  200. package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-selection-ready-only.json +6 -0
  201. package/skills/abelien-harness/contracts/examples/ArtifactRecord/invalid-no-provenance.json +38 -0
  202. package/skills/abelien-harness/contracts/examples/ArtifactRecord/valid-degraded-points.json +44 -0
  203. package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-posing-as-purchased.json +24 -0
  204. package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-without-open-issues.json +20 -0
  205. package/skills/abelien-harness/contracts/examples/BomLine/invalid-purchased-without-identity-status.json +23 -0
  206. package/skills/abelien-harness/contracts/examples/BomLine/valid-designed-substitute.json +24 -0
  207. package/skills/abelien-harness/contracts/examples/BomLine/valid-placeholder.json +23 -0
  208. package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-exact.json +24 -0
  209. package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-series-only.json +24 -0
  210. package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/invalid-client-operation-id.json +17 -0
  211. package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/valid-accept.json +17 -0
  212. package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-missing-version.json +8 -0
  213. package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-zero-semantics-version.json +9 -0
  214. package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/valid-selection-card.json +9 -0
  215. package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-no-options.json +20 -0
  216. package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-ui-copy-in-option.json +25 -0
  217. package/skills/abelien-harness/contracts/examples/ConfirmationRequest/valid-hardware-card.json +27 -0
  218. package/skills/abelien-harness/contracts/examples/DispatchClaim/invalid-claim-without-fence.json +44 -0
  219. package/skills/abelien-harness/contracts/examples/DispatchClaim/valid-claim.json +45 -0
  220. package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/invalid-missing-expected-parent.json +18 -0
  221. package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/invalid-schema-name.json +23 -0
  222. package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/valid-from-parent.json +23 -0
  223. package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/valid-new-lineage.json +14 -0
  224. package/skills/abelien-harness/contracts/examples/DomainRevisionHead/invalid-sequence-zero.json +13 -0
  225. package/skills/abelien-harness/contracts/examples/DomainRevisionHead/valid-head.json +13 -0
  226. package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-content-not-object.json +17 -0
  227. package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-first-with-parent.json +24 -0
  228. package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-later-without-parent.json +24 -0
  229. package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/valid-first-revision.json +20 -0
  230. package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/valid-second-revision.json +28 -0
  231. package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-bound-unresolved-determinism.json +78 -0
  232. package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-unbound-with-binding-digest.json +69 -0
  233. package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-module.json +70 -0
  234. package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-studio-tool.json +78 -0
  235. package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-unbound.json +69 -0
  236. package/skills/abelien-harness/contracts/examples/EventCursor/invalid-negative.json +4 -0
  237. package/skills/abelien-harness/contracts/examples/EventCursor/valid-fresh-tree.json +4 -0
  238. package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-legacy-state-name.json +14 -0
  239. package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-step-event-without-step.json +26 -0
  240. package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-zero-sequence.json +17 -0
  241. package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-late-receipt-history.json +18 -0
  242. package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-operation-accepted.json +17 -0
  243. package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-step-waiting-on-card.json +27 -0
  244. package/skills/abelien-harness/contracts/examples/ExecutionClaim/invalid-zero-fence.json +7 -0
  245. package/skills/abelien-harness/contracts/examples/ExecutionClaim/valid-after-takeover.json +7 -0
  246. package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-fence-in-identity.json +19 -0
  247. package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-missing-target-revision.json +13 -0
  248. package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-rework.json +20 -0
  249. package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-web-search.json +18 -0
  250. package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-alias-claimed-frozen.json +77 -0
  251. package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-runtime-version-alias.json +77 -0
  252. package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-legacy-mapping.json +59 -0
  253. package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-runtime-run.json +77 -0
  254. package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-credential-in-entry.json +23 -0
  255. package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-module-without-export.json +19 -0
  256. package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-studio-tool-with-path.json +24 -0
  257. package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-unresolved-determinism.json +23 -0
  258. package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-http.json +23 -0
  259. package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-module.json +20 -0
  260. package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-studio-tool.json +23 -0
  261. package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-shorthand-input-ref.json +22 -0
  262. package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-transport-field.json +32 -0
  263. package/skills/abelien-harness/contracts/examples/InputDigestSubject/valid-web-search.json +31 -0
  264. package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-prepared-but-submitted.json +36 -0
  265. package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-unknown-not-submitted.json +36 -0
  266. package/skills/abelien-harness/contracts/examples/OperationRecord/valid-accepted.json +36 -0
  267. package/skills/abelien-harness/contracts/examples/OperationRecord/valid-prepared.json +36 -0
  268. package/skills/abelien-harness/contracts/examples/OperationRecord/valid-unknown.json +44 -0
  269. package/skills/abelien-harness/contracts/examples/PortError/invalid-unknown-code.json +4 -0
  270. package/skills/abelien-harness/contracts/examples/PortError/valid-fence-stale.json +9 -0
  271. package/skills/abelien-harness/contracts/examples/Receipt/invalid-failed-without-error.json +15 -0
  272. package/skills/abelien-harness/contracts/examples/Receipt/invalid-missing-implementation-identity.json +19 -0
  273. package/skills/abelien-harness/contracts/examples/Receipt/invalid-succeeded-with-error.json +44 -0
  274. package/skills/abelien-harness/contracts/examples/Receipt/valid-failed.json +39 -0
  275. package/skills/abelien-harness/contracts/examples/Receipt/valid-succeeded.json +20 -0
  276. package/skills/abelien-harness/contracts/examples/Ref/invalid-digest-with-prefix.json +5 -0
  277. package/skills/abelien-harness/contracts/examples/Ref/invalid-shorthand-string.json +1 -0
  278. package/skills/abelien-harness/contracts/examples/Ref/valid-concept-image.json +5 -0
  279. package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-digest-without-prefix.json +19 -0
  280. package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-renamed-meta.json +13 -0
  281. package/skills/abelien-harness/contracts/examples/ResourceRecord/valid-existing-store-shape.json +19 -0
  282. package/skills/abelien-harness/contracts/examples/RunRecord/invalid-child-without-parent-step.json +27 -0
  283. package/skills/abelien-harness/contracts/examples/RunRecord/invalid-runtime-without-manifest.json +21 -0
  284. package/skills/abelien-harness/contracts/examples/RunRecord/valid-legacy-child.json +27 -0
  285. package/skills/abelien-harness/contracts/examples/RunRecord/valid-root.json +21 -0
  286. package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-child-run-on-model-step.json +270 -0
  287. package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-state-name.json +153 -0
  288. package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-without-registration.json +266 -0
  289. package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-waiting-without-reason.json +268 -0
  290. package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-cancelled-late-result-rework.json +139 -0
  291. package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-legacy-hardware-subflow.json +272 -0
  292. package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-parallel-join-degraded.json +153 -0
  293. package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-missing-fit-envelope.json +27 -0
  294. package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-uppercase-id.json +43 -0
  295. package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-view-transform-fields.json +44 -0
  296. package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-1.json +43 -0
  297. package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-2.json +43 -0
  298. package/skills/abelien-harness/contracts/examples/Slot/invalid-box-with-diameter.json +29 -0
  299. package/skills/abelien-harness/contracts/examples/Slot/invalid-missing-reaction-ids.json +11 -0
  300. package/skills/abelien-harness/contracts/examples/Slot/invalid-two-level-path.json +11 -0
  301. package/skills/abelien-harness/contracts/examples/Slot/invalid-zero-quantity.json +12 -0
  302. package/skills/abelien-harness/contracts/examples/Slot/valid-shared-power.json +12 -0
  303. package/skills/abelien-harness/contracts/examples/Slot/valid-speaker-with-zone.json +33 -0
  304. package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-child-run-on-cli.json +23 -0
  305. package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-waiting-without-reason.json +19 -0
  306. package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-subflow.json +31 -0
  307. package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-waiting-external.json +23 -0
  308. package/skills/abelien-harness/contracts/examples/TargetRevisionRef/invalid-extra-parent.json +6 -0
  309. package/skills/abelien-harness/contracts/examples/TargetRevisionRef/valid-revision-4.json +5 -0
  310. package/skills/abelien-harness/contracts/examples/WaitReason/invalid-configuration-with-source-error.json +12 -0
  311. package/skills/abelien-harness/contracts/examples/WaitReason/invalid-confirmation-without-subject.json +4 -0
  312. package/skills/abelien-harness/contracts/examples/WaitReason/valid-budget.json +6 -0
  313. package/skills/abelien-harness/contracts/examples/WaitReason/valid-configuration.json +12 -0
  314. package/skills/abelien-harness/contracts/examples/WaitReason/valid-confirmation.json +13 -0
  315. package/skills/abelien-harness/contracts/examples/WaitReason/valid-data-dependency.json +18 -0
  316. package/skills/abelien-harness/contracts/examples/expectations.json +318 -0
  317. package/skills/abelien-harness/contracts/index.d.mts +32 -0
  318. package/skills/abelien-harness/contracts/index.mjs +47 -0
  319. package/skills/abelien-harness/contracts/ports/memory.d.mts +12 -0
  320. package/skills/abelien-harness/contracts/ports/memory.mjs +403 -0
  321. package/skills/abelien-harness/contracts/ports/ports.d.ts +137 -0
  322. package/skills/abelien-harness/contracts/schemas/action.v1.json +330 -0
  323. package/skills/abelien-harness/contracts/schemas/artifact.v1.json +102 -0
  324. package/skills/abelien-harness/contracts/schemas/confirmation.v1.json +64 -0
  325. package/skills/abelien-harness/contracts/schemas/cross-domain.v1.json +241 -0
  326. package/skills/abelien-harness/contracts/schemas/domain-revision.v1.json +68 -0
  327. package/skills/abelien-harness/contracts/schemas/error.v1.json +70 -0
  328. package/skills/abelien-harness/contracts/schemas/event.v1.json +204 -0
  329. package/skills/abelien-harness/contracts/schemas/execution-identity.v1.json +72 -0
  330. package/skills/abelien-harness/contracts/schemas/ref.v1.json +43 -0
  331. package/skills/abelien-harness/contracts/schemas/run-snapshot.v1.json +176 -0
  332. package/skills/abelien-harness/contracts/schemas/store.v1.json +209 -0
  333. package/skills/abelien-harness/contracts/types.d.ts +660 -0
  334. package/skills/abelien-harness/contracts/validate.mjs +182 -0
  335. package/skills/abelien-harness/runtime/README.md +171 -0
  336. package/skills/abelien-harness/runtime/actions.mjs +88 -0
  337. package/skills/abelien-harness/runtime/conformance/README.md +34 -0
  338. package/skills/abelien-harness/runtime/conformance/artifact-store.mjs +167 -0
  339. package/skills/abelien-harness/runtime/conformance/domain-revision-store.mjs +121 -0
  340. package/skills/abelien-harness/runtime/conformance/execution-store.mjs +346 -0
  341. package/skills/abelien-harness/runtime/conformance/fixtures.mjs +56 -0
  342. package/skills/abelien-harness/runtime/conformance/index.mjs +74 -0
  343. package/skills/abelien-harness/runtime/engine.mjs +1358 -0
  344. package/skills/abelien-harness/runtime/errors.mjs +80 -0
  345. package/skills/abelien-harness/runtime/executors.mjs +123 -0
  346. package/skills/abelien-harness/runtime/flow-graph.mjs +246 -0
  347. package/skills/abelien-harness/runtime/graph.mjs +534 -0
  348. package/skills/abelien-harness/runtime/ids.mjs +25 -0
  349. package/skills/abelien-harness/runtime/index.mjs +25 -0
  350. package/skills/abelien-harness/runtime/kernel.mjs +65 -0
  351. package/skills/abelien-harness/runtime/legacy/definitions.mjs +115 -0
  352. package/skills/abelien-harness/runtime/legacy/external-recovery.mjs +48 -0
  353. package/skills/abelien-harness/runtime/legacy/workflow-store.mjs +183 -0
  354. package/skills/abelien-harness/runtime/model-actions.md +57 -0
  355. package/skills/abelien-harness/runtime/model-actions.mjs +52 -0
  356. package/skills/abelien-harness/runtime/ports/file/artifact-store.mjs +103 -0
  357. package/skills/abelien-harness/runtime/ports/file/common.mjs +100 -0
  358. package/skills/abelien-harness/runtime/ports/file/execution-store.mjs +248 -0
  359. package/skills/abelien-harness/runtime/ports/file/index.mjs +23 -0
  360. package/skills/abelien-harness/runtime/ports/file/resource-store.mjs +51 -0
  361. package/skills/abelien-harness/runtime/snapshot.mjs +96 -0
  362. package/skills/abelien-harness/runtime/task-view/README.md +54 -0
  363. package/skills/abelien-harness/runtime/task-view/index.mjs +344 -0
  364. package/skills/abelien-harness/runtime/testing/index.mjs +123 -0
  365. package/skills/abelien-harness/runtime/testing/scenarios.mjs +343 -0
  366. package/skills/abelien-harness/runtime/workflow/flows.mjs +68 -0
  367. package/skills/abelien-harness/runtime/workflow/httl.mjs +77 -0
  368. package/skills/abelien-harness/runtime/workflow/index.mjs +190 -0
  369. package/skills/abelien-harness/runtime/workflow/legacy-flow.mjs +183 -0
  370. package/skills/abelien-harness/runtime/workflow/view.mjs +66 -0
  371. package/skills/abelien-harness/scripts/ab.mjs +49 -607
  372. package/skills/abelien-harness/scripts/action-cli.mjs +54 -0
  373. package/skills/abelien-harness/scripts/action-docs.mjs +308 -0
  374. package/skills/abelien-harness/scripts/action-registry.mjs +433 -0
  375. package/skills/abelien-harness/scripts/machine-state.mjs +21 -0
  376. package/skills/abelien-harness/scripts/receipt.mjs +5 -1
  377. package/skills/abelien-harness/scripts/source-registry.mjs +4 -3
  378. package/skills/abelien-harness/scripts/store.mjs +212 -0
  379. package/skills/abelien-harness/scripts/studio.mjs +1 -1
  380. package/skills/abelien-harness/scripts/template.mjs +22 -0
  381. package/skills/abelien-harness/scripts/web/common.mjs +2 -2
  382. package/skills/abelien-harness/scripts/web/deepseek.mjs +50 -0
  383. package/skills/abelien-harness/scripts/web/pdf-reader.mjs +105 -0
  384. package/skills/abelien-harness/scripts/web/search.mjs +37 -0
  385. package/skills/abelien-harness/scripts/web/source-registry.mjs +2 -0
  386. package/skills/abelien-harness/scripts/web/vision.mjs +85 -0
  387. package/skills/abelien-reference/SKILL.md +6 -6
  388. package/skills/abelien-reference/actions/reference.finalize.json +48 -0
  389. package/skills/abelien-reference/actions/reference.page.json +28 -0
  390. package/skills/abelien-reference/actions/reference.research.json +68 -0
  391. package/skills/abelien-reference/bindings.json +78 -0
  392. package/skills/abelien-reference/contract/catalog-reference.md +51 -0
  393. package/skills/abelien-reference/contract/host-responsibilities.md +4 -2
  394. package/skills/abelien-reference/contract/host-tools.generated.json +2632 -0
  395. package/skills/abelien-reference/domain.json +10 -3
  396. package/skills/abelien-reference/fixtures/catalog/speaker.json +390 -0
  397. package/skills/abelien-reference/fixtures/create.final.json +1 -0
  398. package/skills/abelien-reference/fixtures/restore.collected.json +1 -0
  399. package/skills/abelien-reference/fixtures/restore.final.json +1 -0
  400. package/skills/abelien-reference/references/actions/reference.finalize.generated.md +173 -0
  401. package/skills/abelien-reference/references/actions/reference.page.generated.md +40 -0
  402. package/skills/abelien-reference/references/actions/reference.research.generated.md +196 -0
  403. package/skills/abelien-reference/references/actions.generated.md +10 -0
  404. package/skills/abelien-reference/references/research-contract.md +10 -38
  405. package/skills/abelien-reference/schemas/catalog-reference.v1.json +306 -0
  406. package/skills/abelien-reference/schemas/finalize-input.v1.json +16 -0
  407. package/skills/abelien-reference/schemas/host-tools.v1.json +31 -0
  408. package/skills/abelien-reference/schemas/reference-evidence.v1.json +8 -5
  409. package/skills/abelien-reference/schemas/research-input.v1.json +149 -0
  410. package/skills/abelien-reference/scripts/catalog-reference.mjs +248 -0
  411. package/skills/abelien-reference/scripts/evidence.mjs +21 -10
  412. package/skills/abelien-reference/scripts/research.mjs +57 -25
  413. package/skills/abelien-structure/SKILL.md +49 -35
  414. package/skills/abelien-structure/actions/cad.assets.json +24 -0
  415. package/skills/abelien-structure/actions/cad.build.json +29 -0
  416. package/skills/abelien-structure/actions/cad.fallback.json +29 -0
  417. package/skills/abelien-structure/actions/cad.precheck.json +31 -0
  418. package/skills/abelien-structure/actions/structure.assets-request.json +36 -0
  419. package/skills/abelien-structure/actions/structure.cad-assemble.json +56 -0
  420. package/skills/abelien-structure/actions/structure.cad-check.json +51 -0
  421. package/skills/abelien-structure/actions/structure.layout-check.json +36 -0
  422. package/skills/abelien-structure/actions/structure.layout-request.json +36 -0
  423. package/skills/abelien-structure/actions/structure.prelude.json +41 -0
  424. package/skills/abelien-structure/actions/structure.swap-candidates.json +31 -0
  425. package/skills/abelien-structure/bindings.json +181 -0
  426. package/skills/abelien-structure/contract/host-tools.generated.json +28972 -0
  427. package/skills/abelien-structure/domain.json +205 -0
  428. package/skills/abelien-structure/flows/user-journey-cad.json +336 -0
  429. package/skills/abelien-structure/references/actions/cad.assets.generated.md +81 -0
  430. package/skills/abelien-structure/references/actions/cad.build.generated.md +37 -0
  431. package/skills/abelien-structure/references/actions/cad.fallback.generated.md +426 -0
  432. package/skills/abelien-structure/references/actions/cad.precheck.generated.md +46 -0
  433. package/skills/abelien-structure/references/actions/structure.assets-request.generated.md +511 -0
  434. package/skills/abelien-structure/references/actions/structure.cad-assemble.generated.md +315 -0
  435. package/skills/abelien-structure/references/actions/structure.cad-check.generated.md +329 -0
  436. package/skills/abelien-structure/references/actions/structure.layout-check.generated.md +414 -0
  437. package/skills/abelien-structure/references/actions/structure.layout-request.generated.md +364 -0
  438. package/skills/abelien-structure/references/actions/structure.prelude.generated.md +569 -0
  439. package/skills/abelien-structure/references/actions/structure.swap-candidates.generated.md +160 -0
  440. package/skills/abelien-structure/references/actions.generated.md +18 -0
  441. package/skills/abelien-structure/references/cad-functions.generated.md +540 -0
  442. package/skills/abelien-structure/references/cad-modules.md +68 -0
  443. package/skills/abelien-structure/references/handoff.md +8 -13
  444. package/skills/abelien-structure/references/skeleton.md +83 -0
  445. package/skills/abelien-structure/references/structure-reasonableness.md +5 -5
  446. package/skills/abelien-structure/schemas/asset-request.v1.json +61 -0
  447. package/skills/abelien-structure/schemas/cad-assemble-input.v1.json +20 -0
  448. package/skills/abelien-structure/schemas/cad-build.v1.json +422 -0
  449. package/skills/abelien-structure/schemas/cad-candidate.v1.json +50 -0
  450. package/skills/abelien-structure/schemas/cad-check-input.v1.json +24 -0
  451. package/skills/abelien-structure/schemas/cad-fallback-input.v1.json +39 -0
  452. package/skills/abelien-structure/schemas/cad-flow-input.v1.json +141 -0
  453. package/skills/abelien-structure/schemas/cad-modules.v1.json +163 -0
  454. package/skills/abelien-structure/schemas/cad-result.v1.json +231 -0
  455. package/skills/abelien-structure/schemas/cad-source.v1.json +157 -0
  456. package/skills/abelien-structure/schemas/component-assets.v1.json +44 -0
  457. package/skills/abelien-structure/schemas/layout-check-input.v1.json +13 -0
  458. package/skills/abelien-structure/schemas/layout-check-result.v1.json +57 -0
  459. package/skills/abelien-structure/schemas/layout-proposal.v1.json +72 -0
  460. package/skills/abelien-structure/schemas/layout-request-input.v1.json +96 -0
  461. package/skills/abelien-structure/schemas/layout-request.v1.json +108 -0
  462. package/skills/abelien-structure/schemas/prelude-input.v1.json +20 -0
  463. package/skills/abelien-structure/schemas/prelude.v1.json +459 -0
  464. package/skills/abelien-structure/schemas/skeleton.v1.json +318 -0
  465. package/skills/abelien-structure/schemas/swap-candidates-input.v1.json +50 -0
  466. package/skills/abelien-structure/schemas/swap-candidates-result.v1.json +46 -0
  467. package/skills/abelien-structure/scripts/cad.mjs +802 -0
  468. package/skills/abelien-structure/scripts/geometry.mjs +192 -0
  469. package/skills/abelien-structure/scripts/layout.mjs +657 -0
  470. package/skills/abelien-structure/scripts/schemas.mjs +34 -0
  471. package/skills/abelien-structure/scripts/swap.mjs +79 -0
  472. package/skills/abelien-structure-worker/SKILL.md +38 -8
  473. package/skills/abelien-structure-worker/domain.json +15 -1
  474. package/skills/abelien-structure-worker/worker/abelien_cad.py +50 -4
  475. package/skills/abelien-structure-worker/worker/assembly-validation.mjs +3 -2
  476. package/skills/abelien-structure-worker/worker/asset_probe.py +119 -0
  477. package/skills/abelien-structure-worker/worker/cad.py +81 -5
  478. package/skills/abelien-structure-worker/worker/cli-adapter.mjs +20 -1
  479. package/skills/abelien-structure-worker/worker/jobs.mjs +92 -35
  480. package/skills/abelien-structure-worker/worker/main.mjs +24 -3
  481. package/skills/abelien-structure-worker/worker/native.mjs +3 -2
  482. package/skills/abelien-structure-worker/worker/representation.mjs +2 -1
  483. package/skills/abelien-structure-worker/worker/source-contract.mjs +4 -3
  484. package/skills/abelien-workspace/SKILL.md +16 -10
  485. package/skills/abelien-workspace/actions/component.search.json +27 -0
  486. package/skills/abelien-workspace/actions/image.generate.json +29 -0
  487. package/skills/abelien-workspace/actions/image.import.json +30 -0
  488. package/skills/abelien-workspace/actions/question.card.json +26 -0
  489. package/skills/abelien-workspace/actions/studio.prepare.json +28 -0
  490. package/skills/abelien-workspace/actions/visual.review.json +31 -0
  491. package/skills/abelien-workspace/actions/workspace.hardware-reselect-input.json +15 -0
  492. package/skills/abelien-workspace/actions/workspace.intake-complete.json +31 -0
  493. package/skills/abelien-workspace/actions/workspace.intake-route.json +31 -0
  494. package/skills/abelien-workspace/actions/workspace.intake-wait.json +31 -0
  495. package/skills/abelien-workspace/actions/workspace.journey-next.json +30 -0
  496. package/skills/abelien-workspace/actions/workspace.lanes-next.json +30 -0
  497. package/skills/abelien-workspace/assets/creation-start-flow.json +316 -0
  498. package/skills/abelien-workspace/assets/hardware-reselect-flow.json +23 -0
  499. package/skills/abelien-workspace/assets/journey-stage-plan.json +1107 -79
  500. package/skills/abelien-workspace/assets/lane-plan.json +52 -5
  501. package/skills/abelien-workspace/bindings.json +216 -0
  502. package/skills/abelien-workspace/contract/host-tools.generated.json +9242 -0
  503. package/skills/abelien-workspace/domain.json +79 -3
  504. package/skills/abelien-workspace/flows/creation.create.json +1349 -0
  505. package/skills/abelien-workspace/flows/creation.modify.json +1353 -0
  506. package/skills/abelien-workspace/flows/creation.remix.json +506 -0
  507. package/skills/abelien-workspace/flows/creation.restore.json +1249 -0
  508. package/skills/abelien-workspace/references/actions/component.search.generated.md +35 -0
  509. package/skills/abelien-workspace/references/actions/image.generate.generated.md +31 -0
  510. package/skills/abelien-workspace/references/actions/image.import.generated.md +31 -0
  511. package/skills/abelien-workspace/references/actions/question.card.generated.md +39 -0
  512. package/skills/abelien-workspace/references/actions/studio.prepare.generated.md +37 -0
  513. package/skills/abelien-workspace/references/actions/visual.review.generated.md +41 -0
  514. package/skills/abelien-workspace/references/actions/workspace.hardware-reselect-input.generated.md +489 -0
  515. package/skills/abelien-workspace/references/actions/workspace.intake-complete.generated.md +187 -0
  516. package/skills/abelien-workspace/references/actions/workspace.intake-route.generated.md +184 -0
  517. package/skills/abelien-workspace/references/actions/workspace.intake-wait.generated.md +175 -0
  518. package/skills/abelien-workspace/references/actions/workspace.journey-next.generated.md +89 -0
  519. package/skills/abelien-workspace/references/actions/workspace.lanes-next.generated.md +59 -0
  520. package/skills/abelien-workspace/references/actions.generated.md +19 -0
  521. package/skills/abelien-workspace/references/creation-intake.md +44 -0
  522. package/skills/abelien-workspace/references/delivery-policy.md +27 -0
  523. package/skills/abelien-workspace/references/harness-binding.md +10 -15
  524. package/skills/abelien-workspace/references/journey-stage-plan.md +121 -43
  525. package/skills/abelien-workspace/references/product-flow.md +86 -0
  526. package/skills/abelien-workspace/references/studio-visual-contract.md +11 -0
  527. package/skills/abelien-workspace/references/user-journey.md +8 -8
  528. package/skills/abelien-workspace/schemas/appearance-points-reply.v1.json +27 -0
  529. package/skills/abelien-workspace/schemas/creation-intake.v1.json +566 -0
  530. package/skills/abelien-workspace/schemas/delivery-policy.v1.json +815 -0
  531. package/skills/abelien-workspace/schemas/hardware-reselect-input.v1.json +21 -0
  532. package/skills/abelien-workspace/schemas/hardware-reselect-result.v1.json +15 -0
  533. package/skills/abelien-workspace/schemas/hardware-result-reply.v1.json +67 -0
  534. package/skills/abelien-workspace/schemas/host-success-reply.v1.json +18 -0
  535. package/skills/abelien-workspace/schemas/host-tools.v1.json +152 -0
  536. package/skills/abelien-workspace/schemas/journey-next-input.v1.json +52 -0
  537. package/skills/abelien-workspace/schemas/journey-next-result.v1.json +92 -0
  538. package/skills/abelien-workspace/schemas/lanes-next-input.v1.json +49 -0
  539. package/skills/abelien-workspace/schemas/lanes-next-result.v1.json +54 -0
  540. package/skills/abelien-workspace/schemas/plan-common.v1.json +68 -0
  541. package/skills/abelien-workspace/schemas/reference-final-reply.v1.json +18 -0
  542. package/skills/abelien-workspace/schemas/skeleton-reply.v1.json +104 -0
  543. package/skills/abelien-workspace/schemas/studio-visual-spec.v1.json +454 -0
  544. package/skills/abelien-workspace/scripts/creation-intake.mjs +87 -0
  545. package/skills/abelien-workspace/scripts/creation-tasks.mjs +323 -0
  546. package/skills/abelien-workspace/scripts/delivery-policy.mjs +176 -0
  547. package/skills/abelien-workspace/scripts/flow-compile.mjs +291 -0
  548. package/skills/abelien-workspace/scripts/journey-next.mjs +42 -41
  549. package/skills/abelien-workspace/scripts/lanes-next.mjs +8 -10
  550. package/skills/abelien-workspace/scripts/plans.mjs +76 -0
  551. package/skills/abelien-workspace-host/SKILL.md +25 -0
  552. package/skills/abelien-workspace-host/actions/workspace.admission.json +30 -0
  553. package/skills/abelien-workspace-host/actions/workspace.delivery-claims.json +30 -0
  554. package/skills/abelien-workspace-host/bindings.json +32 -0
  555. package/skills/abelien-workspace-host/contract/host-tools.generated.json +3630 -0
  556. package/skills/abelien-workspace-host/domain.json +42 -0
  557. package/skills/abelien-workspace-host/references/actions/workspace.admission.generated.md +217 -0
  558. package/skills/abelien-workspace-host/references/actions/workspace.delivery-claims.generated.md +145 -0
  559. package/skills/abelien-workspace-host/references/actions.generated.md +9 -0
  560. package/skills/abelien-workspace-host/schemas/delivery-policy.v1.json +18 -0
  561. package/skills/abelien-workspace-host/scripts/delivery-policy.mjs +2 -0
  562. package/skills/abelien-structure/contract/run-stage-internals.md +0 -5
  563. package/skills/abelien-structure/references/build123d-execution.md +0 -71
  564. package/skills/abelien-structure/references/bundle-quality.md +0 -28
  565. package/skills/abelien-structure/scripts/check_bundle.py +0 -197
  566. package/skills/abelien-structure/scripts/run_stage.py +0 -265
  567. /package/skills/{abelien-structure → abelien-appearance}/scripts/check_visual_review.py +0 -0
@@ -0,0 +1,268 @@
1
+ {
2
+ "schema": "abelien.run-snapshot.v1",
3
+ "tenant_id": "tenant-demo",
4
+ "work_id": "work-speaker-pilot",
5
+ "root_run_id": "run-creation-001",
6
+ "cursor": {
7
+ "root_run_id": "run-creation-001",
8
+ "sequence": 42
9
+ },
10
+ "generated_at": "2026-11-02T08:15:30Z",
11
+ "root": {
12
+ "run_id": "run-creation-001",
13
+ "parent_run_id": null,
14
+ "flow_id": "creation",
15
+ "flow_version": "2026-10-14.5",
16
+ "executor": "runtime",
17
+ "state": "waiting",
18
+ "execution_manifest_digest": "8340719bd20105e28739f2c725de5181b0eea1ccacb8c00ece4abcaa90861515",
19
+ "target_revision_ref": {
20
+ "id": "target-speaker-pilot",
21
+ "version": "4",
22
+ "digest": "c0bb5bd9f5d85ae64bea2b605eab8201a74e71bf95f2baf18ec6bab8399e94b7"
23
+ },
24
+ "started_at": "2026-11-02T08:00:00Z",
25
+ "steps": [
26
+ {
27
+ "attempt": 1,
28
+ "wait": null,
29
+ "error": null,
30
+ "operation": {
31
+ "operation_id": "op-reference-1",
32
+ "action_id": "reference.research",
33
+ "state": "succeeded",
34
+ "submission_state": "accepted"
35
+ },
36
+ "outputs": [
37
+ {
38
+ "artifact_ref": {
39
+ "id": "reference-evidence-speaker-pilot",
40
+ "version": "1",
41
+ "digest": "bf3979ea5f0573aebbec81ef5ff69ded81565db6bb73732c27126037179ed45f"
42
+ },
43
+ "schema": "abelien.reference-evidence.v1",
44
+ "quality": "ready",
45
+ "applicability": {
46
+ "state": "current",
47
+ "reasons": []
48
+ }
49
+ }
50
+ ],
51
+ "step_execution_id": "se-reference-1",
52
+ "step_definition_id": "reference",
53
+ "kind": "cli",
54
+ "state": "succeeded",
55
+ "stage": "reference",
56
+ "lane": "main",
57
+ "started_at": "2026-11-02T08:00:05Z",
58
+ "ended_at": "2026-11-02T08:00:40Z"
59
+ },
60
+ {
61
+ "attempt": 1,
62
+ "wait": null,
63
+ "error": null,
64
+ "operation": {
65
+ "operation_id": "op-concept-1",
66
+ "action_id": "image.generate",
67
+ "state": "succeeded",
68
+ "submission_state": "accepted"
69
+ },
70
+ "outputs": [
71
+ {
72
+ "artifact_ref": {
73
+ "id": "concept-image-speaker-pilot",
74
+ "version": "7",
75
+ "digest": "e3110c21966472144866cc3bc1f3800038f9d70ce760c402725b38f972c68925"
76
+ },
77
+ "schema": "appearance.concept-image.v1",
78
+ "quality": "ready",
79
+ "applicability": {
80
+ "state": "current",
81
+ "reasons": []
82
+ }
83
+ }
84
+ ],
85
+ "step_execution_id": "se-concept-1",
86
+ "step_definition_id": "concept",
87
+ "kind": "studio_tool",
88
+ "state": "succeeded",
89
+ "stage": "concept",
90
+ "lane": "main"
91
+ },
92
+ {
93
+ "attempt": 1,
94
+ "wait": {
95
+ "kind": "confirmation",
96
+ "confirmation_id": "card-hw-1",
97
+ "subject": {
98
+ "object_ref": {
99
+ "id": "selection-1a2b3c4d5e6f7a8b",
100
+ "version": "r-1a2b3c4d5e6f",
101
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
102
+ },
103
+ "version": "4",
104
+ "option_semantics_version": 1
105
+ }
106
+ },
107
+ "error": null,
108
+ "operation": null,
109
+ "outputs": [],
110
+ "step_execution_id": "se-hardware-1",
111
+ "step_definition_id": "hardware",
112
+ "kind": "subflow",
113
+ "state": "waiting",
114
+ "stage": "hardware",
115
+ "lane": "main",
116
+ "child_run": {
117
+ "run_id": "legacy-uj-hw-7f3a",
118
+ "parent_run_id": "run-creation-001",
119
+ "flow_id": "user-journey-hardware",
120
+ "flow_version": "3.1.0",
121
+ "executor": "legacy",
122
+ "state": "waiting",
123
+ "execution_manifest_digest": null,
124
+ "target_revision_ref": {
125
+ "id": "target-speaker-pilot",
126
+ "version": "4",
127
+ "digest": "c0bb5bd9f5d85ae64bea2b605eab8201a74e71bf95f2baf18ec6bab8399e94b7"
128
+ },
129
+ "legacy": {
130
+ "workflow": "user-journey-hardware",
131
+ "definition_digest": "6f315915b17bb5b7824fa43a502d1a625ab94fd0da73e5a9a808a7686a67c4c4",
132
+ "input_digest": "bf8c9ff933c04826fbfaf144d0ccf482e74e982bcb4620efdcf73142f43f8633",
133
+ "legacy_run_id": "wf-7f3a9c"
134
+ },
135
+ "started_at": "2026-11-02T08:02:00Z",
136
+ "steps": [
137
+ {
138
+ "attempt": 1,
139
+ "wait": null,
140
+ "error": null,
141
+ "operation": null,
142
+ "outputs": [
143
+ {
144
+ "artifact_ref": {
145
+ "id": "hardware-slots-speaker-pilot",
146
+ "version": "3",
147
+ "digest": "9b244a52fac33a78a8def5148cb898ce51cb48beb53c23edd501c8065fda4f25"
148
+ },
149
+ "schema": "abelien.hardware-slots.v1",
150
+ "quality": "ready",
151
+ "applicability": {
152
+ "state": "current",
153
+ "reasons": []
154
+ }
155
+ }
156
+ ],
157
+ "step_execution_id": "legacy-uj-hw-7f3a:classify-hardware",
158
+ "step_definition_id": "classify-hardware",
159
+ "kind": "model",
160
+ "state": "succeeded"
161
+ },
162
+ {
163
+ "attempt": 1,
164
+ "wait": null,
165
+ "error": null,
166
+ "operation": {
167
+ "operation_id": "op-search-1",
168
+ "action_id": "hardware.search",
169
+ "state": "succeeded",
170
+ "submission_state": "accepted"
171
+ },
172
+ "outputs": [],
173
+ "step_execution_id": "legacy-uj-hw-7f3a:search",
174
+ "step_definition_id": "search",
175
+ "kind": "cli",
176
+ "state": "succeeded"
177
+ },
178
+ {
179
+ "attempt": 1,
180
+ "wait": null,
181
+ "error": null,
182
+ "operation": {
183
+ "operation_id": "op-select-1",
184
+ "action_id": "hardware.select",
185
+ "state": "succeeded",
186
+ "submission_state": "accepted"
187
+ },
188
+ "outputs": [
189
+ {
190
+ "artifact_ref": {
191
+ "id": "selection-1a2b3c4d5e6f7a8b",
192
+ "version": "r-1a2b3c4d5e6f",
193
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
194
+ },
195
+ "schema": "abelien.hardware-selection.v1",
196
+ "quality": "ready",
197
+ "applicability": {
198
+ "state": "current",
199
+ "reasons": []
200
+ }
201
+ }
202
+ ],
203
+ "step_execution_id": "legacy-uj-hw-7f3a:select",
204
+ "step_definition_id": "select",
205
+ "kind": "cli",
206
+ "state": "succeeded"
207
+ },
208
+ {
209
+ "attempt": 1,
210
+ "wait": {
211
+ "kind": "confirmation",
212
+ "confirmation_id": "card-hw-1",
213
+ "subject": {
214
+ "object_ref": {
215
+ "id": "selection-1a2b3c4d5e6f7a8b",
216
+ "version": "r-1a2b3c4d5e6f",
217
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
218
+ },
219
+ "version": "4",
220
+ "option_semantics_version": 1
221
+ }
222
+ },
223
+ "error": null,
224
+ "operation": null,
225
+ "outputs": [],
226
+ "step_execution_id": "legacy-uj-hw-7f3a:confirm-hardware",
227
+ "step_definition_id": "confirm-hardware",
228
+ "kind": "wait",
229
+ "state": "waiting"
230
+ }
231
+ ]
232
+ }
233
+ },
234
+ {
235
+ "attempt": 1,
236
+ "wait": null,
237
+ "error": null,
238
+ "operation": null,
239
+ "outputs": [],
240
+ "step_execution_id": "se-points-1",
241
+ "step_definition_id": "points",
242
+ "kind": "model",
243
+ "state": "running",
244
+ "stage": "hardware",
245
+ "lane": "points",
246
+ "started_at": "2026-11-02T08:02:00Z"
247
+ },
248
+ {
249
+ "attempt": 1,
250
+ "wait": null,
251
+ "error": null,
252
+ "operation": {
253
+ "operation_id": "op-algorithm-research-1",
254
+ "action_id": "algorithm.research",
255
+ "state": "accepted",
256
+ "submission_state": "accepted"
257
+ },
258
+ "outputs": [],
259
+ "step_execution_id": "se-algorithm-research-1",
260
+ "step_definition_id": "algorithm_research",
261
+ "kind": "cli",
262
+ "state": "waiting",
263
+ "stage": "hardware",
264
+ "lane": "algorithm"
265
+ }
266
+ ]
267
+ }
268
+ }
@@ -0,0 +1,139 @@
1
+ {
2
+ "schema": "abelien.run-snapshot.v1",
3
+ "tenant_id": "tenant-demo",
4
+ "work_id": "work-speaker-pilot",
5
+ "root_run_id": "run-creation-002",
6
+ "cursor": {
7
+ "root_run_id": "run-creation-002",
8
+ "sequence": 108
9
+ },
10
+ "generated_at": "2026-11-03T10:20:05Z",
11
+ "root": {
12
+ "run_id": "run-creation-002",
13
+ "parent_run_id": null,
14
+ "flow_id": "creation",
15
+ "flow_version": "2026-10-14.5",
16
+ "executor": "runtime",
17
+ "state": "cancelled",
18
+ "execution_manifest_digest": "8340719bd20105e28739f2c725de5181b0eea1ccacb8c00ece4abcaa90861515",
19
+ "target_revision_ref": {
20
+ "id": "target-speaker-pilot",
21
+ "version": "5",
22
+ "digest": "3476966a1fd6789f4811d442b208288555d5643521a01375deda63b0de6becd6"
23
+ },
24
+ "cancel": {
25
+ "state": "not_stoppable",
26
+ "requested_at": "2026-11-03T10:01:00Z"
27
+ },
28
+ "started_at": "2026-11-03T09:00:00Z",
29
+ "ended_at": "2026-11-03T10:02:00Z",
30
+ "steps": [
31
+ {
32
+ "attempt": 1,
33
+ "wait": null,
34
+ "error": null,
35
+ "operation": null,
36
+ "outputs": [
37
+ {
38
+ "artifact_ref": {
39
+ "id": "structure-layout-speaker-pilot",
40
+ "version": "1",
41
+ "digest": "91ddf4e9a450a852590579fc9a733fdd86c1d5746efd6ff92095d386e951b225"
42
+ },
43
+ "schema": "structure.layout.v1",
44
+ "quality": "ready",
45
+ "applicability": {
46
+ "state": "stale",
47
+ "reasons": [
48
+ {
49
+ "code": "INPUT_SUPERSEDED",
50
+ "input": "selection_revision_ref",
51
+ "artifact_input": {
52
+ "id": "selection-1a2b3c4d5e6f7a8b",
53
+ "version": "r-1a2b3c4d5e6f",
54
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
55
+ },
56
+ "current": {
57
+ "id": "selection-1a2b3c4d5e6f7a8b",
58
+ "version": "r-9f8e7d6c5b4a",
59
+ "digest": "590fb9f032ebe66c72598b8c4ecfaaf853cee885220af73f660494706e86c27d"
60
+ }
61
+ }
62
+ ]
63
+ }
64
+ }
65
+ ],
66
+ "step_execution_id": "se-layout-1",
67
+ "step_definition_id": "layout",
68
+ "kind": "model",
69
+ "state": "succeeded",
70
+ "stage": "skeleton",
71
+ "lane": "main"
72
+ },
73
+ {
74
+ "attempt": 2,
75
+ "wait": null,
76
+ "error": null,
77
+ "operation": null,
78
+ "outputs": [
79
+ {
80
+ "artifact_ref": {
81
+ "id": "structure-layout-speaker-pilot",
82
+ "version": "2",
83
+ "digest": "50be3a0f4e326d5285eceb5fc0fef19642f46a674ea517abb5f30196ca502155"
84
+ },
85
+ "schema": "structure.layout.v1",
86
+ "quality": "ready",
87
+ "applicability": {
88
+ "state": "current",
89
+ "reasons": []
90
+ }
91
+ }
92
+ ],
93
+ "step_execution_id": "se-layout-2",
94
+ "step_definition_id": "layout",
95
+ "kind": "model",
96
+ "state": "succeeded",
97
+ "replaces_step_execution_id": "se-layout-1",
98
+ "stage": "skeleton",
99
+ "lane": "main"
100
+ },
101
+ {
102
+ "attempt": 1,
103
+ "wait": {
104
+ "kind": "budget",
105
+ "dimension": "attempts",
106
+ "used": 3,
107
+ "limit": 3
108
+ },
109
+ "error": null,
110
+ "operation": null,
111
+ "outputs": [],
112
+ "step_execution_id": "se-repair-1",
113
+ "step_definition_id": "repair",
114
+ "kind": "model",
115
+ "state": "blocked",
116
+ "stage": "cad",
117
+ "lane": "main"
118
+ },
119
+ {
120
+ "attempt": 1,
121
+ "wait": null,
122
+ "error": null,
123
+ "operation": {
124
+ "operation_id": "op-cad-1",
125
+ "action_id": "structure.build",
126
+ "state": "succeeded",
127
+ "submission_state": "accepted"
128
+ },
129
+ "outputs": [],
130
+ "step_execution_id": "se-cad-1",
131
+ "step_definition_id": "cad",
132
+ "kind": "studio_tool",
133
+ "state": "cancelled",
134
+ "stage": "cad",
135
+ "lane": "main"
136
+ }
137
+ ]
138
+ }
139
+ }
@@ -0,0 +1,272 @@
1
+ {
2
+ "schema": "abelien.run-snapshot.v1",
3
+ "tenant_id": "tenant-demo",
4
+ "work_id": "work-speaker-pilot",
5
+ "root_run_id": "run-creation-001",
6
+ "cursor": {
7
+ "root_run_id": "run-creation-001",
8
+ "sequence": 42
9
+ },
10
+ "generated_at": "2026-11-02T08:15:30Z",
11
+ "root": {
12
+ "run_id": "run-creation-001",
13
+ "parent_run_id": null,
14
+ "flow_id": "creation",
15
+ "flow_version": "2026-10-14.5",
16
+ "executor": "runtime",
17
+ "state": "waiting",
18
+ "execution_manifest_digest": "8340719bd20105e28739f2c725de5181b0eea1ccacb8c00ece4abcaa90861515",
19
+ "target_revision_ref": {
20
+ "id": "target-speaker-pilot",
21
+ "version": "4",
22
+ "digest": "c0bb5bd9f5d85ae64bea2b605eab8201a74e71bf95f2baf18ec6bab8399e94b7"
23
+ },
24
+ "started_at": "2026-11-02T08:00:00Z",
25
+ "steps": [
26
+ {
27
+ "attempt": 1,
28
+ "wait": null,
29
+ "error": null,
30
+ "operation": {
31
+ "operation_id": "op-reference-1",
32
+ "action_id": "reference.research",
33
+ "state": "succeeded",
34
+ "submission_state": "accepted"
35
+ },
36
+ "outputs": [
37
+ {
38
+ "artifact_ref": {
39
+ "id": "reference-evidence-speaker-pilot",
40
+ "version": "1",
41
+ "digest": "bf3979ea5f0573aebbec81ef5ff69ded81565db6bb73732c27126037179ed45f"
42
+ },
43
+ "schema": "abelien.reference-evidence.v1",
44
+ "quality": "ready",
45
+ "applicability": {
46
+ "state": "current",
47
+ "reasons": []
48
+ }
49
+ }
50
+ ],
51
+ "step_execution_id": "se-reference-1",
52
+ "step_definition_id": "reference",
53
+ "kind": "cli",
54
+ "state": "succeeded",
55
+ "stage": "reference",
56
+ "lane": "main",
57
+ "started_at": "2026-11-02T08:00:05Z",
58
+ "ended_at": "2026-11-02T08:00:40Z"
59
+ },
60
+ {
61
+ "attempt": 1,
62
+ "wait": null,
63
+ "error": null,
64
+ "operation": {
65
+ "operation_id": "op-concept-1",
66
+ "action_id": "image.generate",
67
+ "state": "succeeded",
68
+ "submission_state": "accepted"
69
+ },
70
+ "outputs": [
71
+ {
72
+ "artifact_ref": {
73
+ "id": "concept-image-speaker-pilot",
74
+ "version": "7",
75
+ "digest": "e3110c21966472144866cc3bc1f3800038f9d70ce760c402725b38f972c68925"
76
+ },
77
+ "schema": "appearance.concept-image.v1",
78
+ "quality": "ready",
79
+ "applicability": {
80
+ "state": "current",
81
+ "reasons": []
82
+ }
83
+ }
84
+ ],
85
+ "step_execution_id": "se-concept-1",
86
+ "step_definition_id": "concept",
87
+ "kind": "studio_tool",
88
+ "state": "succeeded",
89
+ "stage": "concept",
90
+ "lane": "main"
91
+ },
92
+ {
93
+ "attempt": 1,
94
+ "wait": {
95
+ "kind": "confirmation",
96
+ "confirmation_id": "card-hw-1",
97
+ "subject": {
98
+ "object_ref": {
99
+ "id": "selection-1a2b3c4d5e6f7a8b",
100
+ "version": "r-1a2b3c4d5e6f",
101
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
102
+ },
103
+ "version": "4",
104
+ "option_semantics_version": 1
105
+ }
106
+ },
107
+ "error": null,
108
+ "operation": null,
109
+ "outputs": [],
110
+ "step_execution_id": "se-hardware-1",
111
+ "step_definition_id": "hardware",
112
+ "kind": "subflow",
113
+ "state": "waiting",
114
+ "stage": "hardware",
115
+ "lane": "main",
116
+ "child_run": {
117
+ "run_id": "legacy-uj-hw-7f3a",
118
+ "parent_run_id": "run-creation-001",
119
+ "flow_id": "user-journey-hardware",
120
+ "flow_version": "3.1.0",
121
+ "executor": "legacy",
122
+ "state": "waiting",
123
+ "execution_manifest_digest": null,
124
+ "target_revision_ref": {
125
+ "id": "target-speaker-pilot",
126
+ "version": "4",
127
+ "digest": "c0bb5bd9f5d85ae64bea2b605eab8201a74e71bf95f2baf18ec6bab8399e94b7"
128
+ },
129
+ "legacy": {
130
+ "workflow": "user-journey-hardware",
131
+ "definition_digest": "6f315915b17bb5b7824fa43a502d1a625ab94fd0da73e5a9a808a7686a67c4c4",
132
+ "input_digest": "bf8c9ff933c04826fbfaf144d0ccf482e74e982bcb4620efdcf73142f43f8633",
133
+ "legacy_run_id": "wf-7f3a9c"
134
+ },
135
+ "started_at": "2026-11-02T08:02:00Z",
136
+ "steps": [
137
+ {
138
+ "attempt": 1,
139
+ "wait": null,
140
+ "error": null,
141
+ "operation": null,
142
+ "outputs": [
143
+ {
144
+ "artifact_ref": {
145
+ "id": "hardware-slots-speaker-pilot",
146
+ "version": "3",
147
+ "digest": "9b244a52fac33a78a8def5148cb898ce51cb48beb53c23edd501c8065fda4f25"
148
+ },
149
+ "schema": "abelien.hardware-slots.v1",
150
+ "quality": "ready",
151
+ "applicability": {
152
+ "state": "current",
153
+ "reasons": []
154
+ }
155
+ }
156
+ ],
157
+ "step_execution_id": "legacy-uj-hw-7f3a:classify-hardware",
158
+ "step_definition_id": "classify-hardware",
159
+ "kind": "model",
160
+ "state": "succeeded"
161
+ },
162
+ {
163
+ "attempt": 1,
164
+ "wait": null,
165
+ "error": null,
166
+ "operation": {
167
+ "operation_id": "op-search-1",
168
+ "action_id": "hardware.search",
169
+ "state": "succeeded",
170
+ "submission_state": "accepted"
171
+ },
172
+ "outputs": [],
173
+ "step_execution_id": "legacy-uj-hw-7f3a:search",
174
+ "step_definition_id": "search",
175
+ "kind": "cli",
176
+ "state": "succeeded"
177
+ },
178
+ {
179
+ "attempt": 1,
180
+ "wait": null,
181
+ "error": null,
182
+ "operation": {
183
+ "operation_id": "op-select-1",
184
+ "action_id": "hardware.select",
185
+ "state": "succeeded",
186
+ "submission_state": "accepted"
187
+ },
188
+ "outputs": [
189
+ {
190
+ "artifact_ref": {
191
+ "id": "selection-1a2b3c4d5e6f7a8b",
192
+ "version": "r-1a2b3c4d5e6f",
193
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
194
+ },
195
+ "schema": "abelien.hardware-selection.v1",
196
+ "quality": "ready",
197
+ "applicability": {
198
+ "state": "current",
199
+ "reasons": []
200
+ }
201
+ }
202
+ ],
203
+ "step_execution_id": "legacy-uj-hw-7f3a:select",
204
+ "step_definition_id": "select",
205
+ "kind": "cli",
206
+ "state": "succeeded"
207
+ },
208
+ {
209
+ "attempt": 1,
210
+ "wait": {
211
+ "kind": "confirmation",
212
+ "confirmation_id": "card-hw-1",
213
+ "subject": {
214
+ "object_ref": {
215
+ "id": "selection-1a2b3c4d5e6f7a8b",
216
+ "version": "r-1a2b3c4d5e6f",
217
+ "digest": "bafbd8c9cb6f162b628effdac94301aeb0274389c4dfa88d61cec20d3c742ea9"
218
+ },
219
+ "version": "4",
220
+ "option_semantics_version": 1
221
+ }
222
+ },
223
+ "error": null,
224
+ "operation": null,
225
+ "outputs": [],
226
+ "step_execution_id": "legacy-uj-hw-7f3a:confirm-hardware",
227
+ "step_definition_id": "confirm-hardware",
228
+ "kind": "wait",
229
+ "state": "waiting"
230
+ }
231
+ ]
232
+ }
233
+ },
234
+ {
235
+ "attempt": 1,
236
+ "wait": null,
237
+ "error": null,
238
+ "operation": null,
239
+ "outputs": [],
240
+ "step_execution_id": "se-points-1",
241
+ "step_definition_id": "points",
242
+ "kind": "model",
243
+ "state": "running",
244
+ "stage": "hardware",
245
+ "lane": "points",
246
+ "started_at": "2026-11-02T08:02:00Z"
247
+ },
248
+ {
249
+ "attempt": 1,
250
+ "wait": {
251
+ "kind": "external_task",
252
+ "operation_id": "op-algorithm-research-1",
253
+ "remote_task_id": "ark-task-9f2c"
254
+ },
255
+ "error": null,
256
+ "operation": {
257
+ "operation_id": "op-algorithm-research-1",
258
+ "action_id": "algorithm.research",
259
+ "state": "accepted",
260
+ "submission_state": "accepted"
261
+ },
262
+ "outputs": [],
263
+ "step_execution_id": "se-algorithm-research-1",
264
+ "step_definition_id": "algorithm_research",
265
+ "kind": "cli",
266
+ "state": "waiting",
267
+ "stage": "hardware",
268
+ "lane": "algorithm"
269
+ }
270
+ ]
271
+ }
272
+ }