@generacy-ai/config 0.5.0 → 0.6.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/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { WorkspaceRepoSchema, WorkspaceConfigSchema, type WorkspaceRepo, type Wo
2
2
  export { getWorkspaceRepos, getMonitoredRepos, getRepoNames, getRepoWorkdir, resolveSiblingWorkdirs, } from './repos.js';
3
3
  export { parseRepoInput, parseRepoList } from './parse-repo-input.js';
4
4
  export { detectRepoDrift } from './drift.js';
5
- export { TemplateReposSchema, TemplateConfigSchema, OrchestratorSettingsSchema, AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema, EffortSchema, type TemplateConfig, type OrchestratorSettings, type AgentEntry, type WorkflowAgentEntries, type AgentsConfig, type Effort, } from './template-schema.js';
5
+ export { TemplateReposSchema, TemplateConfigSchema, OrchestratorSettingsSchema, AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema, WorkflowReviewSchema, WorkflowOverrideSchema, EffortSchema, type TemplateConfig, type OrchestratorSettings, type AgentEntry, type WorkflowAgentEntries, type AgentsConfig, type WorkflowReview, type WorkflowOverride, type Effort, } from './template-schema.js';
6
6
  export { convertTemplateConfig } from './convert-template.js';
7
7
  export { tryLoadWorkspaceConfig, tryLoadOrchestratorSettings, tryLoadDefaultsRole, tryLoadDefaultsAgent, findWorkspaceConfigPath, scanForWorkspaceConfig } from './loader.js';
8
8
  export { ClusterYamlSchema, ClusterLocalYamlSchema, type ClusterYamlData, type ClusterLocalYamlData, } from './cluster-config-schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,MAAM,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9K,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,MAAM,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9K,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { WorkspaceRepoSchema, WorkspaceConfigSchema, } from './workspace-schema.
3
3
  export { getWorkspaceRepos, getMonitoredRepos, getRepoNames, getRepoWorkdir, resolveSiblingWorkdirs, } from './repos.js';
4
4
  export { parseRepoInput, parseRepoList } from './parse-repo-input.js';
5
5
  export { detectRepoDrift } from './drift.js';
6
- export { TemplateReposSchema, TemplateConfigSchema, OrchestratorSettingsSchema, AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema, EffortSchema, } from './template-schema.js';
6
+ export { TemplateReposSchema, TemplateConfigSchema, OrchestratorSettingsSchema, AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema, WorkflowReviewSchema, WorkflowOverrideSchema, EffortSchema, } from './template-schema.js';
7
7
  export { convertTemplateConfig } from './convert-template.js';
8
8
  export { tryLoadWorkspaceConfig, tryLoadOrchestratorSettings, tryLoadDefaultsRole, tryLoadDefaultsAgent, findWorkspaceConfigPath, scanForWorkspaceConfig } from './loader.js';
9
9
  export { ClusterYamlSchema, ClusterLocalYamlSchema, } from './cluster-config-schema.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,GAOb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9K,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAA4B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,GASb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9K,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAA4B,MAAM,qBAAqB,CAAC"}
@@ -123,6 +123,19 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
123
123
  model?: string | undefined;
124
124
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
125
125
  }>>;
126
+ review: z.ZodOptional<z.ZodObject<{
127
+ provider: z.ZodOptional<z.ZodString>;
128
+ model: z.ZodOptional<z.ZodString>;
129
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
130
+ }, "strict", z.ZodTypeAny, {
131
+ provider?: string | undefined;
132
+ model?: string | undefined;
133
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
134
+ }, {
135
+ provider?: string | undefined;
136
+ model?: string | undefined;
137
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
138
+ }>>;
126
139
  validate: z.ZodOptional<z.ZodObject<{
127
140
  provider: z.ZodOptional<z.ZodString>;
128
141
  model: z.ZodOptional<z.ZodString>;
@@ -136,6 +149,19 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
136
149
  model?: string | undefined;
137
150
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
138
151
  }>>;
152
+ remediate: z.ZodOptional<z.ZodObject<{
153
+ provider: z.ZodOptional<z.ZodString>;
154
+ model: z.ZodOptional<z.ZodString>;
155
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
156
+ }, "strict", z.ZodTypeAny, {
157
+ provider?: string | undefined;
158
+ model?: string | undefined;
159
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
160
+ }, {
161
+ provider?: string | undefined;
162
+ model?: string | undefined;
163
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
164
+ }>>;
139
165
  }, "strict", z.ZodTypeAny, {
140
166
  specify?: {
141
167
  provider?: string | undefined;
@@ -162,11 +188,21 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
162
188
  model?: string | undefined;
163
189
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
164
190
  } | undefined;
191
+ review?: {
192
+ provider?: string | undefined;
193
+ model?: string | undefined;
194
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
195
+ } | undefined;
165
196
  validate?: {
166
197
  provider?: string | undefined;
167
198
  model?: string | undefined;
168
199
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
169
200
  } | undefined;
201
+ remediate?: {
202
+ provider?: string | undefined;
203
+ model?: string | undefined;
204
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
205
+ } | undefined;
170
206
  }, {
171
207
  specify?: {
172
208
  provider?: string | undefined;
@@ -193,11 +229,21 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
193
229
  model?: string | undefined;
194
230
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
195
231
  } | undefined;
232
+ review?: {
233
+ provider?: string | undefined;
234
+ model?: string | undefined;
235
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
236
+ } | undefined;
196
237
  validate?: {
197
238
  provider?: string | undefined;
198
239
  model?: string | undefined;
199
240
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
200
241
  } | undefined;
242
+ remediate?: {
243
+ provider?: string | undefined;
244
+ model?: string | undefined;
245
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
246
+ } | undefined;
201
247
  }>>;
202
248
  }, "strict", z.ZodTypeAny, {
203
249
  default?: {
@@ -231,11 +277,21 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
231
277
  model?: string | undefined;
232
278
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
233
279
  } | undefined;
280
+ review?: {
281
+ provider?: string | undefined;
282
+ model?: string | undefined;
283
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
284
+ } | undefined;
234
285
  validate?: {
235
286
  provider?: string | undefined;
236
287
  model?: string | undefined;
237
288
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
238
289
  } | undefined;
290
+ remediate?: {
291
+ provider?: string | undefined;
292
+ model?: string | undefined;
293
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
294
+ } | undefined;
239
295
  } | undefined;
