chainlesschain 0.166.37 → 0.166.39

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 (193) hide show
  1. package/package.json +7 -2
  2. package/scripts/governed-learning-local-attestor-service.mjs +222 -0
  3. package/scripts/governed-learning-local-attestor-trust-approval-service.mjs +338 -0
  4. package/scripts/governed-learning-local-attestor-trust-operations-service.mjs +575 -0
  5. package/scripts/governed-learning-windows-secure-pipe-broker.ps1 +375 -0
  6. package/src/assets/web-panel/assets/{AIOps-B_Nt1Qe4.js → AIOps-qWUdiFr5.js} +1 -1
  7. package/src/assets/web-panel/assets/{ActionButton-CHQbie4X.js → ActionButton-B_f7go3E.js} +1 -1
  8. package/src/assets/web-panel/assets/{Analytics-Bm9364Lw.js → Analytics-hSGFlSkB.js} +3 -3
  9. package/src/assets/web-panel/assets/{AppLayout-DTwlIh2v.js → AppLayout-CCYGgj71.js} +3 -3
  10. package/src/assets/web-panel/assets/{Artifacts-OibP0qB4.js → Artifacts-BdS1H9gq.js} +1 -1
  11. package/src/assets/web-panel/assets/{Audit-B8Fwavkg.js → Audit-Cck9IebC.js} +1 -1
  12. package/src/assets/web-panel/assets/{BackgroundAgents-p1Vb2K2B.js → BackgroundAgents-DZzoM_QS.js} +1 -1
  13. package/src/assets/web-panel/assets/{Backup-BI3QT-wI.js → Backup-D8H_QtGu.js} +1 -1
  14. package/src/assets/web-panel/assets/{BaseInput-BW_VRWWu.js → BaseInput-CTsNF_pu.js} +1 -1
  15. package/src/assets/web-panel/assets/{Chat-CUEhDQfq.js → Chat-CcEiTYY8.js} +4 -4
  16. package/src/assets/web-panel/assets/{ChatBubbleRenderer-C5UVXdVE.js → ChatBubbleRenderer-9BY1DPuc.js} +1 -1
  17. package/src/assets/web-panel/assets/{Checkbox-URYsaaxv.js → Checkbox-BPB9NNJx.js} +1 -1
  18. package/src/assets/web-panel/assets/{Codegen-DJAwC80a.js → Codegen-CKKMf7jD.js} +1 -1
  19. package/src/assets/web-panel/assets/{Col-DfRKFzc9.js → Col-DpSSB4Uu.js} +1 -1
  20. package/src/assets/web-panel/assets/{Community-GOkGHuly.js → Community-CfR6ikoH.js} +1 -1
  21. package/src/assets/web-panel/assets/{Compact-CIMs13NC.js → Compact-CqnkGGjK.js} +1 -1
  22. package/src/assets/web-panel/assets/{Compliance-BE-TQIxV.js → Compliance-9IzhdVQb.js} +1 -1
  23. package/src/assets/web-panel/assets/{Cowork-CYmbJiWw.js → Cowork-eXsgH33N.js} +4 -4
  24. package/src/assets/web-panel/assets/{Cron-Be3OIWyM.js → Cron-DvkzHFRi.js} +2 -2
  25. package/src/assets/web-panel/assets/{Crosschain-2xB2HS2D.js → Crosschain--az9d9f7.js} +1 -1
  26. package/src/assets/web-panel/assets/{DID-B_lJO2yF.js → DID-_Eb4kpnJ.js} +2 -2
  27. package/src/assets/web-panel/assets/{Dashboard-DnVWqUER.js → Dashboard-aDVisdXj.js} +2 -2
  28. package/src/assets/web-panel/assets/{Dropdown-C7ZJvHVa.js → Dropdown-oQ54XzS9.js} +1 -1
  29. package/src/assets/web-panel/assets/{EmailListRenderer-DLevT-0F.js → EmailListRenderer-BUPdMau1.js} +1 -1
  30. package/src/assets/web-panel/assets/{FamilyGuardDashboard-BwhQ5BRU.js → FamilyGuardDashboard-DtQTOCQI.js} +1 -1
  31. package/src/assets/web-panel/assets/{Federation-BkGI-Xkq.js → Federation-Cpnb3Moe.js} +1 -1
  32. package/src/assets/web-panel/assets/{FormItemContext-BgIIbMd7.js → FormItemContext-DmsrJkeU.js} +1 -1
  33. package/src/assets/web-panel/assets/{GenericCardRenderer-qL-qN8Nb.js → GenericCardRenderer-CpFDYnh3.js} +1 -1
  34. package/src/assets/web-panel/assets/{Git-BTzgrC4U.js → Git-HFG17p7Q.js} +2 -2
  35. package/src/assets/web-panel/assets/{Governance-p28vdCN4.js → Governance-D5Z5c7N8.js} +1 -1
  36. package/src/assets/web-panel/assets/{Inference-Cqephrur.js → Inference-DH159h74.js} +1 -1
  37. package/src/assets/web-panel/assets/{KnowledgeGraph-C3v5Q4Zp.js → KnowledgeGraph-DuL1pcJD.js} +1 -1
  38. package/src/assets/web-panel/assets/{Logs-T6f0w32w.js → Logs-Gqn8hFsM.js} +2 -2
  39. package/src/assets/web-panel/assets/{MarkdownRenderer-Dj5XPm3S.js → MarkdownRenderer-NHJaejHI.js} +1 -1
  40. package/src/assets/web-panel/assets/{Marketplace-ClDsvHDH.js → Marketplace-BArcWifg.js} +1 -1
  41. package/src/assets/web-panel/assets/{McpTools-C4P-_snx.js → McpTools-Q1BfBSnd.js} +2 -2
  42. package/src/assets/web-panel/assets/{Memory-BZZfG6y6.js → Memory-Cz8nRL7N.js} +2 -2
  43. package/src/assets/web-panel/assets/{MobileBridge-DpIv_BLs.js → MobileBridge-CRuxLRJw.js} +1 -1
  44. package/src/assets/web-panel/assets/{MobileProjects-Buz3NIQg.js → MobileProjects-B1CQIAGp.js} +1 -1
  45. package/src/assets/web-panel/assets/{Mtc-HS2PJB79.js → Mtc-CFhXZbPk.js} +2 -2
  46. package/src/assets/web-panel/assets/{MtcAudit-UmBrcU27.js → MtcAudit-C69LqcZ5.js} +4 -4
  47. package/src/assets/web-panel/assets/{Multisig-C00sXiZf.js → Multisig-y7yZeTTG.js} +3 -3
  48. package/src/assets/web-panel/assets/{NLProgramming-Dj1ng_ph.js → NLProgramming-DgjhoWea.js} +1 -1
  49. package/src/assets/web-panel/assets/{Notes-C4LEVKlk.js → Notes-DRc2WTDh.js} +4 -4
  50. package/src/assets/web-panel/assets/{NotificationSettings-BWXwnekv.js → NotificationSettings-CLPx24yn.js} +1 -1
  51. package/src/assets/web-panel/assets/{OrderTableRenderer-CZHfK8Nn.js → OrderTableRenderer-CMSNA4CO.js} +1 -1
  52. package/src/assets/web-panel/assets/{Organization-CFEtFPrV.js → Organization-Dm6LIyhZ.js} +4 -4
  53. package/src/assets/web-panel/assets/{Overflow-DSz4MJK1.js → Overflow-DP4DOYd-.js} +1 -1
  54. package/src/assets/web-panel/assets/{P2P-DyTEytwG.js → P2P-HFwvtFI1.js} +2 -2
  55. package/src/assets/web-panel/assets/{PdhVaultBrowser-B5QNGLVx.js → PdhVaultBrowser-D9gPfKRM.js} +3 -3
  56. package/src/assets/web-panel/assets/{Permissions-wEC_X7x4.js → Permissions-Bdtxniwh.js} +4 -4
  57. package/src/assets/web-panel/assets/{PersonalDataHub-If5GZlGZ.js → PersonalDataHub-Dgl2AbES.js} +3 -3
  58. package/src/assets/web-panel/assets/{Pipeline-LB4gqqmX.js → Pipeline-DpZrzYwK.js} +1 -1
  59. package/src/assets/web-panel/assets/{Privacy-QVLhoxcN.js → Privacy-EQ551c0t.js} +1 -1
  60. package/src/assets/web-panel/assets/{ProjectInit-FaAbTYTo.js → ProjectInit-xUSeczsM.js} +2 -2
  61. package/src/assets/web-panel/assets/{ProjectSettings-DhMeNA21.js → ProjectSettings-B66Sr_t8.js} +2 -2
  62. package/src/assets/web-panel/assets/{Projects-5L4lkWAZ.js → Projects-B4zikj95.js} +1 -1
  63. package/src/assets/web-panel/assets/{Providers-DhZFp8fO.js → Providers-DjLbqQPh.js} +1 -1
  64. package/src/assets/web-panel/assets/{QrScannerModal-BZuJ7_xi.js → QrScannerModal-KVsAQCd_.js} +1 -1
  65. package/src/assets/web-panel/assets/{QuickAsk-TXddPYYb.js → QuickAsk-C4noJXu8.js} +1 -1
  66. package/src/assets/web-panel/assets/{Recommend-DDuXIKYt.js → Recommend-Cn15clqY.js} +1 -1
  67. package/src/assets/web-panel/assets/{RemoteSession-CDrTXImv.js → RemoteSession-DdonMFwH.js} +3 -3
  68. package/src/assets/web-panel/assets/{Reputation-B2xKaKzt.js → Reputation-Bqe3NwWN.js} +1 -1
  69. package/src/assets/web-panel/assets/{Row-DzAjWAOX.js → Row-CnxBgjkD.js} +1 -1
  70. package/src/assets/web-panel/assets/{RssFeed-CKH38BLF.js → RssFeed-CSRrgZyK.js} +2 -2
  71. package/src/assets/web-panel/assets/{Search-CuPqJYoQ.js → Search-DTUYUfFx.js} +1 -1
  72. package/src/assets/web-panel/assets/{Security-DmAd2hxz.js → Security-BHExHVIm.js} +4 -4
  73. package/src/assets/web-panel/assets/{Services-Bt3nljnY.js → Services-B_IWqPes.js} +2 -2
  74. package/src/assets/web-panel/assets/{Skeleton-CP7RH093.js → Skeleton-C_oAtzmX.js} +1 -1
  75. package/src/assets/web-panel/assets/{Skills-DKNeMBTx.js → Skills-maJNokSL.js} +1 -1
  76. package/src/assets/web-panel/assets/{Sla-CbpM8Nrd.js → Sla-CMM_ZsLH.js} +1 -1
  77. package/src/assets/web-panel/assets/{SpeechSettings-DTk-vTzF.js → SpeechSettings-D7w_oNwK.js} +1 -1
  78. package/src/assets/web-panel/assets/{SyncSettings-DKiplwmc.js → SyncSettings-D0Zl3NIr.js} +2 -2
  79. package/src/assets/web-panel/assets/{Tasks-z-lOm8fx.js → Tasks-Bs0H0ctR.js} +1 -1
  80. package/src/assets/web-panel/assets/{Templates-Rb-Q0DGX.js → Templates-C6T6oCpR.js} +1 -1
  81. package/src/assets/web-panel/assets/{Tenant-C2sqDUnR.js → Tenant-ByL-kAYO.js} +1 -1
  82. package/src/assets/web-panel/assets/{Terminal-DcyzskEE.js → Terminal-6JXNhc3b.js} +2 -2
  83. package/src/assets/web-panel/assets/{TimelineRenderer-lg0Eam7N.js → TimelineRenderer-KiuUtCsl.js} +1 -1
  84. package/src/assets/web-panel/assets/{Tokens-D9USIMIA.js → Tokens-C0TWTIER.js} +1 -1
  85. package/src/assets/web-panel/assets/{Trigger-BQpaQJ5k.js → Trigger-DpC5aaJu.js} +1 -1
  86. package/src/assets/web-panel/assets/{Trust-C-Mik04s.js → Trust-lqqflCwv.js} +1 -1
  87. package/src/assets/web-panel/assets/{UkeySign-DrnZ_o56.js → UkeySign-BYSlVfBc.js} +1 -1
  88. package/src/assets/web-panel/assets/{VideoEditing-BDOsoZi0.js → VideoEditing-DX08oo_R.js} +1 -1
  89. package/src/assets/web-panel/assets/{Wallet-Ct_bleI7.js → Wallet-CcIFPvzL.js} +4 -4
  90. package/src/assets/web-panel/assets/{WebAuthn-B6b6FDao.js → WebAuthn-D8DfxfVT.js} +5 -5
  91. package/src/assets/web-panel/assets/{WorkflowEditor-ZUJMaIHr.js → WorkflowEditor-Csadpaln.js} +1 -1
  92. package/src/assets/web-panel/assets/{chat-BII20OJy.js → chat-CewHWc_T.js} +1 -1
  93. package/src/assets/web-panel/assets/{colors-DEsJRV3n.js → colors-B8at89r3.js} +1 -1
  94. package/src/assets/web-panel/assets/{compact-item-DoDYAzN9.js → compact-item-v_gxtF5-.js} +1 -1
  95. package/src/assets/web-panel/assets/{createContext-o_nofnVW.js → createContext-BOwFpJqA.js} +1 -1
  96. package/src/assets/web-panel/assets/devWarning-DenB_kSS.js +1 -0
  97. package/src/assets/web-panel/assets/{hasIn-CAsABTHC.js → hasIn-DjHUzt7E.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-CeJSTcXw.js → index-1Tfwr_GA.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-CVQSl1uY.js → index-5qmLo1us.js} +1 -1
  100. package/src/assets/web-panel/assets/index-B8bNwM9U.js +1 -0
  101. package/src/assets/web-panel/assets/{index-CQE-WMEU.js → index-BC20EQ7h.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-DciLb_Ww.js → index-BGrmPk8T.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-Bqyg3PME.js → index-BPJ7uL2Q.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-DU2Rpx1m.js → index-BRNyE3Kb.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-CeWJqXNX.js → index-BVPsegMN.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-DWZNYecl.js → index-B_egGFcR.js} +3 -3
  107. package/src/assets/web-panel/assets/{index-TSwbtCYG.js → index-BdZLA7k9.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-BrIIJ2s-.js → index-Bk_Te9OR.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-D5Fd4tdL.js → index-Bz8C8VXx.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-B4SfcwZA.js → index-C7MHbmwn.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-Bn2ZPUXO.js → index-CFL1Hewx.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-DsoFTdA2.js → index-CV1SgaBd.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-B9hYHPhs.js → index-CXIPAeAB.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-Dgt1mKby.js → index-Ca8YZU2B.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-DRAA2McB.js → index-Caf9UjhG.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-BcYbQoY7.js → index-Cb1uNDOv.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-Bycj011d.js → index-CquUCUzS.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-BzMA6Ra3.js → index-CwHoF-TP.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-Dbb34cAr.js → index-Cxk0mCoQ.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-BxT8yTwS.js → index-D3o-pacB.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-DrsAF-Ar.js → index-DA3n0Y28.js} +1 -1
  122. package/src/assets/web-panel/assets/index-DC0cpgIP.js +1 -0
  123. package/src/assets/web-panel/assets/{index-B9Z75LfA.js → index-DRRK_8Eg.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-kIyLNyoF.js → index-DUMvVGyf.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-DQmX_-hk.js → index-DdHdbXpy.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-tCeNfxv4.js → index-Ddw05Myq.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-BDRh3v44.js → index-Dfrb3Prv.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-Bmwo5wQG.js → index-DiKaYIdo.js} +1 -1
  129. package/src/assets/web-panel/assets/{index-C1YDdyQ1.js → index-DmZLZsyC.js} +1 -1
  130. package/src/assets/web-panel/assets/{index-Dhnau6uw.js → index-FgUrhq_H.js} +1 -1
  131. package/src/assets/web-panel/assets/{index-Cf3sFEoE.js → index-Khw7wzVk.js} +1 -1
  132. package/src/assets/web-panel/assets/{index-B0ApxOMw.js → index-San3zacc.js} +1 -1
  133. package/src/assets/web-panel/assets/{index-D_CMB_wC.js → index-coOi37of.js} +1 -1
  134. package/src/assets/web-panel/assets/{index-BnbnmRqg.js → index-hyeBuocp.js} +1 -1
  135. package/src/assets/web-panel/assets/{index-DDQzBK3l.js → index-uk59xr0W.js} +1 -1
  136. package/src/assets/web-panel/assets/{index-CE2J04dA.js → index-wjvn8-9F.js} +1 -1
  137. package/src/assets/web-panel/assets/{initDefaultProps-CNjeeoKE.js → initDefaultProps-Id2dFdjh.js} +1 -1
  138. package/src/assets/web-panel/assets/{motion-CBT8IZDm.js → motion-DRxtwxng.js} +1 -1
  139. package/src/assets/web-panel/assets/{move-h1MOxjqv.js → move-BDYvdTb6.js} +1 -1
  140. package/src/assets/web-panel/assets/{mtc-parser-C_3pqNmn.js → mtc-parser-cz8LGI8Z.js} +1 -1
  141. package/src/assets/web-panel/assets/{omit-CMUnPFDk.js → omit-DHJeh6tH.js} +1 -1
  142. package/src/assets/web-panel/assets/{pickAttrs-p8_c1xq0.js → pickAttrs-XJEQIp7e.js} +1 -1
  143. package/src/assets/web-panel/assets/{placementArrow-D6O67r23.js → placementArrow-AFcf8lEn.js} +1 -1
  144. package/src/assets/web-panel/assets/{responsiveObserve-DquhepAK.js → responsiveObserve-CDEeBxs1.js} +1 -1
  145. package/src/assets/web-panel/assets/{slide-CZ-m6gmS.js → slide-CvbVfi6T.js} +1 -1
  146. package/src/assets/web-panel/assets/{statusUtils-k9ejZFtd.js → statusUtils-DtCyuEnq.js} +1 -1
  147. package/src/assets/web-panel/assets/{styleChecker-NX6_137R.js → styleChecker--UgmTsGY.js} +1 -1
  148. package/src/assets/web-panel/assets/{useFlexGapSupport-bCqR70lP.js → useFlexGapSupport-D9i1as-Y.js} +1 -1
  149. package/src/assets/web-panel/assets/{useFs-2l0vSqyY.js → useFs-CJx3zw01.js} +1 -1
  150. package/src/assets/web-panel/assets/{usePersonalDataHub-1yccm4O7.js → usePersonalDataHub-ZsIKYdZv.js} +1 -1
  151. package/src/assets/web-panel/assets/{vnode-CxQzajDo.js → vnode-B2RGEQG4.js} +1 -1
  152. package/src/assets/web-panel/assets/{zoom-CrTKwFyb.js → zoom-ob-0px2z.js} +1 -1
  153. package/src/assets/web-panel/index.html +1 -1
  154. package/src/command-help-index.json +1 -1
  155. package/src/commands/evolution-attestor-trust.js +113 -0
  156. package/src/commands/evolution.js +2 -0
  157. package/src/commands/learning.js +34 -5
  158. package/src/data/changelog.json +26 -0
  159. package/src/lib/evolution/evolution-artifact-ports.js +21 -0
  160. package/src/lib/evolution/evolution-deployment-loader.js +56 -0
  161. package/src/lib/evolution/evolution-immutable-ledger-segment-store.js +812 -0
  162. package/src/lib/evolution/evolution-ledger-file-manifest-catalog.js +218 -0
  163. package/src/lib/evolution/evolution-ledger-manifest-catalog.js +472 -0
  164. package/src/lib/evolution/evolution-ledger-manifest-chain.js +997 -0
  165. package/src/lib/evolution/evolution-ledger-manifest-head-store.js +408 -0
  166. package/src/lib/evolution/evolution-ledger-manifest-witness-adapter.js +554 -0
  167. package/src/lib/evolution/evolution-ledger-v2-manifest-backend.js +460 -0
  168. package/src/lib/evolution/governed-skill-synthesis-attestor-ipc-endpoint.js +94 -0
  169. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-approval-client.js +485 -0
  170. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-ipc-capability.js +200 -0
  171. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-ledger.js +1222 -0
  172. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-operations-cli-host.js +802 -0
  173. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-operations-client.js +445 -0
  174. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-operations.js +1082 -0
  175. package/src/lib/evolution/governed-skill-synthesis-attestor-trust-operator-registry.js +1453 -0
  176. package/src/lib/evolution/governed-skill-synthesis-candidate-evaluator.js +147 -0
  177. package/src/lib/evolution/governed-skill-synthesis-cli-host.js +115 -0
  178. package/src/lib/evolution/governed-skill-synthesis-evaluation-ledger-adapter.js +715 -0
  179. package/src/lib/evolution/governed-skill-synthesis-external-attestor.js +499 -0
  180. package/src/lib/evolution/governed-skill-synthesis-model-evaluator.js +514 -0
  181. package/src/lib/evolution/governed-skill-synthesis-process-attestor-worker.mjs +208 -0
  182. package/src/lib/evolution/governed-skill-synthesis-process-attestor.js +557 -0
  183. package/src/lib/evolution/governed-skill-synthesis-process-grader-worker.mjs +143 -0
  184. package/src/lib/evolution/governed-skill-synthesis-process-grader.js +444 -0
  185. package/src/lib/evolution/governed-skill-synthesis-provider-chat.js +220 -0
  186. package/src/lib/evolution/governed-skill-synthesis-windows-secure-pipe-host.js +236 -0
  187. package/src/lib/hook-audit-store.js +68 -2
  188. package/src/lib/hooks-v2-runtime.js +52 -26
  189. package/src/lib/learning/skill-synthesizer.js +66 -5
  190. package/src/lib/remote-read-loop-guard.js +30 -3
  191. package/src/assets/web-panel/assets/devWarning-0tgDCszN.js +0 -1
  192. package/src/assets/web-panel/assets/index-CFF8XEFE.js +0 -1
  193. package/src/assets/web-panel/assets/index-DVUEISry.js +0 -1
