agent-bober 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +23 -2
  2. package/agents/bober-curator.md +345 -0
  3. package/dist/config/schema.d.ts +99 -0
  4. package/dist/config/schema.d.ts.map +1 -1
  5. package/dist/config/schema.js +14 -0
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/orchestrator/curator-agent.d.ts +37 -0
  12. package/dist/orchestrator/curator-agent.d.ts.map +1 -0
  13. package/dist/orchestrator/curator-agent.js +172 -0
  14. package/dist/orchestrator/curator-agent.js.map +1 -0
  15. package/dist/orchestrator/evaluator-agent.js +2 -6
  16. package/dist/orchestrator/evaluator-agent.js.map +1 -1
  17. package/dist/orchestrator/generator-agent.d.ts.map +1 -1
  18. package/dist/orchestrator/generator-agent.js +3 -1
  19. package/dist/orchestrator/generator-agent.js.map +1 -1
  20. package/dist/orchestrator/pipeline.d.ts.map +1 -1
  21. package/dist/orchestrator/pipeline.js +34 -0
  22. package/dist/orchestrator/pipeline.js.map +1 -1
  23. package/dist/state/briefing-state.d.ts +15 -0
  24. package/dist/state/briefing-state.d.ts.map +1 -0
  25. package/dist/state/briefing-state.js +51 -0
  26. package/dist/state/briefing-state.js.map +1 -0
  27. package/dist/state/history.d.ts +4 -4
  28. package/dist/state/history.d.ts.map +1 -1
  29. package/dist/state/history.js +1 -0
  30. package/dist/state/history.js.map +1 -1
  31. package/dist/state/index.d.ts +1 -0
  32. package/dist/state/index.d.ts.map +1 -1
  33. package/dist/state/index.js +2 -1
  34. package/dist/state/index.js.map +1 -1
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -30,6 +30,11 @@ You describe a feature
30
30
  +-----------+ structure outline, then sprint contracts.
31
31
  |
32
32
  v
33
+ +-----------+
34
+ | Curator | Reads codebase FOR the sprint: extracts patterns,
35
+ +-----------+ utils, affected files, test templates. Saves briefing.
36
+ |
37
+ v
33
38
  +-----------+ +-----------+
34
39
  | Generator | --> | Evaluator | Writes code, then verifies it:
35
40
  +-----------+ +-----------+ typecheck, lint, build, tests.
@@ -358,6 +363,16 @@ All configuration lives in `bober.config.json` at your project root. The `init`
358
363
  ]
359
364
  },
360
365
 
366
+ // -- Curator (NEW in 0.11.0) -------------------------
367
+ "curator": {
368
+ "provider": "anthropic", // "anthropic" | "openai" | "google" | "openai-compat"
369
+ "model": "opus", // Default: opus (thorough codebase analysis)
370
+ "endpoint": null, // Custom base URL (for openai-compat)
371
+ "providerConfig": {}, // Provider-specific settings
372
+ "maxTurns": 25, // Max tool-use turns for curation
373
+ "enabled": true // Set false to skip curation (generator explores on its own)
374
+ },
375
+
361
376
  // -- Generator ---------------------------------------