240
296
  }, {
241
297
  default?: {
@@ -269,11 +325,21 @@ export declare const WorkflowAgentEntriesSchema: z.ZodObject<{
269
325
  model?: string | undefined;
270
326
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
271
327
  } | undefined;
328
+ review?: {
329
+ provider?: string | undefined;
330
+ model?: string | undefined;
331
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
332
+ } | undefined;
272
333
  validate?: {
273
334
  provider?: string | undefined;
274
335
  model?: string | undefined;
275
336
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
276
337
  } | undefined;
338
+ remediate?: {
339
+ provider?: string | undefined;
340
+ model?: string | undefined;
341
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
342
+ } | undefined;
277
343
  } | undefined;
278
344
  }>;
279
345
  export type WorkflowAgentEntries = z.infer<typeof WorkflowAgentEntriesSchema>;
@@ -386,6 +452,19 @@ export declare const AgentsConfigSchema: z.ZodObject<{
386
452
  model?: string | undefined;
387
453
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
388
454
  }>>;
455
+ review: z.ZodOptional<z.ZodObject<{
456
+ provider: z.ZodOptional<z.ZodString>;
457
+ model: z.ZodOptional<z.ZodString>;
458
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
459
+ }, "strict", z.ZodTypeAny, {
460
+ provider?: string | undefined;
461
+ model?: string | undefined;
462
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
463
+ }, {
464
+ provider?: string | undefined;
465
+ model?: string | undefined;
466
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
467
+ }>>;
389
468
  validate: z.ZodOptional<z.ZodObject<{
390
469
  provider: z.ZodOptional<z.ZodString>;
391
470
  model: z.ZodOptional<z.ZodString>;
@@ -399,6 +478,19 @@ export declare const AgentsConfigSchema: z.ZodObject<{
399
478
  model?: string | undefined;
400
479
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
401
480
  }>>;
481
+ remediate: z.ZodOptional<z.ZodObject<{
482
+ provider: z.ZodOptional<z.ZodString>;
483
+ model: z.ZodOptional<z.ZodString>;
484
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
485
+ }, "strict", z.ZodTypeAny, {
486
+ provider?: string | undefined;
487
+ model?: string | undefined;
488
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
489
+ }, {
490
+ provider?: string | undefined;
491
+ model?: string | undefined;
492
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
493
+ }>>;
402
494
  }, "strict", z.ZodTypeAny, {
403
495
  specify?: {
404
496
  provider?: string | undefined;
@@ -425,11 +517,21 @@ export declare const AgentsConfigSchema: z.ZodObject<{
425
517
  model?: string | undefined;
426
518
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
427
519
  } | undefined;
520
+ review?: {
521
+ provider?: string | undefined;
522
+ model?: string | undefined;
523
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
524
+ } | undefined;
428
525
  validate?: {
429
526
  provider?: string | undefined;
430
527
  model?: string | undefined;
431
528
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
432
529
  } | undefined;
530
+ remediate?: {
531
+ provider?: string | undefined;
532
+ model?: string | undefined;
533
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
534
+ } | undefined;
433
535
  }, {
434
536
  specify?: {
435
537
  provider?: string | undefined;
@@ -456,11 +558,21 @@ export declare const AgentsConfigSchema: z.ZodObject<{
456
558
  model?: string | undefined;
457
559
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
458
560
  } | undefined;
561
+ review?: {
562
+ provider?: string | undefined;
563
+ model?: string | undefined;
564
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
565
+ } | undefined;
459
566
  validate?: {
460
567
  provider?: string | undefined;
461
568
  model?: string | undefined;
462
569
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
463
570
  } | undefined;
571
+ remediate?: {
572
+ provider?: string | undefined;
573
+ model?: string | undefined;
574
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
575
+ } | undefined;
464
576
  }>>;
465
577
  }, "strict", z.ZodTypeAny, {
466
578
  default?: {
@@ -494,11 +606,21 @@ export declare const AgentsConfigSchema: z.ZodObject<{
494
606
  model?: string | undefined;
495
607
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
496
608
  } | undefined;
609
+ review?: {
610
+ provider?: string | undefined;
611
+ model?: string | undefined;
612
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
613
+ } | undefined;
497
614
  validate?: {
498
615
  provider?: string | undefined;
499
616
  model?: string | undefined;
500
617
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
501
618
  } | undefined;
619
+ remediate?: {
620
+ provider?: string | undefined;
621
+ model?: string | undefined;
622
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
623
+ } | undefined;
502
624
  } | undefined;
503
625
  }, {
504
626
  default?: {
@@ -532,11 +654,21 @@ export declare const AgentsConfigSchema: z.ZodObject<{
532
654
  model?: string | undefined;
533
655
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
534
656
  } | undefined;
657
+ review?: {
658
+ provider?: string | undefined;
659
+ model?: string | undefined;
660
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
661
+ } | undefined;
535
662
  validate?: {
536
663
  provider?: string | undefined;
537
664
  model?: string | undefined;
538
665
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
539
666
  } | undefined;
667
+ remediate?: {
668
+ provider?: string | undefined;
669
+ model?: string | undefined;
670
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
671
+ } | undefined;
540
672
  } | undefined;
541
673
  }>>>;
542
674
  }, "strict", z.ZodTypeAny, {
@@ -577,11 +709,21 @@ export declare const AgentsConfigSchema: z.ZodObject<{
577
709
  model?: string | undefined;
578
710
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
579
711
  } | undefined;
712
+ review?: {
713
+ provider?: string | undefined;
714
+ model?: string | undefined;
715
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
716
+ } | undefined;
580
717
  validate?: {
581
718
  provider?: string | undefined;
582
719
  model?: string | undefined;
583
720
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
584
721
  } | undefined;
722
+ remediate?: {
723
+ provider?: string | undefined;
724
+ model?: string | undefined;
725
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
726
+ } | undefined;
585
727
  } | undefined;