@@ -0,0 +1,113 @@
1
+ import { isGovernedSkillSynthesisAttestorTrustOperationsCliHost } from "../lib/evolution/governed-skill-synthesis-attestor-trust-operations-cli-host.js";
2
+
3
+ function host(value) {
4
+ if (!isGovernedSkillSynthesisAttestorTrustOperationsCliHost(value)) {
5
+ throw new Error(
6
+ "Attestor trust operations are unavailable: a trusted deployment host is required",
7
+ );
8
+ }
9
+ return value;
10
+ }
11
+
12
+ function output(value) {
13
+ console.log(JSON.stringify(value, null, 2));
14
+ }
15
+
16
+ export function registerEvolutionAttestorTrustCommands(
17
+ evolution,
18
+ { attestorTrustOperationsHost = null } = {},
19
+ ) {
20
+ const trust = evolution
21
+ .command("attestor-trust")
22
+ .description("Operate the governed Skill attestor trust control plane");
23
+
24
+ trust
25
+ .command("prepare <operation-file>")
26
+ .description("Create an immutable request plan for external approval")
27
+ .requiredOption(
28
+ "--out <request-file>",
29
+ "Exclusively create the request plan",
30
+ )
31
+ .action(async (operationPath, options) => {
32
+ output(
33
+ await host(attestorTrustOperationsHost).prepare({
34
+ operationPath,
35
+ outputPath: options.out,
36
+ }),
37
+ );
38
+ });
39
+
40
+ trust
41
+ .command("execute <request-file> <approval-files...>")
42
+ .description("Execute a request using externally signed approval files")
43
+ .action(async (requestPath, approvalPaths) => {
44
+ output(
45
+ await host(attestorTrustOperationsHost).execute({
46
+ requestPath,
47
+ approvalPaths,
48
+ }),
49
+ );
50
+ });
51
+
52
+ trust
53
+ .command("approve <request-file>")
54
+ .description("Sign an attestor trust request with the isolated signer")
55
+ .requiredOption(
56
+ "--out <approval-file>",
57
+ "Exclusively create the approval receipt",
58
+ )
59
+ .action(async (requestPath, options) => {
60
+ output(
61
+ await host(attestorTrustOperationsHost).approve({
62
+ requestPath,
63
+ outputPath: options.out,
64
+ }),
65
+ );
66
+ });
67
+
68
+ trust
69
+ .command("operator-prepare <operation-file>")
70
+ .description(
71
+ "Create a registry change request for current-operator approval",
72
+ )
73
+ .requiredOption(
74
+ "--out <request-file>",
75
+ "Exclusively create the operator change request",
76
+ )
77
+ .action(async (operationPath, options) => {
78
+ output(
79
+ await host(attestorTrustOperationsHost).prepareOperatorChange({
80
+ operationPath,
81
+ outputPath: options.out,
82
+ }),
83
+ );
84
+ });
85
+
86
+ trust
87
+ .command("operator-execute <request-file> <approval-files...>")
88
+ .description("Commit a quorum-approved operator registry change")
89
+ .action(async (requestPath, approvalPaths) => {
90
+ output(
91
+ await host(attestorTrustOperationsHost).executeOperatorChange({
92
+ requestPath,
93
+ approvalPaths,
94
+ }),
95
+ );
96
+ });
97
+
98
+ trust
99
+ .command("operator-approve <request-file>")
100
+ .description("Sign an operator change with the isolated signer")
101
+ .requiredOption(
102
+ "--out <approval-file>",
103
+ "Exclusively create the operator approval receipt",
104
+ )
105
+ .action(async (requestPath, options) => {
106
+ output(
107
+ await host(attestorTrustOperationsHost).approveOperatorChange({
108
+ requestPath,
109
+ outputPath: options.out,
110
+ }),
111
+ );
112
+ });
113
+ }
@@ -11,6 +11,7 @@ import { logger } from "../lib/logger.js";
11
11
  import { parseJsonOption } from "../lib/parse-json-option.js";
