@guyghost/swarm-dao-core 0.2.0 → 0.4.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 (101) hide show
  1. package/dist/commands/index.d.ts +2 -0
  2. package/dist/commands/index.d.ts.map +1 -0
  3. package/dist/commands/index.js +2 -0
  4. package/dist/commands/index.js.map +1 -0
  5. package/dist/commands/registry.d.ts +46 -0
  6. package/dist/commands/registry.d.ts.map +1 -0
  7. package/dist/commands/registry.js +352 -0
  8. package/dist/commands/registry.js.map +1 -0
  9. package/dist/control/gates.d.ts.map +1 -1
  10. package/dist/control/gates.js +17 -0
  11. package/dist/control/gates.js.map +1 -1
  12. package/dist/delivery/dependencies.d.ts.map +1 -1
  13. package/dist/delivery/dependencies.js +15 -7
  14. package/dist/delivery/dependencies.js.map +1 -1
  15. package/dist/delivery/execution.d.ts.map +1 -1
  16. package/dist/delivery/execution.js +7 -5
  17. package/dist/delivery/execution.js.map +1 -1
  18. package/dist/governance/agents.d.ts +2 -0
  19. package/dist/governance/agents.d.ts.map +1 -1
  20. package/dist/governance/agents.js +49 -12
  21. package/dist/governance/agents.js.map +1 -1
  22. package/dist/governance/delegation.machine.d.ts +316 -0
  23. package/dist/governance/delegation.machine.d.ts.map +1 -0
  24. package/dist/governance/delegation.machine.js +387 -0
  25. package/dist/governance/delegation.machine.js.map +1 -0
  26. package/dist/governance/delegation.utils.d.ts +55 -0
  27. package/dist/governance/delegation.utils.d.ts.map +1 -0
  28. package/dist/governance/delegation.utils.js +157 -0
  29. package/dist/governance/delegation.utils.js.map +1 -0
  30. package/dist/governance/index.d.ts +2 -0
  31. package/dist/governance/index.d.ts.map +1 -1
  32. package/dist/governance/index.js +2 -0
  33. package/dist/governance/index.js.map +1 -1
  34. package/dist/governance/lifecycle.d.ts +0 -6
  35. package/dist/governance/lifecycle.d.ts.map +1 -1
  36. package/dist/governance/lifecycle.js +7 -31
  37. package/dist/governance/lifecycle.js.map +1 -1
  38. package/dist/governance/proposal.machine.d.ts +65 -81
  39. package/dist/governance/proposal.machine.d.ts.map +1 -1
  40. package/dist/governance/proposal.machine.js +160 -357
  41. package/dist/governance/proposal.machine.js.map +1 -1
  42. package/dist/governance/proposal.utils.d.ts +19 -165
  43. package/dist/governance/proposal.utils.d.ts.map +1 -1
  44. package/dist/governance/proposal.utils.js +49 -119
  45. package/dist/governance/proposal.utils.js.map +1 -1
  46. package/dist/governance/scoring.d.ts.map +1 -1
  47. package/dist/governance/scoring.js +36 -16
  48. package/dist/governance/scoring.js.map +1 -1
  49. package/dist/host-tools/github-config.d.ts +7 -0
  50. package/dist/host-tools/github-config.d.ts.map +1 -0
  51. package/dist/host-tools/github-config.js +33 -0
  52. package/dist/host-tools/github-config.js.map +1 -0
  53. package/dist/host-tools/handlers.d.ts +87 -0
  54. package/dist/host-tools/handlers.d.ts.map +1 -0
  55. package/dist/host-tools/handlers.js +556 -0
  56. package/dist/host-tools/handlers.js.map +1 -0
  57. package/dist/host-tools/index.d.ts +5 -0
  58. package/dist/host-tools/index.d.ts.map +1 -0
  59. package/dist/host-tools/index.js +5 -0
  60. package/dist/host-tools/index.js.map +1 -0
  61. package/dist/host-tools/messages.d.ts +12 -0
  62. package/dist/host-tools/messages.d.ts.map +1 -0
  63. package/dist/host-tools/messages.js +34 -0
  64. package/dist/host-tools/messages.js.map +1 -0
  65. package/dist/host-tools/utils.d.ts +3 -0
  66. package/dist/host-tools/utils.d.ts.map +1 -0
  67. package/dist/host-tools/utils.js +29 -0
  68. package/dist/host-tools/utils.js.map +1 -0
  69. package/dist/index.d.ts +2 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +4 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/integrations/http.d.ts +12 -1
  74. package/dist/integrations/http.d.ts.map +1 -1
  75. package/dist/integrations/http.js +114 -17
  76. package/dist/integrations/http.js.map +1 -1
  77. package/dist/intelligence/delegation.d.ts +40 -0
  78. package/dist/intelligence/delegation.d.ts.map +1 -0
  79. package/dist/intelligence/delegation.js +162 -0
  80. package/dist/intelligence/delegation.js.map +1 -0
  81. package/dist/intelligence/index.d.ts +1 -0
  82. package/dist/intelligence/index.d.ts.map +1 -1
  83. package/dist/intelligence/index.js +1 -0
  84. package/dist/intelligence/index.js.map +1 -1
  85. package/dist/intelligence/model.d.ts +28 -2
  86. package/dist/intelligence/model.d.ts.map +1 -1
  87. package/dist/intelligence/model.js +36 -3
  88. package/dist/intelligence/model.js.map +1 -1
  89. package/dist/intelligence/swarm.d.ts +13 -2
  90. package/dist/intelligence/swarm.d.ts.map +1 -1
  91. package/dist/intelligence/swarm.js +97 -50
  92. package/dist/intelligence/swarm.js.map +1 -1
  93. package/dist/persistence.d.ts +2 -6
  94. package/dist/persistence.d.ts.map +1 -1
  95. package/dist/persistence.js +109 -123
  96. package/dist/persistence.js.map +1 -1
  97. package/dist/types/index.d.ts +70 -0
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +12 -0
  100. package/dist/types/index.js.map +1 -1
  101. package/package.json +1 -1