586
728
  }> | undefined;
587
729
  }, {
@@ -622,15 +764,97 @@ export declare const AgentsConfigSchema: z.ZodObject<{
622
764
  model?: string | undefined;
623
765
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
624
766
  } | undefined;
767
+ review?: {
768
+ provider?: string | undefined;
769
+ model?: string | undefined;
770
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
771
+ } | undefined;
625
772
  validate?: {
626
773
  provider?: string | undefined;
627
774
  model?: string | undefined;
628
775
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
629
776
  } | undefined;
777
+ remediate?: {
778
+ provider?: string | undefined;
779
+ model?: string | undefined;
780
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
781
+ } | undefined;
630
782
  } | undefined;
631
783
  }> | undefined;
632
784
  }>;
633
785
  export type AgentsConfig = z.infer<typeof AgentsConfigSchema>;
786
+ /**
787
+ * Per-workflow review-phase tuning under `orchestrator.workflows.<name>.review`.
788
+ * All fields optional and resolve independently — a workflow may override only
789
+ * `blockingSeverity` and inherit `profile`/`failThenPass` from the built-in
790
+ * default. `.strict()` rejects unknown keys at parse time.
791
+ */
792
+ export declare const WorkflowReviewSchema: z.ZodObject<{
793
+ profile: z.ZodOptional<z.ZodEnum<["standard", "verification"]>>;
794
+ blockingSeverity: z.ZodOptional<z.ZodEnum<["critical", "major", "minor"]>>;
795
+ failThenPass: z.ZodOptional<z.ZodBoolean>;
796
+ }, "strict", z.ZodTypeAny, {
797
+ profile?: "standard" | "verification" | undefined;
798
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
799
+ failThenPass?: boolean | undefined;
800
+ }, {
801
+ profile?: "standard" | "verification" | undefined;
802
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
803
+ failThenPass?: boolean | undefined;
804
+ }>;
805
+ export type WorkflowReview = z.infer<typeof WorkflowReviewSchema>;
806
+ /**
807
+ * Per-workflow orchestrator overrides under `orchestrator.workflows.<name>`.
808
+ * Lets a target repo vary `validateCommand` / `preValidateCommand` /
809
+ * `maxRemediations` / `review` / `ciWaitTimeoutMs` per workflow (e.g.
810
+ * `speckit-feature` vs `speckit-bugfix`). All fields optional; `.strict()`
811
+ * rejects unknown keys.
812
+ */
813
+ export declare const WorkflowOverrideSchema: z.ZodObject<{
814
+ validateCommand: z.ZodOptional<z.ZodString>;
815
+ preValidateCommand: z.ZodOptional<z.ZodString>;
816
+ maxRemediations: z.ZodOptional<z.ZodNumber>;
817
+ review: z.ZodOptional<z.ZodObject<{
818
+ profile: z.ZodOptional<z.ZodEnum<["standard", "verification"]>>;
819
+ blockingSeverity: z.ZodOptional<z.ZodEnum<["critical", "major", "minor"]>>;
820
+ failThenPass: z.ZodOptional<z.ZodBoolean>;
821
+ }, "strict", z.ZodTypeAny, {
822
+ profile?: "standard" | "verification" | undefined;
823
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
824
+ failThenPass?: boolean | undefined;
825
+ }, {
826
+ profile?: "standard" | "verification" | undefined;
827
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
828
+ failThenPass?: boolean | undefined;
829
+ }>>;
830
+ /**
831
+ * Per-workflow override for the CI-green wait budget (ms). `.min(30_000)`
832
+ * mirrors the `WorkerConfigSchema.ciWaitTimeoutMs` cluster floor so an
833
+ * override cannot undercut it. Absent → falls through to the cluster value.
834
+ */
835
+ ciWaitTimeoutMs: z.ZodOptional<z.ZodNumber>;
836
+ }, "strict", z.ZodTypeAny, {
837
+ review?: {
838
+ profile?: "standard" | "verification" | undefined;
839
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
840
+ failThenPass?: boolean | undefined;
841
+ } | undefined;
842
+ validateCommand?: string | undefined;
843
+ preValidateCommand?: string | undefined;
844
+ maxRemediations?: number | undefined;
845
+ ciWaitTimeoutMs?: number | undefined;
846
+ }, {
847
+ review?: {
848
+ profile?: "standard" | "verification" | undefined;
849
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
850
+ failThenPass?: boolean | undefined;
851
+ } | undefined;
852
+ validateCommand?: string | undefined;
853
+ preValidateCommand?: string | undefined;
854
+ maxRemediations?: number | undefined;
855
+ ciWaitTimeoutMs?: number | undefined;
856
+ }>;
857
+ export type WorkflowOverride = z.infer<typeof WorkflowOverrideSchema>;
634
858
  export declare const OrchestratorSettingsSchema: z.ZodObject<{
635
859
  labelMonitor: z.ZodOptional<z.ZodBoolean>;
636
860
  webhookSetup: z.ZodOptional<z.ZodBoolean>;
@@ -747,6 +971,19 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
747
971
  model?: string | undefined;
748
972
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
749
973
  }>>;
974
+ review: z.ZodOptional<z.ZodObject<{
975
+ provider: z.ZodOptional<z.ZodString>;
976
+ model: z.ZodOptional<z.ZodString>;
977
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
978
+ }, "strict", z.ZodTypeAny, {
979
+ provider?: string | undefined;
980
+ model?: string | undefined;
981
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
982
+ }, {
983
+ provider?: string | undefined;
984
+ model?: string | undefined;
985
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
986
+ }>>;
750
987
  validate: z.ZodOptional<z.ZodObject<{
751
988
  provider: z.ZodOptional<z.ZodString>;
752
989
  model: z.ZodOptional<z.ZodString>;
@@ -760,6 +997,19 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
760
997
  model?: string | undefined;
761
998
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
762
999
  }>>;
