abelien-harness 0.16.1 → 0.17.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 (320) hide show
  1. package/.env.example +1 -1
  2. package/README.md +7 -10
  3. package/package.json +2 -1
  4. package/skills/abelien-3dgen/domain.json +1 -1
  5. package/skills/abelien-algorithm/SKILL.md +13 -24
  6. package/skills/abelien-algorithm/actions/algorithm.finalize.json +7 -2
  7. package/skills/abelien-algorithm/actions/algorithm.research.json +9 -4
  8. package/skills/abelien-algorithm/bindings.json +0 -13
  9. package/skills/abelien-algorithm/contract/host-tools.generated.json +2438 -223
  10. package/skills/abelien-algorithm/domain.json +6 -23
  11. package/skills/abelien-algorithm/references/actions/algorithm.candidates.generated.md +39 -7
  12. package/skills/abelien-algorithm/references/actions/algorithm.finalize.generated.md +40 -11
  13. package/skills/abelien-algorithm/references/actions/algorithm.research.generated.md +78 -10
  14. package/skills/abelien-algorithm/references/actions.generated.md +2 -3
  15. package/skills/abelien-algorithm/references/research-policy.md +5 -5
  16. package/skills/abelien-algorithm/references/selection-service-contract.md +19 -20
  17. package/skills/abelien-algorithm/schemas/algorithm-bindings.v1.json +42 -18
  18. package/skills/abelien-algorithm/schemas/algorithm-candidates.v1.json +9 -4
  19. package/skills/abelien-algorithm/schemas/algorithm-common.v1.json +104 -2
  20. package/skills/abelien-algorithm/schemas/algorithm-flow-input.v1.json +181 -0
  21. package/skills/abelien-algorithm/schemas/candidates-input.v1.json +3 -3
  22. package/skills/abelien-algorithm/schemas/candidates-result.v1.json +3 -3
  23. package/skills/abelien-algorithm/schemas/finalize-input.v1.json +6 -6
  24. package/skills/abelien-algorithm/schemas/finalize-result.v1.json +12 -4
  25. package/skills/abelien-algorithm/schemas/research-input.v1.json +1 -2
  26. package/skills/abelien-algorithm/schemas/research-result.v1.json +4 -2
  27. package/skills/abelien-algorithm/scripts/candidates.mjs +63 -26
  28. package/skills/abelien-algorithm/scripts/evidence.mjs +17 -6
  29. package/skills/abelien-algorithm/scripts/finalize-selection.mjs +107 -34
  30. package/skills/abelien-algorithm/scripts/hardware-revision.mjs +48 -0
  31. package/skills/abelien-algorithm/scripts/research.mjs +78 -28
  32. package/skills/abelien-algorithm/workflows/user-journey-algorithm.json +7 -6
  33. package/skills/abelien-appearance/actions/appearance.points-fallback.json +1 -1
  34. package/skills/abelien-appearance/contract/host-tools.generated.json +3 -2
  35. package/skills/abelien-appearance/domain.json +1 -1
  36. package/skills/abelien-appearance/references/actions/appearance.points-fallback.generated.md +3 -3
  37. package/skills/abelien-appearance/references/points.md +1 -1
  38. package/skills/abelien-appearance/schemas/points-fallback-input.v1.json +2 -2
  39. package/skills/abelien-appearance/scripts/points.mjs +1 -0
  40. package/skills/abelien-clarify/SKILL.md +2 -2
  41. package/skills/abelien-clarify/domain.json +1 -1
  42. package/skills/abelien-clarify/schemas/skill-result.v1.json +10 -0
  43. package/skills/abelien-clarify/scripts/check_result.py +4 -1
  44. package/skills/abelien-clarify/scripts/test_check_result.py +18 -0
  45. package/skills/abelien-guide/SKILL.md +1 -1
  46. package/skills/abelien-hardware/actions/hardware.guide.json +7 -1
  47. package/skills/abelien-hardware/actions/hardware.search.json +10 -0
  48. package/skills/abelien-hardware/actions/hardware.web-search.json +5 -0
  49. package/skills/abelien-hardware/bindings.json +0 -42
  50. package/skills/abelien-hardware/contract/hardware-journey-orchestration.md +1 -1
  51. package/skills/abelien-hardware/contract/host-tools.generated.json +481 -185
  52. package/skills/abelien-hardware/domain.json +4 -5
  53. package/skills/abelien-hardware/references/actions/hardware.guide.generated.md +3 -1
  54. package/skills/abelien-hardware/references/actions/hardware.search.generated.md +41 -1
  55. package/skills/abelien-hardware/references/actions/hardware.selection-recall.generated.md +2 -1
  56. package/skills/abelien-hardware/references/actions/hardware.web-merge.generated.md +50 -12
  57. package/skills/abelien-hardware/references/actions/hardware.web-search.generated.md +23 -0
  58. package/skills/abelien-hardware/references/actions.generated.md +0 -2
  59. package/skills/abelien-hardware/references/selection-service-contract.md +8 -0
  60. package/skills/abelien-hardware/schemas/classify-reply.v1.json +12 -0
  61. package/skills/abelien-hardware/schemas/extract-reply.v1.json +16 -0
  62. package/skills/abelien-hardware/schemas/hardware-candidates-flow-input.v1.json +16 -0
  63. package/skills/abelien-hardware/schemas/hardware-carry-flow-input.v1.json +36 -0
  64. package/skills/abelien-hardware/schemas/hardware-flow-input.v1.json +16 -0
  65. package/skills/abelien-hardware/schemas/hardware-replace-flow-input.v1.json +32 -0
  66. package/skills/abelien-hardware/schemas/hardware-selection.v2.json +10 -4
  67. package/skills/abelien-hardware/schemas/host-tools-input.v1.json +1 -33
  68. package/skills/abelien-hardware/schemas/proposal-reply.v1.json +7 -0
  69. package/skills/abelien-hardware/schemas/recall-tables.v1.json +247 -0
  70. package/skills/abelien-hardware/schemas/replace-plan-reply.v1.json +27 -0
  71. package/skills/abelien-hardware/schemas/review-reply.v1.json +16 -0
  72. package/skills/abelien-hardware/schemas/search-input.v1.json +1 -1
  73. package/skills/abelien-hardware/schemas/search-result.v1.json +2 -1
  74. package/skills/abelien-hardware/schemas/select-reply.v1.json +7 -0
  75. package/skills/abelien-hardware/schemas/web-merge-input.v1.json +12 -12
  76. package/skills/abelien-hardware/schemas/web-merge-result.v1.json +2 -1
  77. package/skills/abelien-hardware/schemas/web-search-result.v1.json +2 -1
  78. package/skills/abelien-hardware/scripts/oss-wiki-search.mjs +82 -19
  79. package/skills/abelien-hardware/scripts/prismer.mjs +3 -1
  80. package/skills/abelien-hardware/scripts/provider-chain-contract.mjs +26 -0
  81. package/skills/abelien-hardware/scripts/result-schemas.mjs +14 -0
  82. package/skills/abelien-hardware/scripts/select.mjs +24 -12
  83. package/skills/abelien-hardware/scripts/selection-model.mjs +3 -0
  84. package/skills/abelien-hardware/scripts/selection-propose.mjs +12 -10
  85. package/skills/abelien-hardware/scripts/selection-recall.mjs +24 -18
  86. package/skills/abelien-hardware/scripts/volc-web-search.mjs +1 -1
  87. package/skills/abelien-hardware/scripts/web-common.mjs +3 -3
  88. package/skills/abelien-hardware/scripts/web-evidence-storage.mjs +8 -0
  89. package/skills/abelien-hardware/scripts/web-merge.mjs +134 -46
  90. package/skills/abelien-hardware/scripts/web-pdf.mjs +4 -1
  91. package/skills/abelien-hardware/scripts/web-provider-chain.mjs +4 -2
  92. package/skills/abelien-hardware/scripts/wiki-content.mjs +46 -0
  93. package/skills/abelien-hardware/workflows/definitions/07a5d69cf67108f65a466bcb78c03c259d4665405f5c86eb49cc0c6fcac6c658.json +377 -0
  94. package/skills/abelien-hardware/workflows/definitions/0c2fa0e6a2f0dd2c61dcc396174c0ebc74a0aa6283ecb020467550ef726c48e7.json +145 -0
  95. package/skills/abelien-hardware/workflows/definitions/0e9aee1087fab30733fa5a73da252e06d949ecf2a5ee3e97dd06191b5f10d0ff.json +377 -0
  96. package/skills/abelien-hardware/workflows/definitions/145631bcfe0ed2c06af2ccb88f46c3749f3f1d5390dc764a7900208d26f232ea.json +309 -0
  97. package/skills/abelien-hardware/workflows/definitions/184bb6e58daaaccabd651bf42a43b65766da7f7c73c3d3c427d7540324b60ae9.json +437 -0
  98. package/skills/abelien-hardware/workflows/definitions/1d3ec4710a0b6b94dad6b20fd23b31e36e47a8d0bf6807ccbee2a6af53b3133d.json +448 -0
  99. package/skills/abelien-hardware/workflows/definitions/1eff11d69d85f1542b7dc46d90498ff0025a97a3066cbfd30adb09b882e2c3a7.json +438 -0
  100. package/skills/abelien-hardware/workflows/definitions/20453618dcbb5262713342ba2ee006c8a235ab473a32401e1389fa655c34793d.json +389 -0
  101. package/skills/abelien-hardware/workflows/definitions/2d2f040e51ea401ed1913eb1f92cb753d14bd699ebdabfdac408064e9448496f.json +296 -0
  102. package/skills/abelien-hardware/workflows/definitions/2d3819d7f9de9999755e5b4887e9185925e5ae19b3d30b3a0cc9ff4ceedc95db.json +392 -0
  103. package/skills/abelien-hardware/workflows/definitions/38ee23450becf81ee19d29ffbdf715cd02dbaac66fc447e52bb7c34c17d3e648.json +447 -0
  104. package/skills/abelien-hardware/workflows/definitions/3f98517ff28cea95c3402b1c36c3b14888d05a2856c7b6e168dee416b418e53e.json +307 -0
  105. package/skills/abelien-hardware/workflows/definitions/44818c5ac8cde303c0b3b60f5b01c7f680e67c6ab848b56f914f3b19e7dc4a10.json +297 -0
  106. package/skills/abelien-hardware/workflows/definitions/4c35db9add116e824c1da4ddb359fd7d9485911957a70696fcb46855ef38fcda.json +387 -0
  107. package/skills/abelien-hardware/workflows/definitions/50ea928ec99c92ced34003fb460c4577099112b08e8eebe3833b7501f15a2da5.json +452 -0
  108. package/skills/abelien-hardware/workflows/definitions/5269f4b4aeefbe148ae6100557462d3e8af0cd47444d7f3f0e9f493c6646a3a2.json +309 -0
  109. package/skills/abelien-hardware/workflows/definitions/5b1639e607a9b2d8e43d355d01bb9454e43c09216f9da15816223ae643fc4f8b.json +377 -0
  110. package/skills/abelien-hardware/workflows/definitions/5f19c2a16ec3a8fdee759cd0edbbe1c774e564f76a968cd693e49f10eb70509c.json +313 -0
  111. package/skills/abelien-hardware/workflows/definitions/64031f26c71b5940a53613e6434974b97910d80d48f0b9ffc3852283e9fbdc6e.json +388 -0
  112. package/skills/abelien-hardware/workflows/definitions/6925478172e8faa6b05d7c0aa81a34713e4dfd13befa5182da0854c36e2a2c0b.json +443 -0
  113. package/skills/abelien-hardware/workflows/definitions/70323801ae0919cf2db88538d280801bd39674d7b4e4a72551e2aecdbd836f18.json +303 -0
  114. package/skills/abelien-hardware/workflows/definitions/720ae54ed7871edee19e1d728c7255e63a0fb5a2cb5a9ca36edc2e72513e8585.json +310 -0
  115. package/skills/abelien-hardware/workflows/definitions/7c99690da295664767c579ce64b8fdc944a9f12999497042a3a26368b4485d3a.json +437 -0
  116. package/skills/abelien-hardware/workflows/definitions/8e7330bfd83bcc452dc2ef50c5ef16a03d63156952cf536468fe62457a20ef04.json +448 -0
  117. package/skills/abelien-hardware/workflows/definitions/9be15a6d5078d5296340c01177cab9b7d8df924ac405f29924d7d5b8842e4b15.json +452 -0
  118. package/skills/abelien-hardware/workflows/definitions/b3b472e817443960f3fb209c7561947b93350cd4c7538052a2b65362cd207576.json +449 -0
  119. package/skills/abelien-hardware/workflows/definitions/bc48eca9a43214ec0687bcc5361cf68325692e498129965425203682e76cc58f.json +312 -0
  120. package/skills/abelien-hardware/workflows/definitions/bfe4a2d363de928f22aaa1acf58c71ff14b1f0dbc40716da0547a3bac2856704.json +376 -0
  121. package/skills/abelien-hardware/workflows/definitions/c338d59553c9e51e7dc79c19bd8599658b7bb186550e232dc47771a102faf2b6.json +297 -0
  122. package/skills/abelien-hardware/workflows/definitions/ce9380dbb4886a5237665b16e1b19784a52e604c15817914589a86d4d81d9034.json +388 -0
  123. package/skills/abelien-hardware/workflows/definitions/d560de3b0aeeaf9447f7bf2d7f831d638067ab7f6cd028527c892ff623ccd00d.json +297 -0
  124. package/skills/abelien-hardware/workflows/definitions/e31a1d0f33e2980b828dd670879f8ac78344426bfaa7faef1551f50b7b6ba8d0.json +437 -0
  125. package/skills/abelien-hardware/workflows/definitions/f12ea33699b795215620ca81b01052ed76ce79c53796cc2f71166c3cc28cbc54.json +392 -0
  126. package/skills/abelien-hardware/workflows/definitions/fd0c57ea806fbf9c46f313c3905bdfa49f5a1207689551cb3b60ffde3cb23f08.json +383 -0
  127. package/skills/abelien-hardware/workflows/user-journey-hardware-candidates.json +107 -21
  128. package/skills/abelien-hardware/workflows/user-journey-hardware-carry.json +1 -0
  129. package/skills/abelien-hardware/workflows/user-journey-hardware-replace.json +125 -24
  130. package/skills/abelien-hardware/workflows/user-journey-hardware.json +107 -22
  131. package/skills/abelien-harness/SKILL.md +2 -2
  132. package/skills/abelien-harness/contract/action-registry.md +2 -2
  133. package/skills/abelien-harness/contract/fixtures/studio-harness-receipt-v1.json +6 -11
  134. package/skills/abelien-harness/contract/kernel-protocol.md +2 -2
  135. package/skills/abelien-harness/contract/workflow-spec.md +23 -27
  136. package/skills/abelien-harness/contracts/README.md +6 -2
  137. package/skills/abelien-harness/contracts/examples/ModelProfile/invalid-image-detail-low.json +28 -0
  138. package/skills/abelien-harness/contracts/examples/ModelProfile/invalid-missing-output-reserve.json +27 -0
  139. package/skills/abelien-harness/contracts/examples/ModelProfile/valid-deepseek-v4-1-flash.json +28 -0
  140. package/skills/abelien-harness/contracts/examples/expectations.json +8 -0
  141. package/skills/abelien-harness/contracts/index.d.mts +16 -1
  142. package/skills/abelien-harness/contracts/index.mjs +60 -0
  143. package/skills/abelien-harness/contracts/model-profiles/deepseek-v4-1-flash-260910.json +28 -0
  144. package/skills/abelien-harness/contracts/ports/ports.d.ts +5 -0
  145. package/skills/abelien-harness/contracts/schemas/action.v1.json +1 -0
  146. package/skills/abelien-harness/contracts/schemas/confirmation.v1.json +8 -0
  147. package/skills/abelien-harness/contracts/schemas/cross-domain.v1.json +141 -0
  148. package/skills/abelien-harness/contracts/schemas/model-profile.v1.json +157 -0
  149. package/skills/abelien-harness/contracts/schemas/store.v1.json +2 -2
  150. package/skills/abelien-harness/contracts/types.d.ts +28 -1
  151. package/skills/abelien-harness/runtime/README.md +35 -16
  152. package/skills/abelien-harness/runtime/actions.mjs +1 -1
  153. package/skills/abelien-harness/runtime/conformance/README.md +2 -0
  154. package/skills/abelien-harness/runtime/conformance/artifact-store.mjs +28 -1
  155. package/skills/abelien-harness/runtime/conformance/fixtures.mjs +12 -0
  156. package/skills/abelien-harness/runtime/data-contracts.mjs +52 -0
  157. package/skills/abelien-harness/runtime/engine.mjs +187 -20
  158. package/skills/abelien-harness/runtime/errors.mjs +7 -4
  159. package/skills/abelien-harness/runtime/executors.mjs +12 -0
  160. package/skills/abelien-harness/runtime/flow-graph.mjs +14 -1
  161. package/skills/abelien-harness/runtime/graph.mjs +48 -7
  162. package/skills/abelien-harness/runtime/index.mjs +11 -6
  163. package/skills/abelien-harness/runtime/kernel.mjs +20 -1
  164. package/skills/abelien-harness/runtime/model-actions.md +9 -1
  165. package/skills/abelien-harness/runtime/model-actions.mjs +15 -2
  166. package/skills/abelien-harness/runtime/snapshot.mjs +2 -42
  167. package/skills/abelien-harness/runtime/task-view/README.md +7 -5
  168. package/skills/abelien-harness/runtime/task-view/index.mjs +40 -17
  169. package/skills/abelien-harness/runtime/testing/index.mjs +26 -1
  170. package/skills/abelien-harness/runtime/workflow/cli-actions.mjs +29 -0
  171. package/skills/abelien-harness/runtime/workflow/{legacy-flow.mjs → compile.mjs} +19 -15
  172. package/skills/abelien-harness/runtime/{legacy → workflow}/definitions.mjs +15 -47
  173. package/skills/abelien-harness/runtime/{legacy → workflow}/external-recovery.mjs +1 -1
  174. package/skills/abelien-harness/runtime/workflow/flows.mjs +25 -4
  175. package/skills/abelien-harness/runtime/workflow/httl.mjs +3 -3
  176. package/skills/abelien-harness/runtime/workflow/index.mjs +17 -36
  177. package/skills/abelien-harness/runtime/workflow/view.mjs +3 -3
  178. package/skills/abelien-harness/scripts/ab.mjs +13 -18
  179. package/skills/abelien-harness/scripts/action-registry.mjs +22 -3
  180. package/skills/abelien-harness/scripts/calc/errors.mjs +7 -0
  181. package/skills/abelien-harness/scripts/calc/evaluate.mjs +364 -0
  182. package/skills/abelien-harness/scripts/calc/expression.mjs +136 -0
  183. package/skills/abelien-harness/scripts/calc/index.mjs +10 -0
  184. package/skills/abelien-harness/scripts/calc/quantities.mjs +104 -0
  185. package/skills/abelien-harness/scripts/calc/rational.mjs +125 -0
  186. package/skills/abelien-harness/scripts/calc/units.mjs +60 -0
  187. package/skills/abelien-harness/scripts/generate3d-host.mjs +2 -1
  188. package/skills/abelien-harness/scripts/generate3d.mjs +9 -8
  189. package/skills/abelien-harness/scripts/receipt.mjs +9 -98
  190. package/skills/abelien-harness/scripts/store.mjs +0 -2
  191. package/skills/abelien-harness/scripts/studio.mjs +5 -7
  192. package/skills/abelien-harness/scripts/web/common.mjs +6 -1
  193. package/skills/abelien-harness/scripts/web/pdf-reader.mjs +3 -2
  194. package/skills/abelien-harness/scripts/web/public-read.mjs +30 -4
  195. package/skills/abelien-harness/scripts/web/safe-text.mjs +95 -0
  196. package/skills/abelien-harness/scripts/web/search.mjs +1 -1
  197. package/skills/abelien-harness/scripts/web/source-registry.mjs +21 -2
  198. package/skills/abelien-harness/scripts/web/vision.mjs +7 -5
  199. package/skills/abelien-harness/scripts/web/volc.mjs +43 -7
  200. package/skills/abelien-reference/actions/reference.research.json +5 -0
  201. package/skills/abelien-reference/contract/host-responsibilities.md +1 -0
  202. package/skills/abelien-reference/contract/host-tools.generated.json +2 -2
  203. package/skills/abelien-reference/domain.json +1 -1
  204. package/skills/abelien-reference/references/actions/reference.research.generated.md +1 -0
  205. package/skills/abelien-reference/references/research-contract.md +1 -1
  206. package/skills/abelien-reference/scripts/evidence.mjs +1 -1
  207. package/skills/abelien-reference/scripts/finalize.mjs +14 -6
  208. package/skills/abelien-reference/scripts/image-import.mjs +90 -0
  209. package/skills/abelien-reference/scripts/research.mjs +22 -23
  210. package/skills/abelien-structure/SKILL.md +2 -8
  211. package/skills/abelien-structure/actions/cad.assets.json +22 -1
  212. package/skills/abelien-structure/actions/cad.build.json +32 -1
  213. package/skills/abelien-structure/actions/cad.fallback.json +27 -1
  214. package/skills/abelien-structure/actions/cad.precheck.json +21 -1
  215. package/skills/abelien-structure/actions/structure.cad-assemble.json +1 -1
  216. package/skills/abelien-structure/actions/structure.cad-check.json +2 -2
  217. package/skills/abelien-structure/contract/host-tools.generated.json +77 -12
  218. package/skills/abelien-structure/domain.json +3 -2
  219. package/skills/abelien-structure/flows/user-journey-cad.json +2 -2
  220. package/skills/abelien-structure/references/actions/cad.assets.generated.md +6 -1
  221. package/skills/abelien-structure/references/actions/cad.build.generated.md +8 -1
  222. package/skills/abelien-structure/references/actions/cad.fallback.generated.md +7 -1
  223. package/skills/abelien-structure/references/actions/cad.precheck.generated.md +5 -1
  224. package/skills/abelien-structure/references/actions/structure.cad-assemble.generated.md +3 -3
  225. package/skills/abelien-structure/references/actions/structure.cad-check.generated.md +2 -2
  226. package/skills/abelien-structure/references/actions/structure.layout-request.generated.md +17 -0
  227. package/skills/abelien-structure/references/actions.generated.md +1 -1
  228. package/skills/abelien-structure/references/cad-functions.generated.md +43 -2
  229. package/skills/abelien-structure/references/cad-modules.md +4 -4
  230. package/skills/abelien-structure/references/handoff.md +2 -2
  231. package/skills/abelien-structure/references/skeleton.md +12 -2
  232. package/skills/abelien-structure/schemas/cad-flow-input.v1.json +1 -1
  233. package/skills/abelien-structure/schemas/cad-modules.v1.json +2 -2
  234. package/skills/abelien-structure/schemas/cad-result.v1.json +1 -1
  235. package/skills/abelien-structure/schemas/layout-request-input.v1.json +25 -1
  236. package/skills/abelien-structure/scripts/cad.mjs +61 -8
  237. package/skills/abelien-structure/scripts/layout.mjs +56 -1
  238. package/skills/abelien-structure/scripts/schemas.mjs +1 -1
  239. package/skills/abelien-structure-worker/SKILL.md +2 -0
  240. package/skills/abelien-structure-worker/domain.json +1 -1
  241. package/skills/abelien-structure-worker/worker/abelien_cad.py +223 -62
  242. package/skills/abelien-structure-worker/worker/cad.py +441 -91
  243. package/skills/abelien-structure-worker/worker/jobs.mjs +12 -2
  244. package/skills/abelien-structure-worker/worker/source-contract.mjs +3 -2
  245. package/skills/abelien-workspace/SKILL.md +8 -7
  246. package/skills/abelien-workspace/actions/calc.evaluate.json +23 -0
  247. package/skills/abelien-workspace/actions/image.generate.json +27 -1
  248. package/skills/abelien-workspace/actions/image.import.json +27 -1
  249. package/skills/abelien-workspace/actions/reference.image-import.json +64 -0
  250. package/skills/abelien-workspace/actions/step.tool-result.json +27 -0
  251. package/skills/abelien-workspace/actions/studio.prepare.json +17 -1
  252. package/skills/abelien-workspace/actions/visual.review.json +27 -1
  253. package/skills/abelien-workspace/assets/creation-start-flow.json +1 -0
  254. package/skills/abelien-workspace/assets/hardware-reselect-flow.json +2 -1
  255. package/skills/abelien-workspace/assets/journey-stage-plan.json +339 -25
  256. package/skills/abelien-workspace/assets/lane-plan.json +11 -10
  257. package/skills/abelien-workspace/bindings.json +38 -35
  258. package/skills/abelien-workspace/contract/host-binding.md +24 -6
  259. package/skills/abelien-workspace/contract/host-tools.generated.json +1514 -545
  260. package/skills/abelien-workspace/domain.json +18 -51
  261. package/skills/abelien-workspace/flows/creation.create.json +265 -38
  262. package/skills/abelien-workspace/flows/creation.modify.json +265 -38
  263. package/skills/abelien-workspace/flows/creation.remix.json +44 -13
  264. package/skills/abelien-workspace/flows/creation.restore.json +364 -42
  265. package/skills/abelien-workspace/references/actions/calc.evaluate.generated.md +86 -0
  266. package/skills/abelien-workspace/references/actions/image.generate.generated.md +7 -1
  267. package/skills/abelien-workspace/references/actions/image.import.generated.md +7 -1
  268. package/skills/abelien-workspace/references/actions/question.card.generated.md +3 -3
  269. package/skills/abelien-workspace/references/actions/reference.image-import.generated.md +78 -0
  270. package/skills/abelien-workspace/references/actions/step.tool-result.generated.md +50 -0
  271. package/skills/abelien-workspace/references/actions/studio.prepare.generated.md +23 -2
  272. package/skills/abelien-workspace/references/actions/visual.review.generated.md +7 -1
  273. package/skills/abelien-workspace/references/actions/workspace.hardware-reselect-input.generated.md +62 -24
  274. package/skills/abelien-workspace/references/actions/workspace.intake-complete.generated.md +5 -0
  275. package/skills/abelien-workspace/references/actions/workspace.intake-route.generated.md +5 -0
  276. package/skills/abelien-workspace/references/actions/workspace.intake-wait.generated.md +5 -0
  277. package/skills/abelien-workspace/references/actions.generated.md +3 -3
  278. package/skills/abelien-workspace/references/creation-intake.md +2 -0
  279. package/skills/abelien-workspace/references/delivery-policy.md +3 -1
  280. package/skills/abelien-workspace/references/flow-input-contracts.md +23 -0
  281. package/skills/abelien-workspace/references/harness-binding.md +14 -11
  282. package/skills/abelien-workspace/references/journey-stage-plan.md +47 -14
  283. package/skills/abelien-workspace/references/product-flow.md +7 -7
  284. package/skills/abelien-workspace/references/user-journey.md +6 -6
  285. package/skills/abelien-workspace/schemas/calc.v1.json +112 -0
  286. package/skills/abelien-workspace/schemas/creation-flow-input.v1.json +24 -0
  287. package/skills/abelien-workspace/schemas/hardware-reselect-input.v1.json +1 -1
  288. package/skills/abelien-workspace/schemas/host-ack-reply.v1.json +12 -0
  289. package/skills/abelien-workspace/schemas/host-tools.v1.json +155 -14
  290. package/skills/abelien-workspace/schemas/plan-common.v1.json +3 -1
  291. package/skills/abelien-workspace/schemas/reference-image-import-input.v1.json +23 -0
  292. package/skills/abelien-workspace/schemas/reference-image.v1.json +55 -0
  293. package/skills/abelien-workspace/schemas/skeleton-model-reply.v1.json +10 -0
  294. package/skills/abelien-workspace/schemas/stored-result-reply.v1.json +12 -0
  295. package/skills/abelien-workspace/scripts/calc.mjs +109 -0
  296. package/skills/abelien-workspace/scripts/creation-tasks.mjs +212 -50
  297. package/skills/abelien-workspace/scripts/flow-compile.mjs +26 -8
  298. package/skills/abelien-workspace/scripts/plans.mjs +18 -7
  299. package/skills/abelien-algorithm/actions/algorithm.lane-state.json +0 -38
  300. package/skills/abelien-algorithm/references/actions/algorithm.lane-state.generated.md +0 -67
  301. package/skills/abelien-algorithm/schemas/lane-state-input.v1.json +0 -14
  302. package/skills/abelien-algorithm/schemas/lane-state-result.v1.json +0 -14
  303. package/skills/abelien-algorithm/scripts/lane-state.mjs +0 -27
  304. package/skills/abelien-hardware/actions/hardware.prepare.json +0 -28
  305. package/skills/abelien-hardware/actions/hardware.web-extract.json +0 -28
  306. package/skills/abelien-hardware/references/actions/hardware.prepare.generated.md +0 -38
  307. package/skills/abelien-hardware/references/actions/hardware.web-extract.generated.md +0 -36
  308. package/skills/abelien-harness/runtime/legacy/workflow-store.mjs +0 -183
  309. package/skills/abelien-workspace/actions/component.search.json +0 -27
  310. package/skills/abelien-workspace/actions/workspace.journey-next.json +0 -30
  311. package/skills/abelien-workspace/actions/workspace.lanes-next.json +0 -30
  312. package/skills/abelien-workspace/references/actions/component.search.generated.md +0 -35
  313. package/skills/abelien-workspace/references/actions/workspace.journey-next.generated.md +0 -89
  314. package/skills/abelien-workspace/references/actions/workspace.lanes-next.generated.md +0 -59
  315. package/skills/abelien-workspace/schemas/journey-next-input.v1.json +0 -52
  316. package/skills/abelien-workspace/schemas/journey-next-result.v1.json +0 -92
  317. package/skills/abelien-workspace/schemas/lanes-next-input.v1.json +0 -49
  318. package/skills/abelien-workspace/schemas/lanes-next-result.v1.json +0 -54
  319. package/skills/abelien-workspace/scripts/journey-next.mjs +0 -73
  320. package/skills/abelien-workspace/scripts/lanes-next.mjs +0 -36
