1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
;;; Copyright (c) 2026 Nicholas Vermeulen
;;; SPDX-License-Identifier: AGPL-3.0-or-later
;; swarm.lisp — Phase 3.2 deliverable: a multi-agent system where agents
;; coordinate SYMBOLIC REASONING through message passing alone.
;;
;; proposer --(verify name source)--> verifier --(certified ...)--> certifier
;; ^ |
;; +------(propose name feedback)-------+ rejected: feedback loops back
;;
;; The verifier's brain is the Phase 2 proof machinery: static gates first
;; (check-effects, check-types — the candidate is REJECTED WITHOUT EVER
;; RUNNING if it has side effects), then check-exhaustive over the spec's
;; finite domains. The proposer here is scripted (deterministic — this file
;; is a golden test, see run_tests.sh); swap `pop-candidate` for a call to
;; `llm-proposer` (std.lisp) to drive the same swarm from a live local
;; model. Every hop is observable via (trace-on), and the whole system
;; checkpoints mid-flight like any other actor state ((checkpoint "f.lisp"),
;; since handlers keep their state in globals).
;; ── Specs: what the swarm must synthesize ────────────────────────────────
;; ── Scripted proposer state: candidate queues, flawed attempts first ────
;; abs-fn attempt 1 prints (impure → static reject, never executed),
;; attempt 2 is wrong on negatives (counterexample), attempt 3 is right.
; (name count)
; (name source fn attempts)
;; ── The agents ───────────────────────────────────────────────────────────
;; ── Run the swarm, fully traced ──────────────────────────────────────────
;; ── The synthesized functions actually work ─────────────────────────────
;; ── Coordination was observable end to end ──────────────────────────────