1000
+ remediate: z.ZodOptional<z.ZodObject<{
1001
+ provider: z.ZodOptional<z.ZodString>;
1002
+ model: z.ZodOptional<z.ZodString>;
1003
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
1004
+ }, "strict", z.ZodTypeAny, {
1005
+ provider?: string | undefined;
1006
+ model?: string | undefined;
1007
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1008
+ }, {
1009
+ provider?: string | undefined;
1010
+ model?: string | undefined;
1011
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1012
+ }>>;
763
1013
  }, "strict", z.ZodTypeAny, {
764
1014
  specify?: {
765
1015
  provider?: string | undefined;
@@ -786,11 +1036,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
786
1036
  model?: string | undefined;
787
1037
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
788
1038
  } | undefined;
1039
+ review?: {
1040
+ provider?: string | undefined;
1041
+ model?: string | undefined;
1042
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1043
+ } | undefined;
789
1044
  validate?: {
790
1045
  provider?: string | undefined;
791
1046
  model?: string | undefined;
792
1047
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
793
1048
  } | undefined;
1049
+ remediate?: {
1050
+ provider?: string | undefined;
1051
+ model?: string | undefined;
1052
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1053
+ } | undefined;
794
1054
  }, {
795
1055
  specify?: {
796
1056
  provider?: string | undefined;
@@ -817,11 +1077,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
817
1077
  model?: string | undefined;
818
1078
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
819
1079
  } | undefined;
1080
+ review?: {
1081
+ provider?: string | undefined;
1082
+ model?: string | undefined;
1083
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1084
+ } | undefined;
820
1085
  validate?: {
821
1086
  provider?: string | undefined;
822
1087
  model?: string | undefined;
823
1088
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
824
1089
  } | undefined;
1090
+ remediate?: {
1091
+ provider?: string | undefined;
1092
+ model?: string | undefined;
1093
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1094
+ } | undefined;
825
1095
  }>>;
826
1096
  }, "strict", z.ZodTypeAny, {
827
1097
  default?: {
@@ -855,11 +1125,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
855
1125
  model?: string | undefined;
856
1126
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
857
1127
  } | undefined;
1128
+ review?: {
1129
+ provider?: string | undefined;
1130
+ model?: string | undefined;
1131
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1132
+ } | undefined;
858
1133
  validate?: {
859
1134
  provider?: string | undefined;
860
1135
  model?: string | undefined;
861
1136
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
862
1137
  } | undefined;
1138
+ remediate?: {
1139
+ provider?: string | undefined;
1140
+ model?: string | undefined;
1141
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1142
+ } | undefined;
863
1143
  } | undefined;
864
1144
  }, {
865
1145
  default?: {
@@ -893,11 +1173,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
893
1173
  model?: string | undefined;
894
1174
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
895
1175
  } | undefined;
1176
+ review?: {
1177
+ provider?: string | undefined;
1178
+ model?: string | undefined;
1179
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1180
+ } | undefined;
896
1181
  validate?: {
897
1182
  provider?: string | undefined;
898
1183
  model?: string | undefined;
899
1184
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
900
1185
  } | undefined;
1186
+ remediate?: {
1187
+ provider?: string | undefined;
1188
+ model?: string | undefined;
1189
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1190
+ } | undefined;
901
1191
  } | undefined;
902
1192
  }>>>;
903
1193
  }, "strict", z.ZodTypeAny, {
@@ -938,11 +1228,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
938
1228
  model?: string | undefined;
939
1229
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
940
1230
  } | undefined;
1231
+ review?: {
1232
+ provider?: string | undefined;
1233
+ model?: string | undefined;
1234
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1235
+ } | undefined;
941
1236
  validate?: {
942
1237
  provider?: string | undefined;
943
1238
  model?: string | undefined;
944
1239
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
945
1240
  } | undefined;
1241
+ remediate?: {
1242
+ provider?: string | undefined;
1243
+ model?: string | undefined;
1244
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1245
+ } | undefined;
946
1246
  } | undefined;
947
1247
  }> | undefined;
948
1248
  }, {
@@ -983,20 +1283,91 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
983
1283
  model?: string | undefined;
984
1284
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
985
1285
  } | undefined;
1286
+ review?: {
1287
+ provider?: string | undefined;
1288
+ model?: string | undefined;
1289
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1290
+ } | undefined;
986
1291
  validate?: {
987
1292
  provider?: string | undefined;
988
1293
  model?: string | undefined;
989
1294
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
990
1295
  } | undefined;
1296
+ remediate?: {
1297
+ provider?: string | undefined;
1298
+ model?: string | undefined;
1299
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1300
+ } | undefined;
991
1301
  } | undefined;
992
1302
  }> | undefined;
993
1303
  }>>;
