@smartergpt/lexrunner 2.1.0 → 2.3.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.
@@ -62,8 +62,8 @@ type GateStatus = z.infer<typeof GateStatus>;
62
62
  * Merge status
63
63
  */
64
64
  declare const MergeStatus: z.ZodEnum<{
65
- success: "success";
66
65
  error: "error";
66
+ success: "success";
67
67
  conflict: "conflict";
68
68
  }>;
69
69
  type MergeStatus = z.infer<typeof MergeStatus>;
@@ -167,8 +167,8 @@ type MergeDryRunStartedPayload = z.infer<typeof MergeDryRunStartedPayload>;
167
167
  declare const MergeDryRunFinishedPayload: z.ZodObject<{
168
168
  item: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
169
169
  status: z.ZodEnum<{
170
- success: "success";
171
170
  error: "error";
171
+ success: "success";
172
172
  conflict: "conflict";
173
173
  }>;
174
174
  conflicts: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -188,8 +188,8 @@ type MergeConflictDetectedPayload = z.infer<typeof MergeConflictDetectedPayload>
188
188
  declare const MergeFinishedPayload: z.ZodObject<{
189
189
  item: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
190
190
  status: z.ZodEnum<{
191
- success: "success";
192
191
  error: "error";
192
+ success: "success";
193
193
  conflict: "conflict";
194
194
  }>;
195
195
  commit: z.ZodOptional<z.ZodString>;
@@ -595,8 +595,8 @@ declare const MergeDryRunFinishedEvent: z.ZodObject<{
595
595
  payload: z.ZodObject<{
596
596
  item: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
597
597
  status: z.ZodEnum<{
598
- success: "success";
599
598
  error: "error";
599
+ success: "success";
600
600
  conflict: "conflict";
601
601
  }>;
602
602
  conflicts: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -718,8 +718,8 @@ declare const MergeFinishedEvent: z.ZodObject<{
718
718
  payload: z.ZodObject<{
719
719
  item: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
720
720
  status: z.ZodEnum<{
721
- success: "success";
722
721
  error: "error";
722
+ success: "success";
723
723
  conflict: "conflict";
724
724
  }>;
725
725
  commit: z.ZodOptional<z.ZodString>;
package/mcp-server.mjs CHANGED
@@ -190,6 +190,13 @@ const tools = {
190
190
  },
191
191
  },
192
192
 
193
+ materialize_attempt_input: {
194
+ description:
195
+ "Construct selected-work preparation input and correspondence without resources, network or dispatch",
196
+ inputSchema: core.SelectedWorkInputJsonSchema,
197
+ call: async (args) => canonicalToolResult(core.materializeAttemptInput(args)),
198
+ },
199
+
193
200
  prepare_attempt: {
194
201
  description:
195
202
  "Prepare an ADR-010 assisted launch packet and envelope (requires ALLOW_MUTATIONS=true)",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartergpt/lexrunner",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -10,7 +10,7 @@
10
10
  "description": "Fan-out tasks as multiple PRs in parallel, then build a merge pyramid from the blocks. Compute dependency order, run gates locally, and merge cleanly.",
11
11
  "repository": {
12
12
  "type": "git",
13
- "url": "git+https://github.com/Guffawaffle/lexrunner.git"
13
+ "url": "git+https://github.com/SmarterGPT/lexrunner.git"
14
14
  },
15
15
  "publishConfig": {
16
16
  "access": "public",
@@ -103,7 +103,7 @@
103
103
  "docs:surface:check": "node scripts/render-doc-surfaces.mjs --check",
104
104
  "dogfood:ecosystem": "tsx scripts/dogfood-ecosystem.ts",
105
105
  "test": "vitest run",
106
- "test:git": "vitest run -c vitest.git.config.ts tests/release-prepare.spec.ts tests/promptsResolver.spec.ts tests/e2e-comprehensive.test.ts tests/autopilot-e2e-level3-4.spec.ts tests/deterministic-build.test.ts tests/e2e-merge-resume.spec.ts",
106
+ "test:git": "vitest run -c vitest.git.config.ts tests/release-prepare.spec.ts tests/promptsResolver.spec.ts tests/e2e-comprehensive.test.ts tests/autopilot-e2e-level3-4.spec.ts tests/deterministic-build.test.ts tests/e2e-merge-resume.spec.ts tests/e2e-frozen-git-inputs.spec.ts",
107
107
  "test:isolation": "node scripts/verify-parallel-isolation.mjs",
108
108
  "test:cli:slow": "vitest run -c vitest.slow-cli.config.ts",
109
109
  "benchmark": "vitest bench -c vitest.benchmark.config.ts",
@@ -6,6 +6,7 @@
6
6
  "$ref": "#/definitions/Plan",
7
7
  "definitions": {
8
8
  "Plan": {
9
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
10
  "type": "object",
10
11
  "properties": {
11
12
  "schemaVersion": {
@@ -13,52 +14,57 @@
13
14
  "pattern": "^1\\.\\d+\\.\\d+$"
14
15
  },
15
16
  "target": {
16
- "type": "string",
17
- "default": "main"
17
+ "default": "main",
18
+ "type": "string"
18
19
  },
19
20
  "policy": {
20
21
  "type": "object",
21
22
  "properties": {
22
23
  "requiredGates": {
24
+ "default": [],
23
25
  "type": "array",
24
26
  "items": {
25
27
  "type": "string"
26
- },
27
- "default": []
28
+ }
28
29
  },
29
30
  "optionalGates": {
31
+ "default": [],
30
32
  "type": "array",
31
33
  "items": {
32
34
  "type": "string"
33
- },
34
- "default": []
35
+ }
35
36
  },
36
37
  "maxWorkers": {
38
+ "default": 1,
37
39
  "type": "integer",
38
40
  "minimum": 1,
39
- "default": 1
41
+ "maximum": 9007199254740991
40
42
  },
41
43
  "retries": {
44
+ "default": {},
42
45
  "type": "object",
46
+ "propertyNames": {
47
+ "type": "string"
48
+ },
43
49
  "additionalProperties": {
44
50
  "type": "object",
45
51
  "properties": {
46
52
  "maxAttempts": {
53
+ "default": 1,
47
54
  "type": "integer",
48
55
  "minimum": 1,
49
- "default": 1
56
+ "maximum": 9007199254740991
50
57
  },
51
58
  "backoffSeconds": {
59
+ "default": 0,
52
60
  "type": "number",
53
- "minimum": 0,
54
- "default": 0
61
+ "minimum": 0
55
62
  }
56
- },
57
- "additionalProperties": false
58
- },
59
- "default": {}
63
+ }
64
+ }
60
65
  },
61
66
  "overrides": {
67
+ "default": {},
62
68
  "type": "object",
63
69
  "properties": {
64
70
  "adminGreen": {
@@ -71,108 +77,113 @@
71
77
  }
72
78
  },
73
79
  "requireReason": {
74
- "type": "boolean",
75
- "default": false
80
+ "default": false,
81
+ "type": "boolean"
76
82
  }
77
- },
78
- "additionalProperties": false
83
+ }
79
84
  }
80
- },
81
- "additionalProperties": false,
82
- "default": {}
85
+ }
83
86
  },
84
87
  "blockOn": {
88
+ "default": [],
85
89
  "type": "array",
86
90
  "items": {
87
91
  "type": "string"
88
- },
89
- "default": []
92
+ }
90
93
  },
91
94
  "mergeRule": {
95
+ "default": {
96
+ "type": "strict-required"
97
+ },
92
98
  "type": "object",
93
99
  "properties": {
94
100
  "type": {
101
+ "default": "strict-required",
95
102
  "type": "string",
96
103
  "enum": [
97
104
  "strict-required"
98
- ],
99
- "default": "strict-required"
105
+ ]
100
106
  }
101
- },
102
- "additionalProperties": false,
103
- "default": {
104
- "type": "strict-required"
105
107
  }
106
108
  },
107
109
  "performance": {
110
+ "default": {
111
+ "batchSize": 50,
112
+ "cacheTTLSeconds": 3600,
113
+ "enableCaching": true,
114
+ "throttleOnMemory": true,
115
+ "memoryThresholdPercent": 80
116
+ },
108
117
  "type": "object",
109
118
  "properties": {
110
119
  "maxMemoryMB": {
111
120
  "type": "integer",
112
- "minimum": 128
121
+ "minimum": 128,
122
+ "maximum": 9007199254740991
113
123
  },
114
124
  "batchSize": {
125
+ "default": 50,
115
126
  "type": "integer",
116
127
  "minimum": 1,
117
- "default": 50
128
+ "maximum": 9007199254740991
118
129
  },
119
130
  "cacheTTLSeconds": {
131
+ "default": 3600,
120
132
  "type": "integer",
121
133
  "minimum": 0,
122
- "default": 3600
134
+ "maximum": 9007199254740991
123
135
  },
124
136
  "enableCaching": {
125
- "type": "boolean",
126
- "default": true
137
+ "default": true,
138
+ "type": "boolean"
127
139
  },
128
140
  "throttleOnMemory": {
129
- "type": "boolean",
130
- "default": true
141
+ "default": true,
142
+ "type": "boolean"
131
143
  },
132
144
  "memoryThresholdPercent": {
145
+ "default": 80,
133
146
  "type": "number",
134
147
  "minimum": 0,
135
- "maximum": 100,
136
- "default": 80
148
+ "maximum": 100
137
149
  }
138
- },
139
- "additionalProperties": false,
140
- "default": {}
150
+ }
141
151
  },