package/.env.example CHANGED
@@ -73,7 +73,7 @@ ABELIEN_HARDWARE_WEB_PAGE_TIMEOUT_MS=30000
73
73
  ABELIEN_HARDWARE_WEB_PARSE_TIMEOUT_MS=120000
74
74
  # system or explicit fixed Cloudflare doh; direct source connections/redirects pin public IP.
75
75
  # The submitted URL check alone does not certify remote Prismer redirect pinning.
76
- ABELIEN_HARDWARE_WEB_DNS_TRANSPORT=system
76
+ ABELIEN_WEB_DNS_TRANSPORT=system
77
77
 
78
78
  # Opt-in audit v1: generic workflow definition snapshots and new evidence blobs.
79
79
  # Hardware pinned-result-v1 always pins definitions/results; legacy selection runs stay read-only.
package/README.md CHANGED
@@ -49,7 +49,7 @@ npm 上尚无 `abelien-harness` 发布工件(见下文「生产 Studio broker
49
49
  ## `ab` 命令速查
50
50
 
51
51
  运行时随内核 bundle 分发:`node <skills目录>/abelien-harness/scripts/ab.mjs <命令>`
52
- (零 npm 依赖,不依赖全局 PATH / `.bin`)。状态存于 workdir 的 `.abelien/`,
52
+ (零 npm 依赖,不依赖全局 PATH / `.bin`)。本机状态经 runtime 文件端口存于 workdir 的 `.abelien/`,
53
53
  跨目录操作加 `--workdir <dir>`。
54
54
 
55
55
  ```text
@@ -92,7 +92,7 @@ EaaS 后执行 `abelien-harness receipt consume --file ... --workdir ...`,并
92
92
  读取已保存 envelope。聊天正文不是工具结果事实源。
93
93
 
94
94
  consume 的 `status:"consumed"` 只确认落盘:它不调用 `workflow advance`,也不完成当前 Agent step。
95
- 重复同摘要幂等;同 wait 不同摘要冲突;取消或终态运行仍保存回执,但 workflow 观察会标为 terminal,
95
+ 重复同摘要幂等;同 wait 不同摘要冲突;取消或终态运行仍保存回执,新收件不读取旧文件来授予恢复权,
96
96
  不会伪造恢复。完整 envelope、路径、锁和摘要契约见
97
97
  [workflow 规范](skills/abelien-harness/contract/workflow-spec.md#studio-工具回执收件箱)。
98
98
 
@@ -131,7 +131,7 @@ tool-receipt successor 与已有可信 runtime decision 也可以取得后续 co
131
131
  现行入口不再维护独立的“主控业务提示词”。宿主指令只交代身份、skills 的用途、读取/调用方式与授权边界;具体对话调度放在 guide,作品旅程与业务规则放在 workspace,领域工作放在对应 skill。它们可以由同一个宿主 Agent 执行,不需要额外的主控 Agent;旧 controller 文档仅作历史参考,不与 skills 流程重复注入。
132
132
 
133
133
  - 对话调度与沟通由 [abelien-guide](skills/abelien-guide/SKILL.md) 负责:组织上下文、调用领域 skill、呈现问题和结果;阶段、版本和确认条件统一读取 workspace。
134
- - 作品规则由 [abelien-workspace](skills/abelien-workspace/SKILL.md) 维护:完整 A1–C、采用与版本、组合检查、确认和交付恢复。新创作从 `creation.start` 进入,由 runtime 推进;`workspace.journey-next` 只投影阶段与规则。作品状态与产品服务的实际接入边界见 workspace 调用说明。
134
+ - 作品规则由 [abelien-workspace](skills/abelien-workspace/SKILL.md) 维护:完整 A1–C、采用与版本、组合检查、确认和交付恢复。作品从 `creation.start` 进入编译出的创作流程图,由 runtime 唯一推进;宿主提供状态存储、动作绑定和交互端口,使用 `createFlowResolver` 读取同一份流程定义;产品服务的实际接入边界见 workspace 调用说明。
135
135
  - 需求澄清为 [abelien-clarify](skills/abelien-clarify/SKILL.md):把用户原话整理成 requirements、区分用户事实与系统假设、只问阻塞当前操作的问题,附只读校验脚本;共用表达规则随 guide 的 references 分发。两者自 2026-10-11 起以本仓为唯一编辑源,直接在 `skills/abelien-clarify/` 与 `skills/abelien-guide/references/` 修改,见下文「快照来源」。
136
136
  - 各 bundle 均为标准 `SKILL.md`(含 name/description 与适用的 compatibility;不强制 license 字段或值,
137
137
  兼容 claude-code / hermes / pi),agent 按 description 触发词路由;claude-code 与
@@ -146,12 +146,7 @@ tool-receipt successor 与已有可信 runtime decision 也可以取得后续 co
146
146
 
147
147
  ## 产品旅程与 PRD
148
148
 
149
- 完整规则统一维护在 [workspace 用户旅程](skills/abelien-workspace/references/user-journey.md),旅程规则只有两处来源:正文维护 A1–C 判定与产品规则;A1 通过之后到交付首版的阶段顺序、逐阶段规则与允许动作只在[阶段计划](skills/abelien-workspace/assets/journey-stage-plan.json)维护,正文 §5 的一览由 `npm run render:journey-plan` 从它生成、测试比对;它同时写清每个节点真正依赖什么,按意图编译成 runtime 执行的[创作流程图](skills/abelien-workspace/references/product-flow.md)(`npm run render:flows`),`journey-next` 是这张图的阶段投影。新创作从 `creation.start` 提交冻结原话与上下文,由 runtime 推进并行、汇合、确认与降级;宿主读取运行结果并核对真实作品状态,不另按 `journey-next` 编写阶段循环。独立领域 workflow 仍可单独使用,其成功不等于作品完成。具体做法及旧实例处理见 [调用说明](skills/abelien-workspace/references/harness-binding.md)。
150
-
151
- ```bash
152
- node skills/abelien-harness/scripts/ab.mjs --workdir <作品工作目录> capability run workspace.journey-next --input '{"intent":"create","locks":{"shape":false},"artifacts":{"reference_final":true}}'
153
- # → 阶段投影、goal、directives 与 actions;实际创作按原 runtime 运行推进
154
- ```
149
+ 完整规则统一维护在 [workspace 用户旅程](skills/abelien-workspace/references/user-journey.md),旅程规则只有两处来源:正文维护 A1–C 判定与产品规则;A1 通过之后到交付首版的阶段顺序、逐阶段规则与允许动作只在[阶段计划](skills/abelien-workspace/assets/journey-stage-plan.json)维护,正文 §5 的一览由 `npm run render:journey-plan` 从它生成、测试比对;它同时写清每个节点真正依赖什么,按意图编译成 runtime 执行的[创作流程图](skills/abelien-workspace/references/product-flow.md)(`npm run render:flows`)。`creation.start` 负责入口与意图路由,产品图编排领域子流程、模型节点、确认卡和失败回流,由 runtime 推进。宿主经 `createFlowResolver` 读取同一份定义,并提供持久化、授权和工具端口;流程到达终态仍须核对采用、确认与交付条件。具体做法及旧实例处理见 [调用说明](skills/abelien-workspace/references/harness-binding.md)。
155
150
 
156
151
  ### PRD 随需求对话维护
157
152
 
@@ -239,6 +234,8 @@ skill-lint 双向守卫核对声明与实际 import 一致,打包校验再确
239
234
 
240
235
  ## 文档地图
241
236
 
237
+ 从[流程总览](docs/architecture/harness-flow-overview.md)了解 skills、动作与失败回流;按[数据契约](docs/architecture/data-contracts.md)分配工作流优化。当前接口冻结范围与复算证据见[冻结验证记录](docs/contracts/handoff-freeze-validation-2026-10-18.md)。
238
+
242
239
  完整产品用户旅程统一从 [Abelien 完整用户旅程](skills/abelien-workspace/references/user-journey.md) 阅读:两入口、A1–C 判断、修改回流、确认交付及分享预订。reference / mvp 保留来源与旧 mock 实录。
243
240
 
244
241
  `docs/` 分四层:**architecture**(本仓设计论述)→ **paradigms**(工程范式)→
@@ -246,7 +243,7 @@ skill-lint 双向守卫核对声明与实际 import 一致,打包校验再确
246
243
 
247
244
  | 层 | 篇目 | 一句话 |
248
245
  | --- | --- | --- |
249
- | architecture | [state-machine](docs/architecture/state-machine.md) / [workflow-persistence](docs/architecture/workflow-persistence.md) / [httl](docs/architecture/httl.md) / [host-adapters](docs/architecture/host-adapters.md) / [generate3d](docs/architecture/generate3d.md) / [structure](docs/architecture/structure.md) / [structure-worker](docs/architecture/structure-worker.md) / [structure-worker-protocol](docs/architecture/structure-worker-protocol.md) / [structure-cad-library](docs/architecture/structure-cad-library.md) / [structure-component-fit](docs/architecture/structure-component-fit.md) / [structure-worker-implementation](docs/architecture/structure-worker-implementation.md) / [question-card](docs/architecture/question-card.md) / [visualization-rsi](docs/architecture/visualization-rsi.md) | 双层 FSM · 定义即数据/实例即文件 · HTTL 协议 · claude-code/codex 双入口收敛 · 声明式 provider + 异步任务引擎 · 外观/结构协作边界 · 问题卡与 ACL 前端协议(contract-ready) · `ab --visual` 可视化与自进化收口 |
246
+ | architecture | [state-machine](docs/architecture/state-machine.md) / [workflow-persistence](docs/architecture/workflow-persistence.md) / [httl](docs/architecture/httl.md) / [host-adapters](docs/architecture/host-adapters.md) / [generate3d](docs/architecture/generate3d.md) / [structure](docs/architecture/structure.md) / [structure-worker](docs/architecture/structure-worker.md) / [structure-worker-protocol](docs/architecture/structure-worker-protocol.md) / [structure-cad-library](docs/architecture/structure-cad-library.md) / [structure-component-fit](docs/architecture/structure-component-fit.md) / [structure-worker-implementation](docs/architecture/structure-worker-implementation.md) / [question-card](docs/architecture/question-card.md) / [visualization-rsi](docs/architecture/visualization-rsi.md) | 双层 FSM · 定义固定/账本恢复 · HTTL 协议 · claude-code/codex 双入口收敛 · 声明式 provider + 异步任务引擎 · 外观/结构协作边界 · 问题卡与 ACL 前端协议(contract-ready) · `ab --visual` 可视化与自进化收口 |
250
247
  | paradigms | [README](docs/paradigms/README.md) + development / testing / evaluation / self-optimization | 场景工件是唯一事实源:测试测零件、评估测整车、优化答归因 |
251
248
  | reference | [product-journey](docs/reference/product-journey.md) / [research-notes](docs/reference/research-notes.md) / [verification-method](docs/reference/verification-method.md) | PRD 旅程转译 · 基准研究与 EaaS 方法论 · 验证方法→场景判定器(每篇带 来源/取舍) |
252
249
  | mvp | [journey](docs/mvp/journey.md) / [coverage](docs/mvp/coverage.md) | 历史 MVP(已移除的 25 步及真实实录)· 四维覆盖矩阵 + 缺口账本 |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abelien-harness",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "npx-installable multi-agent skill harness: generic kernel + pluggable domain packs",
5
5
  "type": "module",
6
6
  "engines": {
@@ -24,6 +24,7 @@
24
24
  "render:actions": "node tools/render-actions.mjs",
25
25
  "render:cad-functions": "node tools/render-cad-functions.mjs",
26
26
  "render:flows": "node tools/render-flows.mjs",
27
+ "contract-matrix": "node scripts/contract-matrix.mjs",
27
28
  "prepare": "node scripts/install-hooks.mjs",
28
29
  "branch:new": "node scripts/new-branch.mjs",
29
30
  "sync": "node scripts/sync.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abelien-3dgen",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "kind": "host",
5
5
  "description": "宿主包:3D 构件生成的声明式 provider profile(官方形状为准),供内核 generate 引擎与宿主 mesh.generate 使用;不装进 Agent 的 skills 目录",
6
6
  "resources": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: abelien-algorithm
3
- description: 从用户已澄清的功能需求拆出实现能力,形成搜索任务并筛选有来源的固件、库、模型或云服务。用于判断产品 reaction 怎么实现;可与硬件选型并行研究,硬件登记后复核绑定。不用于重新定义需求、硬件选型、代码实现或服务部署。
3
+ description: 为产品 reaction 联网检索并选择有来源的端侧算法、模型、库或成熟云服务。需求明确后即可检索实现资料(与硬件选型并行),硬件登记后补查厂商资料并逐 reaction 绑定到已选型号;不用于硬件选型、代码实现或服务部署。
4
4
  compatibility: 适用于 claude-code、hermes、pi 宿主
5
5
  metadata:
6
6
  category: algorithm-domain
@@ -10,18 +10,22 @@ metadata:
10
10
 
11
11
  ## 何时使用
12
12
 
13
- 用户需求已由 clarify 整理,需要判断每条 reaction 如何实现时使用;需求变化后,只重查受影响的能力与绑定。研究可以与硬件选型并行,具体型号兼容在硬件登记后复核。本 skill 完成实现研究与兼容选型,不承担需求重定义、硬件选型、代码实现、部署或设备实测。
13
+ 1. **研究(不依赖硬件)**:需求明确后就为每个 reaction 检索实现资料,与硬件选型同时进行;每个 reaction 1–2 条查询,一次最多 8 条,reaction 多时分几次研究,候选用 `research_ids` 引用它们。候选的资源需求(算力、内存、接口、传感器、联网)只写来源原文,每个值都要原样出现在该候选的引文里,不换算、不推算,不猜硬件型号。需求里 hard 限制带 `network`(offline/no_cloud)时只提交 edge 候选,代码会拒收 cloud 与 hybrid。
14
+ 2. **绑定(硬件登记后)**:只认本运行冻结的选型修订(任务给出的 `hardware_revision_ref`,即 hardware 产物的 `selectionRevisionRef`),补查其中采购件的厂商资料,每个 reaction 绑定到具体 `component_id` 并复核兼容。修订尚未落定也可以绑定,结果保持待确认。修订没有采购件时停止并返回具体缺口,不能根据类别名猜设备。换件重选后按新修订重新绑定。
14
15
 
15
- ## 输入与输出
16
+ 研究与绑定是 workspace 创作流程图里的算法车道节点,由 runtime 与主线并行推进:研究只依赖需求,绑定等已提议的候选与已登记的硬件(见意图路由 §4.1)。
16
17
 
17
18
  - **研究**:输入当前完整 Requirements(context、reaction、limits)和宿主提供的库内实现(若有);输出 `algorithm-research`(`status=proposed`),包含逐 reaction 的候选、实现说明、资源需求、来源及未解决项。
18
19
  - **绑定**:输入上述候选、当前 `hardware-selection` 的 id 与 revision,以及带准确厂商/型号的 `selected_models`;输出 `algorithm-selection`,记录 reaction → 实现 → `component_id` 的绑定、兼容证据和版本,状态为 `verified` 或 `needs_confirmation`。硬件尚未 verified 时可以复核,结果保持待确认。
19
20
 
20
21
  ## 开始前读取
21
22
 
22
- 1. 读取当前 Requirements 和[研究规则](references/research-policy.md),用 `algorithm.lane-state` 查看相同需求已有的候选与绑定,复用仍有效的结果。
23
- 2. 绑定前回读完整硬件选型资源,核对 id、revision、厂商和准确型号;不得从类别名或旧对话猜设备。
24
- 3. 准备提交时读取[选型服务契约](references/selection-service-contract.md);工具的参数、输出和错误处理以[动作手册](references/actions.generated.md)为准。需要 CLI 调用或资源读取语法时读同级 [harness](../abelien-harness/SKILL.md)。
23
+ 1. 每次研究先读[联网检索与排序规则](references/research-policy.md)。
24
+ 2. 准备提交候选或绑定时再读[算法选型服务契约](references/selection-service-contract.md)。
25
+ 3. 研究:`algorithm.research`(`purpose=implementation`,查询带 `reaction_id`)→ 读正文 → `algorithm.candidates` 提交每个 reaction 的候选(格式见 [algorithm-candidates.v1](schemas/algorithm-candidates.v1.json)),保存为 `status=proposed`。
26
+ 4. 绑定:`algorithm.research`(`purpose=hardware`,带 `hardware_revision_ref`,查询带 `component_id`)→ `algorithm.finalize`(`operation=bind`,同一 `hardware_revision_ref`;带数量的检查写 `formula` 由代码判定,不写 status,需要时先调 `calc.evaluate`,不心算;`research` 格式见 [algorithm-bindings.v1](schemas/algorithm-bindings.v1.json))。来源只写 `research_id` 与 `page_id`,回执由 Harness 从自己存下的正文填写。
27
+ 5. 已有的 `user-journey-algorithm` workflow(输入 `hardwareRevisionRef`,修订须已落定)保持可用,供不走车道的宿主使用。
28
+ 6. 各动作的参数、取值范围与错误码见[动作参数与错误手册](references/actions.generated.md)(由动作定义生成,以它为准)。
25
29
 
26
30
  ## 核心判断:需求如何变成搜索任务
27
31
 
@@ -29,25 +33,10 @@ metadata:
29
33
  2. **定问题、写查询**:先说明要查清哪个实现问题,再用“能力/任务 + 影响选择的约束 + 实现形态”搜索;有候选后,用准确名称补查官方 I/O、依赖、版本及缺失证据。沿用用户明确的平台限制,未定硬件只记录资源需求。
30
34
  3. **对应回需求**:先排除硬约束冲突,再比较能力覆盖、证据和集成代价。说明候选覆盖哪个环节、怎样衔接、依赖什么及仍缺什么;关键问题已有证据就收敛,只有实质取舍才保留备选。
31
35
 
32
- 库内已有实现适用时优先复用;按能力选择固件、库、模型或云服务的资料,不固定逐站搜索。端侧、云端、混合由用户的联网、隐私、延迟、费用和地域约束决定;官方正文用于支持结论,搜索摘要、热度及第三方榜单只用于发现。模型仓库存在不能证明云端 API 可用,Agent 能调用也不能证明设备具备该能力。
36
+ `algorithm.finalize` 不访问网络;它按 Ref 读冻结的硬件修订,并核对来源回执,检查完整 reaction、型号/版本绑定和硬约束覆盖。只有元数据或 Agent 自述“已回读”不会获得 `verified`。回执来自可信宿主注入的证据解析器,或(`operation=bind`)来自 `algorithm.research` 自己读取并按 sha256 存下的正文;检索摘要(`text_source=search_snippet`)只用于发现,永远不算证据。具体字段及回执边界见选型服务契约。来源不可回读、候选版本不确定或存在阻塞未知项时,结果保持待确认,不伪造验证。
33
37
 
34
38
  ## 执行入口与工具
35
39
 
36
- 宿主按 workspace 的 `workspace.lanes-next` 确定研究或绑定阶段,调用以下同名动作:
40
+ 联网检索得到的页面,按原始请求、任务和来源身份读取已保存的原文或解析结果;检索摘要类内容只用于发现线索。缓存或 OCR 得到的内容不能证明厂商权威或工程结论。本领域自己的原始回执和权威判断不由别的服务替代。待完成的解析任务只查原任务,不重新提交。
37
41
 
38
- - **研究**:`algorithm.research`(`purpose=implementation`,查询关联 `reaction_id`)→ 回读保存的正文 → `algorithm.candidates`。候选提交形状见 [algorithm-candidates.v1](schemas/algorithm-candidates.v1.json)。
39
- - **绑定**:`algorithm.research`(`purpose=hardware`,查询关联 `component_id`)→ `algorithm.finalize`(`operation=bind`)。绑定提交形状见 [algorithm-bindings.v1](schemas/algorithm-bindings.v1.json)。
40
-
41
- `algorithm.finalize` 不访问网络;来源引用已有 `research_id`、`page_id`,正文回执由 Harness 填写并核验。只有摘要或 Agent 自述不构成验证。未走车道的宿主仍可用 `user-journey-algorithm`,它要求先有 verified 硬件,研究判断与本 skill 相同。
42
-
43
- ## 结果交接
44
-
45
- 向调用方交回工具返回的资源 id、状态、逐 reaction 的实现选择、依据和未解决项;绑定结果同时交回选型 revision 与硬件基线。宿主用 `algorithm.lane-state` 回读后映射为 workspace 的 artifacts,不凭文字摘要推进状态。
46
-
47
- 候选的算力、内存、runtime、联网和接口需求交给 hardware;有依据的视野、拾音/发声开口、散热或动作范围要求交给 [structure](../abelien-structure/SKILL.md)。研究完成不代表设备兼容,兼容选型也不代表集成、部署或实物验证完成;没有精确设备实测就保留性能未知。
48
-
49
- ## 失败与恢复
50
-
51
- - **输入缺口**:需求缺少会改变实现方向的事实时交回 guide/clarify;缺准确型号或硬件版本时暂停绑定,保留研究结果。硬件换型或结构反馈冲突后,复核受影响绑定。
52
- - **证据不足**:来源读不到、版本不确定或硬约束无法证实时,记录具体缺口、影响和下一步;按现有输出保留 `unresolved` / `unknowns` / `blocking_unknowns`,不放宽需求或伪造 verified。
53
- - **工具失败**:按动作手册区分输入错误、配置缺失和结果未知。已完成检索复用原记录;已发送但结果未知时保留原请求与研究身份,先回读/对账,不换 ID 重发。待完成的解析任务只查原任务。
42
+ 流程直接调用输入与旧 reaction 描述兼容边界见 [流程调用输入契约](../abelien-workspace/references/flow-input-contracts.md);入口使用 `algorithm-flow-input.v1`,真实硬件修订与完整 reaction 覆盖仍在 finalize 时核对。
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "action_id": "algorithm.finalize",
3
3
  "contract_version": 1,
4
- "description": "把 Agent 基于硬件型号和官方联网证据做出的算法绑定归一化为版本化选型资源;operation=bind 时候选取自 algorithm.candidates,来源回执从 Harness 自己存下的研究正文解析,硬件基线尚未 verified 时结果固定为 needs_confirmation",
4
+ "description": "把 Agent 基于硬件型号和官方联网证据做出的算法绑定归一化为版本化选型资源;硬件基线是 hardware_revision_ref 指向的冻结选型修订(按 Ref 读不可变修订,不读可变选型资源);operation=bind 时候选取自 algorithm.candidates,来源回执从 Harness 自己存下的研究正文解析,修订尚未落定(门未开或有未决事项)时结果固定为 needs_confirmation",
5
5
  "audience": "agent",
6
6
  "input_schema": "schemas/finalize-input.v1.json",
7
7
  "output_schema": "schemas/finalize-result.v1.json",
@@ -22,8 +22,13 @@
22
22
  "errors": {
23
23
  "VALIDATION": {
24
24
  "category": "source",
25
- "description": "operation 不对、硬件基线缺失或修订过期(select 还要求 verified)、reaction 不完整或没覆盖全部需求、来源不是一手资料或没有可核对的回执、绑定没选该 reaction 已提议的候选",
25
+ "description": "operation 不对;hardware_revision_ref 不是已提交的封存选型修订、摘要不符或没有采购件(select 还要求修订已落定);reaction 不完整或没覆盖全部需求、来源不是一手资料或没有可核对的回执、绑定没选该 reaction 已提议的候选",
26
26
  "recovery": "correct_input"
27
+ },
28
+ "ALGORITHM_HOST": {
29
+ "category": "config",
30
+ "description": "宿主注入了选型修订存储却没给它的作用域,或既没有修订存储也没有资源读取端口",
31
+ "recovery": "await_configuration"
27
32
  }
28
33
  },
29
34
  "result_checks": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "action_id": "algorithm.research",
3
3
  "contract_version": 1,
4
- "description": "执行 Agent 的检索计划并保存证据:purpose=implementation 只凭需求检索实现资料(可与硬件选型并行),purpose=hardware 检索已选型号的厂商资料;Volc 检索(每次最多 5 条)与公开 HTTPS 页面安全直读,正文按 sha256 存证;每条付费检索先存 sent 再发送,重跑复用已完成检索、结果未知时要求对账而不重发;同一请求完成后重复运行直接返回已有结果",
4
+ "description": "执行 Agent 的检索计划并保存证据:purpose=implementation 只凭需求检索实现资料(可与硬件选型并行),purpose=hardware 检索冻结选型修订(hardware_revision_ref)里采购件的厂商资料;Volc 检索(每次最多 5 条)与公开 HTTPS 页面安全直读,正文按 sha256 存证;每条付费检索先存 sent 再发送,重跑复用已完成检索、结果未知时要求对账而不重发;同一请求完成后重复运行直接返回已有结果",
5
5
  "audience": "agent",
6
6
  "input_schema": "schemas/research-input.v1.json",
7
7
  "output_schema": "schemas/research-result.v1.json",
@@ -24,12 +24,17 @@
24
24
  "errors": {
25
25
  "VALIDATION": {
26
26
  "category": "source",
27
- "description": "输入不合规:字段不在表内、用途不对、reaction 不是 1–20 条、库清单重复、检索条目不是 1–8 条或指向不存在的 reaction/零件,或 hardware 用途的选型缺失或修订过期",
27
+ "description": "输入不合规:字段不在表内、用途不对、reaction 不是 1–20 条、库清单重复、检索条目不是 1–8 条或指向不存在的 reaction/零件,或 hardware 用途缺 hardware_revision_ref、它不是已提交的封存选型修订、摘要不符或没有采购件",
28
28
  "recovery": "correct_input"
29
29
  },
30
30
  "ALGORITHM_WEB_CONFIG": {
31
31
  "category": "config",
32
- "description": "缺少检索凭据或网络配置非法;在任何请求之前失败",
32
+ "description": "缺少检索凭据、未配置厂家资料登记表(检索先查登记表、跨运行复用)或网络配置非法;在任何请求之前失败",
33
+ "recovery": "await_configuration"
34
+ },
35
+ "ALGORITHM_WEB_QUOTA": {
36
+ "category": "config",
37
+ "description": "检索服务的账户额度已用完(Volc 10412 等):后续检索都会同样被拒、也都没有执行;在额度恢复或更换检索服务之前不再检索,结果按等待配置处理而不是失败",
33
38
  "recovery": "await_configuration"
34
39
  },
35
40
  "ALGORITHM_WEB_CHECKPOINT_REQUIRED": {
@@ -39,7 +44,7 @@
39
44
  },
40
45
  "ALGORITHM_HOST": {
41
46
  "category": "config",
42
- "description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
47
+ "description": "宿主没有提供可信的资源读取、内容读写或资源列举端口;或注入了选型修订存储却没给它的作用域",
43
48
  "recovery": "await_configuration"
44
49
  },
45
50
  "ALGORITHM_WEB_RECONCILIATION_REQUIRED": {
@@ -28,19 +28,6 @@
28
28
  "not_found_definitive": true
29
29
  }
30
30
  },
31
- {
32
- "action_id": "algorithm.lane-state",
33
- "transport": "module",
34
- "location": "local",
35
- "effects": [],
36
- "cancel": "unsupported",
37
- "submission": {
38
- "idempotent_submit": true,
39
- "query_by_operation": false,
40
- "remote_task_identity": "none",
41
- "not_found_definitive": true
42
- }
43
- },
44
31
  {
45
32
  "action_id": "algorithm.finalize",
46
33
  "transport": "module",