1304
+ /**
1305
+ * Per-workflow overrides for `validateCommand` / `preValidateCommand` /
1306
+ * `maxRemediations` / `review`. Keyed by workflow name (`speckit-feature`,
1307
+ * `speckit-bugfix`, …). Resolved workflow-level > repo-level > cluster default
1308
+ * by `resolveWorkflowOverrides` in the orchestrator. See `WorkflowOverrideSchema`.
1309
+ */
1310
+ workflows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1311
+ validateCommand: z.ZodOptional<z.ZodString>;
1312
+ preValidateCommand: z.ZodOptional<z.ZodString>;
1313
+ maxRemediations: z.ZodOptional<z.ZodNumber>;
1314
+ review: z.ZodOptional<z.ZodObject<{
1315
+ profile: z.ZodOptional<z.ZodEnum<["standard", "verification"]>>;
1316
+ blockingSeverity: z.ZodOptional<z.ZodEnum<["critical", "major", "minor"]>>;
1317
+ failThenPass: z.ZodOptional<z.ZodBoolean>;
1318
+ }, "strict", z.ZodTypeAny, {
1319
+ profile?: "standard" | "verification" | undefined;
1320
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1321
+ failThenPass?: boolean | undefined;
1322
+ }, {
1323
+ profile?: "standard" | "verification" | undefined;
1324
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1325
+ failThenPass?: boolean | undefined;
1326
+ }>>;
1327
+ /**
1328
+ * Per-workflow override for the CI-green wait budget (ms). `.min(30_000)`
1329
+ * mirrors the `WorkerConfigSchema.ciWaitTimeoutMs` cluster floor so an
1330
+ * override cannot undercut it. Absent → falls through to the cluster value.
1331
+ */
1332
+ ciWaitTimeoutMs: z.ZodOptional<z.ZodNumber>;
1333
+ }, "strict", z.ZodTypeAny, {
1334
+ review?: {
1335
+ profile?: "standard" | "verification" | undefined;
1336
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1337
+ failThenPass?: boolean | undefined;
1338
+ } | undefined;
1339
+ validateCommand?: string | undefined;
1340
+ preValidateCommand?: string | undefined;
1341
+ maxRemediations?: number | undefined;
1342
+ ciWaitTimeoutMs?: number | undefined;
1343
+ }, {
1344
+ review?: {
1345
+ profile?: "standard" | "verification" | undefined;
1346
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1347
+ failThenPass?: boolean | undefined;
1348
+ } | undefined;
1349
+ validateCommand?: string | undefined;
1350
+ preValidateCommand?: string | undefined;
1351
+ maxRemediations?: number | undefined;
1352
+ ciWaitTimeoutMs?: number | undefined;
1353
+ }>>>;
994
1354
  }, "strip", z.ZodTypeAny, {
1355
+ workflows?: Record<string, {
1356
+ review?: {
1357
+ profile?: "standard" | "verification" | undefined;
1358
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1359
+ failThenPass?: boolean | undefined;
1360
+ } | undefined;
1361
+ validateCommand?: string | undefined;
1362
+ preValidateCommand?: string | undefined;
1363
+ maxRemediations?: number | undefined;
1364
+ ciWaitTimeoutMs?: number | undefined;
1365
+ }> | undefined;
1366
+ validateCommand?: string | undefined;
1367
+ preValidateCommand?: string | undefined;
995
1368
  labelMonitor?: boolean | undefined;
996
1369
  webhookSetup?: boolean | undefined;
997
1370
  smeeChannelUrl?: string | undefined;
998
- validateCommand?: string | undefined;
999
- preValidateCommand?: string | undefined;
1000
1371
  agents?: {
1001
1372
  default?: {
1002
1373
  provider?: string | undefined;
@@ -1035,20 +1406,41 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
1035
1406
  model?: string | undefined;
1036
1407
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1037
1408
  } | undefined;
1409
+ review?: {
1410
+ provider?: string | undefined;
1411
+ model?: string | undefined;
1412
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1413
+ } | undefined;
1038
1414
  validate?: {
1039
1415
  provider?: string | undefined;
1040
1416
  model?: string | undefined;
1041
1417
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1042
1418
  } | undefined;
1419
+ remediate?: {
1420
+ provider?: string | undefined;
1421
+ model?: string | undefined;
1422
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1423
+ } | undefined;
1043
1424
  } | undefined;
1044
1425
  }> | undefined;
1045
1426
  } | undefined;
1046
1427
  }, {
1428
+ workflows?: Record<string, {
1429
+ review?: {
1430
+ profile?: "standard" | "verification" | undefined;
1431
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1432
+ failThenPass?: boolean | undefined;
1433
+ } | undefined;
1434
+ validateCommand?: string | undefined;
1435
+ preValidateCommand?: string | undefined;
1436
+ maxRemediations?: number | undefined;
1437
+ ciWaitTimeoutMs?: number | undefined;
1438
+ }> | undefined;
1439
+ validateCommand?: string | undefined;
1440
+ preValidateCommand?: string | undefined;
1047
1441
  labelMonitor?: boolean | undefined;
1048
1442
  webhookSetup?: boolean | undefined;
1049
1443
  smeeChannelUrl?: string | undefined;
1050
- validateCommand?: string | undefined;
1051
- preValidateCommand?: string | undefined;
1052
1444
  agents?: {
1053
1445
  default?: {
1054
1446
  provider?: string | undefined;
@@ -1087,11 +1479,21 @@ export declare const OrchestratorSettingsSchema: z.ZodObject<{
1087
1479
  model?: string | undefined;
1088
1480
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1089
1481
  } | undefined;
1482
+ review?: {
1483
+ provider?: string | undefined;
1484
+ model?: string | undefined;
1485
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1486
+ } | undefined;
1090
1487
  validate?: {
1091
1488
  provider?: string | undefined;
1092
1489
  model?: string | undefined;
1093
1490
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1094
1491
  } | undefined;
1492
+ remediate?: {
1493
+ provider?: string | undefined;
1494
+ model?: string | undefined;
1495
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1496
+ } | undefined;
1095
1497
  } | undefined;
1096
1498
  }> | undefined;
1097
1499
  } | undefined;
@@ -1239,6 +1641,19 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1239
1641
  model?: string | undefined;
1240
1642
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1241
1643
  }>>;
1644
+ review: z.ZodOptional<z.ZodObject<{
1645
+ provider: z.ZodOptional<z.ZodString>;
1646
+ model: z.ZodOptional<z.ZodString>;
1647
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
1648
+ }, "strict", z.ZodTypeAny, {
1649
+ provider?: string | undefined;
1650
+ model?: string | undefined;
1651
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1652
+ }, {
1653
+ provider?: string | undefined;
1654
+ model?: string | undefined;
1655
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1656
+ }>>;
1242
1657
  validate: z.ZodOptional<z.ZodObject<{
1243
1658
  provider: z.ZodOptional<z.ZodString>;
1244
1659
  model: z.ZodOptional<z.ZodString>;
@@ -1252,6 +1667,19 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1252
1667
  model?: string | undefined;
1253
1668
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1254
1669
  }>>;