142
- "security": {
152
+ "security": {
153
+ "default": {
154
+ "blockCritical": true,
155
+ "blockHigh": true,
156
+ "maxMedium": 5,
157
+ "maxLow": 10
158
+ },
143
159
  "type": "object",
144
160
  "properties": {
145
161
  "blockCritical": {
146
- "type": "boolean",
147
- "default": true
162
+ "default": true,
163
+ "type": "boolean"
148
164
  },
149
165
  "blockHigh": {
150
- "type": "boolean",
151
- "default": true
166
+ "default": true,
167
+ "type": "boolean"
152
168
  },
153
169
  "maxMedium": {
170
+ "default": 5,
154
171
  "type": "integer",
155
172
  "minimum": 0,
156
- "default": 5
173
+ "maximum": 9007199254740991
157
174
  },
158
175
  "maxLow": {
176
+ "default": 10,
159
177
  "type": "integer",
160
178
  "minimum": 0,
161
- "default": 10
179
+ "maximum": 9007199254740991
162
180
  }
163
- },
164
- "additionalProperties": false,
165
- "default": {
166
- "blockCritical": true,
167
- "blockHigh": true,
168
- "maxMedium": 5,
169
- "maxLow": 10
170
181
  }
171
182
  }
172
- },
173
- "additionalProperties": false
183
+ }
174
184
  },
