@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,531 @@
1
+ import { type ActorRefFrom } from "xstate";
2
+ export declare const REQUIRED_PRODUCT_ANCHORS: readonly ["qualification-passed", "vote-quorum", "budget-envelope", "controls-passed", "auto-ship-policy", "observation-window", "rollback-path-exists", "frozen-set-intact", "regression"];
3
+ export declare const PRODUCT_TERMINAL_STATES: readonly ["validated", "rejected"];
4
+ export declare const PRODUCT_VOTE_EXPIRY_HOURS: {
5
+ readonly standard: 72;
6
+ readonly criticalSecurity: 12;
7
+ };
8
+ export declare const PRODUCT_OBSERVATION_CONSECUTIVE_MEASUREMENTS = 3;
9
+ export declare const PRODUCT_MEMBER_QUOTA_RENEWAL_MINUTES = 300;
10
+ export declare const PRODUCT_ALLOWED_CATEGORIES: readonly ["performance", "refactor", "tooling", "docs", "security"];
11
+ export declare const PRODUCT_AUTO_SEALED_ANCHORS: readonly ["qualification-passed", "vote-quorum", "budget-envelope", "controls-passed", "auto-ship-policy", "observation-window"];
12
+ export declare const PRODUCT_EXTERNAL_ANCHORS: readonly ["frozen-set-intact", "regression", "rollback-path-exists"];
13
+ /**
14
+ * Subset of required anchors that must ALREADY be passed at the VERIFY_EVALUATE
15
+ * ship gate. It deliberately EXCLUDES `observation-window` (sealed only when the
16
+ * observation window completes) and the anchors `sealVerificationAnchors` itself
17
+ * seals when it transitions to `ship` (`controls-passed`, `auto-ship-policy`) —
18
+ * those decisions are re-derived from draft/controls/budget by `canAutoShip`,
19
+ * never read back as their own gate. `rollback-path-exists` IS included because
20
+ * it is now an external, tool-recorded anchor (not sealed by the ship action),
21
+ * so there is no chicken-and-egg: the verifier must have already recorded it.
22
+ */
23
+ export declare const PRODUCT_SHIP_GATE_ANCHORS: readonly ["qualification-passed", "vote-quorum", "budget-envelope", "frozen-set-intact", "regression", "rollback-path-exists"];
24
+ export type ProductAnchorName = (typeof REQUIRED_PRODUCT_ANCHORS)[number];
25
+ export type ProductSignalSource = "ai" | "tool" | "human" | "system";
26
+ export type ProductAnchorStatus = "passed" | "failed";
27
+ export type ProductCategory = (typeof PRODUCT_ALLOWED_CATEGORIES)[number];
28
+ export type VoteKind = "standard" | "criticalSecurity";
29
+ export type ObservationMetric = "errors" | "aiCost" | "latency" | "satisfaction";
30
+ export type ReviewResolution = "scope-reduced" | "budget-expanded" | "abandoned" | "deploy-authorized";
31
+ export type ProposalDraft = Readonly<{
32
+ scope: string;
33
+ category: ProductCategory;
34
+ touchesSensitive: boolean;
35
+ dependencies: readonly string[];
36
+ budgetAllocation: number;
37
+ rollbackArtifact: string;
38
+ evidence: string;
39
+ }>;
40
+ export type VoteConfig = Readonly<{
41
+ quorum: number;
42
+ kind: VoteKind;
43
+ expiryHours: number;
44
+ }>;
45
+ export type BudgetEnvelope = Readonly<{
46
+ initial: number;
47
+ consumed: number;
48
+ history: readonly BudgetAction[];
49
+ }>;
50
+ export type BudgetAction = Readonly<{
51
+ amount: number;
52
+ description: string;
53
+ evidence: string;
54
+ }>;
55
+ export type ControlResult = Readonly<{
56
+ name: string;
57
+ status: ProductAnchorStatus;
58
+ evidence: string;
59
+ }>;
60
+ export type ObservationSample = Readonly<{
61
+ metric: ObservationMetric;
62
+ value: number;
63
+ threshold: number;
64
+ exceeded: boolean;
65
+ evidence: string;
66
+ }>;
67
+ export type ProductAnchorResult = Readonly<{
68
+ status: ProductAnchorStatus;
69
+ evidence: string;
70
+ }>;
71
+ export type ProductContext = {
72
+ runId: string;
73
+ proposalId: string | null;
74
+ improvementCycleId: string | null;
75
+ draft: ProposalDraft | null;
76
+ voteConfig: VoteConfig | null;
77
+ favorableVotes: number;
78
+ budget: BudgetEnvelope | null;
79
+ controls: Record<string, ControlResult>;
80
+ observationSamples: ObservationSample[];
81
+ contactVoteOpen: boolean;
82
+ contactVoteQuorumReached: boolean;
83
+ contactRelayAuthorized: boolean;
84
+ reviewReason: string | null;
85
+ permissionsCleared: boolean;
86
+ permissionEvidence: string | null;
87
+ signalLog: readonly string[];
88
+ anchors: Partial<Record<ProductAnchorName, ProductAnchorResult>>;
89
+ terminalReason: string | null;
90
+ };
91
+ export type ProductEvent = {
92
+ type: "AGENT_SIGNAL";
93
+ source: ProductSignalSource;
94
+ note: string;
95
+ } | {
96
+ type: "FEEDBACK_AGGREGATED";
97
+ source: ProductSignalSource;
98
+ summary: string;
99
+ } | {
100
+ type: "PROPOSAL_DRAFTED";
101
+ source: ProductSignalSource;
102
+ draft: ProposalDraft;
103
+ } | {
104
+ type: "OPEN_PROPOSITION";
105
+ source: ProductSignalSource;
106
+ } | {
107
+ type: "QUALIFICATION_RUN";
108
+ source: ProductSignalSource;
109
+ permissionCleared: boolean;
110
+ permissionEvidence: string;
111
+ } | {
112
+ type: "VOTE_OPENED";
113
+ source: ProductSignalSource;
114
+ config: VoteConfig;
115
+ } | {
116
+ type: "VOTE_CAST";
117
+ source: ProductSignalSource;
118
+ favorable: number;
119
+ } | {
120
+ type: "VOTE_EVALUATE";
121
+ source: ProductSignalSource;
122
+ } | {
123
+ type: "VOTE_EXPIRED";
124
+ source: ProductSignalSource;
125
+ } | {
126
+ type: "BUDGET_CHARGE";
127
+ source: ProductSignalSource;
128
+ action: BudgetAction;
129
+ } | {
130
+ type: "EXECUTION_DONE";
131
+ source: ProductSignalSource;
132
+ } | {
133
+ type: "VERIFY_RUN";
134
+ source: ProductSignalSource;
135
+ control: ControlResult;
136
+ } | {
137
+ type: "VERIFY_EVALUATE";
138
+ source: ProductSignalSource;
139
+ } | {
140
+ type: "OBSERVATION_SAMPLE";
141
+ source: ProductSignalSource;
142
+ sample: ObservationSample;
143
+ } | {
144
+ type: "OBSERVATION_EVALUATE";
145
+ source: ProductSignalSource;
146
+ windowElapsed: boolean;
147
+ } | {
148
+ type: "ANCHOR_RECORDED";
149
+ source: ProductSignalSource;
150
+ anchor: ProductAnchorName;
151
+ status: ProductAnchorStatus;
152
+ evidence: string;
153
+ } | {
154
+ type: "CORRECTIVE_PROPOSITION_OPENED";
155
+ source: ProductSignalSource;
156
+ } | {
157
+ type: "REVIEW_RESOLVED";
158
+ source: ProductSignalSource;
159
+ resolution: ReviewResolution;
160
+ expandedBudget?: number;
161
+ } | {
162
+ type: "RETRY_VERIFICATION_AUTHORIZED";
163
+ source: ProductSignalSource;
164
+ } | {
165
+ type: "CONTACT_VOTE_OPENED";
166
+ source: ProductSignalSource;
167
+ } | {
168
+ type: "CONTACT_VOTE_QUORUM";
169
+ source: ProductSignalSource;
170
+ reached: boolean;
171
+ } | {
172
+ type: "CONTACT_RELAY_AUTHORIZED";
173
+ source: ProductSignalSource;
174
+ } | {
175
+ type: "PERMISSION_DENIED";
176
+ source: ProductSignalSource;
177
+ reason: string;
178
+ } | {
179
+ type: "CANCEL";
180
+ source: ProductSignalSource;
181
+ reason: string;
182
+ };
183
+ export declare const isRequiredProductAnchor: (value: unknown) => value is ProductAnchorName;
184
+ /**
185
+ * Qualification: scope, dependencies, allowed category, affirmative permission
186
+ * clearance, budget presence, and rollback artifact. Permission clearance is an
187
+ * explicit, evidence-backed boolean carried by QUALIFICATION_RUN — qualification
188
+ * never passes on the mere absence of a denial. Sensitive security work may pass
189
+ * (it is auto-votable) but is flagged, which later forbids auto-ship.
190
+ */
191
+ export declare const qualifyProposal: (draft: ProposalDraft | null, permissionsCleared: boolean) => {
192
+ qualified: boolean;
193
+ reason: string;
194
+ };
195
+ /** Vote tally: quorum is a minimum favorable-vote threshold, not participation. */
196
+ export declare const tallyProductVotes: (favorable: number, config: VoteConfig | null) => {
197
+ quorumReached: boolean;
198
+ };
199
+ /** Budget ledger: remaining = initial - consumed; never negative. */
200
+ export declare const applyBudgetCharge: (envelope: BudgetEnvelope | null, action: BudgetAction) => BudgetEnvelope;
201
+ export declare const budgetRemaining: (envelope: BudgetEnvelope | null) => number;
202
+ /**
203
+ * Auto-ship gate. Decides deterministically from the draft + controls + budget.
204
+ * Does NOT depend on an anchor it would itself set (no chicken-and-egg).
205
+ * Sensitive security work is forbidden from auto-ship even if reversible.
206
+ */
207
+ export declare const canAutoShip: (context: {
208
+ draft: ProposalDraft | null;
209
+ controls: Record<string, ControlResult>;
210
+ budget: BudgetEnvelope | null;
211
+ }) => {
212
+ allowed: boolean;
213
+ reason: string;
214
+ };
215
+ /**
216
+ * Human deploy-authorization gate for SENSITIVE changes only. Auto-ship forbids
217
+ * sensitive work; such a change that otherwise passes verification routes to
218
+ * Review, where the human owner may authorize deployment. This gate requires:
219
+ * the draft is sensitive, every control passed, budget remains, and the
220
+ * ship-gate anchors (including the externally verified rollback path) hold.
221
+ * It can never be exercised by an AI source — REVIEW_RESOLVED is human-only.
222
+ */
223
+ export declare const canHumanAuthorizeSensitiveDeploy: (context: {
224
+ draft: ProposalDraft | null;
225
+ controls: Record<string, ControlResult>;
226
+ budget: BudgetEnvelope | null;
227
+ anchors: Partial<Record<ProductAnchorName, ProductAnchorResult>>;
228
+ }) => {
229
+ allowed: boolean;
230
+ reason: string;
231
+ };
232
+ /**
233
+ * Observation gate. Priorities: errors > aiCost > latency. Satisfaction is a
234
+ * signal only and can NEVER confirm degradation. A single measurement never
235
+ * confirms; require N consecutive threshold-crossing measurements on the
236
+ * highest-priority breached metric.
237
+ */
238
+ export declare const evaluateObservation: (samples: ObservationSample[], _windowElapsed: boolean) => {
239
+ confirmed: boolean;
240
+ metric: ObservationMetric | null;
241
+ };
242
+ /** True only when every required anchor is passed. Terminal invariant at `validated`. */
243
+ export declare const allRequiredAnchorsPassed: (anchors: Partial<Record<ProductAnchorName, ProductAnchorResult>>) => boolean;
244
+ /** True only when every ship-gate anchor is passed. Used at the VERIFY_EVALUATE ship gate. */
245
+ export declare const shipGateAnchorsPassed: (anchors: Partial<Record<ProductAnchorName, ProductAnchorResult>>) => boolean;
246
+ export interface ProductMachineInput {
247
+ runId: string;
248
+ proposalId?: string | null;
249
+ improvementCycleId?: string | null;
250
+ }
251
+ export declare const productMachine: import("xstate").StateMachine<ProductContext, {
252
+ type: "AGENT_SIGNAL";
253
+ source: ProductSignalSource;
254
+ note: string;
255
+ } | {
256
+ type: "FEEDBACK_AGGREGATED";
257
+ source: ProductSignalSource;
258
+ summary: string;
259
+ } | {
260
+ type: "PROPOSAL_DRAFTED";
261
+ source: ProductSignalSource;
262
+ draft: ProposalDraft;
263
+ } | {
264
+ type: "OPEN_PROPOSITION";
265
+ source: ProductSignalSource;
266
+ } | {
267
+ type: "QUALIFICATION_RUN";
268
+ source: ProductSignalSource;
269
+ permissionCleared: boolean;
270
+ permissionEvidence: string;
271
+ } | {
272
+ type: "VOTE_OPENED";
273
+ source: ProductSignalSource;
274
+ config: VoteConfig;
275
+ } | {
276
+ type: "VOTE_CAST";
277
+ source: ProductSignalSource;
278
+ favorable: number;
279
+ } | {
280
+ type: "VOTE_EVALUATE";
281
+ source: ProductSignalSource;
282
+ } | {
283
+ type: "VOTE_EXPIRED";
284
+ source: ProductSignalSource;
285
+ } | {
286
+ type: "BUDGET_CHARGE";
287
+ source: ProductSignalSource;
288
+ action: BudgetAction;
289
+ } | {
290
+ type: "EXECUTION_DONE";
291
+ source: ProductSignalSource;
292
+ } | {
293
+ type: "VERIFY_RUN";
294
+ source: ProductSignalSource;
295
+ control: ControlResult;
296
+ } | {
297
+ type: "VERIFY_EVALUATE";
298
+ source: ProductSignalSource;
299
+ } | {
300
+ type: "OBSERVATION_SAMPLE";
301
+ source: ProductSignalSource;
302
+ sample: ObservationSample;
303
+ } | {
304
+ type: "OBSERVATION_EVALUATE";
305
+ source: ProductSignalSource;
306
+ windowElapsed: boolean;
307
+ } | {
308
+ type: "ANCHOR_RECORDED";
309
+ source: ProductSignalSource;
310
+ anchor: ProductAnchorName;
311
+ status: ProductAnchorStatus;
312
+ evidence: string;
313
+ } | {
314
+ type: "CORRECTIVE_PROPOSITION_OPENED";
315
+ source: ProductSignalSource;
316
+ } | {
317
+ type: "REVIEW_RESOLVED";
318
+ source: ProductSignalSource;
319
+ resolution: ReviewResolution;
320
+ expandedBudget?: number;
321
+ } | {
322
+ type: "RETRY_VERIFICATION_AUTHORIZED";
323
+ source: ProductSignalSource;
324
+ } | {
325
+ type: "CONTACT_VOTE_OPENED";
326
+ source: ProductSignalSource;
327
+ } | {
328
+ type: "CONTACT_VOTE_QUORUM";
329
+ source: ProductSignalSource;
330
+ reached: boolean;
331
+ } | {
332
+ type: "CONTACT_RELAY_AUTHORIZED";
333
+ source: ProductSignalSource;
334
+ } | {
335
+ type: "PERMISSION_DENIED";
336
+ source: ProductSignalSource;
337
+ reason: string;
338
+ } | {
339
+ type: "CANCEL";
340
+ source: ProductSignalSource;
341
+ reason: string;
342
+ }, {}, never, {
343
+ type: "recordDraft";
344
+ params: import("xstate").NonReducibleUnknown;
345
+ } | {
346
+ type: "recordSignal";
347
+ params: import("xstate").NonReducibleUnknown;
348
+ } | {
349
+ type: "recordPermission";
350
+ params: import("xstate").NonReducibleUnknown;
351
+ } | {
352
+ type: "sealQualificationPassed";
353
+ params: import("xstate").NonReducibleUnknown;
354
+ } | {
355
+ type: "recordVoteConfig";
356
+ params: import("xstate").NonReducibleUnknown;
357
+ } | {
358
+ type: "recordVote";
359
+ params: import("xstate").NonReducibleUnknown;
360
+ } | {
361
+ type: "sealVoteQuorum";
362
+ params: import("xstate").NonReducibleUnknown;
363
+ } | {
364
+ type: "openBudget";
365
+ params: import("xstate").NonReducibleUnknown;
366
+ } | {
367
+ type: "chargeBudget";
368
+ params: import("xstate").NonReducibleUnknown;
369
+ } | {
370
+ type: "recordControl";
371
+ params: import("xstate").NonReducibleUnknown;
372
+ } | {
373
+ type: "sealVerificationAnchors";
374
+ params: import("xstate").NonReducibleUnknown;
375
+ } | {
376
+ type: "sealHumanAuthorizedDeploy";
377
+ params: import("xstate").NonReducibleUnknown;
378
+ } | {
379
+ type: "recordObservationSample";
380
+ params: import("xstate").NonReducibleUnknown;
381
+ } | {
382
+ type: "sealObservationWindow";
383
+ params: import("xstate").NonReducibleUnknown;
384
+ } | {
385
+ type: "recordExternalAnchorOnce";
386
+ params: import("xstate").NonReducibleUnknown;
387
+ } | {
388
+ type: "prepareCorrectiveProposition";
389
+ params: import("xstate").NonReducibleUnknown;
390
+ } | {
391
+ type: "recordReviewResolution";
392
+ params: import("xstate").NonReducibleUnknown;
393
+ } | {
394
+ type: "recordBudgetBlockedEntry";
395
+ params: import("xstate").NonReducibleUnknown;
396
+ } | {
397
+ type: "expandBudget";
398
+ params: import("xstate").NonReducibleUnknown;
399
+ } | {
400
+ type: "resetControlsForRetry";
401
+ params: import("xstate").NonReducibleUnknown;
402
+ } | {
403
+ type: "recordContactVoteOpened";
404
+ params: import("xstate").NonReducibleUnknown;
405
+ } | {
406
+ type: "recordContactVoteQuorum";
407
+ params: import("xstate").NonReducibleUnknown;
408
+ } | {
409
+ type: "recordContactRelay";
410
+ params: import("xstate").NonReducibleUnknown;
411
+ } | {
412
+ type: "recordTerminalRejected";
413
+ params: import("xstate").NonReducibleUnknown;
414
+ } | {
415
+ type: "recordTerminalCancelled";
416
+ params: import("xstate").NonReducibleUnknown;
417
+ } | {
418
+ type: "recordTerminalValidated";
419
+ params: import("xstate").NonReducibleUnknown;
420
+ }, {
421
+ type: "isToolPermissionDenial";
422
+ params: unknown;
423
+ } | {
424
+ type: "isHumanCancellation";
425
+ params: unknown;
426
+ } | {
427
+ type: "isAiAgentSignal";
428
+ params: unknown;
429
+ } | {
430
+ type: "isAiFeedbackAggregated";
431
+ params: unknown;
432
+ } | {
433
+ type: "isAiProposalDrafted";
434
+ params: unknown;
435
+ } | {
436
+ type: "isToolOpenProposition";
437
+ params: unknown;
438
+ } | {
439
+ type: "isToolQualificationRun";
440
+ params: unknown;
441
+ } | {
442
+ type: "isToolVoteOpenedFirstTime";
443
+ params: unknown;
444
+ } | {
445
+ type: "isToolVoteOpened";
446
+ params: unknown;
447
+ } | {
448
+ type: "isToolVoteCast";
449
+ params: unknown;
450
+ } | {
451
+ type: "isSystemVoteEvaluateWithQuorum";
452
+ params: unknown;
453
+ } | {
454
+ type: "isToolVoteExpiredWithQuorum";
455
+ params: unknown;
456
+ } | {
457
+ type: "isToolVoteExpiredWithoutQuorum";
458
+ params: unknown;
459
+ } | {
460
+ type: "isToolBudgetCharge";
461
+ params: unknown;
462
+ } | {
463
+ type: "chargeExhaustsBudget";
464
+ params: unknown;
465
+ } | {
466
+ type: "isToolExecutionDone";
467
+ params: unknown;
468
+ } | {
469
+ type: "isToolVerifyRun";
470
+ params: unknown;
471
+ } | {
472
+ type: "canShip";
473
+ params: unknown;
474
+ } | {
475
+ type: "isSystemVerifyEvaluate";
476
+ params: unknown;
477
+ } | {
478
+ type: "isToolObservationSample";
479
+ params: unknown;
480
+ } | {
481
+ type: "observationDegraded";
482
+ params: unknown;
483
+ } | {
484
+ type: "observationClean";
485
+ params: unknown;
486
+ } | {
487
+ type: "isValidExternalAnchor";
488
+ params: unknown;
489
+ } | {
490
+ type: "isToolCorrectivePropositionOpened";
491
+ params: unknown;
492
+ } | {
493
+ type: "isHumanReviewResolved";
494
+ params: unknown;
495
+ } | {
496
+ type: "isHumanDeployAuthorized";
497
+ params: unknown;
498
+ } | {
499
+ type: "isHumanRetryVerification";
500
+ params: unknown;
501
+ } | {
502
+ type: "isToolContactVoteOpened";
503
+ params: unknown;
504
+ } | {
505
+ type: "isToolContactVoteQuorum";
506
+ params: unknown;
507
+ } | {
508
+ type: "isHumanContactRelayAuthorized";
509
+ params: unknown;
510
+ }, never, "qualification" | "vote" | "rejected" | "execution" | "ship" | "review" | "rollback" | "validated" | "exploration" | "proposition" | "adopted" | "budgetBlocked" | "verification" | "observation", string, ProductMachineInput, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
511
+ id: "swarm-dao-product-loop";
512
+ states: {
513
+ readonly exploration: {};
514
+ readonly proposition: {};
515
+ readonly qualification: {};
516
+ readonly vote: {};
517
+ readonly adopted: {};
518
+ readonly execution: {};
519
+ readonly budgetBlocked: {};
520
+ readonly verification: {};
521
+ readonly ship: {};
522
+ readonly observation: {};
523
+ readonly rollback: {};
524
+ readonly review: {};
525
+ readonly validated: {};
526
+ readonly rejected: {};
527
+ };
528
+ }>;
529
+ export type ProductActor = ActorRefFrom<typeof productMachine>;
530
+ export declare const createProductActor: (input: ProductMachineInput) => ProductActor;
531
+ //# sourceMappingURL=product-loop.machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-loop.machine.d.ts","sourceRoot":"","sources":["../../src/models/product-loop.machine.ts"],"names":[],"mappings":"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"}