1670
+ remediate: z.ZodOptional<z.ZodObject<{
1671
+ provider: z.ZodOptional<z.ZodString>;
1672
+ model: z.ZodOptional<z.ZodString>;
1673
+ effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>>;
1674
+ }, "strict", z.ZodTypeAny, {
1675
+ provider?: string | undefined;
1676
+ model?: string | undefined;
1677
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1678
+ }, {
1679
+ provider?: string | undefined;
1680
+ model?: string | undefined;
1681
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1682
+ }>>;
1255
1683
  }, "strict", z.ZodTypeAny, {
1256
1684
  specify?: {
1257
1685
  provider?: string | undefined;
@@ -1278,11 +1706,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1278
1706
  model?: string | undefined;
1279
1707
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1280
1708
  } | undefined;
1709
+ review?: {
1710
+ provider?: string | undefined;
1711
+ model?: string | undefined;
1712
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1713
+ } | undefined;
1281
1714
  validate?: {
1282
1715
  provider?: string | undefined;
1283
1716
  model?: string | undefined;
1284
1717
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1285
1718
  } | undefined;
1719
+ remediate?: {
1720
+ provider?: string | undefined;
1721
+ model?: string | undefined;
1722
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1723
+ } | undefined;
1286
1724
  }, {
1287
1725
  specify?: {
1288
1726
  provider?: string | undefined;
@@ -1309,11 +1747,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1309
1747
  model?: string | undefined;
1310
1748
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1311
1749
  } | undefined;
1750
+ review?: {
1751
+ provider?: string | undefined;
1752
+ model?: string | undefined;
1753
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1754
+ } | undefined;
1312
1755
  validate?: {
1313
1756
  provider?: string | undefined;
1314
1757
  model?: string | undefined;
1315
1758
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1316
1759
  } | undefined;
1760
+ remediate?: {
1761
+ provider?: string | undefined;
1762
+ model?: string | undefined;
1763
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1764
+ } | undefined;
1317
1765
  }>>;
1318
1766
  }, "strict", z.ZodTypeAny, {
1319
1767
  default?: {
@@ -1347,11 +1795,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1347
1795
  model?: string | undefined;
1348
1796
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1349
1797
  } | undefined;
1798
+ review?: {
1799
+ provider?: string | undefined;
1800
+ model?: string | undefined;
1801
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1802
+ } | undefined;
1350
1803
  validate?: {
1351
1804
  provider?: string | undefined;
1352
1805
  model?: string | undefined;
1353
1806
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1354
1807
  } | undefined;
1808
+ remediate?: {
1809
+ provider?: string | undefined;
1810
+ model?: string | undefined;
1811
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1812
+ } | undefined;
1355
1813
  } | undefined;
1356
1814
  }, {
1357
1815
  default?: {
@@ -1385,11 +1843,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1385
1843
  model?: string | undefined;
1386
1844
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1387
1845
  } | undefined;
1846
+ review?: {
1847
+ provider?: string | undefined;
1848
+ model?: string | undefined;
1849
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1850
+ } | undefined;
1388
1851
  validate?: {
1389
1852
  provider?: string | undefined;
1390
1853
  model?: string | undefined;
1391
1854
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1392
1855
  } | undefined;
1856
+ remediate?: {
1857
+ provider?: string | undefined;
1858
+ model?: string | undefined;
1859
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1860
+ } | undefined;
1393
1861
  } | undefined;
1394
1862
  }>>>;
1395
1863
  }, "strict", z.ZodTypeAny, {
@@ -1430,11 +1898,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1430
1898
  model?: string | undefined;
1431
1899
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1432
1900
  } | undefined;
1901
+ review?: {
1902
+ provider?: string | undefined;
1903
+ model?: string | undefined;
1904
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1905
+ } | undefined;
1433
1906
  validate?: {
1434
1907
  provider?: string | undefined;
1435
1908
  model?: string | undefined;
1436
1909
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1437
1910
  } | undefined;
1911
+ remediate?: {
1912
+ provider?: string | undefined;
1913
+ model?: string | undefined;
1914
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1915
+ } | undefined;
1438
1916
  } | undefined;
1439
1917
  }> | undefined;
1440
1918
  }, {
@@ -1475,20 +1953,91 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1475
1953
  model?: string | undefined;
1476
1954
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1477
1955
  } | undefined;
1956
+ review?: {
1957
+ provider?: string | undefined;
1958
+ model?: string | undefined;
1959
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1960
+ } | undefined;
1478
1961
  validate?: {
1479
1962
  provider?: string | undefined;
1480
1963
  model?: string | undefined;
1481
1964
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1482
1965
  } | undefined;
1966
+ remediate?: {
1967
+ provider?: string | undefined;
1968
+ model?: string | undefined;
1969
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1970
+ } | undefined;
1483
1971
  } | undefined;
1484
1972
  }> | undefined;
1485
1973
  }>>;