12
12
  import { bootstrap, shutdown } from "../runtime/bootstrap.js";
13
13
  import { registerEvolutionWorkbenchCommands } from "./evolution-workbench.js";
14
+ import { registerEvolutionAttestorTrustCommands } from "./evolution-attestor-trust.js";
14
15
  import { registerGovernedKnowledgeCommands } from "./evolution-knowledge.js";
15
16
  import { registerWikiSkillBenchmarkCommands } from "./evolution-benchmark.js";
16
17
  import {
@@ -52,6 +53,7 @@ export function registerEvolutionCommand(program, dependencies = {}) {
52
53
  );
53
54
 
54
55
  registerEvolutionWorkbenchCommands(evolution, dependencies);
56
+ registerEvolutionAttestorTrustCommands(evolution, dependencies);
55
57
  registerGovernedKnowledgeCommands(evolution, dependencies);
56
58
  registerWikiSkillBenchmarkCommands(evolution, dependencies);
57
59
 
@@ -7,6 +7,7 @@ import chalk from "chalk";
7
7
  import ora from "ora";
8
8
  import { logger } from "../lib/logger.js";
9
9
  import { bootstrap, shutdown } from "../runtime/bootstrap.js";
10
+ import { isGovernedSkillSynthesisCliHost } from "../lib/evolution/governed-skill-synthesis-cli-host.js";
10
11
 
11
12
  export function classifySynthesisResult(result) {
12
13
  if (result?.status === "unavailable") {
@@ -58,7 +59,34 @@ export function classifySynthesisResult(result) {
58
59
  };
59
60
  }
60
61
 
61
- export function registerLearningCommand(program) {
62
+ export async function executeLearningSynthesis({
63
+ db,
64
+ trajectoryStore,
65
+ learningSynthesisHost = null,
66
+ } = {}) {
67
+ if (learningSynthesisHost === null) {
68
+ return {
69
+ status: "unavailable",
70
+ code: "LEARNING_SYNTHESIS_UNAVAILABLE",
71
+ reason: "Synthesis unavailable: a trusted deployment host is required",
72
+ missingDependencies: ["trusted-deployment-host"],
73
+ blockers: [],
74
+ created: [],
75
+ skipped: [],
76
+ };
77
+ }
78
+ if (!isGovernedSkillSynthesisCliHost(learningSynthesisHost)) {
79
+ throw new Error(
80
+ "Learning synthesis is unavailable: a trusted deployment host is required",
81
+ );
82
+ }
83
+ return learningSynthesisHost.synthesize({ db, trajectoryStore });
84
+ }
85
+
86
+ export function registerLearningCommand(
87
+ program,
88
+ { learningSynthesisHost = null } = {},
89
+ ) {
62
90
  const learning = program
63
91
  .command("learning")
64
92
  .description(
@@ -330,13 +358,14 @@ export function registerLearningCommand(program) {
330
358
  const db = ctx.db.getDatabase();
331
359
  const { TrajectoryStore } =
332
360
  await import("../lib/learning/trajectory-store.js");
333
- const { SkillSynthesizer } =
334
- await import("../lib/learning/skill-synthesizer.js");
335
361
  const store = new TrajectoryStore(db);
336
- const synthesizer = new SkillSynthesizer(db, null, store);
337
362
 
338
363
  const spinner = ora("Scanning for synthesizable patterns...").start();
339
- const result = await synthesizer.synthesize();
364
+ const result = await executeLearningSynthesis({
365
+ db,
366
+ trajectoryStore: store,
367
+ learningSynthesisHost,
368
+ });
340
369
  const outcome = classifySynthesisResult(result);
341
370
 
342
371
  if (outcome.exitCode !== 0) {
@@ -1,6 +1,32 @@
1
1
  {
2
2
  "source": "CHANGELOG.md",
3
3
  "releases": [
4
+ {
5
+ "productVersion": null,
6
+ "cliVersion": "0.166.39",
7
+ "cliVersions": ["0.166.39"],
8
+ "date": null,
9
+ "title": "",
10
+ "sections": [
11
+ {
12
+ "heading": "Fixed - cc CLI 0.166.39: stop repeated log reads and stabilize CI",
13
+ "body": "- Detect repeated local CI-log searches even when each `findstr`, `grep`, `rg`,\n or `Select-String` command changes its pattern, then recover and stop the agent\n instead of reading the same downloaded log forever.\n- Treat search exit code 1 as \"no match\" rather than evidence of a new CI failure.\n- Coalesce repeated no-hook audit events so long-running duplex sessions retain\n authenticated evidence without quadratic file rewrites or runaway RSS growth.\n- Keep the learning skill writer discoverable by the release inventory scanner.\n- Keep attestor Unix sockets below the macOS path limit, bind Windows secure\n pipes to the current logon SID, and terminate services when capabilities\n expire."
14
+ }
15
+ ]
16
+ },
17
+ {
18
+ "productVersion": null,
19
+ "cliVersion": "0.166.38",
20
+ "cliVersions": ["0.166.38"],
21
+ "date": null,
22
+ "title": "",
23
+ "sections": [
24
+ {
25
+ "heading": "Fixed - cc CLI 0.166.38: publish audited child package updates",
26
+ "body": "- Upgrade the CLI dependency to Context Memory Kernel `0.1.1`, including the\n LLM selector in the writer inventory.\n- Release Agent Protocol `0.1.9` with knowledge revocation prepare/publish methods\n in the schema and generated Kotlin/Swift bindings.\n- Include Agent Protocol checks and publication in the CLI release workflow,\n before the CLI is published.\n- Pair the pending IDE releases with CLI `0.166.38` after npm verification."
27
+ }
28
+ ]
29
+ },
4
30
  {
5
31
  "productVersion": null,
6
32
  "cliVersion": "0.166.37",
@@ -94,6 +94,10 @@ export const EVOLUTION_ARTIFACT_LEDGER_RETENTION_TYPES = Object.freeze([
94
94
  "governed-knowledge-quarantine-release",
95
95
  "governed-knowledge-trust-record",
96
96
  "governed-skill-marketplace-state",
97
+ "governed-skill-synthesis-attestor-trust-authorization",
98
+ "governed-skill-synthesis-attestor-trust-operator-registry",
99
+ "governed-skill-synthesis-attestor-trust-record",
100
+ "governed-skill-synthesis-evaluation",
97
101
  "structured-memory-authority-receipt",
98
102
  "structured-memory-event",
99
103
  "structured-memory-snapshot",
@@ -146,6 +150,10 @@ export const EVOLUTION_ARTIFACT_TYPES = Object.freeze([
146
150
  "governed-knowledge-quarantine-release",
147
151
  "governed-knowledge-trust-record",
148
152
  "governed-skill-marketplace-state",
153
+ "governed-skill-synthesis-attestor-trust-authorization",
154
+ "governed-skill-synthesis-attestor-trust-operator-registry",
155
+ "governed-skill-synthesis-attestor-trust-record",
156
+ "governed-skill-synthesis-evaluation",
149
157
  "evidence",
150
158
  "model-projection",
151
159
  "policy",
@@ -394,6 +402,19 @@ const LEDGER_RETENTION_PURPOSES_BY_TYPE = new Map([
394
402
  ["governed-knowledge-quarantine-release", new Set(["evolution-ledger"])],
395
403
  ["governed-knowledge-trust-record", new Set(["evolution-ledger"])],
396
404
  ["governed-skill-marketplace-state", new Set(["evolution-ledger"])],
405
+ [
406
+ "governed-skill-synthesis-attestor-trust-authorization",
407
+ new Set(["evolution-ledger"]),
408
+ ],
409
+ [
410
+ "governed-skill-synthesis-attestor-trust-operator-registry",
411
+ new Set(["evolution-ledger"]),
412
+ ],
413
+ [
414
+ "governed-skill-synthesis-attestor-trust-record",
415
+ new Set(["evolution-ledger"]),
416
+ ],
417
+ ["governed-skill-synthesis-evaluation", new Set(["evolution-ledger"])],
397
418
  ["wiki-revision", new Set(["evolution-ledger"])],
398
419
  ["wiki-skill-proposal", new Set(["evolution-ledger"])],
399
420
  ["wikiskill-benchmark-envelope-manifest", new Set(["evolution-ledger"])],
@@ -17,6 +17,7 @@ const SUPPORTED_COMMANDS = new Set([
17
17
  "desktop",
18
18
  "evolution",
19
19
  "hub",
20
+ "learning",
20
21
  "marketplace",
21
22
  "orchestrate",
22
23
  "serve",
@@ -126,6 +127,47 @@ function dependencies(value, commandName) {
126
127
 
127
128
  async function loadBuiltInFactories(commandName) {
128
129
  const factories = {};
130
+ if (commandName === "learning") {
131
+ const [
132
+ { createGovernedSkillSynthesisCliHost },
133
+ { createGovernedSkillSynthesisProviderChat },
134
+ { createGovernedSkillSynthesisCandidateEvaluator },
135
+ { createGovernedSkillSynthesisModelEvaluator },
136
+ { createGovernedSkillSynthesisEvaluationLedgerAdapter },
137
+ { createGovernedSkillSynthesisProcessGrader },
138
+ { createGovernedSkillSynthesisProcessAttestationAuthority },
139
+ { createGovernedSkillSynthesisExternalAttestationAuthority },
140
+ { createGovernedSkillSynthesisAttestorTrustVerifier },
141
+ ] = await Promise.all([
142
+ import("./governed-skill-synthesis-cli-host.js"),
143
+ import("./governed-skill-synthesis-provider-chat.js"),
144
+ import("./governed-skill-synthesis-candidate-evaluator.js"),
145
+ import("./governed-skill-synthesis-model-evaluator.js"),
146
+ import("./governed-skill-synthesis-evaluation-ledger-adapter.js"),
147
+ import("./governed-skill-synthesis-process-grader.js"),
148
+ import("./governed-skill-synthesis-process-attestor.js"),
149
+ import("./governed-skill-synthesis-external-attestor.js"),
150
+ import("./governed-skill-synthesis-attestor-trust-ledger.js"),
151
+ ]);
152
+ factories.createGovernedSkillSynthesisCliHost =
153
+ createGovernedSkillSynthesisCliHost;
154
+ factories.createGovernedSkillSynthesisProviderChat =
155
+ createGovernedSkillSynthesisProviderChat;
156
+ factories.createGovernedSkillSynthesisCandidateEvaluator =
157
+ createGovernedSkillSynthesisCandidateEvaluator;
158
+ factories.createGovernedSkillSynthesisModelEvaluator =
159
+ createGovernedSkillSynthesisModelEvaluator;
160
+ factories.createGovernedSkillSynthesisEvaluationLedgerAdapter =
161
+ createGovernedSkillSynthesisEvaluationLedgerAdapter;
162
+ factories.createGovernedSkillSynthesisProcessGrader =
163
+ createGovernedSkillSynthesisProcessGrader;
164
+ factories.createGovernedSkillSynthesisProcessAttestationAuthority =
165
+ createGovernedSkillSynthesisProcessAttestationAuthority;
166
+ factories.createGovernedSkillSynthesisExternalAttestationAuthority =
167
+ createGovernedSkillSynthesisExternalAttestationAuthority;
168
+ factories.createGovernedSkillSynthesisAttestorTrustVerifier =
169
+ createGovernedSkillSynthesisAttestorTrustVerifier;
170
+ }
129
171
  if (commandName === "marketplace" || commandName === "desktop") {
130
172
  const [
131
173
  { createGovernedSkillMarketplaceCliHost },
@@ -163,6 +205,9 @@ async function loadBuiltInFactories(commandName) {
163
205
  },
164
206
  { createWikiSkillBenchmarkLedgerAdapter },
165
207
  { createEvolutionEvalProcessSupervisor },
208
+ { createGovernedSkillSynthesisAttestorTrustApprovalClient },
209
+ { createGovernedSkillSynthesisAttestorTrustOperationsClient },
210
+ { createGovernedSkillSynthesisAttestorTrustOperationsCliHost },
166
211
  ] = await Promise.all([
167
212
  import("./evolution-workbench-cli-host.js"),
168
213
  import("./evolution-workbench-review-ledger-adapter.js"),
@@ -176,6 +221,9 @@ async function loadBuiltInFactories(commandName) {
176
221
  import("./wikiskill-benchmark-execution-host.js"),
177
222
  import("./wikiskill-benchmark-ledger-adapter.js"),
178
223
  import("./evolution-eval-process-supervisor.js"),
224
+ import("./governed-skill-synthesis-attestor-trust-approval-client.js"),
225
+ import("./governed-skill-synthesis-attestor-trust-operations-client.js"),
226
+ import("./governed-skill-synthesis-attestor-trust-operations-cli-host.js"),
179
227
  ]);
180
228
  factories.createEvolutionWorkbenchCliHost = createEvolutionWorkbenchCliHost;
181
229
  factories.createEvolutionWorkbenchReviewRuntime =
@@ -204,6 +252,12 @@ async function loadBuiltInFactories(commandName) {
204
252
  createWikiSkillBenchmarkLedgerAdapter;
205
253
  factories.createEvolutionEvalProcessSupervisor =
206
254
  createEvolutionEvalProcessSupervisor;
255
+ factories.createGovernedSkillSynthesisAttestorTrustApprovalClient =
256
+ createGovernedSkillSynthesisAttestorTrustApprovalClient;
257
+ factories.createGovernedSkillSynthesisAttestorTrustOperationsClient =
258
+ createGovernedSkillSynthesisAttestorTrustOperationsClient;
259
+ factories.createGovernedSkillSynthesisAttestorTrustOperationsCliHost =
260
+ createGovernedSkillSynthesisAttestorTrustOperationsCliHost;
207
261
  const [
208
262
  { SkillCandidateRegistry },
209
263
  { SkillReleaseRegistry },
@@ -307,6 +361,8 @@ async function loadBuiltInFactories(commandName) {
307
361
  function bindFactoriesToModule(factories, moduleDigest) {
308
362
  const result = { ...factories };
309
363
  const providerFactories = [
364
+ "createGovernedSkillSynthesisCliHost",
365
+ "createGovernedSkillSynthesisModelEvaluator",
310
366
  "createEvolutionWorkbenchReviewRuntime",
311
367
  "createEvolutionWorkbenchRollbackRuntime",
312
368
  "createEvolutionWorkbenchRegistrySource",