@cat-factory/contracts 0.346.2 → 0.347.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/bugFishing.d.ts +285 -0
- package/dist/bugFishing.d.ts.map +1 -1
- package/dist/bugFishing.js +180 -0
- package/dist/bugFishing.js.map +1 -1
- package/dist/entities.d.ts +1 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/execution.d.ts +62 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/form-fields.d.ts +24 -3
- package/dist/form-fields.d.ts.map +1 -1
- package/dist/form-fields.js +17 -3
- package/dist/form-fields.js.map +1 -1
- package/dist/gate-config.d.ts +1 -0
- package/dist/gate-config.d.ts.map +1 -1
- package/dist/initiative-preset.d.ts +2 -0
- package/dist/initiative-preset.d.ts.map +1 -1
- package/dist/initiative.d.ts +5 -0
- package/dist/initiative.d.ts.map +1 -1
- package/dist/inline-use-cases.d.ts +3 -0
- package/dist/inline-use-cases.d.ts.map +1 -1
- package/dist/primitives.d.ts +37 -2
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +11 -0
- package/dist/primitives.js.map +1 -1
- package/dist/public-task-types.d.ts +2 -0
- package/dist/public-task-types.d.ts.map +1 -1
- package/dist/public-task-types.js +19 -1
- package/dist/public-task-types.js.map +1 -1
- package/dist/requests.d.ts +26 -6
- package/dist/requests.d.ts.map +1 -1
- package/dist/routes/agent-runs.d.ts +62 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/board.d.ts +39 -6
- package/dist/routes/board.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +64 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/bugFishing.d.ts +124 -0
- package/dist/routes/bugFishing.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +312 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +31 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +155 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/initiative.d.ts +17 -0
- package/dist/routes/initiative.d.ts.map +1 -1
- package/dist/routes/public-api.d.ts +1 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/task-types.d.ts +3 -0
- package/dist/routes/task-types.d.ts.map +1 -1
- package/dist/routes/tasks.d.ts +3 -0
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/use-cases.d.ts +2 -0
- package/dist/routes/use-cases.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +93 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +74 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +37 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/task-types.d.ts +4 -0
- package/dist/task-types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/bugFishing.d.ts
CHANGED
|
@@ -57,6 +57,147 @@ export type BugFishingFindingKind = v.InferOutput<typeof bugFishingFindingKindSc
|
|
|
57
57
|
/** How sure the agent is that the finding is real — its own judgement, never platform-derived. */
|
|
58
58
|
export declare const bugFishingConfidenceSchema: v.PicklistSchema<["high", "medium", "low"], undefined>;
|
|
59
59
|
export type BugFishingConfidence = v.InferOutput<typeof bugFishingConfidenceSchema>;
|
|
60
|
+
/**
|
|
61
|
+
* The most container dispatches one expedition may make when nobody names a number.
|
|
62
|
+
*
|
|
63
|
+
* Three times today's eight-angle expedition. This is a COUNT, not a spend gate: the engine
|
|
64
|
+
* already runs the workspace's budget check before every dispatch, so an over-budget workspace
|
|
65
|
+
* pauses between passes regardless. What this bounds is a run that is within budget and
|
|
66
|
+
* unreasonably long, which is what a partitioned codebase makes possible: six territories under
|
|
67
|
+
* eight angles is forty-eight passes, and most of that matrix is not worth fishing.
|
|
68
|
+
*/
|
|
69
|
+
export declare const BUG_FISHING_DEFAULT_PASS_BUDGET = 24;
|
|
70
|
+
/** The most a task may raise its own pass budget to. */
|
|
71
|
+
export declare const BUG_FISHING_MAX_PASS_BUDGET = 96;
|
|
72
|
+
/**
|
|
73
|
+
* The most paths one pass's `filesRead` may carry before the list stops being a coverage report.
|
|
74
|
+
*
|
|
75
|
+
* A territory is sized to what one pass can read a meaningful share of, so its manifest is
|
|
76
|
+
* hundreds of files and never thousands. This is the shape backstop above that, not a limit an
|
|
77
|
+
* honest pass approaches.
|
|
78
|
+
*/
|
|
79
|
+
export declare const BUG_FISHING_MAX_FILES_READ = 2000;
|
|
80
|
+
/**
|
|
81
|
+
* A cohesive slice of the codebase the expedition fishes as one unit.
|
|
82
|
+
*
|
|
83
|
+
* A large codebase cannot be fished as one scope: a pass told to "decide where this angle could
|
|
84
|
+
* bite, then read narrowly" reads whatever its first grep pointed at, and a module nobody read
|
|
85
|
+
* then reports exactly like a module that was read and found clean. Territories are the platform
|
|
86
|
+
* COMPUTING the partition (from the repository tree, blueprint modules first, then package and
|
|
87
|
+
* directory boundaries) so the model can go on judging code rather than inventing a module map.
|
|
88
|
+
*
|
|
89
|
+
* A territory id is an OPEN vocabulary, unlike a phase id: it is derived from the tree, and the
|
|
90
|
+
* tree moves. Nothing looks a territory up by id at render time, which is why the label and the
|
|
91
|
+
* roots are RECORDED here rather than re-derived: a phase whose territory a later survey no
|
|
92
|
+
* longer produces is still rendered from what the run itself fished.
|
|
93
|
+
*/
|
|
94
|
+
export declare const bugFishingTerritorySchema: v.ObjectSchema<{
|
|
95
|
+
/** Stable within one expedition; derived from the territory's root path. */
|
|
96
|
+
readonly id: v.StringSchema<undefined>;
|
|
97
|
+
/** Human label (the module name, or the directory the territory is rooted at). */
|
|
98
|
+
readonly label: v.StringSchema<undefined>;
|
|
99
|
+
/** Repo-relative roots the territory owns. Empty ⇒ the whole codebase (the single-territory case). */
|
|
100
|
+
readonly roots: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
101
|
+
/** How many source files the manifest counted under those roots. */
|
|
102
|
+
readonly fileCount: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
103
|
+
/**
|
|
104
|
+
* Approximate source tokens (bytes / 4 over the tree's blob sizes). The sizing input, and what
|
|
105
|
+
* the window shows a human deciding whether a low coverage share is a big territory or a lazy
|
|
106
|
+
* pass. Approximate is stated in the NAME, because it is a byte estimate and never a count.
|
|
107
|
+
*/
|
|
108
|
+
readonly approxTokens: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
109
|
+
/**
|
|
110
|
+
* How the territory was derived, so a reader can tell a blueprint's own decomposition from the
|
|
111
|
+
* fallback the platform computed for a repository that has never been blueprinted.
|
|
112
|
+
*/
|
|
113
|
+
readonly source: v.OptionalSchema<v.PicklistSchema<["blueprint", "directory", "whole-codebase"], undefined>, "directory">;
|
|
114
|
+
/**
|
|
115
|
+
* The subtree shas of the territory's roots, one per root, in `roots` order. A string compare
|
|
116
|
+
* against a later survey answers "has this territory changed since it was fished" with no diff.
|
|
117
|
+
* Recorded now because it comes free with the tree read.
|
|
118
|
+
*/
|
|
119
|
+
readonly subtreeShas: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
120
|
+
}, undefined>;
|
|
121
|
+
export type BugFishingTerritory = v.InferOutput<typeof bugFishingTerritorySchema>;
|
|
122
|
+
/**
|
|
123
|
+
* The single territory a codebase small enough to fish whole is partitioned into.
|
|
124
|
+
*
|
|
125
|
+
* Named rather than spelled out at each site because the PASS-THROUGH is a property worth
|
|
126
|
+
* pinning: a small repository plans one territory, its phases carry no territory id, and the
|
|
127
|
+
* expedition it gets is byte-for-byte the one that shipped before territories existed.
|
|
128
|
+
*/
|
|
129
|
+
export declare const WHOLE_CODEBASE_TERRITORY_ID = "whole-codebase";
|
|
130
|
+
/**
|
|
131
|
+
* One cell of the matrix that was planned but NOT fished, because the pass budget ran out.
|
|
132
|
+
*
|
|
133
|
+
* A cap silent about its tail teaches the reader that the tail was clean. This is the tail,
|
|
134
|
+
* named: which angle over which territory nobody looked at on this run.
|
|
135
|
+
*/
|
|
136
|
+
export declare const bugFishingUnfishedCellSchema: v.ObjectSchema<{
|
|
137
|
+
readonly territoryId: v.StringSchema<undefined>;
|
|
138
|
+
/** The territory's label as it stood when the plan was made (never looked up at render time). */
|
|
139
|
+
readonly territoryLabel: v.StringSchema<undefined>;
|
|
140
|
+
readonly phaseId: v.StringSchema<undefined>;
|
|
141
|
+
/** The angle's label as it stood when the plan was made. */
|
|
142
|
+
readonly phaseTitle: v.StringSchema<undefined>;
|
|
143
|
+
}, undefined>;
|
|
144
|
+
export type BugFishingUnfishedCell = v.InferOutput<typeof bugFishingUnfishedCellSchema>;
|
|
145
|
+
/**
|
|
146
|
+
* What the expedition DECIDED to fish, and what it decided not to.
|
|
147
|
+
*
|
|
148
|
+
* Written before the first pass runs, so the window can state the shape of the hunt while it is
|
|
149
|
+
* still in flight, and so the record of an expedition a human stopped early says what was left.
|
|
150
|
+
*/
|
|
151
|
+
export declare const bugFishingPlanSchema: v.ObjectSchema<{
|
|
152
|
+
/** Most dispatches this expedition may make. */
|
|
153
|
+
readonly passBudget: v.NumberSchema<undefined>;
|
|
154
|
+
/** How many cells the full (territory x angle) matrix had, before the budget trimmed it. */
|
|
155
|
+
readonly plannedCells: v.NumberSchema<undefined>;
|
|
156
|
+
/** The cells the budget cut, by territory and angle. Empty when the matrix fitted. */
|
|
157
|
+
readonly unfished: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
158
|
+
readonly territoryId: v.StringSchema<undefined>;
|
|
159
|
+
/** The territory's label as it stood when the plan was made (never looked up at render time). */
|
|
160
|
+
readonly territoryLabel: v.StringSchema<undefined>;
|
|
161
|
+
readonly phaseId: v.StringSchema<undefined>;
|
|
162
|
+
/** The angle's label as it stood when the plan was made. */
|
|
163
|
+
readonly phaseTitle: v.StringSchema<undefined>;
|
|
164
|
+
}, undefined>, undefined>, readonly []>;
|
|
165
|
+
/**
|
|
166
|
+
* True when the provider TRUNCATED the tree the survey partitioned. A truncated tree is not a
|
|
167
|
+
* manifest: the territories cover what was read, and the coverage record below is a share of
|
|
168
|
+
* that rather than of the repository. Stated because the two readings are opposite and nothing
|
|
169
|
+
* else in the record can tell them apart.
|
|
170
|
+
*/
|
|
171
|
+
readonly treeTruncated: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
172
|
+
/**
|
|
173
|
+
* Set when the codebase survey could not run at all (no repository bound to the run, or the
|
|
174
|
+
* bound client cannot enumerate a tree). The expedition then fishes the whole codebase as one
|
|
175
|
+
* territory, which is the shipped behaviour, and this says WHY rather than leaving a
|
|
176
|
+
* single-territory plan looking like a small repository.
|
|
177
|
+
*/
|
|
178
|
+
readonly surveyUnavailableReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
179
|
+
}, undefined>;
|
|
180
|
+
export type BugFishingPlan = v.InferOutput<typeof bugFishingPlanSchema>;
|
|
181
|
+
/**
|
|
182
|
+
* What one pass actually read, intersected with its territory's manifest.
|
|
183
|
+
*
|
|
184
|
+
* SELF-REPORTED, and the record says so in the field name: the agent lists the paths it read and
|
|
185
|
+
* the engine computes the share against the manifest it handed over. A territory with a low share
|
|
186
|
+
* is what tells a human that "found nothing" here means "did not look", which is the distinction
|
|
187
|
+
* the whole partition exists to preserve. Verifying it against the tool-call trajectory sink is a
|
|
188
|
+
* later, different producer, and would say so.
|
|
189
|
+
*/
|
|
190
|
+
export declare const bugFishingCoverageSchema: v.ObjectSchema<{
|
|
191
|
+
/** How many manifest files the pass reported reading. */
|
|
192
|
+
readonly filesRead: v.NumberSchema<undefined>;
|
|
193
|
+
/** How many files the territory's manifest held. Zero ⇒ nothing to be a share OF. */
|
|
194
|
+
readonly manifestFiles: v.NumberSchema<undefined>;
|
|
195
|
+
/** Paths the pass reported that the manifest does not have (a wander, or a stale read). */
|
|
196
|
+
readonly offManifest: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
197
|
+
/** Always `self-reported` today; the field exists so a verified record can say it is one. */
|
|
198
|
+
readonly source: v.OptionalSchema<v.PicklistSchema<["self-reported"], undefined>, "self-reported">;
|
|
199
|
+
}, undefined>;
|
|
200
|
+
export type BugFishingCoverage = v.InferOutput<typeof bugFishingCoverageSchema>;
|
|
60
201
|
/** A phase's lifecycle across the expedition's successive dispatches. */
|
|
61
202
|
export declare const bugFishingPhaseStatusSchema: v.PicklistSchema<["pending", "fishing", "completed", "failed"], undefined>;
|
|
62
203
|
export type BugFishingPhaseStatus = v.InferOutput<typeof bugFishingPhaseStatusSchema>;
|
|
@@ -81,6 +222,36 @@ export declare const bugFishingPhaseSchema: v.ObjectSchema<{
|
|
|
81
222
|
readonly settledAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
82
223
|
/** Why the pass failed, when it did. Null otherwise. */
|
|
83
224
|
readonly failureReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
225
|
+
/**
|
|
226
|
+
* The territory this pass fished, or null for the whole codebase. Null is what every
|
|
227
|
+
* expedition stored before territories existed carries, and what a small codebase still
|
|
228
|
+
* carries today, so a stored run parses unchanged either way.
|
|
229
|
+
*/
|
|
230
|
+
readonly territoryId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
231
|
+
/**
|
|
232
|
+
* The territory's label as it stood when this pass ran. Recorded rather than looked up: a
|
|
233
|
+
* territory is derived from the tree, and a later survey of a moved tree may not produce it.
|
|
234
|
+
*/
|
|
235
|
+
readonly territoryLabel: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
236
|
+
/** What the pass reported reading, against the manifest it was given. Null when it reported none. */
|
|
237
|
+
readonly coverage: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
238
|
+
/** How many manifest files the pass reported reading. */
|
|
239
|
+
readonly filesRead: v.NumberSchema<undefined>;
|
|
240
|
+
/** How many files the territory's manifest held. Zero ⇒ nothing to be a share OF. */
|
|
241
|
+
readonly manifestFiles: v.NumberSchema<undefined>;
|
|
242
|
+
/** Paths the pass reported that the manifest does not have (a wander, or a stale read). */
|
|
243
|
+
readonly offManifest: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
244
|
+
/** Always `self-reported` today; the field exists so a verified record can say it is one. */
|
|
245
|
+
readonly source: v.OptionalSchema<v.PicklistSchema<["self-reported"], undefined>, "self-reported">;
|
|
246
|
+
}, undefined>, undefined>, undefined>;
|
|
247
|
+
/**
|
|
248
|
+
* How many findings were dropped for pointing OUTSIDE this pass's territory. The brief tells a
|
|
249
|
+
* pass what it is not responsible for and the platform holds it to that at coercion, so a pass
|
|
250
|
+
* that wanders is corrected rather than exhorted. Counted rather than silent, so a human can
|
|
251
|
+
* see how often it happens. Absent on a pass that was never scoped to a territory, which is a
|
|
252
|
+
* different fact from a scoped pass that dropped none.
|
|
253
|
+
*/
|
|
254
|
+
readonly outOfScopeFindings: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
84
255
|
}, undefined>;
|
|
85
256
|
export type BugFishingPhase = v.InferOutput<typeof bugFishingPhaseSchema>;
|
|
86
257
|
/**
|
|
@@ -166,6 +337,8 @@ export declare const bugFishingFindingSchema: v.ObjectSchema<{
|
|
|
166
337
|
readonly id: v.StringSchema<undefined>;
|
|
167
338
|
/** The phase that surfaced it (a phase id; see {@link describeBugFishingPhase}). */
|
|
168
339
|
readonly phaseId: v.StringSchema<undefined>;
|
|
340
|
+
/** The territory the pass was fishing, or null for a whole-codebase pass. */
|
|
341
|
+
readonly territoryId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
169
342
|
/** Repo-relative path the finding concerns; empty when it is not anchored to one file. */
|
|
170
343
|
readonly path: v.StringSchema<undefined>;
|
|
171
344
|
/** The line the finding anchors to, or null. */
|
|
@@ -249,6 +422,36 @@ export declare const bugFishingStepStateSchema: v.ObjectSchema<{
|
|
|
249
422
|
readonly settledAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
250
423
|
/** Why the pass failed, when it did. Null otherwise. */
|
|
251
424
|
readonly failureReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
425
|
+
/**
|
|
426
|
+
* The territory this pass fished, or null for the whole codebase. Null is what every
|
|
427
|
+
* expedition stored before territories existed carries, and what a small codebase still
|
|
428
|
+
* carries today, so a stored run parses unchanged either way.
|
|
429
|
+
*/
|
|
430
|
+
readonly territoryId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
431
|
+
/**
|
|
432
|
+
* The territory's label as it stood when this pass ran. Recorded rather than looked up: a
|
|
433
|
+
* territory is derived from the tree, and a later survey of a moved tree may not produce it.
|
|
434
|
+
*/
|
|
435
|
+
readonly territoryLabel: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
436
|
+
/** What the pass reported reading, against the manifest it was given. Null when it reported none. */
|
|
437
|
+
readonly coverage: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
438
|
+
/** How many manifest files the pass reported reading. */
|
|
439
|
+
readonly filesRead: v.NumberSchema<undefined>;
|
|
440
|
+
/** How many files the territory's manifest held. Zero ⇒ nothing to be a share OF. */
|
|
441
|
+
readonly manifestFiles: v.NumberSchema<undefined>;
|
|
442
|
+
/** Paths the pass reported that the manifest does not have (a wander, or a stale read). */
|
|
443
|
+
readonly offManifest: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
444
|
+
/** Always `self-reported` today; the field exists so a verified record can say it is one. */
|
|
445
|
+
readonly source: v.OptionalSchema<v.PicklistSchema<["self-reported"], undefined>, "self-reported">;
|
|
446
|
+
}, undefined>, undefined>, undefined>;
|
|
447
|
+
/**
|
|
448
|
+
* How many findings were dropped for pointing OUTSIDE this pass's territory. The brief tells a
|
|
449
|
+
* pass what it is not responsible for and the platform holds it to that at coercion, so a pass
|
|
450
|
+
* that wanders is corrected rather than exhorted. Counted rather than silent, so a human can
|
|
451
|
+
* see how often it happens. Absent on a pass that was never scoped to a territory, which is a
|
|
452
|
+
* different fact from a scoped pass that dropped none.
|
|
453
|
+
*/
|
|
454
|
+
readonly outOfScopeFindings: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
252
455
|
}, undefined>, undefined>, readonly []>;
|
|
253
456
|
/**
|
|
254
457
|
* Index into {@link bugFishingStepStateSchema}'s `phases` of the pass currently being fished
|
|
@@ -263,6 +466,8 @@ export declare const bugFishingStepStateSchema: v.ObjectSchema<{
|
|
|
263
466
|
readonly id: v.StringSchema<undefined>;
|
|
264
467
|
/** The phase that surfaced it (a phase id; see {@link describeBugFishingPhase}). */
|
|
265
468
|
readonly phaseId: v.StringSchema<undefined>;
|
|
469
|
+
/** The territory the pass was fishing, or null for a whole-codebase pass. */
|
|
470
|
+
readonly territoryId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
266
471
|
/** Repo-relative path the finding concerns; empty when it is not anchored to one file. */
|
|
267
472
|
readonly path: v.StringSchema<undefined>;
|
|
268
473
|
/** The line the finding anchors to, or null. */
|
|
@@ -308,6 +513,74 @@ export declare const bugFishingStepStateSchema: v.ObjectSchema<{
|
|
|
308
513
|
/** Set when a human dismissed the finding: it stays on the record, struck through. */
|
|
309
514
|
readonly dismissed: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
310
515
|
}, undefined>, undefined>, readonly []>;
|
|
516
|
+
/**
|
|
517
|
+
* The partition the survey computed, in the order the expedition fishes them. One entry whose
|
|
518
|
+
* `source` is `whole-codebase` for a codebase small enough to fish whole.
|
|
519
|
+
*
|
|
520
|
+
* DESCRIPTORS only, never file lists: this rides the run's `detail` blob, re-serialised on
|
|
521
|
+
* every progress write, and a thousand paths per territory would put the manifest in the blob
|
|
522
|
+
* thirty times over. The per-pass manifest is re-rendered from the cached tree at dispatch.
|
|
523
|
+
*
|
|
524
|
+
* ABSENT, never `[]`, on an expedition that predates territories: an empty array would claim
|
|
525
|
+
* the codebase was surveyed and found to contain nothing.
|
|
526
|
+
*/
|
|
527
|
+
readonly territories: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
528
|
+
/** Stable within one expedition; derived from the territory's root path. */
|
|
529
|
+
readonly id: v.StringSchema<undefined>;
|
|
530
|
+
/** Human label (the module name, or the directory the territory is rooted at). */
|
|
531
|
+
readonly label: v.StringSchema<undefined>;
|
|
532
|
+
/** Repo-relative roots the territory owns. Empty ⇒ the whole codebase (the single-territory case). */
|
|
533
|
+
readonly roots: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
534
|
+
/** How many source files the manifest counted under those roots. */
|
|
535
|
+
readonly fileCount: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
536
|
+
/**
|
|
537
|
+
* Approximate source tokens (bytes / 4 over the tree's blob sizes). The sizing input, and what
|
|
538
|
+
* the window shows a human deciding whether a low coverage share is a big territory or a lazy
|
|
539
|
+
* pass. Approximate is stated in the NAME, because it is a byte estimate and never a count.
|
|
540
|
+
*/
|
|
541
|
+
readonly approxTokens: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
542
|
+
/**
|
|
543
|
+
* How the territory was derived, so a reader can tell a blueprint's own decomposition from the
|
|
544
|
+
* fallback the platform computed for a repository that has never been blueprinted.
|
|
545
|
+
*/
|
|
546
|
+
readonly source: v.OptionalSchema<v.PicklistSchema<["blueprint", "directory", "whole-codebase"], undefined>, "directory">;
|
|
547
|
+
/**
|
|
548
|
+
* The subtree shas of the territory's roots, one per root, in `roots` order. A string compare
|
|
549
|
+
* against a later survey answers "has this territory changed since it was fished" with no diff.
|
|
550
|
+
* Recorded now because it comes free with the tree read.
|
|
551
|
+
*/
|
|
552
|
+
readonly subtreeShas: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
553
|
+
}, undefined>, undefined>, undefined>;
|
|
554
|
+
/** What the expedition planned to fish, and what the pass budget cut. */
|
|
555
|
+
readonly plan: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
556
|
+
/** Most dispatches this expedition may make. */
|
|
557
|
+
readonly passBudget: v.NumberSchema<undefined>;
|
|
558
|
+
/** How many cells the full (territory x angle) matrix had, before the budget trimmed it. */
|
|
559
|
+
readonly plannedCells: v.NumberSchema<undefined>;
|
|
560
|
+
/** The cells the budget cut, by territory and angle. Empty when the matrix fitted. */
|
|
561
|
+
readonly unfished: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
562
|
+
readonly territoryId: v.StringSchema<undefined>;
|
|
563
|
+
/** The territory's label as it stood when the plan was made (never looked up at render time). */
|
|
564
|
+
readonly territoryLabel: v.StringSchema<undefined>;
|
|
565
|
+
readonly phaseId: v.StringSchema<undefined>;
|
|
566
|
+
/** The angle's label as it stood when the plan was made. */
|
|
567
|
+
readonly phaseTitle: v.StringSchema<undefined>;
|
|
568
|
+
}, undefined>, undefined>, readonly []>;
|
|
569
|
+
/**
|
|
570
|
+
* True when the provider TRUNCATED the tree the survey partitioned. A truncated tree is not a
|
|
571
|
+
* manifest: the territories cover what was read, and the coverage record below is a share of
|
|
572
|
+
* that rather than of the repository. Stated because the two readings are opposite and nothing
|
|
573
|
+
* else in the record can tell them apart.
|
|
574
|
+
*/
|
|
575
|
+
readonly treeTruncated: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
576
|
+
/**
|
|
577
|
+
* Set when the codebase survey could not run at all (no repository bound to the run, or the
|
|
578
|
+
* bound client cannot enumerate a tree). The expedition then fishes the whole codebase as one
|
|
579
|
+
* territory, which is the shipped behaviour, and this says WHY rather than leaving a
|
|
580
|
+
* single-territory plan looking like a small repository.
|
|
581
|
+
*/
|
|
582
|
+
readonly surveyUnavailableReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
583
|
+
}, undefined>, undefined>, undefined>;
|
|
311
584
|
/** Identifier of the model that fished, for transparency. */
|
|
312
585
|
readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
313
586
|
/**
|
|
@@ -329,6 +602,18 @@ export type BugFishingStepState = v.InferOutput<typeof bugFishingStepStateSchema
|
|
|
329
602
|
export declare const bugFishingAgentOutputSchema: v.ObjectSchema<{
|
|
330
603
|
/** What this pass covered and what it concluded, in one paragraph. */
|
|
331
604
|
readonly summary: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
605
|
+
/**
|
|
606
|
+
* The paths this pass actually READ, in the frame the agent works in (its own working directory,
|
|
607
|
+
* which is the service's subtree in a monorepo), so the engine can compute a coverage record
|
|
608
|
+
* against the territory manifest it handed over.
|
|
609
|
+
*
|
|
610
|
+
* Bounded in the schema rather than only in the prompt, and the bound is a BACKSTOP well above
|
|
611
|
+
* any real territory: {@link BUG_FISHING_MAX_FILES_READ} paths is more than a manifest sized for
|
|
612
|
+
* one pass can hold, so an honest pass never meets it. A list that overruns it is not a coverage
|
|
613
|
+
* report at all, and falls back to none: the phase then records NO coverage, the same answer a
|
|
614
|
+
* pass that listed nothing gets, because neither one said anything the platform can count.
|
|
615
|
+
*/
|
|
616
|
+
readonly filesRead: v.SchemaWithFallback<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithFallback<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 400, undefined>]>, "">, undefined>, v.MaxLengthAction<string[], 2000, undefined>]>, readonly []>;
|
|
332
617
|
/** The findings this pass surfaced. */
|
|
333
618
|
readonly findings: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.ObjectSchema<{
|
|
334
619
|
readonly path: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
package/dist/bugFishing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bugFishing.d.ts","sourceRoot":"","sources":["../src/bugFishing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuB5B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,YAChC,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,cAAc,CACN,CAAA;AAEV,eAAO,MAAM,uBAAuB,mKAAoC,CAAA;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,2EAA2E;AAC3E,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAA;IACZ,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,yBAAyB,EAmFzD,CAAA;AAIV;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAU7E;AAED,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,oEAAoD,CAAA;AACzF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EAKnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,uGAOtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,wDAAwC,CAAA;AAC/E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,4EAA4D,CAAA;AACpG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;IAChC,mFAAmF;;IAEnF,qEAAqE;;IAErE,oFAAoF;;;IAGpF,yFAAyF;;IAEzF,qFAAqF;;IAErF,wDAAwD;;
|
|
1
|
+
{"version":3,"file":"bugFishing.d.ts","sourceRoot":"","sources":["../src/bugFishing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuB5B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,YAChC,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,cAAc,CACN,CAAA;AAEV,eAAO,MAAM,uBAAuB,mKAAoC,CAAA;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,2EAA2E;AAC3E,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAA;IACZ,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,yBAAyB,EAmFzD,CAAA;AAIV;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAU7E;AAED,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,oEAAoD,CAAA;AACzF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EAKnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,uGAOtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,wDAAwC,CAAA;AAC/E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAA;AAEjD,wDAAwD;AACxD,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAI/C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB;IACpC,4EAA4E;;IAE5E,kFAAkF;;IAElF,sGAAsG;;IAEtG,oEAAoE;;IAEpE;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,mBAAmB,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;IAEvC,iGAAiG;;;IAGjG,4DAA4D;;aAE5D,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gDAAgD;;IAEhD,4FAA4F;;IAE5F,sFAAsF;;;QAnBtF,iGAAiG;;;QAGjG,4DAA4D;;;IAkB5D;;;;;OAKG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;IACnC,yDAAyD;;IAEzD,qFAAqF;;IAErF,2FAA2F;;IAE3F,6FAA6F;;aAE7F,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,4EAA4D,CAAA;AACpG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;IAChC,mFAAmF;;IAEnF,qEAAqE;;IAErE,oFAAoF;;;IAGpF,yFAAyF;;IAEzF,qFAAqF;;IAErF,wDAAwD;;IAExD;;;;OAIG;;IAEH;;;OAGG;;IAEH,qGAAqG;;QA/CrG,yDAAyD;;QAEzD,qFAAqF;;QAErF,2FAA2F;;QAE3F,6FAA6F;;;IA2C7F;;;;;;OAMG;;aAEH,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,+DAA+C,CAAA;AACvF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB;IAChC,0EAA0E;;IAE1E,+FAA+F;;IAE/F;;;OAGG;;IAEH,2FAA2F;;IAE3F,mEAAmE;;IAEnE,oCAAoC;;IAEpC,kEAAkE;;aAElE,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,QAAa,CAAA;AAExD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAKT;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;IAClC,+EAA+E;;IAE/E,oFAAoF;;IAEpF,6EAA6E;;IAE7E,0FAA0F;;IAE1F,gDAAgD;;;;;IAKhD,sBAAsB;;IAEtB,gFAAgF;;IAEhF,6FAA6F;;IAE7F,mFAAmF;;IAEnF,+DAA+D;;IAE/D;;;;;OAKG;;QA3FH,0EAA0E;;QAE1E,+FAA+F;;QAE/F;;;WAGG;;QAEH,2FAA2F;;QAE3F,mEAAmE;;QAEnE,oCAAoC;;QAEpC,kEAAkE;;;IA8ElE,sFAAsF;;aAEtF,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qEAAqD,CAAA;AACxF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;IAEpC,wDAAwD;;QA1LxD,mFAAmF;;QAEnF,qEAAqE;;QAErE,oFAAoF;;;QAGpF,yFAAyF;;QAEzF,qFAAqF;;QAErF,wDAAwD;;QAExD;;;;WAIG;;QAEH;;;WAGG;;QAEH,qGAAqG;;YA/CrG,yDAAyD;;YAEzD,qFAAqF;;YAErF,2FAA2F;;YAE3F,6FAA6F;;;QA2C7F;;;;;;WAMG;;;IA4JH;;;;;OAKG;;IAEH,0FAA0F;;QAnE1F,+EAA+E;;QAE/E,oFAAoF;;QAEpF,6EAA6E;;QAE7E,0FAA0F;;QAE1F,gDAAgD;;;;;QAKhD,sBAAsB;;QAEtB,gFAAgF;;QAEhF,6FAA6F;;QAE7F,mFAAmF;;QAEnF,+DAA+D;;QAE/D;;;;;WAKG;;YA3FH,0EAA0E;;YAE1E,+FAA+F;;YAE/F;;;eAGG;;YAEH,2FAA2F;;YAE3F,mEAAmE;;YAEnE,oCAAoC;;YAEpC,kEAAkE;;;QA8ElE,sFAAsF;;;IAuCtF;;;;;;;;;;OAUG;;QAnUH,4EAA4E;;QAE5E,kFAAkF;;QAElF,sGAAsG;;QAEtG,oEAAoE;;QAEpE;;;;WAIG;;QAEH;;;WAGG;;QAEH;;;;WAIG;;;IA8SH,yEAAyE;;QAzQzE,gDAAgD;;QAEhD,4FAA4F;;QAE5F,sFAAsF;;;YAnBtF,iGAAiG;;;YAGjG,4DAA4D;;;QAkB5D;;;;;WAKG;;QAEH;;;;;WAKG;;;IAyPH,6DAA6D;;IAE7D;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAIjF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;IACtC,sEAAsE;;IAEtE;;;;;;;;;;OAUG;;IAQH,uCAAuC;;;;;;;;;;;;;;2BAkBrB,QAAQ;uBACZ,OAAO;6BACD,QAAQ;;;;aAQ5B,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAIrF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;IAC1C,yFAAyF;;IAEzF,0EAA0E;;aAE1E,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,+BAAe,CAAA;AACnD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
package/dist/bugFishing.js
CHANGED
|
@@ -169,6 +169,137 @@ export const bugFishingFindingKindSchema = v.picklist([
|
|
|
169
169
|
]);
|
|
170
170
|
/** How sure the agent is that the finding is real — its own judgement, never platform-derived. */
|
|
171
171
|
export const bugFishingConfidenceSchema = v.picklist(['high', 'medium', 'low']);
|
|
172
|
+
/**
|
|
173
|
+
* The most container dispatches one expedition may make when nobody names a number.
|
|
174
|
+
*
|
|
175
|
+
* Three times today's eight-angle expedition. This is a COUNT, not a spend gate: the engine
|
|
176
|
+
* already runs the workspace's budget check before every dispatch, so an over-budget workspace
|
|
177
|
+
* pauses between passes regardless. What this bounds is a run that is within budget and
|
|
178
|
+
* unreasonably long, which is what a partitioned codebase makes possible: six territories under
|
|
179
|
+
* eight angles is forty-eight passes, and most of that matrix is not worth fishing.
|
|
180
|
+
*/
|
|
181
|
+
export const BUG_FISHING_DEFAULT_PASS_BUDGET = 24;
|
|
182
|
+
/** The most a task may raise its own pass budget to. */
|
|
183
|
+
export const BUG_FISHING_MAX_PASS_BUDGET = 96;
|
|
184
|
+
/**
|
|
185
|
+
* The most paths one pass's `filesRead` may carry before the list stops being a coverage report.
|
|
186
|
+
*
|
|
187
|
+
* A territory is sized to what one pass can read a meaningful share of, so its manifest is
|
|
188
|
+
* hundreds of files and never thousands. This is the shape backstop above that, not a limit an
|
|
189
|
+
* honest pass approaches.
|
|
190
|
+
*/
|
|
191
|
+
export const BUG_FISHING_MAX_FILES_READ = 2_000;
|
|
192
|
+
// ---- Territories: the partition of a large codebase --------------------------
|
|
193
|
+
/**
|
|
194
|
+
* A cohesive slice of the codebase the expedition fishes as one unit.
|
|
195
|
+
*
|
|
196
|
+
* A large codebase cannot be fished as one scope: a pass told to "decide where this angle could
|
|
197
|
+
* bite, then read narrowly" reads whatever its first grep pointed at, and a module nobody read
|
|
198
|
+
* then reports exactly like a module that was read and found clean. Territories are the platform
|
|
199
|
+
* COMPUTING the partition (from the repository tree, blueprint modules first, then package and
|
|
200
|
+
* directory boundaries) so the model can go on judging code rather than inventing a module map.
|
|
201
|
+
*
|
|
202
|
+
* A territory id is an OPEN vocabulary, unlike a phase id: it is derived from the tree, and the
|
|
203
|
+
* tree moves. Nothing looks a territory up by id at render time, which is why the label and the
|
|
204
|
+
* roots are RECORDED here rather than re-derived: a phase whose territory a later survey no
|
|
205
|
+
* longer produces is still rendered from what the run itself fished.
|
|
206
|
+
*/
|
|
207
|
+
export const bugFishingTerritorySchema = v.object({
|
|
208
|
+
/** Stable within one expedition; derived from the territory's root path. */
|
|
209
|
+
id: v.string(),
|
|
210
|
+
/** Human label (the module name, or the directory the territory is rooted at). */
|
|
211
|
+
label: v.string(),
|
|
212
|
+
/** Repo-relative roots the territory owns. Empty ⇒ the whole codebase (the single-territory case). */
|
|
213
|
+
roots: v.optional(v.array(v.string()), []),
|
|
214
|
+
/** How many source files the manifest counted under those roots. */
|
|
215
|
+
fileCount: v.optional(v.number(), 0),
|
|
216
|
+
/**
|
|
217
|
+
* Approximate source tokens (bytes / 4 over the tree's blob sizes). The sizing input, and what
|
|
218
|
+
* the window shows a human deciding whether a low coverage share is a big territory or a lazy
|
|
219
|
+
* pass. Approximate is stated in the NAME, because it is a byte estimate and never a count.
|
|
220
|
+
*/
|
|
221
|
+
approxTokens: v.optional(v.number(), 0),
|
|
222
|
+
/**
|
|
223
|
+
* How the territory was derived, so a reader can tell a blueprint's own decomposition from the
|
|
224
|
+
* fallback the platform computed for a repository that has never been blueprinted.
|
|
225
|
+
*/
|
|
226
|
+
source: v.optional(v.picklist(['blueprint', 'directory', 'whole-codebase']), 'directory'),
|
|
227
|
+
/**
|
|
228
|
+
* The subtree shas of the territory's roots, one per root, in `roots` order. A string compare
|
|
229
|
+
* against a later survey answers "has this territory changed since it was fished" with no diff.
|
|
230
|
+
* Recorded now because it comes free with the tree read.
|
|
231
|
+
*/
|
|
232
|
+
subtreeShas: v.optional(v.array(v.string()), []),
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* The single territory a codebase small enough to fish whole is partitioned into.
|
|
236
|
+
*
|
|
237
|
+
* Named rather than spelled out at each site because the PASS-THROUGH is a property worth
|
|
238
|
+
* pinning: a small repository plans one territory, its phases carry no territory id, and the
|
|
239
|
+
* expedition it gets is byte-for-byte the one that shipped before territories existed.
|
|
240
|
+
*/
|
|
241
|
+
export const WHOLE_CODEBASE_TERRITORY_ID = 'whole-codebase';
|
|
242
|
+
/**
|
|
243
|
+
* One cell of the matrix that was planned but NOT fished, because the pass budget ran out.
|
|
244
|
+
*
|
|
245
|
+
* A cap silent about its tail teaches the reader that the tail was clean. This is the tail,
|
|
246
|
+
* named: which angle over which territory nobody looked at on this run.
|
|
247
|
+
*/
|
|
248
|
+
export const bugFishingUnfishedCellSchema = v.object({
|
|
249
|
+
territoryId: v.string(),
|
|
250
|
+
/** The territory's label as it stood when the plan was made (never looked up at render time). */
|
|
251
|
+
territoryLabel: v.string(),
|
|
252
|
+
phaseId: v.string(),
|
|
253
|
+
/** The angle's label as it stood when the plan was made. */
|
|
254
|
+
phaseTitle: v.string(),
|
|
255
|
+
});
|
|
256
|
+
/**
|
|
257
|
+
* What the expedition DECIDED to fish, and what it decided not to.
|
|
258
|
+
*
|
|
259
|
+
* Written before the first pass runs, so the window can state the shape of the hunt while it is
|
|
260
|
+
* still in flight, and so the record of an expedition a human stopped early says what was left.
|
|
261
|
+
*/
|
|
262
|
+
export const bugFishingPlanSchema = v.object({
|
|
263
|
+
/** Most dispatches this expedition may make. */
|
|
264
|
+
passBudget: v.number(),
|
|
265
|
+
/** How many cells the full (territory x angle) matrix had, before the budget trimmed it. */
|
|
266
|
+
plannedCells: v.number(),
|
|
267
|
+
/** The cells the budget cut, by territory and angle. Empty when the matrix fitted. */
|
|
268
|
+
unfished: v.optional(v.array(bugFishingUnfishedCellSchema), []),
|
|
269
|
+
/**
|
|
270
|
+
* True when the provider TRUNCATED the tree the survey partitioned. A truncated tree is not a
|
|
271
|
+
* manifest: the territories cover what was read, and the coverage record below is a share of
|
|
272
|
+
* that rather than of the repository. Stated because the two readings are opposite and nothing
|
|
273
|
+
* else in the record can tell them apart.
|
|
274
|
+
*/
|
|
275
|
+
treeTruncated: v.optional(v.boolean(), false),
|
|
276
|
+
/**
|
|
277
|
+
* Set when the codebase survey could not run at all (no repository bound to the run, or the
|
|
278
|
+
* bound client cannot enumerate a tree). The expedition then fishes the whole codebase as one
|
|
279
|
+
* territory, which is the shipped behaviour, and this says WHY rather than leaving a
|
|
280
|
+
* single-territory plan looking like a small repository.
|
|
281
|
+
*/
|
|
282
|
+
surveyUnavailableReason: v.optional(v.nullable(v.string())),
|
|
283
|
+
});
|
|
284
|
+
/**
|
|
285
|
+
* What one pass actually read, intersected with its territory's manifest.
|
|
286
|
+
*
|
|
287
|
+
* SELF-REPORTED, and the record says so in the field name: the agent lists the paths it read and
|
|
288
|
+
* the engine computes the share against the manifest it handed over. A territory with a low share
|
|
289
|
+
* is what tells a human that "found nothing" here means "did not look", which is the distinction
|
|
290
|
+
* the whole partition exists to preserve. Verifying it against the tool-call trajectory sink is a
|
|
291
|
+
* later, different producer, and would say so.
|
|
292
|
+
*/
|
|
293
|
+
export const bugFishingCoverageSchema = v.object({
|
|
294
|
+
/** How many manifest files the pass reported reading. */
|
|
295
|
+
filesRead: v.number(),
|
|
296
|
+
/** How many files the territory's manifest held. Zero ⇒ nothing to be a share OF. */
|
|
297
|
+
manifestFiles: v.number(),
|
|
298
|
+
/** Paths the pass reported that the manifest does not have (a wander, or a stale read). */
|
|
299
|
+
offManifest: v.optional(v.number(), 0),
|
|
300
|
+
/** Always `self-reported` today; the field exists so a verified record can say it is one. */
|
|
301
|
+
source: v.optional(v.picklist(['self-reported']), 'self-reported'),
|
|
302
|
+
});
|
|
172
303
|
/** A phase's lifecycle across the expedition's successive dispatches. */
|
|
173
304
|
export const bugFishingPhaseStatusSchema = v.picklist(['pending', 'fishing', 'completed', 'failed']);
|
|
174
305
|
/**
|
|
@@ -192,6 +323,27 @@ export const bugFishingPhaseSchema = v.object({
|
|
|
192
323
|
settledAt: v.optional(v.nullable(v.number())),
|
|
193
324
|
/** Why the pass failed, when it did. Null otherwise. */
|
|
194
325
|
failureReason: v.optional(v.nullable(v.string())),
|
|
326
|
+
/**
|
|
327
|
+
* The territory this pass fished, or null for the whole codebase. Null is what every
|
|
328
|
+
* expedition stored before territories existed carries, and what a small codebase still
|
|
329
|
+
* carries today, so a stored run parses unchanged either way.
|
|
330
|
+
*/
|
|
331
|
+
territoryId: v.optional(v.nullable(v.string())),
|
|
332
|
+
/**
|
|
333
|
+
* The territory's label as it stood when this pass ran. Recorded rather than looked up: a
|
|
334
|
+
* territory is derived from the tree, and a later survey of a moved tree may not produce it.
|
|
335
|
+
*/
|
|
336
|
+
territoryLabel: v.optional(v.nullable(v.string())),
|
|
337
|
+
/** What the pass reported reading, against the manifest it was given. Null when it reported none. */
|
|
338
|
+
coverage: v.optional(v.nullable(bugFishingCoverageSchema)),
|
|
339
|
+
/**
|
|
340
|
+
* How many findings were dropped for pointing OUTSIDE this pass's territory. The brief tells a
|
|
341
|
+
* pass what it is not responsible for and the platform holds it to that at coercion, so a pass
|
|
342
|
+
* that wanders is corrected rather than exhorted. Counted rather than silent, so a human can
|
|
343
|
+
* see how often it happens. Absent on a pass that was never scoped to a territory, which is a
|
|
344
|
+
* different fact from a scoped pass that dropped none.
|
|
345
|
+
*/
|
|
346
|
+
outOfScopeFindings: v.optional(v.number()),
|
|
195
347
|
});
|
|
196
348
|
/**
|
|
197
349
|
* How far a marked finding's spawn has got.
|
|
@@ -282,6 +434,8 @@ export const bugFishingFindingSchema = v.object({
|
|
|
282
434
|
id: v.string(),
|
|
283
435
|
/** The phase that surfaced it (a phase id; see {@link describeBugFishingPhase}). */
|
|
284
436
|
phaseId: v.string(),
|
|
437
|
+
/** The territory the pass was fishing, or null for a whole-codebase pass. */
|
|
438
|
+
territoryId: v.optional(v.nullable(v.string())),
|
|
285
439
|
/** Repo-relative path the finding concerns; empty when it is not anchored to one file. */
|
|
286
440
|
path: v.string(),
|
|
287
441
|
/** The line the finding anchors to, or null. */
|
|
@@ -341,6 +495,20 @@ export const bugFishingStepStateSchema = v.object({
|
|
|
341
495
|
currentPhaseIndex: v.optional(v.number(), 0),
|
|
342
496
|
/** Every finding surfaced so far, oldest phase first, severity-ordered within a phase. */
|
|
343
497
|
findings: v.optional(v.array(bugFishingFindingSchema), []),
|
|
498
|
+
/**
|
|
499
|
+
* The partition the survey computed, in the order the expedition fishes them. One entry whose
|
|
500
|
+
* `source` is `whole-codebase` for a codebase small enough to fish whole.
|
|
501
|
+
*
|
|
502
|
+
* DESCRIPTORS only, never file lists: this rides the run's `detail` blob, re-serialised on
|
|
503
|
+
* every progress write, and a thousand paths per territory would put the manifest in the blob
|
|
504
|
+
* thirty times over. The per-pass manifest is re-rendered from the cached tree at dispatch.
|
|
505
|
+
*
|
|
506
|
+
* ABSENT, never `[]`, on an expedition that predates territories: an empty array would claim
|
|
507
|
+
* the codebase was surveyed and found to contain nothing.
|
|
508
|
+
*/
|
|
509
|
+
territories: v.optional(v.array(bugFishingTerritorySchema)),
|
|
510
|
+
/** What the expedition planned to fish, and what the pass budget cut. */
|
|
511
|
+
plan: v.optional(v.nullable(bugFishingPlanSchema)),
|
|
344
512
|
/** Identifier of the model that fished, for transparency. */
|
|
345
513
|
model: v.optional(v.nullable(v.string())),
|
|
346
514
|
/**
|
|
@@ -362,6 +530,18 @@ export const bugFishingStepStateSchema = v.object({
|
|
|
362
530
|
export const bugFishingAgentOutputSchema = v.object({
|
|
363
531
|
/** What this pass covered and what it concluded, in one paragraph. */
|
|
364
532
|
summary: v.fallback(v.optional(v.string()), undefined),
|
|
533
|
+
/**
|
|
534
|
+
* The paths this pass actually READ, in the frame the agent works in (its own working directory,
|
|
535
|
+
* which is the service's subtree in a monorepo), so the engine can compute a coverage record
|
|
536
|
+
* against the territory manifest it handed over.
|
|
537
|
+
*
|
|
538
|
+
* Bounded in the schema rather than only in the prompt, and the bound is a BACKSTOP well above
|
|
539
|
+
* any real territory: {@link BUG_FISHING_MAX_FILES_READ} paths is more than a manifest sized for
|
|
540
|
+
* one pass can hold, so an honest pass never meets it. A list that overruns it is not a coverage
|
|
541
|
+
* report at all, and falls back to none: the phase then records NO coverage, the same answer a
|
|
542
|
+
* pass that listed nothing gets, because neither one said anything the platform can count.
|
|
543
|
+
*/
|
|
544
|
+
filesRead: v.fallback(v.pipe(v.array(v.fallback(v.pipe(v.string(), v.maxLength(400)), '')), v.maxLength(BUG_FISHING_MAX_FILES_READ)), []),
|
|
365
545
|
/** The findings this pass surfaced. */
|
|
366
546
|
findings: v.fallback(v.array(v.fallback(v.object({
|
|
367
547
|
path: v.fallback(v.string(), ''),
|
package/dist/bugFishing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bugFishing.js","sourceRoot":"","sources":["../src/bugFishing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bugFishing.js","sourceRoot":"","sources":["../src/bugFishing.ts"],"names":[],"mappings":"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"}
|
package/dist/entities.d.ts
CHANGED
|
@@ -273,6 +273,7 @@ export declare const blockSchema: v.ObjectSchema<{
|
|
|
273
273
|
readonly reviewSkillIds: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, v.MaxLengthAction<string[], 8, undefined>]>, undefined>;
|
|
274
274
|
readonly fishingPhaseIds: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 60, undefined>]>, undefined>, v.MaxLengthAction<string[], 32, undefined>]>, undefined>;
|
|
275
275
|
readonly fishingFocus: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 4000, undefined>]>, undefined>;
|
|
276
|
+
readonly fishingMaxPasses: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 96, undefined>]>, undefined>;
|
|
276
277
|
readonly custom: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>;
|
|
277
278
|
}, undefined>, undefined>, undefined>;
|
|
278
279
|
/**
|