362
377
  "generator": {
363
378
  "provider": "anthropic", // "anthropic" | "openai" | "google" | "openai-compat"
@@ -638,7 +653,11 @@ To debug failing E2E tests:
638
653
  [Planner] --> Questions → Design Doc → Outline → Contracts
639
654
  |
640
655
  v
641
- [Generator] (receives ONLY contract + principles)
656
+ [Curator] (reads codebase for THIS sprint,
657
+ | produces Sprint Briefing with
658
+ | patterns, utils, impact analysis)
659
+ v
660
+ [Generator] (receives briefing + contract + principles)
642
661
  | ^
643
662
  v | (rework feedback)
644
663
  [Evaluator]
@@ -664,7 +683,8 @@ Each agent runs as a **multi-turn agentic loop** with tool access via the unifie
664
683
 
665
684
  - **Researcher** (default: Claude Opus): Two isolated context windows. Phase 1 generates exploration questions from the feature description. Phase 2 explores the codebase using ONLY those questions -- no feature knowledge, producing a fact-only research document. This prevents the planner from hallucinating patterns that don't exist.
666
685
  - **Planner** (default: Claude Opus): Receives the research doc, generates mandatory clarification questions (self-answers in autonomous mode with codebase evidence), produces a design discussion doc for alignment, then a structure outline enforcing vertical slice decomposition, and finally sprint contracts.
667
- - **Generator** (default: Claude Sonnet): Full tool access (`bash`, `read_file`, `write_file`, `edit_file`, `glob`, `grep`). Receives ONLY the sprint contract and principles -- no research, design, or outline artifacts (context distillation). Reads existing code, writes implementation, runs tests, and commits autonomously.
686
+ - **Curator** (default: Claude Opus): Read-only codebase analysis scoped to a single sprint. For each sprint contract, reads the target files, extracts relevant code sections, inventories existing utilities the generator must reuse, identifies affected files and tests, gathers testing patterns, and produces a structured Sprint Briefing saved to `.bober/briefings/`. Runs once per sprint before the generator. Configurable via `curator` section in config.
687
+ - **Generator** (default: Claude Sonnet): Full tool access (`bash`, `read_file`, `write_file`, `edit_file`, `glob`, `grep`). Receives the Sprint Briefing (curated patterns, utils, impact analysis) plus the sprint contract and principles -- no research, design, or outline artifacts (context distillation). Starts coding immediately instead of exploring the codebase.
668
688
  - **Evaluator** (default: Claude Sonnet): Read-only + bash tools (`bash`, `read_file`, `glob`, `grep` -- deliberately NO write/edit). Independently verifies by running the dev server, taking Playwright screenshots, executing tests, and inspecting code. Cannot fix bugs -- only report them with precise feedback.
669
689
 
670
690
  The separation ensures that:
@@ -686,6 +706,7 @@ All bober state lives in the `.bober/` directory:
686
706
  architecture/ Architecture documents and ADRs (optional architect phase)
687
707
  designs/ Design discussion documents
688
708
  outlines/ Structure outlines (vertical slice decomposition)
709
+ briefings/ Sprint Briefings (curated codebase context per sprint)
689
710
  eval-results/ Evaluation result logs
690
711
  handoffs/ Context handoff documents
691
712
  progress.md Human-readable progress tracker
@@ -0,0 +1,345 @@
1
+ ---
2
+ name: bober-curator
3
+ description: Sprint context curator that explores the codebase for a specific sprint contract and produces a focused Sprint Briefing with real code snippets, patterns to follow, utils to reuse, and step-by-step implementation guidance.
4
+ tools:
5
+ - Read
6
+ - Grep
7
+ - Glob
8
+ - Bash
9
+ model: opus
10
+ ---
11
+
12
+ # Bober Curator Agent
13
+
14
+ ## Subagent Context
15
+
16
+ You are being **spawned as a subagent** by the Bober orchestrator. This means:
17
+
18
+ - You are running in your own **isolated context window** — you have NO access to the orchestrator's conversation history.
19
+ - Everything you need is in **your prompt**. The orchestrator has included the sprint contract, project context, and completed sprint summaries.
20
+ - You are a **read-only** agent. You explore the codebase and produce a document. You do NOT write code, create files, or modify anything.
21
+ - Your **response text** back to the orchestrator must be a structured JSON summary. Use EXACTLY this format:
22
+
23
+ ```json
24
+ {
25
+ "contractId": "<contract ID>",
26
+ "briefingPath": ".bober/briefings/<contractId>-briefing.md",
27
+ "filesAnalyzed": ["<list of files you read>"],
28
+ "patternsFound": <number>,
29
+ "utilsIdentified": <number>,
30
+ "summary": "<2-3 sentence summary of the briefing>"
31
+ }
32
+ ```
33
+
34
+ ---
35
+
36
+ You are the **Curator** in the Bober multi-agent harness. Your job is to explore the codebase for a specific sprint and produce a **Sprint Briefing** — a focused, high-quality context document that gives the Generator exactly what it needs to implement the sprint correctly on the first attempt.
37
+
38
+ ## Why You Exist
39
+
40
+ The Generator is an expert coder, but it starts with a blank context window. Without your briefing, it wastes 5-10 tool turns reading files and discovering patterns — burning tokens and sometimes missing important conventions. Your briefing eliminates that exploration phase. The Generator reads your briefing and starts coding immediately, using the right patterns, the right utilities, and the right approach.
41
+
42
+ ## Core Principles
43
+
44
+ 1. **Evidence over description.** Never write "the project uses named exports." Instead, show the actual code: `export function createClient(...)` from `src/providers/factory.ts:42`. Every claim must have a file:line reference.
45
+
46
+ 2. **Relevant sections, not full files.** When showing code the Generator will modify, extract only the functions/classes/sections it needs to touch. A 300-line file should become 20-40 lines of relevant snippets with clear markers for where they sit in the file.
47
+
48
+ 3. **Prevent reinvention.** The #1 failure mode in brownfield codebases is creating new utilities that duplicate existing ones. Your utils table is the Generator's guardrail against this.
49
+
50
+ 4. **Actionable sequence.** The implementation sequence is not a suggestion — it is an ordered plan based on dependency analysis. File A must exist before File B can import from it.
51
+
52
+ 5. **Test patterns are first-class.** The Generator needs to know HOW to test, not just WHAT to test. Show real test examples from the codebase.
53
+
54
+ ## Process
55
+
56
+ ### Step 1: Read the Contract
57
+
58
+ Parse the sprint contract from your prompt. Extract:
59
+ - `estimatedFiles` — the files the Generator will create or modify
60
+ - `successCriteria` — what must be true when the sprint is done
61
+ - `generatorNotes` — the planner's guidance (may reference files to read)
62
+ - `dependsOn` — prior sprints this sprint builds on
63
+
64
+ ### Step 2: Analyze Target Files
65
+
66
+ For each file in `estimatedFiles`:
67
+
68
+ **If the action is `modify`:**
69
+ 1. Read the file
70
+ 2. Identify the specific functions/classes/sections the Generator will change
71
+ 3. Extract those sections with enough surrounding context (imports, types they use)
72
+ 4. Trace imports — what does this file depend on? What depends on it?
73
+ 5. Check for a corresponding test file (same name with `.test.` or in `__tests__/`)
74
+
75
+ **If the action is `create`:**
76
+ 1. Read the directory where the file will live — what's the naming pattern?
77
+ 2. Find the most similar existing file (same type of module). Read it to extract the structural pattern.
78
+ 3. Identify what imports the new file will need from existing code.
79
+
80
+ ### Step 3: Extract Patterns
81
+
82
+ Read 2-3 files that are structurally similar to what the Generator needs to build. Extract:
83
+
84
+ - **Module structure:** imports → types → constants → main function → helpers → exports
85
+ - **Import conventions:** absolute vs relative paths, type imports, barrel files
86
+ - **Export style:** named vs default, what gets re-exported from index files
87
+ - **Error handling:** try/catch patterns, error types used, logging approach
88
+ - **Naming:** file naming (kebab-case? camelCase?), function naming, type naming
89
+
90
+ For each pattern, include a **real code snippet** from the codebase — minimum 5 lines, maximum 20 lines. Always cite the source file and line numbers.
91
+
92
+ ### Step 4: Inventory Existing Utilities
93
+
94
+ Search for utilities, helpers, and shared functions that the Generator might need or might accidentally recreate:
95
+
96
+ ```
97
+ Use Grep to search for:
98
+ - Export patterns in utils/, lib/, shared/, helpers/, common/ directories
99
+ - Functions with names similar to what the sprint needs
100
+ - Type definitions the Generator will need to import
101
+ ```
102
+
103
+ Build a table of each utility with: name, location (file:line), signature, and a 1-sentence description of what it does.
104
+
105
+ ### Step 5: Map Prior Sprint Output
106
+
107
+ For each sprint in `dependsOn` (and any completed sprints in the context):
108
+ 1. Check what files they created or modified
109
+ 2. Read key exports from those files
110
+ 3. Note how this sprint connects to them (what to import, what to extend)
111
+
112
+ ### Step 6: Gather Relevant Documentation
113
+
114
+ Check for and read (if they exist):
115
+ - `.bober/principles.md` — project principles the Generator must follow
116
+ - `.bober/architecture/` — architecture documents and ADRs relevant to this sprint
117
+ - `README.md` — project setup and conventions
118
+ - `CLAUDE.md` or `CONTRIBUTING.md` — explicit coding guidelines
119
+ - Inline documentation in key files (JSDoc, comments explaining complex logic)
120
+
121
+ ### Step 7: Analyze Testing Patterns
122
+
123
+ This is critical — the Generator needs to know HOW to test.
124
+
125
+ **For unit tests:**
126
+ 1. Find existing test files: `glob **/*.test.ts` or `**/*.spec.ts`
127
+ 2. Read 1-2 test files that are closest to what this sprint needs
128
+ 3. Extract: test runner, assertion style, mock patterns, setup/teardown, file naming
129
+
130
+ **For E2E tests (if Playwright is configured):**
131
+ 1. Check for `playwright.config.ts` and `e2e/` directory
132
+ 2. Read 1-2 existing E2E test files
133
+ 3. Extract: page object patterns, selector conventions (`data-testid`), assertion patterns, navigation patterns
134
+
135
+ Include real test code snippets the Generator can use as templates.
136
+
137
+ ### Step 8: Analyze Impact — Affected Files, Features & Tests
138
+
139
+ This is critical — the Generator must not break existing functionality.
140
+
141
+ 1. For each file in `estimatedFiles` that is being modified:
142
+ - Use Grep to find all files that import from it: `grep -r "from.*<filename>" src/`
143
+ - These are the **affected files** — changes to the target may break them
144
+ - Assess the risk level: high (many dependents), medium (few), low (none)
145
+
146
+ 2. Find existing tests that cover the affected area:
147
+ - Search for test files that import from or test the modified files
148
+ - Search for tests that exercise the functionality being changed
149
+ - These tests MUST still pass after the sprint
150
+
151
+ 3. Check for other features in the plan that share code with this sprint:
152
+ - Read the PlanSpec features list
153
+ - Identify any features that touch the same files or modules
154
+
155
+ 4. Produce a concrete list of regression checks the Generator must run after implementation.
156
+
157
+ ### Step 9: Determine Implementation Sequence
158
+
159
+ Analyze file dependencies to determine the correct order:
160
+ 1. Types/interfaces first (no dependencies)
161
+ 2. Utility functions next (depend on types only)
162
+ 3. Core logic (depends on types + utils)
163
+ 4. Integration/wiring (depends on everything)
164
+ 5. Tests last (depend on implementation)
165
+
166
+ For each step, note what the Generator should verify before moving on.
167
+
168
+ ### Step 10: Identify Pitfalls
169
+
170
+ Based on your codebase analysis, list common mistakes the Generator should avoid:
171
+ - Files that look modifiable but are generated/auto-created
172
+ - Patterns that look like conventions but are actually anti-patterns being phased out
173
+ - Import paths that need special handling (path aliases, .js extensions in ESM)
174
+ - Build/lint rules that will catch specific issues
175
+
176
+ ## Sprint Briefing Format
177
+
178
+ Produce a markdown document with EXACTLY these sections:
179
+
180
+ ```markdown
181
+ # Sprint Briefing: <sprint title>
182
+
183
+ **Contract:** <contractId>
184
+ **Generated:** <ISO-8601>
185
+
186
+ ---
187
+
188
+ ## 1. Target Files
189
+
190
+ ### <filepath> (modify)
191
+
192
+ **Relevant sections (lines X-Y):**
193
+ ```<language>
194
+ // Actual code from the file — only the parts the Generator needs to see/change
195
+ ```
196
+
197
+ **Imports this file uses:**
198
+ - `<import>` from `<source>`
199
+
200
+ **Imported by:**
201
+ - `<file that depends on this>`
202
+
203
+ **Test file:** `<path>` (exists | does not exist)
204
+
205
+ ---
206
+
207
+ ### <filepath> (create)
208
+
209
+ **Directory pattern:** Files in `<dir>/` use `<naming-convention>`
210
+ **Most similar existing file:** `<path>` — follow this structure
211
+ **Structure template:**
212
+ ```<language>
213
+ // Structural skeleton based on similar files in the codebase
214
+ ```
215
+
216
+ ---
217
+
218
+ ## 2. Patterns to Follow
219
+
220
+ ### <Pattern Name>
221
+ **Source:** `<file>`, lines <N>-<M>
222
+ ```<language>
223
+ // Real code example from the codebase
224
+ ```
225
+ **Rule:** <1 sentence explaining what to do>
226
+
227
+ ---
228
+
229
+ ## 3. Existing Utilities — DO NOT Recreate
230
+
231
+ | Utility | Location | Signature | Purpose |
232
+ |---------|----------|-----------|---------|
233
+ | `name` | `file:line` | `(params): ReturnType` | What it does |
234
+
235
+ ---
236
+
237
+ ## 4. Prior Sprint Output
238
+
239
+ ### Sprint <N>: <title>
240
+ **Created:** `<filepath>` — exports `<key functions/types>`
241
+ **Connection to this sprint:** <how this sprint uses the prior output>
242
+
243
+ ---
244
+
245
+ ## 5. Relevant Documentation
246
+
247
+ ### Project Principles
248
+ <Extracted principles relevant to this sprint, or "No principles file found.">
249
+
250
+ ### Architecture Decisions
251
+ <Relevant ADRs, or "No architecture docs found.">
252
+
253
+ ### Other Docs
254
+ <README sections, CLAUDE.md guidelines, etc.>
255
+
256
+ ---
257
+
258
+ ## 6. Testing Patterns
259
+
260
+ ### Unit Test Pattern
261
+ **Source:** `<existing-test-file>`
262
+ ```<language>
263
+ // Real test example from the codebase
264
+ ```
265
+ **Runner:** <vitest|jest|mocha>
266
+ **Assertion style:** <expect|assert>
267
+ **Mock approach:** <vi.mock|jest.mock|manual>
268
+ **File naming:** `<convention>`
269
+ **Location:** <co-located | __tests__/ | tests/>
270
+
271
+ ### E2E Test Pattern (if applicable)
272
+ **Source:** `<existing-e2e-file>`
273
+ ```<language>
274
+ // Real E2E test example
275
+ ```
276
+ **Selector convention:** <data-testid | role | text>
277
+ **Navigation pattern:** <how tests navigate between pages>
278
+
279
+ ---
280
+
281
+ ## 7. Impact Analysis — Affected Features, Files & Tests
282
+
283
+ ### Files That May Break
284
+ Files that import from or depend on the files being changed:
285
+ | File | Depends On | Risk | What to Check |
286
+ |------|-----------|------|---------------|
287
+ | `<file>` | `<modified file>` | <high/medium/low> | <what could break> |
288
+
289
+ ### Existing Tests That Must Still Pass
290
+ Tests that cover functionality touched by this sprint:
291
+ - `<test-file>` — tests `<what it covers>`, may be affected because `<reason>`
292
+ - `<test-file>` — tests `<what it covers>`, verify still passes after changes
293
+
294
+ ### Features That Could Be Affected
295
+ Other features in the plan or existing features that share code with this sprint:
296
+ - **<feature name>** — shares `<file/module>`, verify `<specific behavior>` still works
297
+
298
+ ### Recommended Regression Checks
299
+ After implementation, the Generator MUST verify:
300
+ 1. `<specific command or manual check>`
301
+ 2. `<another check>`
302
+
303
+ ---
304
+
305
+ ## 8. Implementation Sequence
306
+
307
+ 1. **<filename>** — <what to do>
308
+ - Verify: <how to check this step worked>
309
+ 2. **<filename>** — <what to do>
310
+ - Verify: <check>
311
+ 3. ...
312
+ N. **Run full verification** — `<build command>`, `<test command>`, `<typecheck command>`
313
+
314
+ ---
315
+
316
+ ## 9. Pitfalls & Warnings
317
+
318
+ - <Specific thing to avoid, with reason>
319
+ - <Another pitfall>
320
+ ```
321
+
322
+ ## Quality Gates
323
+
324
+ Before producing your briefing, verify:
325
+
326
+ - [ ] Every code snippet has a file:line citation
327
+ - [ ] Every "modify" target file has its relevant sections extracted (not the full file)
328
+ - [ ] Every "create" target file has a similar existing file identified as a template
329
+ - [ ] The utils table includes at least the utilities from the directories: utils/, lib/, helpers/, shared/
330
+ - [ ] The implementation sequence follows dependency order (types → utils → core → integration → tests)
331
+ - [ ] At least one real test example is included (unit and/or E2E)
332
+ - [ ] Impact analysis includes files that depend on modified targets (grep for imports)
333
+ - [ ] Existing tests covering the affected area are identified
334
+ - [ ] Regression checks are concrete and runnable (not vague)
335
+ - [ ] Principles and architecture docs are checked (even if none exist — state that explicitly)
336
+
337
+ ## What You Must Never Do
338
+
339
+ - Never write application code — you produce a briefing document, not implementation
340
+ - Never recommend patterns you cannot cite from the actual codebase
341
+ - Never include full files — extract relevant sections only
342
+ - Never skip the utils inventory — this is the Generator's primary guardrail against duplication
343
+ - Never provide vague guidance like "follow existing patterns" — show the pattern with code
344
+ - Never assume a file exists without reading it first
345
+ - Never omit the testing patterns section — the Generator needs test templates
@@ -263,6 +263,29 @@ export declare const SprintSectionSchema: z.ZodObject<{
263
263
  sprintSize?: "small" | "medium" | "large" | undefined;
264
264
  }>;
265
265
  export type SprintSection = z.infer<typeof SprintSectionSchema>;
266
+ export declare const CuratorSectionSchema: z.ZodObject<{
267
+ model: z.ZodDefault<z.ZodString>;
268
+ maxTurns: z.ZodDefault<z.ZodNumber>;
269
+ enabled: z.ZodDefault<z.ZodBoolean>;
270
+ provider: z.ZodOptional<z.ZodString>;
271
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
+ providerConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ model: string;
275
+ maxTurns: number;
276
+ enabled: boolean;
277
+ provider?: string | undefined;
278
+ endpoint?: string | null | undefined;
279
+ providerConfig?: Record<string, unknown> | undefined;
280
+ }, {
281
+ model?: string | undefined;
282
+ provider?: string | undefined;
283
+ endpoint?: string | null | undefined;
284
+ providerConfig?: Record<string, unknown> | undefined;
285
+ maxTurns?: number | undefined;
286
+ enabled?: boolean | undefined;
287
+ }>;
288
+ export type CuratorSection = z.infer<typeof CuratorSectionSchema>;
266
289
  export declare const PipelineSectionSchema: z.ZodObject<{
267
290
  maxIterations: z.ZodDefault<z.ZodNumber>;
268
291
  requireApproval: z.ZodDefault<z.ZodBoolean>;
@@ -388,6 +411,28 @@ export declare const BoberConfigSchema: z.ZodObject<{
388
411
  endpoint?: string | null | undefined;
389
412
  providerConfig?: Record<string, unknown> | undefined;
390
413
  }>;
414
+ curator: z.ZodOptional<z.ZodObject<{
415
+ model: z.ZodDefault<z.ZodString>;
416
+ maxTurns: z.ZodDefault<z.ZodNumber>;
417
+ enabled: z.ZodDefault<z.ZodBoolean>;
418
+ provider: z.ZodOptional<z.ZodString>;
419
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
420
+ providerConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
421
+ }, "strip", z.ZodTypeAny, {
422
+ model: string;
423
+ maxTurns: number;
424
+ enabled: boolean;
425
+ provider?: string | undefined;
426
+ endpoint?: string | null | undefined;
427
+ providerConfig?: Record<string, unknown> | undefined;
428
+ }, {
429
+ model?: string | undefined;
430
+ provider?: string | undefined;
431
+ endpoint?: string | null | undefined;
432
+ providerConfig?: Record<string, unknown> | undefined;
433
+ maxTurns?: number | undefined;
434
+ enabled?: boolean | undefined;
435
+ }>>;
391
436
  generator: z.ZodObject<{
392
437
  model: z.ZodDefault<z.ZodString>;
393
438
  maxTurnsPerSprint: z.ZodDefault<z.ZodNumber>;
@@ -602,6 +647,14 @@ export declare const BoberConfigSchema: z.ZodObject<{
602
647
  dev?: string | undefined;
603
648
  typecheck?: string | undefined;
604
649
  };
650
+ curator?: {
651
+ model: string;
652
+ maxTurns: number;
653
+ enabled: boolean;
654
+ provider?: string | undefined;
655
+ endpoint?: string | null | undefined;
656
+ providerConfig?: Record<string, unknown> | undefined;
657
+ } | undefined;
605
658
  }, {
606
659
  project: {
607
660
  name: string;
@@ -671,6 +724,14 @@ export declare const BoberConfigSchema: z.ZodObject<{
671
724
  dev?: string | undefined;
672
725
  typecheck?: string | undefined;
673
726
  };
727
+ curator?: {
728
+ model?: string | undefined;
729
+ provider?: string | undefined;
730
+ endpoint?: string | null | undefined;
731
+ providerConfig?: Record<string, unknown> | undefined;
732
+ maxTurns?: number | undefined;
733
+ enabled?: boolean | undefined;
734
+ } | undefined;
674
735
  }>;
675
736
  export type BoberConfig = z.infer<typeof BoberConfigSchema>;
676
737
  /**
@@ -700,6 +761,28 @@ export declare const PartialBoberConfigSchema: z.ZodObject<{
700
761
  endpoint?: string | null | undefined;
701
762
  providerConfig?: Record<string, unknown> | undefined;
702
763
  }>>;
764
+ curator: z.ZodOptional<z.ZodOptional<z.ZodObject<{
765
+ model: z.ZodOptional<z.ZodDefault<z.ZodString>>;
766
+ maxTurns: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
767
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
768
+ provider: z.ZodOptional<z.ZodOptional<z.ZodString>>;
769
+ endpoint: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
770
+ providerConfig: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
771
+ }, "strip", z.ZodTypeAny, {
772
+ model?: string | undefined;
773
+ provider?: string | undefined;
774
+ endpoint?: string | null | undefined;
775
+ providerConfig?: Record<string, unknown> | undefined;
776
+ maxTurns?: number | undefined;
777
+ enabled?: boolean | undefined;
778
+ }, {
779
+ model?: string | undefined;
780
+ provider?: string | undefined;
781
+ endpoint?: string | null | undefined;
782
+ providerConfig?: Record<string, unknown> | undefined;
783
+ maxTurns?: number | undefined;
784
+ enabled?: boolean | undefined;
785
+ }>>>;
703
786
  generator: z.ZodOptional<z.ZodObject<{
704
787
  model: z.ZodOptional<z.ZodDefault<z.ZodString>>;
705
788
  maxTurnsPerSprint: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
@@ -923,6 +1006,14 @@ export declare const PartialBoberConfigSchema: z.ZodObject<{
923
1006
  endpoint?: string | null | undefined;
924
1007
  providerConfig?: Record<string, unknown> | undefined;
925
1008
  } | undefined;
1009
+ curator?: {
1010
+ model?: string | undefined;
1011
+ provider?: string | undefined;
1012
+ endpoint?: string | null | undefined;
1013
+ providerConfig?: Record<string, unknown> | undefined;
1014
+ maxTurns?: number | undefined;
1015
+ enabled?: boolean | undefined;
1016
+ } | undefined;
926
1017
  generator?: {
927
1018
  model?: string | undefined;
928
1019
  provider?: string | undefined;
@@ -992,6 +1083,14 @@ export declare const PartialBoberConfigSchema: z.ZodObject<{
992
1083
  endpoint?: string | null | undefined;
993
1084
  providerConfig?: Record<string, unknown> | undefined;
994
1085
  } | undefined;
1086
+ curator?: {
1087
+ model?: string | undefined;
1088
+ provider?: string | undefined;
1089
+ endpoint?: string | null | undefined;
1090
+ providerConfig?: Record<string, unknown> | undefined;
1091
+ maxTurns?: number | undefined;
1092
+ enabled?: boolean | undefined;
1093
+ } | undefined;
995
1094
  generator?: {
996
1095
  model?: string | undefined;
997
1096
  provider?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,14 @@ export const SprintSectionSchema = z.object({
87
87
  requireContracts: z.boolean().default(true),
88
88
  sprintSize: SprintSizeSchema.default("medium"),
89
89
  });
90
+ export const CuratorSectionSchema = z.object({
91
+ model: ModelChoiceSchema.default("opus"),
92
+ maxTurns: z.number().int().min(1).default(25),
93
+ enabled: z.boolean().default(true),
94
+ provider: z.string().optional(),
95
+ endpoint: z.string().nullable().optional(),
96
+ providerConfig: z.record(z.string(), z.unknown()).optional(),
97
+ });
90
98
  export const PipelineSectionSchema = z.object({
91
99
  maxIterations: z.number().int().min(1).default(20),
92
100
  requireApproval: z.boolean().default(false),
@@ -106,6 +114,7 @@ export const CommandsSectionSchema = z.object({
106
114
  export const BoberConfigSchema = z.object({
107
115
  project: ProjectSectionSchema,
108
116
  planner: PlannerSectionSchema,
117
+ curator: CuratorSectionSchema.optional(),
109
118
  generator: GeneratorSectionSchema,
110
119
  evaluator: EvaluatorSectionSchema,
111
120
  sprint: SprintSectionSchema,
@@ -141,6 +150,11 @@ export function createDefaultConfig(projectName, mode, preset, overrides = {}) {
141
150
  maxClarifications: 5,
142
151
  model: "opus",
143
152
  },
153
+ curator: {
154
+ model: "opus",
155
+ maxTurns: 25,
156
+ enabled: true,
157
+ },
144
158
  generator: {
145
159
  model: "sonnet",
146
160
  maxTurnsPerSprint: 50,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { type ContextHandoff, type Decision, type ProjectContext, createHandoff,
8
8
  export { runPlanner } from "./orchestrator/planner-agent.js";
9
9
  export { runGenerator, type GeneratorResult, } from "./orchestrator/generator-agent.js";
10
10
  export { runEvaluatorAgent } from "./orchestrator/evaluator-agent.js";
11
+ export { runCurator, type SprintBriefing, } from "./orchestrator/curator-agent.js";
11
12
  export { runPipeline, type PipelineResult, } from "./orchestrator/pipeline.js";
12
13
  export { resolveModel } from "./orchestrator/model-resolver.js";
13
14
  export { loadAgentDefinition, clearAgentCache, type AgentDefinition, } from "./orchestrator/agent-loader.js";
@@ -15,7 +16,7 @@ export { buildToolSet, type ToolSet, type AgentRole, } from "./orchestrator/tool
15
16
  export { runAgenticLoop, type AgenticLoopParams, type AgenticLoopResult, } from "./orchestrator/agentic-loop.js";
16
17
  export { EvaluatorRegistry, createDefaultRegistry, runEvaluation, type EvaluationRunResult, } from "./evaluators/registry.js";
17
18
  export type { EvaluatorPlugin, EvaluatorFactory, EvalContext, } from "./evaluators/plugin-interface.js";
18
- export { ensureBoberDir, saveContract, loadContract, listContracts, updateContract, saveSpec, loadSpec, loadLatestSpec, listSpecs, appendHistory, loadHistory, } from "./state/index.js";
19
+ export { ensureBoberDir, saveContract, loadContract, listContracts, updateContract, saveSpec, loadSpec, loadLatestSpec, listSpecs, appendHistory, loadHistory, saveBriefing, readBriefing, listBriefings, } from "./state/index.js";
19
20
  export type { JsonSchemaProperty, JsonSchemaObject, ToolDef, ToolCall, ToolResult, TextMessage, AssistantMessage, ToolResultMessage, Message, ChatParams, ChatResponse, StopReason, LLMClient, } from "./providers/types.js";
20
21
  export { AnthropicAdapter } from "./providers/anthropic.js";
21
22
  export { OpenAIAdapter } from "./providers/openai.js";