@@ -1,378 +1,181 @@
1
- import { assign, setup } from "xstate";
2
1
  // ============================================================
3
- // XState Machine Definition
2
+ // Swarm DAO Core — Proposal Lifecycle State Machine
3
+ // ------------------------------------------------------------
4
+ // Single source of truth for proposal status transitions.
5
+ //
6
+ // Discipline: "Le modèle décide." The LLM (council/votes) produces
7
+ // signals (a TallyResult, a ControlCheckResult). Those signals are
8
+ // carried as event payloads and evaluated by guards. No call site
9
+ // chooses a target status — it only emits the event that matches
10
+ // what happened in the world. The machine owns every edge.
11
+ //
12
+ // The 7 machine states map 1:1 to `ProposalStatus`. There is no
13
+ // hidden `executing`/`postmortem` pipeline: the runtime is
14
+ // synchronous (deliberation is one tool call, execution is one
15
+ // tool call), so those intermediate states had no observer and
16
+ // were removed during distill.
4
17
  // ============================================================
5
- export const proposalMachine = setup({
18
+ import { assign, setup } from "xstate";
19
+ // ── Terminal statuses ────────────────────────────────────────
20
+ export const PROPOSAL_FINAL_STATUSES = new Set(["executed", "failed", "rejected"]);
21
+ export function isProposalFinal(status) {
22
+ return PROPOSAL_FINAL_STATUSES.has(status);
23
+ }
24
+ // ── Machine ──────────────────────────────────────────────────
25
+ //
26
+ // Guards are the two real permission boundaries of the DAO:
27
+ // • tallyApproved — the council's vote authorized approval.
28
+ // • gatesPassed — quality control cleared the proposal for execution.
29
+ //
30
+ // Risk-zone / mandatory-dry-run is enforced upstream by the
31
+ // `mandatory-dry-run` control gate (control/gates.ts), which makes
32
+ // `ControlCheckResult.allGatesPassed` false for red-zone proposals
33
+ // without a dry-run. Duplicating that check here would be unearned
34
+ // complexity — the invariant already lives at the control boundary.
35
+ const proposalSetup = setup({
6
36
  types: {
7
37
  context: {},
8
38
  input: {},
9
39
  events: {},
10
40
  },
11
- }).createMachine({
12
- id: "proposalLifecycle",
13
- initial: "draft",
14
- context: ({ input }) => ({
15
- proposal: input.proposal,
16
- stage: input.stage ?? "intake",
17
- status: input.status ?? "open",
18
- riskZone: input.riskZone,
19
- deliberationCount: input.deliberationCount ?? 0,
20
- retryCount: input.retryCount ?? 0,
21
- errorMessage: input.errorMessage,
22
- lastTransitionTime: input.lastTransitionTime ?? new Date().toISOString(),
23
- }),
24
- on: {
25
- DISCARD: {
26
- target: ".rejected",
27
- actions: assign({
28
- status: "rejected",
29
- lastTransitionTime: () => new Date().toISOString(),
30
- }),
31
- },
32
- ERROR: {
33
- target: ".executionError",
34
- actions: assign({
35
- status: "failed",
36
- errorMessage: ({ event }) => event.message,
37
- lastTransitionTime: () => new Date().toISOString(),
38
- }),
39
- },
41
+ guards: {
42
+ tallyApproved: ({ event }) => event.type === "APPROVE" && event.tally.approved === true,
43
+ gatesPassed: ({ event }) => event.type === "CONTROL_PASS" && event.result.allGatesPassed === true && event.result.blockerCount === 0,
40
44
  },
41
- states: {
42
- // ───────────────────────────────────────────────────────
43
- // INTAKE PHASE
44
- // ───────────────────────────────────────────────────────
45
- draft: {
46
- on: {
47
- SUBMIT: {
48
- target: "intake",
49
- actions: assign({
50
- status: "open",
51
- stage: "intake",
52
- lastTransitionTime: () => new Date().toISOString(),
53
- }),
54
- },
55
- },
56
- },
57
- intake: {
58
- on: {
59
- QUALIFY: {
60
- target: "qualification",
61
- actions: assign({
62
- status: "open",
63
- stage: "qualification",
64
- lastTransitionTime: () => new Date().toISOString(),
65
- }),
66
- },
67
- REJECT: {
68
- target: "rejected",
69
- actions: assign({
70
- status: "rejected",
71
- stage: "council",
72
- lastTransitionTime: () => new Date().toISOString(),
73
- }),
74
- },
75
- },
76
- },
77
- // ───────────────────────────────────────────────────────
78
- // QUALIFICATION PHASE
79
- // ───────────────────────────────────────────────────────
80
- qualification: {
81
- on: {
82
- ANALYZE: {
83
- target: "analysis",
84
- actions: assign({
85
- status: "open",
86
- stage: "analysis",
87
- lastTransitionTime: () => new Date().toISOString(),
88
- }),
89
- },
90
- REJECT: {
91
- target: "rejected",
92
- actions: assign({
93
- status: "rejected",
94
- stage: "council",
95
- lastTransitionTime: () => new Date().toISOString(),
96
- }),
97
- },
98
- },
99
- },
100
- // ───────────────────────────────────────────────────────
101
- // ANALYSIS PHASE
102
- // ───────────────────────────────────────────────────────
103
- analysis: {
104
- on: {
105
- CRITIQUE: {
106
- target: "critique",
107
- actions: assign({
108
- status: "deliberating",
109
- stage: "critique",
110
- deliberationCount: ({ context }) => context.deliberationCount + 1,
111
- lastTransitionTime: () => new Date().toISOString(),
112
- }),
113
- },
114
- REJECT: {
115
- target: "rejected",
116
- actions: assign({
117
- status: "rejected",
118
- stage: "council",
119
- lastTransitionTime: () => new Date().toISOString(),
120
- }),
121
- },
122
- },
123
- },
124
- // ───────────────────────────────────────────────────────
125
- // CRITIQUE PHASE
126
- // ───────────────────────────────────────────────────────
127
- critique: {
128
- on: {
129
- SCORE: {
130
- target: "scoring",
131
- actions: assign({
132
- status: "deliberating",
133
- stage: "scoring",
134
- deliberationCount: ({ context }) => context.deliberationCount + 1,
135
- lastTransitionTime: () => new Date().toISOString(),
136
- }),
137
- },
138
- REJECT: {
139
- target: "rejected",
140
- actions: assign({
141
- status: "rejected",
142
- stage: "council",
143
- lastTransitionTime: () => new Date().toISOString(),
144
- }),
145
- },
146
- },
147
- },
148
- // ───────────────────────────────────────────────────────
149
- // SCORING PHASE
150
- // ───────────────────────────────────────────────────────
151
- scoring: {
152
- on: {
153
- SEND_TO_COUNCIL: {
154
- target: "council",
155
- actions: assign({
156
- status: "deliberating",
157
- stage: "council",
158
- deliberationCount: ({ context }) => context.deliberationCount + 1,
159
- lastTransitionTime: () => new Date().toISOString(),
160
- }),
161
- },
162
- REJECT: {
163
- target: "rejected",
164
- actions: assign({
165
- status: "rejected",
166
- stage: "council",
167
- lastTransitionTime: () => new Date().toISOString(),
168
- }),
169
- },
170
- },
171
- },
172
- // ───────────────────────────────────────────────────────
173
- // COUNCIL PHASE
174
- // ───────────────────────────────────────────────────────
175
- council: {
176
- on: {
177
- VOTE: {
178
- target: "voting",
179
- actions: assign({
180
- status: "deliberating",
181
- stage: "vote",
182
- lastTransitionTime: () => new Date().toISOString(),
183
- }),
184
- },
185
- REJECT: {
186
- target: "rejected",
187
- actions: assign({
188
- status: "rejected",
189
- stage: "council",
190
- lastTransitionTime: () => new Date().toISOString(),
191
- }),
192
- },
193
- },
194
- },
195
- // ───────────────────────────────────────────────────────
196
- // VOTING PHASE
197
- // ───────────────────────────────────────────────────────
198
- voting: {
199
- on: {
200
- APPROVE: {
201
- target: "specDraft",
202
- actions: assign({
203
- status: "approved",
204
- stage: "spec",
205
- retryCount: 0,
206
- lastTransitionTime: () => new Date().toISOString(),
207
- }),
208
- },
209
- REJECT: {
210
- target: "rejected",
211
- actions: assign({
212
- status: "rejected",
213
- stage: "council",
214
- lastTransitionTime: () => new Date().toISOString(),
215
- }),
216
- },
217
- },
218
- },
219
- // ───────────────────────────────────────────────────────
220
- // SPECIFICATION PHASE
221
- // ───────────────────────────────────────────────────────
222
- specDraft: {
223
- on: {
224
- REQUEST_SPEC: {
225
- target: "specReview",
226
- actions: assign({
227
- status: "approved",
228
- stage: "spec",
229
- lastTransitionTime: () => new Date().toISOString(),
230
- }),
231
- },
232
- REVIEW_SPEC: {
233
- target: "specReview",
234
- actions: assign({
235
- status: "approved",
236
- stage: "spec",
237
- lastTransitionTime: () => new Date().toISOString(),
238
- }),
239
- },
240
- REJECT: {
241
- target: "rejected",
242
- actions: assign({
243
- status: "rejected",
244
- stage: "council",
245
- lastTransitionTime: () => new Date().toISOString(),
246
- }),
247
- },
248
- },
249
- },
250
- specReview: {
251
- on: {
252
- APPROVE_SPEC: {
253
- target: "executionGate",
254
- actions: assign({
255
- status: "approved",
256
- stage: "spec",
257
- lastTransitionTime: () => new Date().toISOString(),
258
- }),
259
- },
260
- REQUEST_SPEC: {
261
- target: "specDraft",
262
- actions: assign({
263
- status: "approved",
264
- stage: "spec",
265
- lastTransitionTime: () => new Date().toISOString(),
266
- }),
267
- },
268
- REJECT: {
269
- target: "rejected",
270
- actions: assign({
271
- status: "rejected",
272
- stage: "council",
273
- lastTransitionTime: () => new Date().toISOString(),
274
- }),
275
- },
276
- },
277
- },
278
- // ───────────────────────────────────────────────────────
279
- // EXECUTION GATE PHASE
280
- // ───────────────────────────────────────────────────────
281
- executionGate: {
282
- on: {
283
- EXECUTION_GATE_PASS: {
284
- target: "executing",
285
- actions: assign({
286
- status: "controlled",
287
- stage: "execution-gate",
288
- lastTransitionTime: () => new Date().toISOString(),
289
- }),
290
- },
291
- EXECUTE: {
292
- target: "executing",
293
- actions: assign({
294
- status: "controlled",
295
- stage: "execution-gate",
296
- lastTransitionTime: () => new Date().toISOString(),
297
- }),
298
- },
299
- EXECUTION_GATE_FAIL: {
300
- target: "rejected",
301
- actions: assign({
302
- status: "rejected",
303
- stage: "execution-gate",
304
- lastTransitionTime: () => new Date().toISOString(),
305
- }),
45
+ });
46
+ function buildProposalMachine(initial) {
47
+ return proposalSetup.createMachine({
48
+ id: "proposalLifecycle",
49
+ initial,
50
+ context: ({ input }) => ({
51
+ proposal: input.proposal,
52
+ lastTransitionTime: input.lastTransitionTime ?? new Date().toISOString(),
53
+ }),
54
+ // Note on the escape hatches (DISCARD / ERROR): they are inlined
55
+ // into every non-terminal state rather than declared at the root
56
+ // `on:`. XState v5 does not resolve root-level `on:` targets that
57
+ // reference top-level child states — it reads them as relative to
58
+ // the root's (non-existent) parent and rejects the machine. Final
59
+ // states (`executed`, `failed`, `rejected`) are `type: "final"`
60
+ // and ignore events once the machine is done, so the hatches are
61
+ // intentionally absent there.
62
+ states: {
63
+ open: {
64
+ on: {
65
+ DELIBERATE: {
66
+ target: "deliberating",
67
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
68
+ },
69
+ DISCARD: {
70
+ target: "rejected",
71
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
72
+ },
73
+ ERROR: {
74
+ target: "failed",
75
+ actions: assign({
76
+ lastTransitionTime: () => new Date().toISOString(),
77
+ errorMessage: ({ event }) => (event.type === "ERROR" ? event.message : ""),
78
+ }),
79
+ },
306
80
  },
307
81
  },
308
- },
309
- // ───────────────────────────────────────────────────────
310
- // EXECUTION PHASE
311
- // ───────────────────────────────────────────────────────
312
- executing: {
313
- on: {
314
- EXECUTION_SUCCESS: {
315
- target: "postmortem",
316
- actions: assign({
317
- status: "executed",
318
- stage: "postmortem",
319
- retryCount: 0,
320
- lastTransitionTime: () => new Date().toISOString(),
321
- }),
322
- },
323
- EXECUTION_FAILED: {
324
- target: "executionError",
325
- actions: assign({
326
- errorMessage: "Execution failed",
327
- lastTransitionTime: () => new Date().toISOString(),
328
- }),
82
+ deliberating: {
83
+ on: {
84
+ APPROVE: {
85
+ target: "approved",
86
+ guard: "tallyApproved",
87
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
88
+ },
89
+ REJECT: {
90
+ target: "rejected",
91
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
92
+ },
93
+ DISCARD: {
94
+ target: "rejected",
95
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
96
+ },
97
+ ERROR: {
98
+ target: "failed",
99
+ actions: assign({
100
+ lastTransitionTime: () => new Date().toISOString(),
101
+ errorMessage: ({ event }) => (event.type === "ERROR" ? event.message : ""),
102
+ }),
103
+ },
329
104
  },
330
105
  },
331
- },
332
- executionError: {
333
- on: {
334
- RETRY: [
335
- {
336
- target: "executing",
337
- guard: ({ context }) => context.retryCount < 3,
106
+ approved: {
107
+ on: {
108
+ CONTROL_PASS: {
109
+ target: "controlled",
110
+ guard: "gatesPassed",
111
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
112
+ },
113
+ CONTROL_FAIL: {
114
+ target: "failed",
115
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
116
+ },
117
+ REJECT: {
118
+ target: "rejected",
119
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
120
+ },
121
+ FAIL: {
122
+ target: "failed",
123
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
124
+ },
125
+ DISCARD: {
126
+ target: "rejected",
127
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
128
+ },
129
+ ERROR: {
130
+ target: "failed",
338
131
  actions: assign({
339
- retryCount: ({ context }) => context.retryCount + 1,
340
132
  lastTransitionTime: () => new Date().toISOString(),
133
+ errorMessage: ({ event }) => (event.type === "ERROR" ? event.message : ""),
341
134
  }),
342
135
  },
343
- ],
344
- EXECUTION_FAILED: {
345
- target: "postmortem",
346
- actions: assign({
347
- status: "failed",
348
- stage: "postmortem",
349
- lastTransitionTime: () => new Date().toISOString(),
350
- }),
351
136
  },
352
137
  },
353
- },
354
- // ───────────────────────────────────────────────────────
355
- // POSTMORTEM PHASE
356
- // ───────────────────────────────────────────────────────
357
- postmortem: {
358
- on: {
359
- POSTMORTEM: {
360
- target: "completed",
361
- actions: assign({
362
- lastTransitionTime: () => new Date().toISOString(),
363
- }),
138
+ controlled: {
139
+ on: {
140
+ EXECUTE_SUCCESS: {
141
+ target: "executed",
142
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
143
+ },
144
+ FAIL: {
145
+ target: "failed",
146
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
147
+ },
148
+ DISCARD: {
149
+ target: "rejected",
150
+ actions: assign({ lastTransitionTime: () => new Date().toISOString() }),
151
+ },
152
+ ERROR: {
153
+ target: "failed",
154
+ actions: assign({
155
+ lastTransitionTime: () => new Date().toISOString(),
156
+ errorMessage: ({ event }) => (event.type === "ERROR" ? event.message : ""),
157
+ }),
158
+ },
364
159
  },
365
160
  },
366
- },
367
- // ───────────────────────────────────────────────────────
368
- // TERMINAL STATES
369
- // ───────────────────────────────────────────────────────
370
- rejected: {
371
- type: "final",
372
- },
373
- completed: {
374
- type: "final",
375
- },
376
- },
377
- });
161
+ executed: { type: "final" },
162
+ failed: { type: "final" },
163
+ rejected: { type: "final" },
164
+ },
165
+ });
166
+ }
167
+ // ── Factory (with memoization) ───────────────────────────────
168
+ //
169
+ // A machine is created per starting status so an actor can be
170
+ // rehydrated at the persisted status of a proposal. The machine
171
+ // definition is identical; only `initial` differs.
172
+ const machineCache = new Map();
173
+ export function createProposalMachine(initial) {
174
+ let machine = machineCache.get(initial);
175
+ if (!machine) {
176
+ machine = buildProposalMachine(initial);
177
+ machineCache.set(initial, machine);
178
+ }
179
+ return machine;
180
+ }
378
181
  //# sourceMappingURL=proposal.machine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.machine.js","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.machine.js","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"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"}