1974
+ /**
1975
+ * Per-workflow overrides for `validateCommand` / `preValidateCommand` /
1976
+ * `maxRemediations` / `review`. Keyed by workflow name (`speckit-feature`,
1977
+ * `speckit-bugfix`, …). Resolved workflow-level > repo-level > cluster default
1978
+ * by `resolveWorkflowOverrides` in the orchestrator. See `WorkflowOverrideSchema`.
1979
+ */
1980
+ workflows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1981
+ validateCommand: z.ZodOptional<z.ZodString>;
1982
+ preValidateCommand: z.ZodOptional<z.ZodString>;
1983
+ maxRemediations: z.ZodOptional<z.ZodNumber>;
1984
+ review: z.ZodOptional<z.ZodObject<{
1985
+ profile: z.ZodOptional<z.ZodEnum<["standard", "verification"]>>;
1986
+ blockingSeverity: z.ZodOptional<z.ZodEnum<["critical", "major", "minor"]>>;
1987
+ failThenPass: z.ZodOptional<z.ZodBoolean>;
1988
+ }, "strict", z.ZodTypeAny, {
1989
+ profile?: "standard" | "verification" | undefined;
1990
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1991
+ failThenPass?: boolean | undefined;
1992
+ }, {
1993
+ profile?: "standard" | "verification" | undefined;
1994
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
1995
+ failThenPass?: boolean | undefined;
1996
+ }>>;
1997
+ /**
1998
+ * Per-workflow override for the CI-green wait budget (ms). `.min(30_000)`
1999
+ * mirrors the `WorkerConfigSchema.ciWaitTimeoutMs` cluster floor so an
2000
+ * override cannot undercut it. Absent → falls through to the cluster value.
2001
+ */
2002
+ ciWaitTimeoutMs: z.ZodOptional<z.ZodNumber>;
2003
+ }, "strict", z.ZodTypeAny, {
2004
+ review?: {
2005
+ profile?: "standard" | "verification" | undefined;
2006
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2007
+ failThenPass?: boolean | undefined;
2008
+ } | undefined;
2009
+ validateCommand?: string | undefined;
2010
+ preValidateCommand?: string | undefined;
2011
+ maxRemediations?: number | undefined;
2012
+ ciWaitTimeoutMs?: number | undefined;
2013
+ }, {
2014
+ review?: {
2015
+ profile?: "standard" | "verification" | undefined;
2016
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2017
+ failThenPass?: boolean | undefined;
2018
+ } | undefined;
2019
+ validateCommand?: string | undefined;
2020
+ preValidateCommand?: string | undefined;
2021
+ maxRemediations?: number | undefined;
2022
+ ciWaitTimeoutMs?: number | undefined;
2023
+ }>>>;
1486
2024
  }, "strip", z.ZodTypeAny, {
2025
+ workflows?: Record<string, {
2026
+ review?: {
2027
+ profile?: "standard" | "verification" | undefined;
2028
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2029
+ failThenPass?: boolean | undefined;
2030
+ } | undefined;
2031
+ validateCommand?: string | undefined;
2032
+ preValidateCommand?: string | undefined;
2033
+ maxRemediations?: number | undefined;
2034
+ ciWaitTimeoutMs?: number | undefined;
2035
+ }> | undefined;
2036
+ validateCommand?: string | undefined;
2037
+ preValidateCommand?: string | undefined;
1487
2038
  labelMonitor?: boolean | undefined;
1488
2039
  webhookSetup?: boolean | undefined;
1489
2040
  smeeChannelUrl?: string | undefined;
1490
- validateCommand?: string | undefined;
1491
- preValidateCommand?: string | undefined;
1492
2041
  agents?: {
1493
2042
  default?: {
1494
2043
  provider?: string | undefined;
@@ -1527,20 +2076,41 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1527
2076
  model?: string | undefined;
1528
2077
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1529
2078
  } | undefined;
2079
+ review?: {
2080
+ provider?: string | undefined;
2081
+ model?: string | undefined;
2082
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2083
+ } | undefined;
1530
2084
  validate?: {
1531
2085
  provider?: string | undefined;
1532
2086
  model?: string | undefined;
1533
2087
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1534
2088
  } | undefined;
2089
+ remediate?: {
2090
+ provider?: string | undefined;
2091
+ model?: string | undefined;
2092
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2093
+ } | undefined;
1535
2094
  } | undefined;
1536
2095
  }> | undefined;
1537
2096
  } | undefined;
1538
2097
  }, {
2098
+ workflows?: Record<string, {
2099
+ review?: {
2100
+ profile?: "standard" | "verification" | undefined;
2101
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2102
+ failThenPass?: boolean | undefined;
2103
+ } | undefined;
2104
+ validateCommand?: string | undefined;
2105
+ preValidateCommand?: string | undefined;
2106
+ maxRemediations?: number | undefined;
2107
+ ciWaitTimeoutMs?: number | undefined;
2108
+ }> | undefined;
2109
+ validateCommand?: string | undefined;
2110
+ preValidateCommand?: string | undefined;
1539
2111
  labelMonitor?: boolean | undefined;
1540
2112
  webhookSetup?: boolean | undefined;
1541
2113
  smeeChannelUrl?: string | undefined;
1542
- validateCommand?: string | undefined;
1543
- preValidateCommand?: string | undefined;
1544
2114
  agents?: {
1545
2115
  default?: {
1546
2116
  provider?: string | undefined;
@@ -1579,11 +2149,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1579
2149
  model?: string | undefined;
1580
2150
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1581
2151
  } | undefined;
2152
+ review?: {
2153
+ provider?: string | undefined;
2154
+ model?: string | undefined;
2155
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2156
+ } | undefined;
1582
2157
  validate?: {
1583
2158
  provider?: string | undefined;
1584
2159
  model?: string | undefined;
1585
2160
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1586
2161
  } | undefined;
2162
+ remediate?: {
2163
+ provider?: string | undefined;
2164
+ model?: string | undefined;
2165
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2166
+ } | undefined;
1587
2167
  } | undefined;
1588
2168
  }> | undefined;
1589
2169
  } | undefined;
@@ -1599,11 +2179,22 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1599
2179
  org_name: z.ZodOptional<z.ZodString>;
1600
2180
  }, z.ZodTypeAny, "passthrough"> | undefined;
1601
2181
  orchestrator?: {
2182
+ workflows?: Record<string, {
2183
+ review?: {
2184
+ profile?: "standard" | "verification" | undefined;
2185
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2186
+ failThenPass?: boolean | undefined;
2187
+ } | undefined;
2188
+ validateCommand?: string | undefined;
2189
+ preValidateCommand?: string | undefined;
2190
+ maxRemediations?: number | undefined;
2191
+ ciWaitTimeoutMs?: number | undefined;
2192
+ }> | undefined;
2193
+ validateCommand?: string | undefined;
2194
+ preValidateCommand?: string | undefined;
1602
2195
  labelMonitor?: boolean | undefined;
1603
2196
  webhookSetup?: boolean | undefined;
1604
2197
  smeeChannelUrl?: string | undefined;
1605
- validateCommand?: string | undefined;
1606
- preValidateCommand?: string | undefined;
1607
2198
  agents?: {
1608
2199
  default?: {
1609
2200
  provider?: string | undefined;
@@ -1642,11 +2233,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1642
2233
  model?: string | undefined;
1643
2234
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1644
2235
  } | undefined;
2236
+ review?: {
2237
+ provider?: string | undefined;
2238
+ model?: string | undefined;
2239
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2240
+ } | undefined;
1645
2241
  validate?: {
1646
2242
  provider?: string | undefined;
1647
2243
  model?: string | undefined;
1648
2244
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1649
2245
  } | undefined;
2246
+ remediate?: {
2247
+ provider?: string | undefined;
2248
+ model?: string | undefined;
2249
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2250
+ } | undefined;
1650
2251
  } | undefined;
1651
2252
  }> | undefined;