175
185
  "items": {
186
+ "default": [],
176
187
  "type": "array",
177
188
  "items": {
178
189
  "type": "object",
@@ -181,13 +192,14 @@
181
192
  "type": "string"
182
193
  },
183
194
  "deps": {
195
+ "default": [],
184
196
  "type": "array",
185
197
  "items": {
186
198
  "type": "string"
187
- },
188
- "default": []
199
+ }
189
200
  },
190
201
  "gates": {
202
+ "default": [],
191
203
  "type": "array",
192
204
  "items": {
193
205
  "type": "object",
@@ -202,20 +214,23 @@
202
214
  "type": "string"
203
215
  },
204
216
  "env": {
217
+ "default": {},
205
218
  "type": "object",
206
- "additionalProperties": {
219
+ "propertyNames": {
207
220
  "type": "string"
208
221
  },
209
- "default": {}
222
+ "additionalProperties": {
223
+ "type": "string"
224
+ }
210
225
  },
211
226
  "runtime": {
227
+ "default": "local",
212
228
  "type": "string",
213
229
  "enum": [
214
230
  "local",
215
231
  "container",
216
232
  "ci-service"
217
- ],
218
- "default": "local"
233
+ ]
219
234
  },
220
235
  "container": {
221
236
  "type": "object",
@@ -241,36 +256,37 @@
241
256
  "type": "string"
242
257
  },
243
258
  "type": {
259
+ "default": "bind",
244
260
  "type": "string",
245
261
  "enum": [
246
262
  "bind",
247
263
  "volume"
248
- ],
249
- "default": "bind"
264
+ ]
250
265
  }
