@guyghost/swarm-dao-core 0.3.0 → 0.5.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 (304) hide show
  1. package/dist/adapters/attention/fs-attention.store.d.ts +17 -0
  2. package/dist/adapters/attention/fs-attention.store.d.ts.map +1 -0
  3. package/dist/adapters/attention/fs-attention.store.js +59 -0
  4. package/dist/adapters/attention/fs-attention.store.js.map +1 -0
  5. package/dist/adapters/git-workspace.d.ts +26 -0
  6. package/dist/adapters/git-workspace.d.ts.map +1 -0
  7. package/dist/adapters/git-workspace.js +84 -0
  8. package/dist/adapters/git-workspace.js.map +1 -0
  9. package/dist/adapters/index.d.ts +6 -0
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters/index.js +6 -0
  12. package/dist/adapters/index.js.map +1 -0
  13. package/dist/adapters/persistence/file-dao-state.repository.d.ts +15 -0
  14. package/dist/adapters/persistence/file-dao-state.repository.d.ts.map +1 -0
  15. package/dist/adapters/persistence/file-dao-state.repository.js +85 -0
  16. package/dist/adapters/persistence/file-dao-state.repository.js.map +1 -0
  17. package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts +10 -0
  18. package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts.map +1 -0
  19. package/dist/adapters/persistence/in-memory-dao-state.repository.js +14 -0
  20. package/dist/adapters/persistence/in-memory-dao-state.repository.js.map +1 -0
  21. package/dist/adapters/persistence/legacy-dao-state.repository.d.ts +11 -0
  22. package/dist/adapters/persistence/legacy-dao-state.repository.d.ts.map +1 -0
  23. package/dist/adapters/persistence/legacy-dao-state.repository.js +14 -0
  24. package/dist/adapters/persistence/legacy-dao-state.repository.js.map +1 -0
  25. package/dist/application/index.d.ts +16 -0
  26. package/dist/application/index.d.ts.map +1 -0
  27. package/dist/application/index.js +16 -0
  28. package/dist/application/index.js.map +1 -0
  29. package/dist/application/initialize-dao.use-case.d.ts +20 -0
  30. package/dist/application/initialize-dao.use-case.d.ts.map +1 -0
  31. package/dist/application/initialize-dao.use-case.js +17 -0
  32. package/dist/application/initialize-dao.use-case.js.map +1 -0
  33. package/dist/application/proposals/control-proposal.use-case.d.ts +23 -0
  34. package/dist/application/proposals/control-proposal.use-case.d.ts.map +1 -0
  35. package/dist/application/proposals/control-proposal.use-case.js +53 -0
  36. package/dist/application/proposals/control-proposal.use-case.js.map +1 -0
  37. package/dist/application/proposals/create-amendment-proposal.use-case.d.ts +25 -0
  38. package/dist/application/proposals/create-amendment-proposal.use-case.d.ts.map +1 -0
  39. package/dist/application/proposals/create-amendment-proposal.use-case.js +39 -0
  40. package/dist/application/proposals/create-amendment-proposal.use-case.js.map +1 -0
  41. package/dist/application/proposals/create-proposal.use-case.d.ts +34 -0
  42. package/dist/application/proposals/create-proposal.use-case.d.ts.map +1 -0
  43. package/dist/application/proposals/create-proposal.use-case.js +49 -0
  44. package/dist/application/proposals/create-proposal.use-case.js.map +1 -0
  45. package/dist/application/proposals/deliberate-proposal.use-case.d.ts +35 -0
  46. package/dist/application/proposals/deliberate-proposal.use-case.d.ts.map +1 -0
  47. package/dist/application/proposals/deliberate-proposal.use-case.js +67 -0
  48. package/dist/application/proposals/deliberate-proposal.use-case.js.map +1 -0
  49. package/dist/application/proposals/dry-run-proposal.use-case.d.ts +21 -0
  50. package/dist/application/proposals/dry-run-proposal.use-case.d.ts.map +1 -0
  51. package/dist/application/proposals/dry-run-proposal.use-case.js +20 -0
  52. package/dist/application/proposals/dry-run-proposal.use-case.js.map +1 -0
  53. package/dist/application/proposals/execute-proposal.use-case.d.ts +29 -0
  54. package/dist/application/proposals/execute-proposal.use-case.d.ts.map +1 -0
  55. package/dist/application/proposals/execute-proposal.use-case.js +66 -0
  56. package/dist/application/proposals/execute-proposal.use-case.js.map +1 -0
  57. package/dist/application/proposals/rate-proposal.use-case.d.ts +24 -0
  58. package/dist/application/proposals/rate-proposal.use-case.d.ts.map +1 -0
  59. package/dist/application/proposals/rate-proposal.use-case.js +33 -0
  60. package/dist/application/proposals/rate-proposal.use-case.js.map +1 -0
  61. package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts +21 -0
  62. package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts.map +1 -0
  63. package/dist/application/proposals/record-deliberation-outputs.use-case.js +65 -0
  64. package/dist/application/proposals/record-deliberation-outputs.use-case.js.map +1 -0
  65. package/dist/application/proposals/rollback-proposal.use-case.d.ts +20 -0
  66. package/dist/application/proposals/rollback-proposal.use-case.d.ts.map +1 -0
  67. package/dist/application/proposals/rollback-proposal.use-case.js +17 -0
  68. package/dist/application/proposals/rollback-proposal.use-case.js.map +1 -0
  69. package/dist/application/proposals/round-table.use-case.d.ts +27 -0
  70. package/dist/application/proposals/round-table.use-case.d.ts.map +1 -0
  71. package/dist/application/proposals/round-table.use-case.js +55 -0
  72. package/dist/application/proposals/round-table.use-case.js.map +1 -0
  73. package/dist/application/proposals/ship-proposal.use-case.d.ts +26 -0
  74. package/dist/application/proposals/ship-proposal.use-case.d.ts.map +1 -0
  75. package/dist/application/proposals/ship-proposal.use-case.js +60 -0
  76. package/dist/application/proposals/ship-proposal.use-case.js.map +1 -0
  77. package/dist/application/proposals/start-deliberation.use-case.d.ts +21 -0
  78. package/dist/application/proposals/start-deliberation.use-case.d.ts.map +1 -0
  79. package/dist/application/proposals/start-deliberation.use-case.js +30 -0
  80. package/dist/application/proposals/start-deliberation.use-case.js.map +1 -0
  81. package/dist/application/proposals/transition-proposal.use-case.d.ts +20 -0
  82. package/dist/application/proposals/transition-proposal.use-case.d.ts.map +1 -0
  83. package/dist/application/proposals/transition-proposal.use-case.js +19 -0
  84. package/dist/application/proposals/transition-proposal.use-case.js.map +1 -0
  85. package/dist/application/proposals/update-proposal.use-case.d.ts +26 -0
  86. package/dist/application/proposals/update-proposal.use-case.d.ts.map +1 -0
  87. package/dist/application/proposals/update-proposal.use-case.js +19 -0
  88. package/dist/application/proposals/update-proposal.use-case.js.map +1 -0
  89. package/dist/commands/index.d.ts +2 -0
  90. package/dist/commands/index.d.ts.map +1 -0
  91. package/dist/commands/index.js +2 -0
  92. package/dist/commands/index.js.map +1 -0
  93. package/dist/commands/registry.d.ts +46 -0
  94. package/dist/commands/registry.d.ts.map +1 -0
  95. package/dist/commands/registry.js +367 -0
  96. package/dist/commands/registry.js.map +1 -0
  97. package/dist/config.d.ts +17 -0
  98. package/dist/config.d.ts.map +1 -1
  99. package/dist/config.js +9 -1
  100. package/dist/config.js.map +1 -1
  101. package/dist/control/gates.d.ts +4 -1
  102. package/dist/control/gates.d.ts.map +1 -1
  103. package/dist/control/gates.js +22 -10
  104. package/dist/control/gates.js.map +1 -1
  105. package/dist/delivery/dependencies.d.ts.map +1 -1
  106. package/dist/delivery/dependencies.js +15 -7
  107. package/dist/delivery/dependencies.js.map +1 -1
  108. package/dist/delivery/dry-run.d.ts.map +1 -1
  109. package/dist/delivery/dry-run.js +3 -44
  110. package/dist/delivery/dry-run.js.map +1 -1
  111. package/dist/delivery/execution-isolation.d.ts +34 -0
  112. package/dist/delivery/execution-isolation.d.ts.map +1 -0
  113. package/dist/delivery/execution-isolation.js +97 -0
  114. package/dist/delivery/execution-isolation.js.map +1 -0
  115. package/dist/delivery/execution.d.ts.map +1 -1
  116. package/dist/delivery/execution.js +7 -5
  117. package/dist/delivery/execution.js.map +1 -1
  118. package/dist/delivery/index.d.ts +1 -0
  119. package/dist/delivery/index.d.ts.map +1 -1
  120. package/dist/delivery/index.js +1 -0
  121. package/dist/delivery/index.js.map +1 -1
  122. package/dist/delivery/plans.d.ts +3 -1
  123. package/dist/delivery/plans.d.ts.map +1 -1
  124. package/dist/delivery/plans.js +2 -2
  125. package/dist/delivery/plans.js.map +1 -1
  126. package/dist/domain/dry-run.d.ts +3 -0
  127. package/dist/domain/dry-run.d.ts.map +1 -0
  128. package/dist/domain/dry-run.js +28 -0
  129. package/dist/domain/dry-run.js.map +1 -0
  130. package/dist/domain/index.d.ts +6 -0
  131. package/dist/domain/index.d.ts.map +1 -0
  132. package/dist/domain/index.js +7 -0
  133. package/dist/domain/index.js.map +1 -0
  134. package/dist/governance/agents.d.ts +2 -0
  135. package/dist/governance/agents.d.ts.map +1 -1
  136. package/dist/governance/agents.js +148 -173
  137. package/dist/governance/agents.js.map +1 -1
  138. package/dist/governance/charter.d.ts +14 -0
  139. package/dist/governance/charter.d.ts.map +1 -0
  140. package/dist/governance/charter.js +65 -0
  141. package/dist/governance/charter.js.map +1 -0
  142. package/dist/governance/delegation.machine.d.ts +316 -0
  143. package/dist/governance/delegation.machine.d.ts.map +1 -0
  144. package/dist/governance/delegation.machine.js +387 -0
  145. package/dist/governance/delegation.machine.js.map +1 -0
  146. package/dist/governance/delegation.utils.d.ts +55 -0
  147. package/dist/governance/delegation.utils.d.ts.map +1 -0
  148. package/dist/governance/delegation.utils.js +157 -0
  149. package/dist/governance/delegation.utils.js.map +1 -0
  150. package/dist/governance/edit-gate.d.ts +47 -0
  151. package/dist/governance/edit-gate.d.ts.map +1 -0
  152. package/dist/governance/edit-gate.js +156 -0
  153. package/dist/governance/edit-gate.js.map +1 -0
  154. package/dist/governance/index.d.ts +3 -0
  155. package/dist/governance/index.d.ts.map +1 -1
  156. package/dist/governance/index.js +3 -0
  157. package/dist/governance/index.js.map +1 -1
  158. package/dist/governance/lifecycle.d.ts +0 -6
  159. package/dist/governance/lifecycle.d.ts.map +1 -1
  160. package/dist/governance/lifecycle.js +7 -31
  161. package/dist/governance/lifecycle.js.map +1 -1
  162. package/dist/governance/proposal.machine.d.ts +2 -130
  163. package/dist/governance/proposal.machine.d.ts.map +1 -1
  164. package/dist/governance/proposal.machine.js +2 -377
  165. package/dist/governance/proposal.machine.js.map +1 -1
  166. package/dist/governance/proposal.utils.d.ts +22 -165
  167. package/dist/governance/proposal.utils.d.ts.map +1 -1
  168. package/dist/governance/proposal.utils.js +52 -119
  169. package/dist/governance/proposal.utils.js.map +1 -1
  170. package/dist/governance/scoring.d.ts.map +1 -1
  171. package/dist/governance/scoring.js +36 -16
  172. package/dist/governance/scoring.js.map +1 -1
  173. package/dist/governance/voting.d.ts.map +1 -1
  174. package/dist/governance/voting.js +24 -14
  175. package/dist/governance/voting.js.map +1 -1
  176. package/dist/host-tools/github-config.d.ts.map +1 -1
  177. package/dist/host-tools/github-config.js +17 -5
  178. package/dist/host-tools/github-config.js.map +1 -1
  179. package/dist/host-tools/handlers.d.ts +14 -11
  180. package/dist/host-tools/handlers.d.ts.map +1 -1
  181. package/dist/host-tools/handlers.js +204 -335
  182. package/dist/host-tools/handlers.js.map +1 -1
  183. package/dist/host-tools/messages.d.ts +10 -4
  184. package/dist/host-tools/messages.d.ts.map +1 -1
  185. package/dist/host-tools/messages.js +14 -17
  186. package/dist/host-tools/messages.js.map +1 -1
  187. package/dist/index.d.ts +6 -0
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +12 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/integrations/github.d.ts.map +1 -1
  192. package/dist/integrations/github.js +5 -2
  193. package/dist/integrations/github.js.map +1 -1
  194. package/dist/integrations/http.d.ts +12 -1
  195. package/dist/integrations/http.d.ts.map +1 -1
  196. package/dist/integrations/http.js +114 -17
  197. package/dist/integrations/http.js.map +1 -1
  198. package/dist/intelligence/delegation.d.ts +41 -0
  199. package/dist/intelligence/delegation.d.ts.map +1 -0
  200. package/dist/intelligence/delegation.js +162 -0
  201. package/dist/intelligence/delegation.js.map +1 -0
  202. package/dist/intelligence/index.d.ts +2 -0
  203. package/dist/intelligence/index.d.ts.map +1 -1
  204. package/dist/intelligence/index.js +2 -0
  205. package/dist/intelligence/index.js.map +1 -1
  206. package/dist/intelligence/model.d.ts +28 -2
  207. package/dist/intelligence/model.d.ts.map +1 -1
  208. package/dist/intelligence/model.js +36 -3
  209. package/dist/intelligence/model.js.map +1 -1
  210. package/dist/intelligence/roundtable.d.ts +4 -2
  211. package/dist/intelligence/roundtable.d.ts.map +1 -1
  212. package/dist/intelligence/roundtable.js +2 -2
  213. package/dist/intelligence/roundtable.js.map +1 -1
  214. package/dist/intelligence/sequential.d.ts +36 -0
  215. package/dist/intelligence/sequential.d.ts.map +1 -0
  216. package/dist/intelligence/sequential.js +91 -0
  217. package/dist/intelligence/sequential.js.map +1 -0
  218. package/dist/intelligence/swarm.d.ts +19 -4
  219. package/dist/intelligence/swarm.d.ts.map +1 -1
  220. package/dist/intelligence/swarm.js +107 -53
  221. package/dist/intelligence/swarm.js.map +1 -1
  222. package/dist/intelligence/synthesis.d.ts.map +1 -1
  223. package/dist/intelligence/synthesis.js +16 -4
  224. package/dist/intelligence/synthesis.js.map +1 -1
  225. package/dist/models/graph-engineering.machine.d.ts +219 -0
  226. package/dist/models/graph-engineering.machine.d.ts.map +1 -0
  227. package/dist/models/graph-engineering.machine.js +214 -0
  228. package/dist/models/graph-engineering.machine.js.map +1 -0
  229. package/dist/models/improvement-loop.machine.d.ts +239 -0
  230. package/dist/models/improvement-loop.machine.d.ts.map +1 -0
  231. package/dist/models/improvement-loop.machine.js +254 -0
  232. package/dist/models/improvement-loop.machine.js.map +1 -0
  233. package/dist/models/index.d.ts +5 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/dist/models/index.js +5 -0
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/product-loop.machine.d.ts +531 -0
  238. package/dist/models/product-loop.machine.d.ts.map +1 -0
  239. package/dist/models/product-loop.machine.js +699 -0
  240. package/dist/models/product-loop.machine.js.map +1 -0
  241. package/dist/models/proposal.machine.d.ts +82 -0
  242. package/dist/models/proposal.machine.d.ts.map +1 -0
  243. package/dist/models/proposal.machine.js +68 -0
  244. package/dist/models/proposal.machine.js.map +1 -0
  245. package/dist/observability/attention.d.ts +40 -0
  246. package/dist/observability/attention.d.ts.map +1 -0
  247. package/dist/observability/attention.js +119 -0
  248. package/dist/observability/attention.js.map +1 -0
  249. package/dist/observability/index.d.ts +1 -0
  250. package/dist/observability/index.d.ts.map +1 -1
  251. package/dist/observability/index.js +1 -0
  252. package/dist/observability/index.js.map +1 -1
  253. package/dist/observability/logging.d.ts +6 -0
  254. package/dist/observability/logging.d.ts.map +1 -1
  255. package/dist/observability/logging.js +36 -6
  256. package/dist/observability/logging.js.map +1 -1
  257. package/dist/observability/metrics.d.ts +7 -0
  258. package/dist/observability/metrics.d.ts.map +1 -1
  259. package/dist/observability/metrics.js +179 -43
  260. package/dist/observability/metrics.js.map +1 -1
  261. package/dist/persistence.d.ts +5 -6
  262. package/dist/persistence.d.ts.map +1 -1
  263. package/dist/persistence.js +197 -140
  264. package/dist/persistence.js.map +1 -1
  265. package/dist/ports/clock.d.ts +7 -0
  266. package/dist/ports/clock.d.ts.map +1 -0
  267. package/dist/ports/clock.js +5 -0
  268. package/dist/ports/clock.js.map +1 -0
  269. package/dist/ports/host.d.ts +8 -0
  270. package/dist/ports/host.d.ts.map +1 -0
  271. package/dist/ports/host.js +2 -0
  272. package/dist/ports/host.js.map +1 -0
  273. package/dist/ports/index.d.ts +5 -0
  274. package/dist/ports/index.d.ts.map +1 -0
  275. package/dist/ports/index.js +5 -0
  276. package/dist/ports/index.js.map +1 -0
  277. package/dist/ports/repository.d.ts +7 -0
  278. package/dist/ports/repository.d.ts.map +1 -0
  279. package/dist/ports/repository.js +2 -0
  280. package/dist/ports/repository.js.map +1 -0
  281. package/dist/ports/workspace.d.ts +14 -0
  282. package/dist/ports/workspace.d.ts.map +1 -0
  283. package/dist/ports/workspace.js +14 -0
  284. package/dist/ports/workspace.js.map +1 -0
  285. package/dist/presenters/index.d.ts +2 -0
  286. package/dist/presenters/index.d.ts.map +1 -0
  287. package/dist/presenters/index.js +2 -0
  288. package/dist/presenters/index.js.map +1 -0
  289. package/dist/presenters/proposal.presenter.d.ts +30 -0
  290. package/dist/presenters/proposal.presenter.d.ts.map +1 -0
  291. package/dist/presenters/proposal.presenter.js +47 -0
  292. package/dist/presenters/proposal.presenter.js.map +1 -0
  293. package/dist/types/index.d.ts +70 -0
  294. package/dist/types/index.d.ts.map +1 -1
  295. package/dist/types/index.js +12 -0
  296. package/dist/types/index.js.map +1 -1
  297. package/dist/utils/host.d.ts.map +1 -1
  298. package/dist/utils/host.js +77 -6
  299. package/dist/utils/host.js.map +1 -1
  300. package/dist/utils/security.d.ts +7 -1
  301. package/dist/utils/security.d.ts.map +1 -1
  302. package/dist/utils/security.js +18 -2
  303. package/dist/utils/security.js.map +1 -1
  304. package/package.json +13 -1
