compounding-loop 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.
- package/README.md +7 -3
- package/dist/cli/claim.js +84 -0
- package/dist/cli/claim.js.map +1 -0
- package/dist/cli/index.js +166 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/laneRound.js +96 -0
- package/dist/cli/laneRound.js.map +1 -0
- package/dist/cli/laneStatus.js +3 -1
- package/dist/cli/laneStatus.js.map +1 -1
- package/dist/cli/lock.js +22 -2
- package/dist/cli/lock.js.map +1 -1
- package/dist/cli/loops.js +7 -0
- package/dist/cli/loops.js.map +1 -1
- package/dist/cli/next.js +18 -0
- package/dist/cli/next.js.map +1 -0
- package/dist/cli/pause.js +81 -0
- package/dist/cli/pause.js.map +1 -0
- package/dist/cli/run.js +18 -6
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/runs.js +83 -0
- package/dist/cli/runs.js.map +1 -0
- package/dist/cli/shipCheck.js +59 -0
- package/dist/cli/shipCheck.js.map +1 -0
- package/dist/core/laneRound.js +63 -0
- package/dist/core/laneRound.js.map +1 -0
- package/dist/core/lanes.js +12 -2
- package/dist/core/lanes.js.map +1 -1
- package/dist/core/next.js +34 -0
- package/dist/core/next.js.map +1 -0
- package/dist/core/parse/changelog.js +41 -0
- package/dist/core/parse/changelog.js.map +1 -0
- package/dist/core/parse/claim.js +24 -0
- package/dist/core/parse/claim.js.map +1 -0
- package/dist/core/parse/controlRoom.js +38 -0
- package/dist/core/parse/controlRoom.js.map +1 -0
- package/dist/core/parse/index.js +12 -0
- package/dist/core/parse/index.js.map +1 -0
- package/dist/core/parse/markers.js +20 -0
- package/dist/core/parse/markers.js.map +1 -0
- package/dist/core/parse/paused.js +26 -0
- package/dist/core/parse/paused.js.map +1 -0
- package/dist/core/parse/runs.js +132 -0
- package/dist/core/parse/runs.js.map +1 -0
- package/dist/core/parse/task.js +96 -0
- package/dist/core/parse/task.js.map +1 -0
- package/dist/core/repo.js +2 -7
- package/dist/core/repo.js.map +1 -1
- package/dist/core/runPrompt.js +8 -2
- package/dist/core/runPrompt.js.map +1 -1
- package/dist/core/shipCheck.js +45 -0
- package/dist/core/shipCheck.js.map +1 -0
- package/dist/core/table.js +3 -1
- package/dist/core/table.js.map +1 -1
- package/dist/server/checkLabels.js +27 -0
- package/dist/server/checkLabels.js.map +1 -0
- package/dist/server/controls.js +72 -0
- package/dist/server/controls.js.map +1 -0
- package/dist/server/data.js +9 -3
- package/dist/server/data.js.map +1 -1
- package/dist/server/health.js +6 -27
- package/dist/server/health.js.map +1 -1
- package/dist/server/index.js +29 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/laneChecks.js +25 -0
- package/dist/server/laneChecks.js.map +1 -0
- package/dist/server/live/build.js +163 -0
- package/dist/server/live/build.js.map +1 -0
- package/dist/server/live/github.js +54 -0
- package/dist/server/live/github.js.map +1 -0
- package/dist/server/live/index.js +9 -0
- package/dist/server/live/index.js.map +1 -0
- package/dist/server/live/merge.js +16 -0
- package/dist/server/live/merge.js.map +1 -0
- package/dist/server/live/urls.js +59 -0
- package/dist/server/live/urls.js.map +1 -0
- package/dist/server/loops.js +142 -38
- package/dist/server/loops.js.map +1 -1
- package/dist/server/roundState.js +27 -0
- package/dist/server/roundState.js.map +1 -0
- package/dist/server/runs.js +81 -0
- package/dist/server/runs.js.map +1 -0
- package/dist/server/static-export.js +22 -1
- package/dist/server/static-export.js.map +1 -1
- package/dist/server/taskBullets.js +33 -0
- package/dist/server/taskBullets.js.map +1 -0
- package/dist/server/this-repo.json +1288 -85
- package/dist/web/assets/index-BOPytDNU.js +53 -0
- package/dist/web/assets/index-BSHEI7fa.css +2 -0
- package/dist/web/index.html +2 -2
- package/method/COMPOUNDING_LOOP.md +21 -0
- package/method/retro.md +7 -0
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/commands/loop-lanes.md +11 -0
- package/plugin/commands/loop-next.md +11 -0
- package/plugin/commands/loop-pause.md +10 -0
- package/runners/github-actions/lanes.yml +54 -1
- package/runners/local/README.md +3 -1
- package/runners/local/compounding-loop.service +20 -0
- package/runners/local/compounding-loop.timer +11 -0
- package/runners/routine/README.md +1 -1
- package/runners/routine/control-room-prompt.md +2 -2
- package/runners/routine/lane-prompt.md +3 -3
- package/runners/routine/prompt.md +2 -2
- package/templates/lanes/claude-section.md +4 -1
- package/templates/lanes/task.md +1 -1
- package/templates/static-site/.ai/loop-prompt.md +1 -1
- package/templates/static-site/CLAUDE.md +2 -0
- package/dist/web/assets/index-B16QCSnY.css +0 -2
- package/dist/web/assets/index-CS82DKbF.js +0 -49
|
@@ -2,28 +2,34 @@
|
|
|
2
2
|
"loop": {
|
|
3
3
|
"id": "compounding-loop",
|
|
4
4
|
"name": "compounding-loop (this repo)",
|
|
5
|
-
"url": "https://github.
|
|
5
|
+
"url": "https://minntooos.github.io/Compounding-Loop/",
|
|
6
|
+
"demoUrl": "https://minntooos.github.io/Compounding-Loop/",
|
|
7
|
+
"repoUrl": "https://github.com/Minntooos/Compounding-Loop",
|
|
6
8
|
"state": "done",
|
|
7
|
-
"reason": "
|
|
8
|
-
"round":
|
|
9
|
-
"roundsTotal":
|
|
10
|
-
"
|
|
11
|
-
"
|
|
9
|
+
"reason": "rounds 1 to 3 built unattended by five parallel lanes, all done; round 4 is running now",
|
|
10
|
+
"round": 3,
|
|
11
|
+
"roundsTotal": 4,
|
|
12
|
+
"roundLabel": "Round 3 done · 0.3.0",
|
|
13
|
+
"run": 63,
|
|
14
|
+
"runLimit": 350,
|
|
12
15
|
"lastCommit": {
|
|
13
|
-
"sha": "
|
|
14
|
-
"at": "2026-10-
|
|
15
|
-
"message": "Release 0.
|
|
16
|
+
"sha": "b3b51a5",
|
|
17
|
+
"at": "2026-10-11T14:51:27.000Z",
|
|
18
|
+
"message": "Release 0.3.0: version bump and CHANGELOG",
|
|
19
|
+
"author": "Minntooos",
|
|
20
|
+
"lane": "control"
|
|
16
21
|
},
|
|
22
|
+
"snapshotAt": "2026-10-11T14:51:27.000Z",
|
|
17
23
|
"lanes": [
|
|
18
24
|
{
|
|
19
25
|
"name": "core",
|
|
20
26
|
"state": "done",
|
|
21
|
-
"run":
|
|
22
|
-
"limit":
|
|
27
|
+
"run": 14,
|
|
28
|
+
"limit": 70,
|
|
23
29
|
"lastCommit": {
|
|
24
|
-
"sha": "
|
|
25
|
-
"subject": "core:
|
|
26
|
-
"at": "2026-10-
|
|
30
|
+
"sha": "1256361",
|
|
31
|
+
"subject": "core: round 3 lane DONE",
|
|
32
|
+
"at": "2026-10-11T07:10:24.000Z"
|
|
27
33
|
},
|
|
28
34
|
"locked": false,
|
|
29
35
|
"unanswered": []
|
|
@@ -31,12 +37,12 @@
|
|
|
31
37
|
{
|
|
32
38
|
"name": "kit",
|
|
33
39
|
"state": "done",
|
|
34
|
-
"run":
|
|
35
|
-
"limit":
|
|
40
|
+
"run": 9,
|
|
41
|
+
"limit": 70,
|
|
36
42
|
"lastCommit": {
|
|
37
|
-
"sha": "
|
|
38
|
-
"subject": "kit:
|
|
39
|
-
"at": "2026-10-
|
|
43
|
+
"sha": "5dd559c",
|
|
44
|
+
"subject": "kit: lane DONE for round 3",
|
|
45
|
+
"at": "2026-10-11T10:22:58.000Z"
|
|
40
46
|
},
|
|
41
47
|
"locked": false,
|
|
42
48
|
"unanswered": []
|
|
@@ -44,12 +50,12 @@
|
|
|
44
50
|
{
|
|
45
51
|
"name": "server",
|
|
46
52
|
"state": "done",
|
|
47
|
-
"run":
|
|
48
|
-
"limit":
|
|
53
|
+
"run": 6,
|
|
54
|
+
"limit": 70,
|
|
49
55
|
"lastCommit": {
|
|
50
|
-
"sha": "
|
|
51
|
-
"subject": "server: lane DONE
|
|
52
|
-
"at": "2026-10-
|
|
56
|
+
"sha": "d03b48a",
|
|
57
|
+
"subject": "server: round 3 lane DONE",
|
|
58
|
+
"at": "2026-10-11T07:33:57.000Z"
|
|
53
59
|
},
|
|
54
60
|
"locked": false,
|
|
55
61
|
"unanswered": []
|
|
@@ -57,12 +63,12 @@
|
|
|
57
63
|
{
|
|
58
64
|
"name": "web",
|
|
59
65
|
"state": "done",
|
|
60
|
-
"run":
|
|
61
|
-
"limit":
|
|
66
|
+
"run": 21,
|
|
67
|
+
"limit": 70,
|
|
62
68
|
"lastCommit": {
|
|
63
|
-
"sha": "
|
|
64
|
-
"subject": "web: run 8, lane DONE",
|
|
65
|
-
"at": "2026-10-
|
|
69
|
+
"sha": "4a797ed",
|
|
70
|
+
"subject": "web: run 8, lane DONE for round 3",
|
|
71
|
+
"at": "2026-10-11T12:46:04.000Z"
|
|
66
72
|
},
|
|
67
73
|
"locked": false,
|
|
68
74
|
"unanswered": []
|
|
@@ -70,267 +76,1365 @@
|
|
|
70
76
|
{
|
|
71
77
|
"name": "docs",
|
|
72
78
|
"state": "done",
|
|
73
|
-
"run":
|
|
74
|
-
"limit":
|
|
79
|
+
"run": 13,
|
|
80
|
+
"limit": 70,
|
|
75
81
|
"lastCommit": {
|
|
76
|
-
"sha": "
|
|
77
|
-
"subject": "docs: demo
|
|
78
|
-
"at": "2026-10-
|
|
82
|
+
"sha": "4574135",
|
|
83
|
+
"subject": "docs: retro, dashboard page covers lanes and live demo, drop stale screenshot script, lane DONE",
|
|
84
|
+
"at": "2026-10-11T11:58:52.000Z"
|
|
79
85
|
},
|
|
80
86
|
"locked": false,
|
|
81
87
|
"unanswered": []
|
|
82
88
|
}
|
|
83
89
|
],
|
|
84
90
|
"timeline": [
|
|
91
|
+
{
|
|
92
|
+
"sha": "b3b51a5",
|
|
93
|
+
"at": "2026-10-11T14:51:27.000Z",
|
|
94
|
+
"message": "Release 0.3.0: version bump and CHANGELOG",
|
|
95
|
+
"author": "Minntooos",
|
|
96
|
+
"lane": "control"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"sha": "69cedb3",
|
|
100
|
+
"at": "2026-10-11T14:11:45.000Z",
|
|
101
|
+
"message": "control room: product DONE for round 3",
|
|
102
|
+
"author": "Claude",
|
|
103
|
+
"lane": "control"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"sha": "4a797ed",
|
|
107
|
+
"at": "2026-10-11T12:46:04.000Z",
|
|
108
|
+
"message": "web: run 8, lane DONE for round 3",
|
|
109
|
+
"author": "Claude",
|
|
110
|
+
"lane": "web"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"sha": "4574135",
|
|
114
|
+
"at": "2026-10-11T11:58:52.000Z",
|
|
115
|
+
"message": "docs: retro, dashboard page covers lanes and live demo, drop stale screenshot script, lane DONE",
|
|
116
|
+
"author": "Claude",
|
|
117
|
+
"lane": "docs"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"sha": "778f216",
|
|
121
|
+
"at": "2026-10-11T11:48:41.000Z",
|
|
122
|
+
"message": "web: loop header shows the run budget as a bar",
|
|
123
|
+
"author": "Claude",
|
|
124
|
+
"lane": "web"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"sha": "e3bb7b4",
|
|
128
|
+
"at": "2026-10-11T10:58:04.000Z",
|
|
129
|
+
"message": "docs: dashboard page uses the refreshed fleet screenshot, run 7 handoff",
|
|
130
|
+
"author": "Claude",
|
|
131
|
+
"lane": "docs"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"sha": "e1e36c2",
|
|
135
|
+
"at": "2026-10-11T10:51:46.000Z",
|
|
136
|
+
"message": "web: loop tabs scroll in one row, run 6 handoff, outbox for docs",
|
|
137
|
+
"author": "Claude",
|
|
138
|
+
"lane": "web"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"sha": "97233f6",
|
|
142
|
+
"at": "2026-10-11T10:48:41.000Z",
|
|
143
|
+
"message": "web: after screenshots in demo mode (strip, chip, self-build loop), design review recorded",
|
|
144
|
+
"author": "Claude",
|
|
145
|
+
"lane": "web"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"sha": "5dd559c",
|
|
149
|
+
"at": "2026-10-11T10:22:58.000Z",
|
|
150
|
+
"message": "kit: lane DONE for round 3",
|
|
151
|
+
"author": "Claude",
|
|
152
|
+
"lane": "kit"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"sha": "cd1e191",
|
|
156
|
+
"at": "2026-10-11T09:56:29.000Z",
|
|
157
|
+
"message": "docs: run 6 handoff, still waiting on web screenshots",
|
|
158
|
+
"author": "Claude",
|
|
159
|
+
"lane": "docs"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"sha": "6be797c",
|
|
163
|
+
"at": "2026-10-11T09:54:52.000Z",
|
|
164
|
+
"message": "web: lane progress on building cards, hide empty run bars, CI and live-site rows for the self card",
|
|
165
|
+
"author": "Claude",
|
|
166
|
+
"lane": "web"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"sha": "8745e76",
|
|
170
|
+
"at": "2026-10-11T09:23:51.000Z",
|
|
171
|
+
"message": "kit: lane-aware retro and handoff wording, tested",
|
|
172
|
+
"author": "Claude",
|
|
173
|
+
"lane": "kit"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"sha": "9878884",
|
|
177
|
+
"at": "2026-10-11T08:56:11.000Z",
|
|
178
|
+
"message": "docs: run 5 handoff, still waiting on web screenshots",
|
|
179
|
+
"author": "Claude",
|
|
180
|
+
"lane": "docs"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"sha": "e42b59f",
|
|
184
|
+
"at": "2026-10-11T08:25:10.000Z",
|
|
185
|
+
"message": "kit: systemd units get PATH, linger and verify notes from review; handoff",
|
|
186
|
+
"author": "Claude",
|
|
187
|
+
"lane": "kit"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"sha": "041ea27",
|
|
191
|
+
"at": "2026-10-11T08:24:35.000Z",
|
|
192
|
+
"message": "kit: systemd user service and timer for the local runner, tested",
|
|
193
|
+
"author": "Claude",
|
|
194
|
+
"lane": "kit"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"sha": "52fb0b9",
|
|
198
|
+
"at": "2026-10-11T07:56:15.000Z",
|
|
199
|
+
"message": "docs: run 4 handoff, waiting on web screenshots",
|
|
200
|
+
"author": "Claude",
|
|
201
|
+
"lane": "docs"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"sha": "1c6e51a",
|
|
205
|
+
"at": "2026-10-11T07:51:16.000Z",
|
|
206
|
+
"message": "web: review fixes (note role, safe reset time, notice under h1), handoff",
|
|
207
|
+
"author": "Claude",
|
|
208
|
+
"lane": "web"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"sha": "03be106",
|
|
212
|
+
"at": "2026-10-11T07:51:16.000Z",
|
|
213
|
+
"message": "web: shared Notice, paused-live note when rate limited, sticky day headings",
|
|
214
|
+
"author": "Claude",
|
|
215
|
+
"lane": "web"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"sha": "2c4db3a",
|
|
219
|
+
"at": "2026-10-11T07:51:06.000Z",
|
|
220
|
+
"message": "control: owner review notes for web (self card progress, run bars, CI row)",
|
|
221
|
+
"author": "Minntooos",
|
|
222
|
+
"lane": "control"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"sha": "d03b48a",
|
|
226
|
+
"at": "2026-10-11T07:33:57.000Z",
|
|
227
|
+
"message": "server: round 3 lane DONE",
|
|
228
|
+
"author": "Claude",
|
|
229
|
+
"lane": "server"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"sha": "21dab1c",
|
|
233
|
+
"at": "2026-10-11T07:24:44.000Z",
|
|
234
|
+
"message": "kit: optional control-room job in the lanes workflow",
|
|
235
|
+
"author": "Claude",
|
|
236
|
+
"lane": "kit"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"sha": "1256361",
|
|
240
|
+
"at": "2026-10-11T07:10:24.000Z",
|
|
241
|
+
"message": "core: round 3 lane DONE",
|
|
242
|
+
"author": "Claude",
|
|
243
|
+
"lane": "core"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"sha": "40e499c",
|
|
247
|
+
"at": "2026-10-11T06:59:17.000Z",
|
|
248
|
+
"message": "docs: handoff and outbox",
|
|
249
|
+
"author": "Claude",
|
|
250
|
+
"lane": "docs"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"sha": "d5ae9ea",
|
|
254
|
+
"at": "2026-10-11T06:59:08.000Z",
|
|
255
|
+
"message": "docs: record the fresh-install test in the Round 3 audit",
|
|
256
|
+
"author": "Claude",
|
|
257
|
+
"lane": "docs"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"sha": "8aa4fa6",
|
|
261
|
+
"at": "2026-10-11T06:58:26.000Z",
|
|
262
|
+
"message": "docs: launch drafts lead with the live self-build; honest check-lanes FAQ; CHANGELOG",
|
|
263
|
+
"author": "Claude",
|
|
264
|
+
"lane": "docs"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"sha": "bb8ee3f",
|
|
268
|
+
"at": "2026-10-11T06:58:01.000Z",
|
|
269
|
+
"message": "docs: README live-demo link, snapshot FAQ, /loop-lanes in getting-started",
|
|
270
|
+
"author": "Claude",
|
|
271
|
+
"lane": "docs"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"sha": "8a34f9b",
|
|
275
|
+
"at": "2026-10-11T06:52:45.000Z",
|
|
276
|
+
"message": "web: live GitHub mode with snapshot fallback, live/snapshot chip, mocked-GitHub e2e",
|
|
277
|
+
"author": "Claude",
|
|
278
|
+
"lane": "web"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"sha": "919a9ad",
|
|
282
|
+
"at": "2026-10-11T06:45:46.000Z",
|
|
283
|
+
"message": "server: self snapshot covers rounds 1 and 2; handoff",
|
|
284
|
+
"author": "Claude",
|
|
285
|
+
"lane": "server"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"sha": "fe8bb16",
|
|
289
|
+
"at": "2026-10-11T06:42:09.000Z",
|
|
290
|
+
"message": "server: live commits fall back to the author date",
|
|
291
|
+
"author": "Claude",
|
|
292
|
+
"lane": "server"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"sha": "60f87eb",
|
|
296
|
+
"at": "2026-10-11T06:39:56.000Z",
|
|
297
|
+
"message": "server: live GitHub mappers, static CSP meta and live.json, round 3 audit",
|
|
298
|
+
"author": "Claude",
|
|
299
|
+
"lane": "server"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"sha": "72cacc3",
|
|
303
|
+
"at": "2026-10-11T06:30:42.000Z",
|
|
304
|
+
"message": "control: nudge server lane (Run 0/20 in round 3)",
|
|
305
|
+
"author": "Claude",
|
|
306
|
+
"lane": "control"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"sha": "3174cd5",
|
|
310
|
+
"at": "2026-10-11T06:25:38.000Z",
|
|
311
|
+
"message": "kit: plugin /loop-lanes command",
|
|
312
|
+
"author": "Claude",
|
|
313
|
+
"lane": "kit"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"sha": "cfbd75a",
|
|
317
|
+
"at": "2026-10-11T06:15:21.000Z",
|
|
318
|
+
"message": "core: trust a dead lock pid only on the host that wrote it; handoff",
|
|
319
|
+
"author": "Claude",
|
|
320
|
+
"lane": "core"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"sha": "b32b85d",
|
|
324
|
+
"at": "2026-10-11T06:13:42.000Z",
|
|
325
|
+
"message": "core: a session lock records its pid; a dead holder is stale at once",
|
|
326
|
+
"author": "Claude",
|
|
327
|
+
"lane": "core"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"sha": "963491e",
|
|
331
|
+
"at": "2026-10-11T06:11:59.000Z",
|
|
332
|
+
"message": "core: loop run --as lets a claimant's own run proceed",
|
|
333
|
+
"author": "Claude",
|
|
334
|
+
"lane": "core"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"sha": "eca435d",
|
|
338
|
+
"at": "2026-10-11T06:00:59.000Z",
|
|
339
|
+
"message": "web: skeleton loading state, handoff and outbox",
|
|
340
|
+
"author": "Claude",
|
|
341
|
+
"lane": "web"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"sha": "1fff83d",
|
|
345
|
+
"at": "2026-10-11T05:59:26.000Z",
|
|
346
|
+
"message": "web: lane claims and run bars in the Lanes tab, commits-per-day chart with table alternative",
|
|
347
|
+
"author": "Claude",
|
|
348
|
+
"lane": "web"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"sha": "fd3b16c",
|
|
352
|
+
"at": "2026-10-11T05:59:06.000Z",
|
|
353
|
+
"message": "docs: handoff and outbox for run 2",
|
|
354
|
+
"author": "Claude",
|
|
355
|
+
"lane": "docs"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"sha": "a4e66b9",
|
|
359
|
+
"at": "2026-10-11T05:58:57.000Z",
|
|
360
|
+
"message": "docs: changelog Unreleased for 0.3.0 so far",
|
|
361
|
+
"author": "Claude",
|
|
362
|
+
"lane": "docs"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"sha": "345a243",
|
|
366
|
+
"at": "2026-10-11T05:58:40.000Z",
|
|
367
|
+
"message": "docs: add team workflow page (claim, next, release), link it from README, lanes and getting started",
|
|
368
|
+
"author": "Claude",
|
|
369
|
+
"lane": "docs"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"sha": "be07c68",
|
|
373
|
+
"at": "2026-10-11T05:53:03.000Z",
|
|
374
|
+
"message": "web: timeline grouped by day with lane colours, lane filter and UTC times",
|
|
375
|
+
"author": "Claude",
|
|
376
|
+
"lane": "web"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"sha": "2fe5ee8",
|
|
380
|
+
"at": "2026-10-11T05:49:27.000Z",
|
|
381
|
+
"message": "web: card edge cases (no total hides the bar, raw numbers in text), surface-2 token, handoff",
|
|
382
|
+
"author": "Claude",
|
|
383
|
+
"lane": "web"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"sha": "759cd35",
|
|
387
|
+
"at": "2026-10-11T05:47:38.000Z",
|
|
388
|
+
"message": "web: fleet cards with round and run-budget bars, self-build card first, empty rows omitted",
|
|
389
|
+
"author": "Claude",
|
|
390
|
+
"lane": "web"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"sha": "66b4d56",
|
|
394
|
+
"at": "2026-10-11T05:25:24.000Z",
|
|
395
|
+
"message": "core: note the last-test.json writer question",
|
|
396
|
+
"author": "Claude",
|
|
397
|
+
"lane": "core"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"sha": "ddd2bcd",
|
|
401
|
+
"at": "2026-10-11T05:25:14.000Z",
|
|
402
|
+
"message": "core: claim rule in the lane prompt that loop run prepends",
|
|
403
|
+
"author": "Claude",
|
|
404
|
+
"lane": "core"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"sha": "18efe52",
|
|
408
|
+
"at": "2026-10-11T05:24:05.000Z",
|
|
409
|
+
"message": "kit: /loop-next plugin command; handoff",
|
|
410
|
+
"author": "Claude",
|
|
411
|
+
"lane": "kit"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"sha": "c435234",
|
|
415
|
+
"at": "2026-10-11T05:23:41.000Z",
|
|
416
|
+
"message": "kit: method chapter on working with teammates",
|
|
417
|
+
"author": "Claude",
|
|
418
|
+
"lane": "kit"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"sha": "59af400",
|
|
422
|
+
"at": "2026-10-11T05:23:35.000Z",
|
|
423
|
+
"message": "core: loop next, claims in loop status and LaneStatus",
|
|
424
|
+
"author": "Claude",
|
|
425
|
+
"lane": "core"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"sha": "1a368ef",
|
|
429
|
+
"at": "2026-10-11T05:23:13.000Z",
|
|
430
|
+
"message": "kit: lane prompts and template honour lane claims",
|
|
431
|
+
"author": "Claude",
|
|
432
|
+
"lane": "kit"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"sha": "ee95e1a",
|
|
436
|
+
"at": "2026-10-11T05:19:08.000Z",
|
|
437
|
+
"message": "core: loop claim and loop release, claim parser",
|
|
438
|
+
"author": "Claude",
|
|
439
|
+
"lane": "core"
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"sha": "52ae3a9",
|
|
443
|
+
"at": "2026-10-11T05:15:11.000Z",
|
|
444
|
+
"message": "core: browser-safe parsers (src/core/parse), Round 3 audit, handoff",
|
|
445
|
+
"author": "Claude",
|
|
446
|
+
"lane": "core"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"sha": "cceb048",
|
|
450
|
+
"at": "2026-10-11T05:02:57.000Z",
|
|
451
|
+
"message": "web: live cache and indicator wording (tested); fix typecheck of format.ts under tests; handoff",
|
|
452
|
+
"author": "Claude",
|
|
453
|
+
"lane": "web"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"sha": "37928d9",
|
|
457
|
+
"at": "2026-10-11T05:01:07.000Z",
|
|
458
|
+
"message": "web: welcome strip and snapshot indicator replace the grey banner",
|
|
459
|
+
"author": "Claude",
|
|
460
|
+
"lane": "web"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"sha": "9b89537",
|
|
464
|
+
"at": "2026-10-11T04:58:11.000Z",
|
|
465
|
+
"message": "docs: round 3 re-audit; Pages deploy also triggers on src/core changes",
|
|
466
|
+
"author": "Claude",
|
|
467
|
+
"lane": "docs"
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"sha": "354c11e",
|
|
471
|
+
"at": "2026-10-11T04:54:33.000Z",
|
|
472
|
+
"message": "web: phone nav on one row, no 404 probe on static hosting",
|
|
473
|
+
"author": "Claude",
|
|
474
|
+
"lane": "web"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"sha": "8756452",
|
|
478
|
+
"at": "2026-10-11T04:48:52.000Z",
|
|
479
|
+
"message": "web: DESIGN.md spec for the 0.3.0 dashboard",
|
|
480
|
+
"author": "Claude",
|
|
481
|
+
"lane": "web"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"sha": "cffbe9e",
|
|
485
|
+
"at": "2026-10-11T04:47:06.000Z",
|
|
486
|
+
"message": "web: round 3 re-audit and before screenshots",
|
|
487
|
+
"author": "Claude",
|
|
488
|
+
"lane": "web"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"sha": "1fa8b73",
|
|
492
|
+
"at": "2026-10-11T04:34:40.000Z",
|
|
493
|
+
"message": "Round 3 start time in UTC (was local time)",
|
|
494
|
+
"author": "Minntooos",
|
|
495
|
+
"lane": "control"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"sha": "693243e",
|
|
499
|
+
"at": "2026-10-11T04:31:35.000Z",
|
|
500
|
+
"message": "Start round 3: 0.3.0 \"Showcase\" brief, lane contracts, claims rule",
|
|
501
|
+
"author": "Minntooos",
|
|
502
|
+
"lane": "control"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"sha": "084bb9f",
|
|
506
|
+
"at": "2026-10-11T04:01:08.000Z",
|
|
507
|
+
"message": "Release 0.2.0: version bump and CHANGELOG",
|
|
508
|
+
"author": "Minntooos",
|
|
509
|
+
"lane": "control"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"sha": "c959167",
|
|
513
|
+
"at": "2026-10-11T03:30:56.000Z",
|
|
514
|
+
"message": "control: Round 2 done, root DONE.md",
|
|
515
|
+
"author": "Claude",
|
|
516
|
+
"lane": "control"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"sha": "e1f69d2",
|
|
520
|
+
"at": "2026-10-11T03:11:33.000Z",
|
|
521
|
+
"message": "core: lane DONE",
|
|
522
|
+
"author": "Claude",
|
|
523
|
+
"lane": "core"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"sha": "82eceb9",
|
|
527
|
+
"at": "2026-10-11T03:11:21.000Z",
|
|
528
|
+
"message": "core: start Claude Code from pnpm-style .cmd shims via the script they name",
|
|
529
|
+
"author": "Claude",
|
|
530
|
+
"lane": "core"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"sha": "0da6d7e",
|
|
534
|
+
"at": "2026-10-11T02:10:45.000Z",
|
|
535
|
+
"message": "core: init --lanes and lanes add also merge the lane section into an existing AGENTS.md",
|
|
536
|
+
"author": "Claude",
|
|
537
|
+
"lane": "core"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"sha": "dc20ba4",
|
|
541
|
+
"at": "2026-10-11T01:56:34.000Z",
|
|
542
|
+
"message": "control: round 2 status, only core left, local runner may stop",
|
|
543
|
+
"author": "Minntooos",
|
|
544
|
+
"lane": "control"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"sha": "5e900de",
|
|
548
|
+
"at": "2026-10-11T01:48:00.000Z",
|
|
549
|
+
"message": "web: wrap long text on Fleet and Lanes (375 px e2e), audit closed, lane DONE",
|
|
550
|
+
"author": "Claude",
|
|
551
|
+
"lane": "web"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"sha": "8b03b7a",
|
|
555
|
+
"at": "2026-10-11T01:10:58.000Z",
|
|
556
|
+
"message": "core: check-lanes says 'no commits yet' in an empty repo",
|
|
557
|
+
"author": "Claude",
|
|
558
|
+
"lane": "core"
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"sha": "eebdcc7",
|
|
562
|
+
"at": "2026-10-11T00:59:08.000Z",
|
|
563
|
+
"message": "docs: fresh-install test 2, init --lanes needs a brief, blocking lane check in CI, lane DONE",
|
|
564
|
+
"author": "Claude",
|
|
565
|
+
"lane": "docs"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"sha": "0026ad7",
|
|
569
|
+
"at": "2026-10-11T00:50:41.000Z",
|
|
570
|
+
"message": "web: 375 px overflow e2e, audit rows refreshed, run 4 handoff",
|
|
571
|
+
"author": "Claude",
|
|
572
|
+
"lane": "web"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"sha": "c0e6ca4",
|
|
576
|
+
"at": "2026-10-11T00:33:50.000Z",
|
|
577
|
+
"message": "server: audit closed, lane DONE with next improvements",
|
|
578
|
+
"author": "Claude",
|
|
579
|
+
"lane": "server"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"sha": "fb21555",
|
|
583
|
+
"at": "2026-10-11T00:32:42.000Z",
|
|
584
|
+
"message": "control: lane crossings and kit stalled notes",
|
|
585
|
+
"author": "Claude",
|
|
586
|
+
"lane": "control"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"sha": "29c43e8",
|
|
590
|
+
"at": "2026-10-11T00:13:33.000Z",
|
|
591
|
+
"message": "core: a second Ctrl-C releases the lock and exits at once",
|
|
592
|
+
"author": "Claude",
|
|
593
|
+
"lane": "core"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"sha": "3ba1731",
|
|
597
|
+
"at": "2026-10-11T00:11:59.000Z",
|
|
598
|
+
"message": "core: keep the session lock until the claude child settles after Ctrl-C",
|
|
599
|
+
"author": "Claude",
|
|
600
|
+
"lane": "core"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"sha": "13ebeff",
|
|
604
|
+
"at": "2026-10-10T23:59:05.000Z",
|
|
605
|
+
"message": "docs: README screenshots, launch drafts for 0.2.0 with objections, CHANGELOG, handoff",
|
|
606
|
+
"author": "Claude",
|
|
607
|
+
"lane": "docs"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"sha": "7f77381",
|
|
611
|
+
"at": "2026-10-10T23:49:02.000Z",
|
|
612
|
+
"message": "web: toasts for server-sent events",
|
|
613
|
+
"author": "Claude",
|
|
614
|
+
"lane": "web"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"sha": "6f94a5c",
|
|
618
|
+
"at": "2026-10-10T23:47:36.000Z",
|
|
619
|
+
"message": "web: demo-based Lanes e2e, refreshed docs screenshots",
|
|
620
|
+
"author": "Claude",
|
|
621
|
+
"lane": "web"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"sha": "f10f088",
|
|
625
|
+
"at": "2026-10-10T23:35:37.000Z",
|
|
626
|
+
"message": "server: serve the sixth demo loop (this repo); demo-self rebuild test skips on shallow clones",
|
|
627
|
+
"author": "Claude",
|
|
628
|
+
"lane": "server"
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"sha": "a85c3a0",
|
|
632
|
+
"at": "2026-10-10T23:10:25.000Z",
|
|
633
|
+
"message": "core: run 4 handoff",
|
|
634
|
+
"author": "Claude",
|
|
635
|
+
"lane": "core"
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"sha": "5a35d94",
|
|
639
|
+
"at": "2026-10-10T23:10:16.000Z",
|
|
640
|
+
"message": "core: prefer the matching bin key when reading an npm shim's package",
|
|
641
|
+
"author": "Claude",
|
|
642
|
+
"lane": "core"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"sha": "17881dc",
|
|
646
|
+
"at": "2026-10-10T23:09:17.000Z",
|
|
647
|
+
"message": "core: run claude via its npm package entry when only claude.cmd exists on Windows",
|
|
648
|
+
"author": "Claude",
|
|
649
|
+
"lane": "core"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"sha": "82b38ae",
|
|
653
|
+
"at": "2026-10-10T22:28:38.000Z",
|
|
654
|
+
"message": "control: vitest hookTimeout 20s and half the cores on Windows",
|
|
655
|
+
"lane": "control"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"sha": "4a3535d",
|
|
659
|
+
"at": "2026-10-10T22:15:36.000Z",
|
|
660
|
+
"message": "control: note for core about npm-installed claude.cmd on Windows",
|
|
661
|
+
"lane": "control"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"sha": "fa3952f",
|
|
665
|
+
"at": "2026-10-10T21:53:11.000Z",
|
|
666
|
+
"message": "core: shared paths pass check-lanes even inside another lane's glob",
|
|
667
|
+
"lane": "core"
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"sha": "7d57b7a",
|
|
671
|
+
"at": "2026-10-10T21:53:11.000Z",
|
|
672
|
+
"message": "control: make npm test pass on Windows; web owns tests/unit/web",
|
|
673
|
+
"lane": "control"
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"sha": "dff830c",
|
|
677
|
+
"at": "2026-10-08T21:10:06.000Z",
|
|
678
|
+
"message": "core: handoff and outbox order",
|
|
679
|
+
"author": "Claude",
|
|
680
|
+
"lane": "core"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"sha": "5ad8373",
|
|
684
|
+
"at": "2026-10-08T21:09:57.000Z",
|
|
685
|
+
"message": "core: lane stall threshold from cron, hide lanes from loop new templates",
|
|
686
|
+
"author": "Claude",
|
|
687
|
+
"lane": "core"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"sha": "a4fbb78",
|
|
691
|
+
"at": "2026-10-08T20:59:16.000Z",
|
|
692
|
+
"message": "docs: outbox note and handoff",
|
|
693
|
+
"author": "Claude",
|
|
694
|
+
"lane": "docs"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"sha": "64594d2",
|
|
698
|
+
"at": "2026-10-08T20:59:03.000Z",
|
|
699
|
+
"message": "docs: check 7 covers subcommands, advisory check-lanes CI step, softer lanes claim, outbox and handoff",
|
|
700
|
+
"author": "Claude",
|
|
701
|
+
"lane": "docs"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"sha": "e5258c5",
|
|
705
|
+
"at": "2026-10-08T20:57:12.000Z",
|
|
706
|
+
"message": "docs: README lanes story, comparison table, FAQ; docs/lanes.md; check-lanes in CI",
|
|
707
|
+
"author": "Claude",
|
|
708
|
+
"lane": "docs"
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"sha": "4d52e0f",
|
|
712
|
+
"at": "2026-10-08T20:53:50.000Z",
|
|
713
|
+
"message": "web: Fleet filter by status",
|
|
714
|
+
"author": "Claude",
|
|
715
|
+
"lane": "web"
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
"sha": "a5706b8",
|
|
719
|
+
"at": "2026-10-08T20:51:30.000Z",
|
|
720
|
+
"message": "web: count blocked lanes in Needs you, handoff and outbox",
|
|
721
|
+
"author": "Claude",
|
|
722
|
+
"lane": "web"
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"sha": "b497604",
|
|
726
|
+
"at": "2026-10-08T20:50:02.000Z",
|
|
727
|
+
"message": "web: Lanes tab, Fleet lane strip and lane-aware Needs-you count, with fixture e2e and unit tests",
|
|
728
|
+
"author": "Claude",
|
|
729
|
+
"lane": "web"
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"sha": "27eb065",
|
|
733
|
+
"at": "2026-10-08T20:46:44.000Z",
|
|
734
|
+
"message": "web: fleet e2e tolerates a sixth demo loop; regenerate stale demo/this-repo.json (built from a shallow clone)",
|
|
735
|
+
"author": "Claude",
|
|
736
|
+
"lane": "web"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"sha": "f969e31",
|
|
740
|
+
"at": "2026-10-08T20:44:19.000Z",
|
|
741
|
+
"message": "kit: lane DONE, handoff and outbox",
|
|
742
|
+
"author": "Claude",
|
|
743
|
+
"lane": "kit"
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
"sha": "b458e98",
|
|
747
|
+
"at": "2026-10-08T20:44:19.000Z",
|
|
748
|
+
"message": "demo: regenerate this-repo.json so the up-to-date test passes again (main-stays-green fix, server owns it)",
|
|
749
|
+
"author": "Claude",
|
|
750
|
+
"lane": "control"
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"sha": "cba3a50",
|
|
754
|
+
"at": "2026-10-08T20:42:30.000Z",
|
|
755
|
+
"message": "kit: launchd plist notes on permissions and PATH",
|
|
756
|
+
"author": "Claude",
|
|
757
|
+
"lane": "kit"
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"sha": "4a25201",
|
|
761
|
+
"at": "2026-10-08T20:42:30.000Z",
|
|
762
|
+
"message": "kit: two more example knowledge entries",
|
|
763
|
+
"author": "Claude",
|
|
764
|
+
"lane": "kit"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"sha": "012d930",
|
|
768
|
+
"at": "2026-10-08T20:42:30.000Z",
|
|
769
|
+
"message": "kit: chrome-extension icons and a macOS launchd plist",
|
|
770
|
+
"author": "Claude",
|
|
771
|
+
"lane": "kit"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"sha": "511ac42",
|
|
775
|
+
"at": "2026-10-08T20:41:00.000Z",
|
|
776
|
+
"message": "server: leak check covers Vercel, Cloudflare Pages and GitHub Pages configs",
|
|
777
|
+
"author": "Claude",
|
|
778
|
+
"lane": "server"
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"sha": "f9d4768",
|
|
782
|
+
"at": "2026-10-08T20:39:34.000Z",
|
|
783
|
+
"message": "server: sixth demo loop data (this repo) with scrub test",
|
|
784
|
+
"author": "Claude",
|
|
785
|
+
"lane": "server"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"sha": "889dadc",
|
|
789
|
+
"at": "2026-10-08T20:38:49.000Z",
|
|
790
|
+
"message": "kit: say how a lane fixes a red main without failing check-lanes; note 0.2.0 requirement",
|
|
791
|
+
"author": "Claude",
|
|
792
|
+
"lane": "kit"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"sha": "1c361da",
|
|
796
|
+
"at": "2026-10-08T20:38:49.000Z",
|
|
797
|
+
"message": "kit: Lanes chapter in the method (Part B, section 16)",
|
|
798
|
+
"author": "Claude",
|
|
799
|
+
"lane": "kit"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"sha": "8a1bfc2",
|
|
803
|
+
"at": "2026-10-08T20:37:48.000Z",
|
|
804
|
+
"message": "server: handoff notes, cron finding for core",
|
|
805
|
+
"author": "Claude",
|
|
806
|
+
"lane": "server"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"sha": "396c50b",
|
|
810
|
+
"at": "2026-10-08T20:37:48.000Z",
|
|
811
|
+
"message": "server: lanes in the API, lane health checks, contracts",
|
|
812
|
+
"author": "Claude",
|
|
813
|
+
"lane": "server"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"sha": "00ff6ca",
|
|
817
|
+
"at": "2026-10-08T20:37:48.000Z",
|
|
818
|
+
"message": "server: round 2 audit",
|
|
819
|
+
"author": "Claude",
|
|
820
|
+
"lane": "server"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"sha": "36b2f53",
|
|
824
|
+
"at": "2026-10-08T20:35:11.000Z",
|
|
825
|
+
"message": "kit: lanes.yml matrix workflow with test; prompt and README fixes from review",
|
|
826
|
+
"author": "Claude",
|
|
827
|
+
"lane": "kit"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"sha": "7877df6",
|
|
831
|
+
"at": "2026-10-08T20:32:39.000Z",
|
|
832
|
+
"message": "kit: align lane templates with loop init --lanes; lane and control-room prompts with README",
|
|
833
|
+
"author": "Claude",
|
|
834
|
+
"lane": "kit"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"sha": "05859b0",
|
|
838
|
+
"at": "2026-10-08T20:30:36.000Z",
|
|
839
|
+
"message": "core: clearer answer --push failures; handoff",
|
|
840
|
+
"author": "Claude",
|
|
841
|
+
"lane": "core"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"sha": "090b145",
|
|
845
|
+
"at": "2026-10-08T20:30:36.000Z",
|
|
846
|
+
"message": "core: answer --push, loop new keeps the folder when gh fails, idle icon is - ; audit updated",
|
|
847
|
+
"author": "Claude",
|
|
848
|
+
"lane": "core"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"sha": "6345418",
|
|
852
|
+
"at": "2026-10-08T20:28:52.000Z",
|
|
853
|
+
"message": "kit: lane templates survive first push, are idempotent, carry the unattended rules",
|
|
854
|
+
"author": "Claude",
|
|
855
|
+
"lane": "kit"
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"sha": "8c33b8e",
|
|
859
|
+
"at": "2026-10-08T20:28:51.000Z",
|
|
860
|
+
"message": "kit: templates/lanes with documented placeholders and tests",
|
|
861
|
+
"author": "Claude",
|
|
862
|
+
"lane": "kit"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"sha": "e2095e3",
|
|
866
|
+
"at": "2026-10-08T20:27:08.000Z",
|
|
867
|
+
"message": "core: lanes add normalizes and validates globs; outbox for kit, server, web",
|
|
868
|
+
"author": "Claude",
|
|
869
|
+
"lane": "core"
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"sha": "5d78151",
|
|
873
|
+
"at": "2026-10-08T20:27:08.000Z",
|
|
874
|
+
"message": "core: loop init --lanes and loop lanes add",
|
|
875
|
+
"author": "Claude",
|
|
876
|
+
"lane": "core"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"sha": "89b9431",
|
|
880
|
+
"at": "2026-10-08T20:24:47.000Z",
|
|
881
|
+
"message": "kit: keep shipped prompt, default prompt and gitignore test in sync",
|
|
882
|
+
"author": "Claude",
|
|
883
|
+
"lane": "kit"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"sha": "2cda5e2",
|
|
887
|
+
"at": "2026-10-08T20:24:47.000Z",
|
|
888
|
+
"message": "kit: audit; runner's own session lock no longer stops the prompt",
|
|
889
|
+
"author": "Claude",
|
|
890
|
+
"lane": "kit"
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"sha": "0c7c8b6",
|
|
894
|
+
"at": "2026-10-08T20:22:58.000Z",
|
|
895
|
+
"message": "core: lane status counts a later commit as a reply and falls back to subject prefix",
|
|
896
|
+
"author": "Claude",
|
|
897
|
+
"lane": "core"
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"sha": "6e713c4",
|
|
901
|
+
"at": "2026-10-08T20:21:23.000Z",
|
|
902
|
+
"message": "core: per-lane state and loop status lane rows; LaneStatus type",
|
|
903
|
+
"author": "Claude",
|
|
904
|
+
"lane": "core"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"sha": "17605b8",
|
|
908
|
+
"at": "2026-10-08T20:19:26.000Z",
|
|
909
|
+
"message": "core: lock handles SIGHUP, failed rounds are recorded, doctor explains claude.cmd; outbox",
|
|
910
|
+
"author": "Claude",
|
|
911
|
+
"lane": "core"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"sha": "592bd6d",
|
|
915
|
+
"at": "2026-10-08T20:17:39.000Z",
|
|
916
|
+
"message": "core: loop run --lane with session lock written and cleared (also on failure and Ctrl-C)",
|
|
917
|
+
"author": "Claude",
|
|
918
|
+
"lane": "core"
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"sha": "8606f29",
|
|
922
|
+
"at": "2026-10-08T20:15:38.000Z",
|
|
923
|
+
"message": "core: loop doctor with injectable probes",
|
|
924
|
+
"author": "Claude",
|
|
925
|
+
"lane": "core"
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"sha": "1e80b43",
|
|
929
|
+
"at": "2026-10-08T20:14:04.000Z",
|
|
930
|
+
"message": "core: loop check-lanes (merges, shallow clones, non-ASCII paths handled)",
|
|
931
|
+
"author": "Claude",
|
|
932
|
+
"lane": "core"
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"sha": "c1e8faf",
|
|
936
|
+
"at": "2026-10-08T20:10:57.000Z",
|
|
937
|
+
"message": "core: lanes config parser, validator and ownership check (pure); core audit",
|
|
938
|
+
"author": "Claude",
|
|
939
|
+
"lane": "core"
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"sha": "a373e23",
|
|
943
|
+
"at": "2026-10-08T20:09:49.000Z",
|
|
944
|
+
"message": "check: run docs-vs-help check from source so npm test works on a fresh checkout",
|
|
945
|
+
"author": "Claude",
|
|
946
|
+
"lane": "core"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"sha": "53bb653",
|
|
950
|
+
"at": "2026-10-08T19:58:55.000Z",
|
|
951
|
+
"message": "docs: audit, fresh-install test, docs-vs-help check",
|
|
952
|
+
"author": "Claude",
|
|
953
|
+
"lane": "docs"
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"sha": "8a322c5",
|
|
957
|
+
"at": "2026-10-08T19:47:57.000Z",
|
|
958
|
+
"message": "web: screenshot generator and docs screenshots; request lane data shape",
|
|
959
|
+
"author": "Claude",
|
|
960
|
+
"lane": "web"
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"sha": "48ce16a",
|
|
964
|
+
"at": "2026-10-08T19:46:36.000Z",
|
|
965
|
+
"message": "web: audit, axe accessibility e2e on all screens and themes",
|
|
966
|
+
"author": "Claude",
|
|
967
|
+
"lane": "web"
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"sha": "e979881",
|
|
971
|
+
"at": "2026-10-08T19:38:28.000Z",
|
|
972
|
+
"message": "Start round 2: 0.2.0 \"Lanes\" brief, lane contracts and audits",
|
|
973
|
+
"author": "Minntooos",
|
|
974
|
+
"lane": "control"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"sha": "c9bff21",
|
|
978
|
+
"at": "2026-10-08T19:09:20.000Z",
|
|
979
|
+
"message": "CI on Windows and Node 20/24; Pages demo deploys on change; link the live demo",
|
|
980
|
+
"author": "Minntooos",
|
|
981
|
+
"lane": "other"
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"sha": "a10709e",
|
|
985
|
+
"at": "2026-10-08T19:05:55.000Z",
|
|
986
|
+
"message": "Make the Pages demo work under a subpath; add Dependabot and package links",
|
|
987
|
+
"author": "Minntooos",
|
|
988
|
+
"lane": "other"
|
|
989
|
+
},
|
|
85
990
|
{
|
|
86
991
|
"sha": "3385cdf",
|
|
87
992
|
"at": "2026-10-08T17:58:34.000Z",
|
|
88
|
-
"message": "Release 0.1.0"
|
|
993
|
+
"message": "Release 0.1.0",
|
|
994
|
+
"lane": "release"
|
|
89
995
|
},
|
|
90
996
|
{
|
|
91
997
|
"sha": "36953a0",
|
|
92
998
|
"at": "2026-10-08T15:29:55.000Z",
|
|
93
|
-
"message": "control room: product DONE"
|
|
999
|
+
"message": "control room: product DONE",
|
|
1000
|
+
"author": "Claude",
|
|
1001
|
+
"lane": "control"
|
|
94
1002
|
},
|
|
95
1003
|
{
|
|
96
1004
|
"sha": "b85e7d3",
|
|
97
1005
|
"at": "2026-10-08T14:30:53.000Z",
|
|
98
|
-
"message": "Close three launch gaps: settings route, recorded test results, full Code of Conduct"
|
|
1006
|
+
"message": "Close three launch gaps: settings route, recorded test results, full Code of Conduct",
|
|
1007
|
+
"lane": "other"
|
|
99
1008
|
},
|
|
100
1009
|
{
|
|
101
1010
|
"sha": "6bfd42b",
|
|
102
1011
|
"at": "2026-10-08T14:20:51.000Z",
|
|
103
|
-
"message": "Fix tests on Windows: run tsx through node, use an absolute missing-file URL"
|
|
1012
|
+
"message": "Fix tests on Windows: run tsx through node, use an absolute missing-file URL",
|
|
1013
|
+
"lane": "other"
|
|
104
1014
|
},
|
|
105
1015
|
{
|
|
106
1016
|
"sha": "7555d39",
|
|
107
1017
|
"at": "2026-10-08T12:45:28.000Z",
|
|
108
|
-
"message": "web: run 8, lane DONE"
|
|
1018
|
+
"message": "web: run 8, lane DONE",
|
|
1019
|
+
"author": "Claude",
|
|
1020
|
+
"lane": "web"
|
|
109
1021
|
},
|
|
110
1022
|
{
|
|
111
1023
|
"sha": "346d25d",
|
|
112
1024
|
"at": "2026-10-08T12:31:01.000Z",
|
|
113
|
-
"message": "control room: tell web to finish with DONE"
|
|
1025
|
+
"message": "control room: tell web to finish with DONE",
|
|
1026
|
+
"author": "Claude",
|
|
1027
|
+
"lane": "control"
|
|
114
1028
|
},
|
|
115
1029
|
{
|
|
116
1030
|
"sha": "e874baa",
|
|
117
1031
|
"at": "2026-10-08T11:45:26.000Z",
|
|
118
|
-
"message": "web: record run 7, request GET /api/settings"
|
|
1032
|
+
"message": "web: record run 7, request GET /api/settings",
|
|
1033
|
+
"author": "Claude",
|
|
1034
|
+
"lane": "web"
|
|
119
1035
|
},
|
|
120
1036
|
{
|
|
121
1037
|
"sha": "3e123ef",
|
|
122
1038
|
"at": "2026-10-08T10:46:01.000Z",
|
|
123
|
-
"message": "web: unit tests for Loading and LoadError (busy state), jsx in root tsconfig"
|
|
1039
|
+
"message": "web: unit tests for Loading and LoadError (busy state), jsx in root tsconfig",
|
|
1040
|
+
"author": "Claude",
|
|
1041
|
+
"lane": "web"
|
|
124
1042
|
},
|
|
125
1043
|
{
|
|
126
1044
|
"sha": "11c7e75",
|
|
127
1045
|
"at": "2026-10-08T09:47:21.000Z",
|
|
128
|
-
"message": "web: record run 5 attempt and handoff"
|
|
1046
|
+
"message": "web: record run 5 attempt and handoff",
|
|
1047
|
+
"author": "Claude",
|
|
1048
|
+
"lane": "web"
|
|
129
1049
|
},
|
|
130
1050
|
{
|
|
131
1051
|
"sha": "04a32c2",
|
|
132
1052
|
"at": "2026-10-08T08:48:05.000Z",
|
|
133
|
-
"message": "web: record run 4 attempt and handoff"
|
|
1053
|
+
"message": "web: record run 4 attempt and handoff",
|
|
1054
|
+
"author": "Claude",
|
|
1055
|
+
"lane": "web"
|
|
134
1056
|
},
|
|
135
1057
|
{
|
|
136
1058
|
"sha": "1fa8db2",
|
|
137
1059
|
"at": "2026-10-08T07:46:38.000Z",
|
|
138
|
-
"message": "web: disable retry while refetching, error tests for health, inbox, loop detail"
|
|
1060
|
+
"message": "web: disable retry while refetching, error tests for health, inbox, loop detail",
|
|
1061
|
+
"author": "Claude",
|
|
1062
|
+
"lane": "web"
|
|
139
1063
|
},
|
|
140
1064
|
{
|
|
141
1065
|
"sha": "01d2526",
|
|
142
1066
|
"at": "2026-10-08T07:10:35.000Z",
|
|
143
|
-
"message": "core: DONE, handoff, outbox"
|
|
1067
|
+
"message": "core: DONE, handoff, outbox",
|
|
1068
|
+
"author": "Claude",
|
|
1069
|
+
"lane": "core"
|
|
144
1070
|
},
|
|
145
1071
|
{
|
|
146
1072
|
"sha": "0f037ac",
|
|
147
1073
|
"at": "2026-10-08T06:46:26.000Z",
|
|
148
|
-
"message": "web: shared loading and error states with retry"
|
|
1074
|
+
"message": "web: shared loading and error states with retry",
|
|
1075
|
+
"author": "Claude",
|
|
1076
|
+
"lane": "web"
|
|
149
1077
|
},
|
|
150
1078
|
{
|
|
151
1079
|
"sha": "cbf9e96",
|
|
152
1080
|
"at": "2026-10-08T06:22:28.000Z",
|
|
153
|
-
"message": "kit: outbox"
|
|
1081
|
+
"message": "kit: outbox",
|
|
1082
|
+
"author": "Claude",
|
|
1083
|
+
"lane": "kit"
|
|
154
1084
|
},
|
|
155
1085
|
{
|
|
156
1086
|
"sha": "f3d3f4b",
|
|
157
1087
|
"at": "2026-10-08T06:22:20.000Z",
|
|
158
|
-
"message": "kit: ship template gitignore as gitignore, ignore loop runtime files, DONE"
|
|
1088
|
+
"message": "kit: ship template gitignore as gitignore, ignore loop runtime files, DONE",
|
|
1089
|
+
"author": "Claude",
|
|
1090
|
+
"lane": "kit"
|
|
159
1091
|
},
|
|
160
1092
|
{
|
|
161
1093
|
"sha": "9ee6e75",
|
|
162
1094
|
"at": "2026-10-08T06:11:23.000Z",
|
|
163
|
-
"message": "core: handoff, outbox"
|
|
1095
|
+
"message": "core: handoff, outbox",
|
|
1096
|
+
"author": "Claude",
|
|
1097
|
+
"lane": "core"
|
|
164
1098
|
},
|
|
165
1099
|
{
|
|
166
1100
|
"sha": "6ac5aff",
|
|
167
1101
|
"at": "2026-10-08T06:11:14.000Z",
|
|
168
|
-
"message": "core: loop new writes gitignore as .gitignore and {{host}}; loop run honours session.lock and records runs.jsonl; DEFAULT_PROMPT mirrors routine prompt"
|
|
1102
|
+
"message": "core: loop new writes gitignore as .gitignore and {{host}}; loop run honours session.lock and records runs.jsonl; DEFAULT_PROMPT mirrors routine prompt",
|
|
1103
|
+
"author": "Claude",
|
|
1104
|
+
"lane": "core"
|
|
169
1105
|
},
|
|
170
1106
|
{
|
|
171
1107
|
"sha": "a3b6e4c",
|
|
172
1108
|
"at": "2026-10-08T06:02:45.000Z",
|
|
173
|
-
"message": "docs: demo pages workflow, DONE"
|
|
1109
|
+
"message": "docs: demo pages workflow, DONE",
|
|
1110
|
+
"author": "Claude",
|
|
1111
|
+
"lane": "docs"
|
|
174
1112
|
},
|
|
175
1113
|
{
|
|
176
1114
|
"sha": "8ff8c26",
|
|
177
1115
|
"at": "2026-10-08T06:02:04.000Z",
|
|
178
|
-
"message": "docs: dashboard screenshot, command options"
|
|
1116
|
+
"message": "docs: dashboard screenshot, command options",
|
|
1117
|
+
"author": "Claude",
|
|
1118
|
+
"lane": "docs"
|
|
179
1119
|
},
|
|
180
1120
|
{
|
|
181
1121
|
"sha": "72dab42",
|
|
182
1122
|
"at": "2026-10-08T06:01:11.000Z",
|
|
183
|
-
"message": "docs: social preview image"
|
|
1123
|
+
"message": "docs: social preview image",
|
|
1124
|
+
"author": "Claude",
|
|
1125
|
+
"lane": "docs"
|
|
184
1126
|
},
|
|
185
1127
|
{
|
|
186
1128
|
"sha": "6f4d759",
|
|
187
1129
|
"at": "2026-10-08T06:00:18.000Z",
|
|
188
|
-
"message": "docs: handoff"
|
|
1130
|
+
"message": "docs: handoff",
|
|
1131
|
+
"author": "Claude",
|
|
1132
|
+
"lane": "docs"
|
|
189
1133
|
},
|
|
190
1134
|
{
|
|
191
1135
|
"sha": "a7d2cdd",
|
|
192
1136
|
"at": "2026-10-08T06:00:18.000Z",
|
|
193
|
-
"message": "docs: launch drafts"
|
|
1137
|
+
"message": "docs: launch drafts",
|
|
1138
|
+
"author": "Claude",
|
|
1139
|
+
"lane": "docs"
|
|
194
1140
|
},
|
|
195
1141
|
{
|
|
196
1142
|
"sha": "5456d6d",
|
|
197
1143
|
"at": "2026-10-08T05:59:32.000Z",
|
|
198
|
-
"message": "docs: README with proof table, docs pages, README/link checks"
|
|
1144
|
+
"message": "docs: README with proof table, docs pages, README/link checks",
|
|
1145
|
+
"author": "Claude",
|
|
1146
|
+
"lane": "docs"
|
|
199
1147
|
},
|
|
200
1148
|
{
|
|
201
1149
|
"sha": "926133b",
|
|
202
1150
|
"at": "2026-10-08T05:57:27.000Z",
|
|
203
|
-
"message": "docs: CI workflow, contributing, conduct, security, changelog, templates, marketplace"
|
|
1151
|
+
"message": "docs: CI workflow, contributing, conduct, security, changelog, templates, marketplace",
|
|
1152
|
+
"author": "Claude",
|
|
1153
|
+
"lane": "docs"
|
|
204
1154
|
},
|
|
205
1155
|
{
|
|
206
1156
|
"sha": "73bafcb",
|
|
207
1157
|
"at": "2026-10-08T05:53:24.000Z",
|
|
208
|
-
"message": "web: tab arrow keys, contrast test, read-only inbox without a server, AA-safe accent buttons"
|
|
1158
|
+
"message": "web: tab arrow keys, contrast test, read-only inbox without a server, AA-safe accent buttons",
|
|
1159
|
+
"author": "Claude",
|
|
1160
|
+
"lane": "web"
|
|
209
1161
|
},
|
|
210
1162
|
{
|
|
211
1163
|
"sha": "c4520a5",
|
|
212
1164
|
"at": "2026-10-08T05:52:21.000Z",
|
|
213
|
-
"message": "web: new-loop wizard with live brief score and first-run state"
|
|
1165
|
+
"message": "web: new-loop wizard with live brief score and first-run state",
|
|
1166
|
+
"author": "Claude",
|
|
1167
|
+
"lane": "web"
|
|
214
1168
|
},
|
|
215
1169
|
{
|
|
216
1170
|
"sha": "185bff3",
|
|
217
1171
|
"at": "2026-10-08T05:51:29.000Z",
|
|
218
|
-
"message": "web: loop detail, inbox, health, settings, live updates; e2e on the demo server"
|
|
1172
|
+
"message": "web: loop detail, inbox, health, settings, live updates; e2e on the demo server",
|
|
1173
|
+
"author": "Claude",
|
|
1174
|
+
"lane": "web"
|
|
219
1175
|
},
|
|
220
1176
|
{
|
|
221
1177
|
"sha": "360ae18",
|
|
222
1178
|
"at": "2026-10-08T05:48:00.000Z",
|
|
223
|
-
"message": "web: app shell, command palette, theme, hash router and Fleet with e2e"
|
|
1179
|
+
"message": "web: app shell, command palette, theme, hash router and Fleet with e2e",
|
|
1180
|
+
"author": "Claude",
|
|
1181
|
+
"lane": "web"
|
|
224
1182
|
},
|
|
225
1183
|
{
|
|
226
1184
|
"sha": "bcc83ca",
|
|
227
1185
|
"at": "2026-10-08T05:46:45.000Z",
|
|
228
|
-
"message": "server: lane DONE, retro, knowledge entry"
|
|
1186
|
+
"message": "server: lane DONE, retro, knowledge entry",
|
|
1187
|
+
"author": "Claude",
|
|
1188
|
+
"lane": "server"
|
|
229
1189
|
},
|
|
230
1190
|
{
|
|
231
1191
|
"sha": "bee870d",
|
|
232
1192
|
"at": "2026-10-08T05:45:20.000Z",
|
|
233
|
-
"message": "server: serve the built dashboard with a strict CSP; static demo API export"
|
|
1193
|
+
"message": "server: serve the built dashboard with a strict CSP; static demo API export",
|
|
1194
|
+
"author": "Claude",
|
|
1195
|
+
"lane": "server"
|
|
234
1196
|
},
|
|
235
1197
|
{
|
|
236
1198
|
"sha": "c6faf17",
|
|
237
1199
|
"at": "2026-10-08T05:43:30.000Z",
|
|
238
|
-
"message": "server: health checks (leak, stale lock, short runs, failing tests, runner silent) feed status and /api/checks"
|
|
1200
|
+
"message": "server: health checks (leak, stale lock, short runs, failing tests, runner silent) feed status and /api/checks",
|
|
1201
|
+
"author": "Claude",
|
|
1202
|
+
"lane": "server"
|
|
239
1203
|
},
|
|
240
1204
|
{
|
|
241
1205
|
"sha": "55749c0",
|
|
242
1206
|
"at": "2026-10-08T05:41:10.000Z",
|
|
243
|
-
"message": "server: SSE /api/events with a polling clone watcher and periodic git fetch"
|
|
1207
|
+
"message": "server: SSE /api/events with a polling clone watcher and periodic git fetch",
|
|
1208
|
+
"author": "Claude",
|
|
1209
|
+
"lane": "server"
|
|
244
1210
|
},
|
|
245
1211
|
{
|
|
246
1212
|
"sha": "a75365c",
|
|
247
1213
|
"at": "2026-10-08T05:39:19.000Z",
|
|
248
|
-
"message": "server: answer endpoint with host/origin/content-type guard"
|
|
1214
|
+
"message": "server: answer endpoint with host/origin/content-type guard",
|
|
1215
|
+
"author": "Claude",
|
|
1216
|
+
"lane": "server"
|
|
249
1217
|
},
|
|
250
1218
|
{
|
|
251
1219
|
"sha": "8955f5c",
|
|
252
1220
|
"at": "2026-10-08T05:37:30.000Z",
|
|
253
|
-
"message": "server: read real loops, inbox and detail from a projects folder"
|
|
1221
|
+
"message": "server: read real loops, inbox and detail from a projects folder",
|
|
1222
|
+
"author": "Claude",
|
|
1223
|
+
"lane": "server"
|
|
254
1224
|
},
|
|
255
1225
|
{
|
|
256
1226
|
"sha": "803d0db",
|
|
257
1227
|
"at": "2026-10-08T05:35:49.000Z",
|
|
258
|
-
"message": "server: createApp, startServer and read routes from the demo snapshot"
|
|
1228
|
+
"message": "server: createApp, startServer and read routes from the demo snapshot",
|
|
1229
|
+
"author": "Claude",
|
|
1230
|
+
"lane": "server"
|
|
259
1231
|
},
|
|
260
1232
|
{
|
|
261
1233
|
"sha": "88eeea0",
|
|
262
1234
|
"at": "2026-10-08T05:34:46.000Z",
|
|
263
|
-
"message": "server: demo snapshot builder, scrubbed five-sites.json, shared API types"
|
|
1235
|
+
"message": "server: demo snapshot builder, scrubbed five-sites.json, shared API types",
|
|
1236
|
+
"author": "Claude",
|
|
1237
|
+
"lane": "server"
|
|
264
1238
|
},
|
|
265
1239
|
{
|
|
266
1240
|
"sha": "1abf8d9",
|
|
267
1241
|
"at": "2026-10-08T05:31:46.000Z",
|
|
268
|
-
"message": "kit: method protocol files, lock rule in static-site loop prompt, stricter consistency tests"
|
|
1242
|
+
"message": "kit: method protocol files, lock rule in static-site loop prompt, stricter consistency tests",
|
|
1243
|
+
"author": "Claude",
|
|
1244
|
+
"lane": "kit"
|
|
269
1245
|
},
|
|
270
1246
|
{
|
|
271
1247
|
"sha": "d48aab3",
|
|
272
1248
|
"at": "2026-10-08T05:29:55.000Z",
|
|
273
|
-
"message": "kit: outbox requests for core (gitignore in tarball) and docs (marketplace.json)"
|
|
1249
|
+
"message": "kit: outbox requests for core (gitignore in tarball) and docs (marketplace.json)",
|
|
1250
|
+
"author": "Claude",
|
|
1251
|
+
"lane": "kit"
|
|
274
1252
|
},
|
|
275
1253
|
{
|
|
276
1254
|
"sha": "aaf8ab9",
|
|
277
1255
|
"at": "2026-10-08T05:29:09.000Z",
|
|
278
|
-
"message": "kit: Chrome extension template with check script and Playwright extension test"
|
|
1256
|
+
"message": "kit: Chrome extension template with check script and Playwright extension test",
|
|
1257
|
+
"author": "Claude",
|
|
1258
|
+
"lane": "kit"
|
|
279
1259
|
},
|
|
280
1260
|
{
|
|
281
1261
|
"sha": "c8ddbae",
|
|
282
1262
|
"at": "2026-10-08T05:28:05.000Z",
|
|
283
|
-
"message": "kit: Claude Code plugin with loop-init, handoff, retro and stuck commands"
|
|
1263
|
+
"message": "kit: Claude Code plugin with loop-init, handoff, retro and stuck commands",
|
|
1264
|
+
"author": "Claude",
|
|
1265
|
+
"lane": "kit"
|
|
284
1266
|
},
|
|
285
1267
|
{
|
|
286
1268
|
"sha": "3c0b4c8",
|
|
287
1269
|
"at": "2026-10-08T05:27:20.000Z",
|
|
288
|
-
"message": "kit: fix runner review findings (github_token, allowedTools, XML encoding, lock wording)"
|
|
1270
|
+
"message": "kit: fix runner review findings (github_token, allowedTools, XML encoding, lock wording)",
|
|
1271
|
+
"author": "Claude",
|
|
1272
|
+
"lane": "kit"
|
|
289
1273
|
},
|
|
290
1274
|
{
|
|
291
1275
|
"sha": "8201e6e",
|
|
292
1276
|
"at": "2026-10-08T05:26:35.000Z",
|
|
293
|
-
"message": "kit: GitHub Actions workflow and local scheduler configs with tests"
|
|
1277
|
+
"message": "kit: GitHub Actions workflow and local scheduler configs with tests",
|
|
1278
|
+
"author": "Claude",
|
|
1279
|
+
"lane": "kit"
|
|
294
1280
|
},
|
|
295
1281
|
{
|
|
296
1282
|
"sha": "d8cc97d",
|
|
297
1283
|
"at": "2026-10-08T05:25:56.000Z",
|
|
298
|
-
"message": "kit: routine runner prompt and README; loop run test accepts the shipped prompt"
|
|
1284
|
+
"message": "kit: routine runner prompt and README; loop run test accepts the shipped prompt",
|
|
1285
|
+
"author": "Claude",
|
|
1286
|
+
"lane": "kit"
|
|
299
1287
|
},
|
|
300
1288
|
{
|
|
301
1289
|
"sha": "2b919a7",
|
|
302
1290
|
"at": "2026-10-08T05:25:03.000Z",
|
|
303
|
-
"message": "kit: static-site check rejects invalid hostnames; flag underscore-name bug to core"
|
|
1291
|
+
"message": "kit: static-site check rejects invalid hostnames; flag underscore-name bug to core",
|
|
1292
|
+
"author": "Claude",
|
|
1293
|
+
"lane": "kit"
|
|
304
1294
|
},
|
|
305
1295
|
{
|
|
306
1296
|
"sha": "61467c3",
|
|
307
1297
|
"at": "2026-10-08T05:25:03.000Z",
|
|
308
|
-
"message": "kit: static-site template passes its own checks when freshly generated"
|
|
1298
|
+
"message": "kit: static-site template passes its own checks when freshly generated",
|
|
1299
|
+
"author": "Claude",
|
|
1300
|
+
"lane": "kit"
|
|
309
1301
|
},
|
|
310
1302
|
{
|
|
311
1303
|
"sha": "ea9869d",
|
|
312
1304
|
"at": "2026-10-08T05:23:30.000Z",
|
|
313
|
-
"message": "core: dashboard shutdown, busy-port hint, handoff"
|
|
1305
|
+
"message": "core: dashboard shutdown, busy-port hint, handoff",
|
|
1306
|
+
"author": "Claude",
|
|
1307
|
+
"lane": "core"
|
|
314
1308
|
},
|
|
315
1309
|
{
|
|
316
1310
|
"sha": "d6c7a02",
|
|
317
1311
|
"at": "2026-10-08T05:23:30.000Z",
|
|
318
|
-
"message": "core: loop dashboard command with lazy server import"
|
|
1312
|
+
"message": "core: loop dashboard command with lazy server import",
|
|
1313
|
+
"author": "Claude",
|
|
1314
|
+
"lane": "core"
|
|
319
1315
|
},
|
|
320
1316
|
{
|
|
321
1317
|
"sha": "0e0d08f",
|
|
322
1318
|
"at": "2026-10-08T05:22:11.000Z",
|
|
323
|
-
"message": "kit: fix review findings (empty shipped index, prefilled goal, lock file named)"
|
|
1319
|
+
"message": "kit: fix review findings (empty shipped index, prefilled goal, lock file named)",
|
|
1320
|
+
"author": "Claude",
|
|
1321
|
+
"lane": "kit"
|
|
324
1322
|
},
|
|
325
1323
|
{
|
|
326
1324
|
"sha": "d4f7299",
|
|
327
1325
|
"at": "2026-10-08T05:22:10.000Z",
|
|
328
|
-
"message": "kit: operating card, task template, knowledge index and unattended rules with tests"
|
|
1326
|
+
"message": "kit: operating card, task template, knowledge index and unattended rules with tests",
|
|
1327
|
+
"author": "Claude",
|
|
1328
|
+
"lane": "kit"
|
|
329
1329
|
},
|
|
330
1330
|
{
|
|
331
1331
|
"sha": "0596cfe",
|
|
332
1332
|
"at": "2026-10-08T05:21:44.000Z",
|
|
333
|
-
"message": "core: loop run allows the tools a round needs, handles Windows claude lookup"
|
|
1333
|
+
"message": "core: loop run allows the tools a round needs, handles Windows claude lookup",
|
|
1334
|
+
"author": "Claude",
|
|
1335
|
+
"lane": "core"
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"sha": "039455a",
|
|
1339
|
+
"at": "2026-10-08T05:20:45.000Z",
|
|
1340
|
+
"message": "core: loop run builds the scheduler prompt and starts claude with an argument array",
|
|
1341
|
+
"author": "Claude",
|
|
1342
|
+
"lane": "core"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"sha": "936fee6",
|
|
1346
|
+
"at": "2026-10-08T05:19:46.000Z",
|
|
1347
|
+
"message": "core: answer commits only its files and extends a spent run budget; wider next-list headings",
|
|
1348
|
+
"author": "Claude",
|
|
1349
|
+
"lane": "core"
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"sha": "b8aaa33",
|
|
1353
|
+
"at": "2026-10-08T05:18:27.000Z",
|
|
1354
|
+
"message": "core: loop status, next-round and answer",
|
|
1355
|
+
"author": "Claude",
|
|
1356
|
+
"lane": "core"
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"sha": "7a1ecb0",
|
|
1360
|
+
"at": "2026-10-08T05:16:47.000Z",
|
|
1361
|
+
"message": "core: loop new cleans up when gh fails, git identity fallback",
|
|
1362
|
+
"author": "Claude",
|
|
1363
|
+
"lane": "core"
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
"sha": "4e9b6ce",
|
|
1367
|
+
"at": "2026-10-08T05:15:52.000Z",
|
|
1368
|
+
"message": "core: loop new with template copier and Gh interface",
|
|
1369
|
+
"author": "Claude",
|
|
1370
|
+
"lane": "core"
|
|
1371
|
+
},
|
|
1372
|
+
{
|
|
1373
|
+
"sha": "f8eaff3",
|
|
1374
|
+
"at": "2026-10-08T05:14:38.000Z",
|
|
1375
|
+
"message": "core: init never overwrites loop state, rejects broken card markers",
|
|
1376
|
+
"author": "Claude",
|
|
1377
|
+
"lane": "core"
|
|
1378
|
+
},
|
|
1379
|
+
{
|
|
1380
|
+
"sha": "2aeee01",
|
|
1381
|
+
"at": "2026-10-08T05:13:40.000Z",
|
|
1382
|
+
"message": "core: loop init with brief gate, idempotent card merge",
|
|
1383
|
+
"author": "Claude",
|
|
1384
|
+
"lane": "core"
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"sha": "a12a3ea",
|
|
1388
|
+
"at": "2026-10-08T05:12:29.000Z",
|
|
1389
|
+
"message": "core: anchor brief heading matching, nest sub-headings, accept bold labels",
|
|
1390
|
+
"author": "Claude",
|
|
1391
|
+
"lane": "core"
|
|
1392
|
+
},
|
|
1393
|
+
{
|
|
1394
|
+
"sha": "947d666",
|
|
1395
|
+
"at": "2026-10-08T05:11:25.000Z",
|
|
1396
|
+
"message": "core: brief linter with named gaps",
|
|
1397
|
+
"author": "Claude",
|
|
1398
|
+
"lane": "core"
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"sha": "abed9af",
|
|
1402
|
+
"at": "2026-10-08T05:10:44.000Z",
|
|
1403
|
+
"message": "core: harden repo readers, update task file",
|
|
1404
|
+
"author": "Claude",
|
|
1405
|
+
"lane": "core"
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"sha": "0db189d",
|
|
1409
|
+
"at": "2026-10-08T05:09:58.000Z",
|
|
1410
|
+
"message": "core: read a loop's facts from a folder (repo.ts)",
|
|
1411
|
+
"author": "Claude",
|
|
1412
|
+
"lane": "core"
|
|
1413
|
+
},
|
|
1414
|
+
{
|
|
1415
|
+
"sha": "6706123",
|
|
1416
|
+
"at": "2026-10-08T05:09:20.000Z",
|
|
1417
|
+
"message": "Fix green: stop favicon 404 failing the dashboard smoke test",
|
|
1418
|
+
"author": "Claude",
|
|
1419
|
+
"lane": "other"
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"sha": "74b8626",
|
|
1423
|
+
"at": "2026-10-08T04:58:48.000Z",
|
|
1424
|
+
"message": "Add control room notes file that every lane reads",
|
|
1425
|
+
"lane": "other"
|
|
1426
|
+
},
|
|
1427
|
+
{
|
|
1428
|
+
"sha": "0c397a2",
|
|
1429
|
+
"at": "2026-10-08T04:55:53.000Z",
|
|
1430
|
+
"message": "Set up Compounding Loop for five parallel build lanes",
|
|
1431
|
+
"lane": "other"
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"sha": "2539ddd",
|
|
1435
|
+
"at": "2026-10-05T22:14:08.000Z",
|
|
1436
|
+
"message": "Add the Compounding Loop method",
|
|
1437
|
+
"lane": "other"
|
|
334
1438
|
}
|
|
335
1439
|
],
|
|
336
1440
|
"contract": [
|
|
@@ -355,6 +1459,105 @@
|
|
|
355
1459
|
"pass": true
|
|
356
1460
|
}
|
|
357
1461
|
],
|
|
1462
|
+
"laneNotes": [
|
|
1463
|
+
{
|
|
1464
|
+
"lane": "core",
|
|
1465
|
+
"contract": [
|
|
1466
|
+
{
|
|
1467
|
+
"text": "`npm test` passes",
|
|
1468
|
+
"pass": true
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
"text": "Round 3 audit section with no open blocker",
|
|
1472
|
+
"pass": true
|
|
1473
|
+
},
|
|
1474
|
+
{
|
|
1475
|
+
"text": "every item below has unit tests",
|
|
1476
|
+
"pass": true
|
|
1477
|
+
}
|
|
1478
|
+
],
|
|
1479
|
+
"decisions": [],
|
|
1480
|
+
"knowledge": []
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"lane": "kit",
|
|
1484
|
+
"contract": [
|
|
1485
|
+
{
|
|
1486
|
+
"text": "`npm test` passes",
|
|
1487
|
+
"pass": true
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"text": "Round 3 audit section with no open blocker",
|
|
1491
|
+
"pass": true
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"text": "tests assert the claim rule is in every lane prompt and template",
|
|
1495
|
+
"pass": true
|
|
1496
|
+
}
|
|
1497
|
+
],
|
|
1498
|
+
"decisions": [],
|
|
1499
|
+
"knowledge": []
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
"lane": "server",
|
|
1503
|
+
"contract": [
|
|
1504
|
+
{
|
|
1505
|
+
"text": "`npm test` passes",
|
|
1506
|
+
"pass": true
|
|
1507
|
+
},
|
|
1508
|
+
{
|
|
1509
|
+
"text": "Round 3 audit section with no open blocker",
|
|
1510
|
+
"pass": true
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
"text": "`src/server/live/**` is pure, browser-safe and unit-tested against recorded GitHub response fixtures (scrubbed: no emails, no author names)",
|
|
1514
|
+
"pass": true
|
|
1515
|
+
}
|
|
1516
|
+
],
|
|
1517
|
+
"decisions": [
|
|
1518
|
+
"Fixtures in tests/unit/server/fixtures/live are hand-written to the documented GitHub API shape (no network in cloud runs), with no names or emails.",
|
|
1519
|
+
"Moved `laneChecks` to src/server/laneChecks.ts and `bulletsUnder`/`contractFromTask` to src/server/taskBullets.ts so live/ stays browser-safe; old modules re-export them.",
|
|
1520
|
+
"CSP for the hosted demo is a meta tag written by demo/export-static.mjs into demo/static/index.html (workflow already copies demo/static over dist/web)."
|
|
1521
|
+
],
|
|
1522
|
+
"knowledge": []
|
|
1523
|
+
},
|
|
1524
|
+
{
|
|
1525
|
+
"lane": "web",
|
|
1526
|
+
"contract": [
|
|
1527
|
+
{
|
|
1528
|
+
"text": "every web line of \"Round 3 done when\" in IDEA.md passes: mocked-GitHub e2e (live, rate-limit fallback, copy command), axe at 1440 and 375 px in both themes, no console errors, no horizontal scroll at 375 px, bundle under 300 kB gzip, `web/DESIGN.md` plus before/after screenshots, and an independent design review recorded in `.ai/audit/web.md`",
|
|
1529
|
+
"pass": true
|
|
1530
|
+
}
|
|
1531
|
+
],
|
|
1532
|
+
"decisions": [
|
|
1533
|
+
"2026-10-11: lane colours are Okabe-Ito tuned to AA on both themes (web/DESIGN.md §3); status palette from IDEA.md unchanged. Charts hand-written SVG, no dependency. Timeline times are absolute UTC (relative in title). DESIGN.md research: only Vercel Geist was re-verified online, others from working knowledge, stated in the doc."
|
|
1534
|
+
],
|
|
1535
|
+
"knowledge": []
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"lane": "docs",
|
|
1539
|
+
"contract": [
|
|
1540
|
+
{
|
|
1541
|
+
"text": "`npm test` passes",
|
|
1542
|
+
"pass": true
|
|
1543
|
+
},
|
|
1544
|
+
{
|
|
1545
|
+
"text": "Round 3 audit section with no open blocker",
|
|
1546
|
+
"pass": true
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"text": "README/docs checks pass",
|
|
1550
|
+
"pass": true
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"text": "the fresh-install test (README quick start + `docs/team.md`, word for word, from a packed tarball in an empty temp dir) is recorded in `.ai/audit/docs.md`",
|
|
1554
|
+
"pass": true
|
|
1555
|
+
}
|
|
1556
|
+
],
|
|
1557
|
+
"decisions": [],
|
|
1558
|
+
"knowledge": []
|
|
1559
|
+
}
|
|
1560
|
+
],
|
|
358
1561
|
"knowledge": [],
|
|
359
1562
|
"decisions": [],
|
|
360
1563
|
"history": []
|
|
@@ -365,7 +1568,7 @@
|
|
|
365
1568
|
"kind": "failing-tests",
|
|
366
1569
|
"ok": true,
|
|
367
1570
|
"reason": "all tests pass",
|
|
368
|
-
"proof": "npm test was green at
|
|
1571
|
+
"proof": "npm test was green at b3b51a5"
|
|
369
1572
|
}
|
|
370
1573
|
]
|
|
371
1574
|
}
|