251
266
  },
252
267
  "required": [
253
268
  "source",
254
269
  "target"
255
- ],
256
- "additionalProperties": false
270
+ ]
257
271
  }
258
272
  }
259
273
  },
260
274
  "required": [
261
275
  "image"
262
- ],
263
- "additionalProperties": false
276
+ ]
264
277
  },
265
278
  "artifacts": {
279
+ "default": [],
266
280
  "type": "array",
267
281
  "items": {
268
282
  "type": "string"
269
- },
270
- "default": []
283
+ }
271
284
  },
272
285
  "input": {
273
286
  "type": "object",
287
+ "propertyNames": {
288
+ "type": "string"
289
+ },
274
290
  "additionalProperties": {}
275
291
  },
276
292
  "timeoutMs": {
@@ -284,16 +300,130 @@
284
300
  "run"
285
301
  ],
286
302
  "additionalProperties": false
303
+ }
304
+ },
305
+ "tier": {
306
+ "type": "object",
307
+ "properties": {
308
+ "suggested": {
309
+ "type": "string",
310
+ "enum": [
311
+ "senior",
312
+ "mid",
313
+ "junior"
314
+ ]
315
+ },
316
+ "actual": {
317
+ "type": "string",
318
+ "enum": [
319
+ "senior",
320
+ "mid",
321
+ "junior"
322
+ ]
323
+ },
324
+ "escalated": {
325
+ "default": false,
326
+ "type": "boolean"
327
+ },
328
+ "escalationReason": {
329
+ "type": "string"
330
+ },
331
+ "mismatch": {
332
+ "type": "boolean"
333
+ }
287
334
  },
288
- "default": []
335
+ "required": [
336
+ "suggested"
337
+ ]
289
338
  }
290
339
  },
291
340
  "required": [
292
341
  "name"
293
342
  ],
294
343
  "additionalProperties": false
344
+ }
345
+ },
346
+ "gitInputs": {
347
+ "type": "object",
348
+ "properties": {
349
+ "schemaVersion": {
350
+ "type": "string",
351
+ "const": "1.0.0"
352
+ },
353
+ "repository": {
354
+ "type": "string",
355
+ "maxLength": 2048
356
+ },
357
+ "checkoutRemote": {
358
+ "type": "string",
359
+ "maxLength": 64,
360
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
361
+ },
362
+ "acquisition": {
363
+ "type": "string",
364
+ "enum": [
365
+ "local-only",
366
+ "fetch"
367
+ ]
368
+ },
369
+ "target": {
370
+ "type": "object",
371
+ "properties": {
372
+ "ref": {
373
+ "type": "string",
374
+ "maxLength": 512,
375
+ "pattern": "^refs\\/(?:heads\\/.+|pull\\/[1-9][0-9]*\\/head)$"
376
+ },
377
+ "commit": {
378
+ "type": "string",
379
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
380
+ }
381
+ },
382
+ "required": [
383
+ "ref",
384
+ "commit"
385
+ ],
386
+ "additionalProperties": false
387
+ },
388
+ "sources": {
389
+ "maxItems": 256,
390
+ "type": "array",
391
+ "items": {
392
+ "type": "object",
393
+ "properties": {
394
+ "ref": {
395
+ "type": "string",
396
+ "maxLength": 512,
397
+ "pattern": "^refs\\/(?:heads\\/.+|pull\\/[1-9][0-9]*\\/head)$"
398
+ },
399
+ "commit": {
400
+ "type": "string",
401
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
402
+ },
403
+ "item": {
404
+ "type": "string",
405
+ "minLength": 1,
406
+ "maxLength": 512
407
+ }
408
+ },
409
+ "required": [
410
+ "ref",
411
+ "commit",
412
+ "item"
413
+ ],
414
+ "additionalProperties": false
415
+ }
416
+ }
295
417
  },
296
- "default": []
418
+ "required": [
419
+ "schemaVersion",
420
+ "repository",
421
+ "checkoutRemote",
422
+ "acquisition",
423
+ "target",
424
+ "sources"
425
+ ],
426
+ "additionalProperties": false
297
427
  }
298
428
  },
299
429
  "required": [