1652
2253
  } | undefined;
@@ -1662,11 +2263,22 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1662
2263
  org_name: z.ZodOptional<z.ZodString>;
1663
2264
  }, z.ZodTypeAny, "passthrough"> | undefined;
1664
2265
  orchestrator?: {
2266
+ workflows?: Record<string, {
2267
+ review?: {
2268
+ profile?: "standard" | "verification" | undefined;
2269
+ blockingSeverity?: "critical" | "major" | "minor" | undefined;
2270
+ failThenPass?: boolean | undefined;
2271
+ } | undefined;
2272
+ validateCommand?: string | undefined;
2273
+ preValidateCommand?: string | undefined;
2274
+ maxRemediations?: number | undefined;
2275
+ ciWaitTimeoutMs?: number | undefined;
2276
+ }> | undefined;
2277
+ validateCommand?: string | undefined;
2278
+ preValidateCommand?: string | undefined;
1665
2279
  labelMonitor?: boolean | undefined;
1666
2280
  webhookSetup?: boolean | undefined;
1667
2281
  smeeChannelUrl?: string | undefined;
1668
- validateCommand?: string | undefined;
1669
- preValidateCommand?: string | undefined;
1670
2282
  agents?: {
1671
2283
  default?: {
1672
2284
  provider?: string | undefined;
@@ -1705,11 +2317,21 @@ export declare const TemplateConfigSchema: z.ZodObject<{
1705
2317
  model?: string | undefined;
1706
2318
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1707
2319
  } | undefined;
2320
+ review?: {
2321
+ provider?: string | undefined;
2322
+ model?: string | undefined;
2323
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2324
+ } | undefined;
1708
2325
  validate?: {
1709
2326
  provider?: string | undefined;
1710
2327
  model?: string | undefined;
1711
2328
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1712
2329
  } | undefined;
2330
+ remediate?: {
2331
+ provider?: string | undefined;
2332
+ model?: string | undefined;
2333
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
2334
+ } | undefined;
1713
2335
  } | undefined;
1714
2336
  }> | undefined;
1715
2337
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"template-schema.d.ts","sourceRoot":"","sources":["../src/template-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-schema.d.ts","sourceRoot":"","sources":["../src/template-schema.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,9 @@ export const WorkflowAgentEntriesSchema = z
37
37
  plan: AgentEntrySchema.optional(),
38
38
  tasks: AgentEntrySchema.optional(),
39
39
  implement: AgentEntrySchema.optional(),
40
+ review: AgentEntrySchema.optional(),
40
41
  validate: AgentEntrySchema.optional(),
42
+ remediate: AgentEntrySchema.optional(),
41
43
  })
42
44
  .strict()
43
45
  .optional(),
@@ -64,6 +66,40 @@ export const AgentsConfigSchema = z
64
66
  workflows: z.record(z.string(), WorkflowAgentEntriesSchema).optional(),
65
67
  })
66
68
  .strict();
69
+ /**
70
+ * Per-workflow review-phase tuning under `orchestrator.workflows.<name>.review`.
71
+ * All fields optional and resolve independently — a workflow may override only
72
+ * `blockingSeverity` and inherit `profile`/`failThenPass` from the built-in
73
+ * default. `.strict()` rejects unknown keys at parse time.
74
+ */
75
+ export const WorkflowReviewSchema = z
76
+ .object({
77
+ profile: z.enum(['standard', 'verification']).optional(),
78
+ blockingSeverity: z.enum(['critical', 'major', 'minor']).optional(),
79
+ failThenPass: z.boolean().optional(),
80
+ })
81
+ .strict();
82
+ /**
83
+ * Per-workflow orchestrator overrides under `orchestrator.workflows.<name>`.
84
+ * Lets a target repo vary `validateCommand` / `preValidateCommand` /
85
+ * `maxRemediations` / `review` / `ciWaitTimeoutMs` per workflow (e.g.
86
+ * `speckit-feature` vs `speckit-bugfix`). All fields optional; `.strict()`
87
+ * rejects unknown keys.
88
+ */
89
+ export const WorkflowOverrideSchema = z
90
+ .object({
91
+ validateCommand: z.string().optional(),
92
+ preValidateCommand: z.string().optional(),
93
+ maxRemediations: z.number().int().min(0).optional(),
94
+ review: WorkflowReviewSchema.optional(),
95
+ /**
96
+ * Per-workflow override for the CI-green wait budget (ms). `.min(30_000)`
97
+ * mirrors the `WorkerConfigSchema.ciWaitTimeoutMs` cluster floor so an
98
+ * override cannot undercut it. Absent → falls through to the cluster value.
99
+ */
100
+ ciWaitTimeoutMs: z.number().int().min(30_000).optional(),
101
+ })
102
+ .strict();
67
103
  export const OrchestratorSettingsSchema = z.object({
68
104
  labelMonitor: z.boolean().optional(),
69
105
  webhookSetup: z.boolean().optional(),
@@ -87,6 +123,13 @@ export const OrchestratorSettingsSchema = z.object({
87
123
  * pr-feedback (bound to `implement`). See `AgentsConfigSchema`.
88
124
  */
89
125
  agents: AgentsConfigSchema.optional(),
126
+ /**
127
+ * Per-workflow overrides for `validateCommand` / `preValidateCommand` /
128
+ * `maxRemediations` / `review`. Keyed by workflow name (`speckit-feature`,
129
+ * `speckit-bugfix`, …). Resolved workflow-level > repo-level > cluster default
130
+ * by `resolveWorkflowOverrides` in the orchestrator. See `WorkflowOverrideSchema`.
131
+ */
132
+ workflows: z.record(z.string(), WorkflowOverrideSchema).optional(),
90
133
  });
91
134
  export const TemplateConfigSchema = z.object({
92
135
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"template-schema.js","sourceRoot":"","sources":["../src/template-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-schema.js","sourceRoot":"","sources":["../src/template-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@generacy-ai/config",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Centralized workspace configuration for Generacy monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",