@@ -0,0 +1,214 @@
1
+ import { assign, createActor, setup } from "xstate";
2
+ export const REQUIRED_GRAPH_ANCHORS = [
3
+ "model-contract",
4
+ "graph-tests",
5
+ "architecture-contract",
6
+ "repository-ci",
7
+ "runtime-scenario",
8
+ "regression",
9
+ ];
10
+ export const GRAPH_MAX_RETRIES = 2;
11
+ export const GRAPH_TERMINAL_STATES = ["succeeded", "failed", "blocked", "cancelled"];
12
+ const isNonEmpty = (value) => typeof value === "string" && value.trim().length > 0;
13
+ export const isRequiredGraphAnchor = (value) => typeof value === "string" && REQUIRED_GRAPH_ANCHORS.includes(value);
14
+ const initialContext = (runId) => ({
15
+ runId,
16
+ modelHash: null,
17
+ approvedModelHash: null,
18
+ implementationHash: null,
19
+ anchors: {},
20
+ attempt: 0,
21
+ maxRetries: GRAPH_MAX_RETRIES,
22
+ terminalReason: null,
23
+ });
24
+ const graphEngineeringSetup = setup({
25
+ types: {
26
+ context: {},
27
+ events: {},
28
+ input: {},
29
+ },
30
+ guards: {
31
+ isAiModelDraft: ({ event }) => event.type === "MODEL_DRAFTED" && event.source === "ai" && isNonEmpty(event.modelHash),
32
+ isValidModelContract: ({ event }) => event.type === "MODEL_CONTRACT_VALID" && event.source === "tool" && isNonEmpty(event.evidence),
33
+ isInvalidModelContract: ({ event }) => event.type === "MODEL_CONTRACT_INVALID" && event.source === "tool" && isNonEmpty(event.reason),
34
+ isMatchingHumanApproval: ({ context, event }) => event.type === "MODEL_APPROVED" &&
35
+ event.source === "human" &&
36
+ isNonEmpty(event.modelHash) &&
37
+ event.modelHash === context.modelHash,
38
+ isHumanRejection: ({ event }) => event.type === "MODEL_REJECTED" && event.source === "human" && isNonEmpty(event.reason),
39
+ isSystemStart: ({ event }) => event.type === "START_IMPLEMENTATION" && event.source === "system",
40
+ isAiImplementationReady: ({ event }) => event.type === "IMPLEMENTATION_READY" && event.source === "ai" && isNonEmpty(event.implementationHash),
41
+ isAiImplementationFailure: ({ event }) => event.type === "IMPLEMENTATION_FAILED" && event.source === "ai" && isNonEmpty(event.reason),
42
+ isValidAnchor: ({ event }) => event.type === "ANCHOR_RECORDED" &&
43
+ event.source === "tool" &&
44
+ isRequiredGraphAnchor(event.anchor) &&
45
+ event.anchor !== "model-contract" &&
46
+ (event.status === "passed" || event.status === "failed") &&
47
+ isNonEmpty(event.evidence),
48
+ allAnchorsPassed: ({ context, event }) => event.type === "EVALUATE" &&
49
+ event.source === "system" &&
50
+ REQUIRED_GRAPH_ANCHORS.every((anchor) => {
51
+ const result = context.anchors[anchor];
52
+ return (result?.status === "passed" &&
53
+ isNonEmpty(result.evidence) &&
54
+ (anchor === "model-contract" || result.attempt === context.attempt));
55
+ }),
56
+ isSystemEvaluation: ({ event }) => event.type === "EVALUATE" && event.source === "system",
57
+ isHumanRetry: ({ context, event }) => event.type === "RETRY_AUTHORIZED" && event.source === "human" && context.attempt < context.maxRetries,
58
+ isToolPermissionDenial: ({ event }) => event.type === "PERMISSION_DENIED" && event.source === "tool" && isNonEmpty(event.reason),
59
+ isHumanCancellation: ({ event }) => event.type === "CANCEL" && event.source === "human" && isNonEmpty(event.reason),
60
+ },
61
+ actions: {
62
+ recordModel: assign(({ context, event }) => event.type === "MODEL_DRAFTED"
63
+ ? {
64
+ ...context,
65
+ modelHash: event.modelHash,
66
+ approvedModelHash: null,
67
+ implementationHash: null,
68
+ anchors: {},
69
+ attempt: 0,
70
+ terminalReason: null,
71
+ }
72
+ : context),
73
+ recordModelContract: assign(({ context, event }) => event.type === "MODEL_CONTRACT_VALID"
74
+ ? {
75
+ ...context,
76
+ anchors: {
77
+ ...context.anchors,
78
+ "model-contract": { status: "passed", evidence: event.evidence, attempt: 0 },
79
+ },
80
+ }
81
+ : context),
82
+ approveModel: assign(({ context, event }) => event.type === "MODEL_APPROVED" ? { ...context, approvedModelHash: event.modelHash } : context),
83
+ resetRejectedModel: assign(({ context }) => initialContext(context.runId)),
84
+ recordImplementation: assign(({ context, event }) => event.type === "IMPLEMENTATION_READY" ? { ...context, implementationHash: event.implementationHash } : context),
85
+ recordAnchorOnce: assign(({ context, event }) => {
86
+ if (event.type !== "ANCHOR_RECORDED" || context.anchors[event.anchor] !== undefined)
87
+ return context;
88
+ return {
89
+ ...context,
90
+ anchors: {
91
+ ...context.anchors,
92
+ [event.anchor]: { status: event.status, evidence: event.evidence, attempt: context.attempt },
93
+ },
94
+ };
95
+ }),
96
+ prepareRetry: assign(({ context }) => ({
97
+ ...context,
98
+ implementationHash: null,
99
+ anchors: context.anchors["model-contract"] ? { "model-contract": context.anchors["model-contract"] } : {},
100
+ attempt: context.attempt + 1,
101
+ terminalReason: null,
102
+ })),
103
+ recordEventReason: assign(({ context, event }) => ({
104
+ ...context,
105
+ terminalReason: "reason" in event && isNonEmpty(event.reason) ? event.reason : "graph run failed",
106
+ })),
107
+ recordVerificationFailure: assign(({ context }) => ({
108
+ ...context,
109
+ terminalReason: "required anchors did not all pass",
110
+ })),
111
+ recordSuccess: assign(({ context }) => ({
112
+ ...context,
113
+ terminalReason: "all required anchors passed",
114
+ })),
115
+ },
116
+ });
117
+ export const graphEngineeringMachine = graphEngineeringSetup.createMachine({
118
+ id: "swarm-dao-graph-engineering",
119
+ initial: "draft",
120
+ context: ({ input }) => initialContext(input.runId),
121
+ on: {
122
+ PERMISSION_DENIED: {
123
+ guard: "isToolPermissionDenial",
124
+ target: ".blocked",
125
+ actions: "recordEventReason",
126
+ },
127
+ CANCEL: {
128
+ guard: "isHumanCancellation",
129
+ target: ".cancelled",
130
+ actions: "recordEventReason",
131
+ },
132
+ },
133
+ states: {
134
+ draft: {
135
+ on: {
136
+ MODEL_DRAFTED: { guard: "isAiModelDraft", target: "modelReview", actions: "recordModel" },
137
+ },
138
+ },
139
+ modelReview: {
140
+ on: {
141
+ MODEL_CONTRACT_VALID: {
142
+ guard: "isValidModelContract",
143
+ target: "awaitingApproval",
144
+ actions: "recordModelContract",
145
+ },
146
+ MODEL_CONTRACT_INVALID: {
147
+ guard: "isInvalidModelContract",
148
+ target: "failed",
149
+ actions: "recordEventReason",
150
+ },
151
+ },
152
+ },
153
+ awaitingApproval: {
154
+ on: {
155
+ MODEL_APPROVED: { guard: "isMatchingHumanApproval", target: "ready", actions: "approveModel" },
156
+ MODEL_REJECTED: { guard: "isHumanRejection", target: "draft", actions: "resetRejectedModel" },
157
+ },
158
+ },
159
+ ready: {
160
+ on: {
161
+ START_IMPLEMENTATION: { guard: "isSystemStart", target: "implementing" },
162
+ },
163
+ },
164
+ implementing: {
165
+ on: {
166
+ IMPLEMENTATION_READY: {
167
+ guard: "isAiImplementationReady",
168
+ target: "verifying",
169
+ actions: "recordImplementation",
170
+ },
171
+ IMPLEMENTATION_FAILED: [
172
+ {
173
+ guard: ({ context, event }) => event.type === "IMPLEMENTATION_FAILED" &&
174
+ event.source === "ai" &&
175
+ isNonEmpty(event.reason) &&
176
+ context.attempt < context.maxRetries,
177
+ target: "retrying",
178
+ actions: "recordEventReason",
179
+ },
180
+ { guard: "isAiImplementationFailure", target: "failed", actions: "recordEventReason" },
181
+ ],
182
+ },
183
+ },
184
+ verifying: {
185
+ on: {
186
+ ANCHOR_RECORDED: { guard: "isValidAnchor", actions: "recordAnchorOnce" },
187
+ EVALUATE: [
188
+ { guard: "allAnchorsPassed", target: "succeeded", actions: "recordSuccess" },
189
+ {
190
+ guard: ({ context, event }) => event.type === "EVALUATE" && event.source === "system" && context.attempt < context.maxRetries,
191
+ target: "retrying",
192
+ actions: "recordVerificationFailure",
193
+ },
194
+ { guard: "isSystemEvaluation", target: "failed", actions: "recordVerificationFailure" },
195
+ ],
196
+ },
197
+ },
198
+ retrying: {
199
+ on: {
200
+ RETRY_AUTHORIZED: { guard: "isHumanRetry", target: "implementing", actions: "prepareRetry" },
201
+ },
202
+ },
203
+ succeeded: { type: "final" },
204
+ failed: { type: "final" },
205
+ blocked: { type: "final" },
206
+ cancelled: { type: "final" },
207
+ },
208
+ });
209
+ export const createGraphEngineeringActor = (runId) => {
210
+ const actor = createActor(graphEngineeringMachine, { input: { runId } });
211
+ actor.start();
212
+ return actor;
213
+ };
214
+ //# sourceMappingURL=graph-engineering.machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-engineering.machine.js","sourceRoot":"","sources":["../../src/models/graph-engineering.machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
1
+ import { type ActorRefFrom } from "xstate";
2
+ export declare const REQUIRED_IMPROVEMENT_ANCHORS: readonly ["counter-metric-paired", "drift-audit", "arbitration-policy", "anchor-reality", "frozen-set-intact", "regression"];
3
+ export declare const IMPROVEMENT_MAX_RETRIES = 2;
4
+ export declare const IMPROVEMENT_TERMINAL_STATES: readonly ["succeeded", "failed", "blocked", "cancelled"];
5
+ export type ImprovementAnchorName = (typeof REQUIRED_IMPROVEMENT_ANCHORS)[number];
6
+ export type ImprovementSignalSource = "ai" | "tool" | "human" | "system";
7
+ export type AnchorStatus = "passed" | "failed";
8
+ export type DriftClass = "none" | "partial" | "detached";
9
+ export type Sample = Readonly<{
10
+ value: string;
11
+ evidence: string;
12
+ }>;
13
+ export type ImprovementAnchorResult = Readonly<{
14
+ status: AnchorStatus;
15
+ evidence: string;
16
+ attempt: number;
17
+ }>;
18
+ export type ImprovementContext = {
19
+ cycleId: string;
20
+ scope: string;
21
+ referenceHash: string | null;
22
+ approvedReferenceHash: string | null;
23
+ metric: Sample | null;
24
+ counterMetric: Sample | null;
25
+ driftClass: DriftClass | null;
26
+ arbitrationOutcome: string | null;
27
+ anchors: Partial<Record<ImprovementAnchorName, ImprovementAnchorResult>>;
28
+ attempt: number;
29
+ maxRetries: number;
30
+ terminalReason: string | null;
31
+ };
32
+ export type ImprovementEvent = {
33
+ type: "METRIC_SAMPLED";
34
+ source: ImprovementSignalSource;
35
+ sample: Sample;
36
+ } | {
37
+ type: "COUNTER_SAMPLED";
38
+ source: ImprovementSignalSource;
39
+ sample: Sample;
40
+ } | {
41
+ type: "SAMPLES_SEALED";
42
+ source: ImprovementSignalSource;
43
+ } | {
44
+ type: "DRIFT_ESTIMATE";
45
+ source: ImprovementSignalSource;
46
+ driftClass: DriftClass;
47
+ } | {
48
+ type: "ARBITRATION";
49
+ source: ImprovementSignalSource;
50
+ outcome: string;
51
+ } | {
52
+ type: "ANCHOR_RECORDED";
53
+ source: ImprovementSignalSource;
54
+ anchor: ImprovementAnchorName;
55
+ status: AnchorStatus;
56
+ evidence: string;
57
+ } | {
58
+ type: "EVALUATE";
59
+ source: ImprovementSignalSource;
60
+ } | {
61
+ type: "REFERENCE_CHANGE_APPROVED";
62
+ source: ImprovementSignalSource;
63
+ referenceHash: string;
64
+ } | {
65
+ type: "REFERENCE_CHANGE_REJECTED";
66
+ source: ImprovementSignalSource;
67
+ reason: string;
68
+ } | {
69
+ type: "RETRY_AUTHORIZED";
70
+ source: ImprovementSignalSource;
71
+ } | {
72
+ type: "PERMISSION_DENIED";
73
+ source: ImprovementSignalSource;
74
+ reason: string;
75
+ } | {
76
+ type: "CANCEL";
77
+ source: ImprovementSignalSource;
78
+ reason: string;
79
+ };
80
+ export declare const isRequiredImprovementAnchor: (value: unknown) => value is ImprovementAnchorName;
81
+ /** Deterministic arbitration over paired signals. Lives in the model; called by the tool adapter. */
82
+ export declare const arbitratePairedSignals: (metric: Sample | null, counterMetric: Sample | null) => {
83
+ outcome: string;
84
+ arbitrationPolicyPassed: boolean;
85
+ };
86
+ /** Deterministic frozen-set integrity check. Lives in the model; called by the tool adapter. */
87
+ export declare const assertFrozenSetIntact: (currentHash: string, expectedHash: string) => boolean;
88
+ export interface ImprovementMachineInput {
89
+ cycleId: string;
90
+ scope: string;
91
+ referenceHash: string;
92
+ }
93
+ export declare const improvementMachine: import("xstate").StateMachine<ImprovementContext, {
94
+ type: "METRIC_SAMPLED";
95
+ source: ImprovementSignalSource;
96
+ sample: Sample;
97
+ } | {
98
+ type: "COUNTER_SAMPLED";
99
+ source: ImprovementSignalSource;
100
+ sample: Sample;
101
+ } | {
102
+ type: "SAMPLES_SEALED";
103
+ source: ImprovementSignalSource;
104
+ } | {
105
+ type: "DRIFT_ESTIMATE";
106
+ source: ImprovementSignalSource;
107
+ driftClass: DriftClass;
108
+ } | {
109
+ type: "ARBITRATION";
110
+ source: ImprovementSignalSource;
111
+ outcome: string;
112
+ } | {
113
+ type: "ANCHOR_RECORDED";
114
+ source: ImprovementSignalSource;
115
+ anchor: ImprovementAnchorName;
116
+ status: AnchorStatus;
117
+ evidence: string;
118
+ } | {
119
+ type: "EVALUATE";
120
+ source: ImprovementSignalSource;
121
+ } | {
122
+ type: "REFERENCE_CHANGE_APPROVED";
123
+ source: ImprovementSignalSource;
124
+ referenceHash: string;
125
+ } | {
126
+ type: "REFERENCE_CHANGE_REJECTED";
127
+ source: ImprovementSignalSource;
128
+ reason: string;
129
+ } | {
130
+ type: "RETRY_AUTHORIZED";
131
+ source: ImprovementSignalSource;
132
+ } | {
133
+ type: "PERMISSION_DENIED";
134
+ source: ImprovementSignalSource;
135
+ reason: string;
136
+ } | {
137
+ type: "CANCEL";
138
+ source: ImprovementSignalSource;
139
+ reason: string;
140
+ }, {}, never, {
141
+ type: "recordAnchorOnce";
142
+ params: import("xstate").NonReducibleUnknown;
143
+ } | {
144
+ type: "prepareRetry";
145
+ params: import("xstate").NonReducibleUnknown;
146
+ } | {
147
+ type: "recordEventReason";
148
+ params: import("xstate").NonReducibleUnknown;
149
+ } | {
150
+ type: "recordVerificationFailure";
151
+ params: import("xstate").NonReducibleUnknown;
152
+ } | {
153
+ type: "recordSuccess";
154
+ params: import("xstate").NonReducibleUnknown;
155
+ } | {
156
+ type: "recordMetric";
157
+ params: import("xstate").NonReducibleUnknown;
158
+ } | {
159
+ type: "recordCounter";
160
+ params: import("xstate").NonReducibleUnknown;
161
+ } | {
162
+ type: "recordCounterMetricPaired";
163
+ params: import("xstate").NonReducibleUnknown;
164
+ } | {
165
+ type: "recordDrift";
166
+ params: import("xstate").NonReducibleUnknown;
167
+ } | {
168
+ type: "recordArbitration";
169
+ params: import("xstate").NonReducibleUnknown;
170
+ } | {
171
+ type: "applyReferenceApproval";
172
+ params: import("xstate").NonReducibleUnknown;
173
+ } | {
174
+ type: "recordDetachedAdjustment";
175
+ params: import("xstate").NonReducibleUnknown;
176
+ }, {
177
+ type: "isValidAnchor";
178
+ params: unknown;
179
+ } | {
180
+ type: "allAnchorsPassed";
181
+ params: unknown;
182
+ } | {
183
+ type: "isHumanRetry";
184
+ params: unknown;
185
+ } | {
186
+ type: "isToolPermissionDenial";
187
+ params: unknown;
188
+ } | {
189
+ type: "isHumanCancellation";
190
+ params: unknown;
191
+ } | {
192
+ type: "isAiMetricSample";
193
+ params: unknown;
194
+ } | {
195
+ type: "isAiCounterSample";
196
+ params: unknown;
197
+ } | {
198
+ type: "isToolSamplesSealed";
199
+ params: unknown;
200
+ } | {
201
+ type: "isAiDriftEstimate";
202
+ params: unknown;
203
+ } | {
204
+ type: "isToolArbitration";
205
+ params: unknown;
206
+ } | {
207
+ type: "isSystemEvaluate";
208
+ params: unknown;
209
+ } | {
210
+ type: "isDetached";
211
+ params: unknown;
212
+ } | {
213
+ type: "canRetry";
214
+ params: unknown;
215
+ } | {
216
+ type: "isMatchingReferenceApproval";
217
+ params: unknown;
218
+ } | {
219
+ type: "isHumanReferenceRejection";
220
+ params: unknown;
221
+ }, never, "failed" | "retrying" | "adjusting" | "blocked" | "cancelled" | "succeeded" | "sampling" | "auditing" | "arbitrating" | "grounding" | "evaluating", string, ImprovementMachineInput, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
222
+ id: "swarm-dao-improvement-loop";
223
+ states: {
224
+ readonly sampling: {};
225
+ readonly auditing: {};
226
+ readonly arbitrating: {};
227
+ readonly grounding: {};
228
+ readonly evaluating: {};
229
+ readonly adjusting: {};
230
+ readonly retrying: {};
231
+ readonly succeeded: {};
232
+ readonly failed: {};
233
+ readonly blocked: {};
234
+ readonly cancelled: {};
235
+ };
236
+ }>;
237
+ export type ImprovementActor = ActorRefFrom<typeof improvementMachine>;
238
+ export declare const createImprovementActor: (input: ImprovementMachineInput) => ImprovementActor;
239
+ //# sourceMappingURL=improvement-loop.machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improvement-loop.machine.d.ts","sourceRoot":"","sources":["../../src/models/improvement-loop.machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,QAAQ,CAAC;AAEvE,eAAO,MAAM,4BAA4B,8HAO/B,CAAC;AAEX,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,2BAA2B,0DAA2D,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzE;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgBxE,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qBAC8B,CAAC;AAErG,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,GAAG,IAAI,EACrB,eAAe,MAAM,GAAG,IAAI,KAC3B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,uBAAuB,EAAE,OAAO,CAAA;CAUrD,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,EAAE,cAAc,MAAM,KAAG,OACG,CAAC;AAiBtF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAkJD,eAAO,MAAM,kBAAkB;UA7NnB,gBAAgB;YAAU,uBAAuB;YAAU,MAAM;;UACjE,iBAAiB;YAAU,uBAAuB;YAAU,MAAM;;UAClE,gBAAgB;YAAU,uBAAuB;;UACjD,gBAAgB;YAAU,uBAAuB;gBAAc,UAAU;;UACzE,aAAa;YAAU,uBAAuB;aAAW,MAAM;;UAE/D,iBAAiB;YACf,uBAAuB;YACvB,qBAAqB;YACrB,YAAY;cACV,MAAM;;UAEV,UAAU;YAAU,uBAAuB;;UAC3C,2BAA2B;YAAU,uBAAuB;mBAAiB,MAAM;;UACnF,2BAA2B;YAAU,uBAAuB;YAAU,MAAM;;UAC5E,kBAAkB;YAAU,uBAAuB;;UACnD,mBAAmB;YAAU,uBAAuB;YAAU,MAAM;;UACpE,QAAQ;YAAU,uBAAuB;YAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgRnE,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvE,eAAO,MAAM,sBAAsB,GAAI,OAAO,uBAAuB,KAAG,gBAIvE,CAAC"}