@cat-factory/contracts 0.166.0 → 0.168.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/execution.d.ts +78 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +13 -0
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/merge.d.ts +289 -1
- package/dist/merge.d.ts.map +1 -1
- package/dist/merge.js +60 -0
- package/dist/merge.js.map +1 -1
- package/dist/mergeTrackRecord.d.ts +183 -0
- package/dist/mergeTrackRecord.d.ts.map +1 -0
- package/dist/mergeTrackRecord.js +251 -0
- package/dist/mergeTrackRecord.js.map +1 -0
- package/dist/notification-webhooks.d.ts +5 -3
- package/dist/notification-webhooks.d.ts.map +1 -1
- package/dist/notifications.d.ts +42 -3
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +33 -1
- package/dist/notifications.js.map +1 -1
- package/dist/public-api.d.ts +3 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/reproduction.d.ts +163 -0
- package/dist/reproduction.d.ts.map +1 -0
- package/dist/reproduction.js +166 -0
- package/dist/reproduction.js.map +1 -0
- package/dist/routes/agent-runs.d.ts +56 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +227 -1
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/execution.js +5 -1
- package/dist/routes/execution.js.map +1 -1
- package/dist/routes/human-review.d.ts +28 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +140 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/merge.d.ts +354 -0
- package/dist/routes/merge.d.ts.map +1 -1
- package/dist/routes/mergeTrackRecord.d.ts +113 -0
- package/dist/routes/mergeTrackRecord.d.ts.map +1 -0
- package/dist/routes/mergeTrackRecord.js +33 -0
- package/dist/routes/mergeTrackRecord.js.map +1 -0
- package/dist/routes/notification-webhooks.d.ts +3 -3
- package/dist/routes/notifications.d.ts +12 -4
- package/dist/routes/notifications.d.ts.map +1 -1
- package/dist/routes/notifications.js +4 -2
- package/dist/routes/notifications.js.map +1 -1
- package/dist/routes/public-api.d.ts +9 -3
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/slack.d.ts +3 -3
- package/dist/routes/visual-confirm.d.ts +84 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +180 -2
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/slack.d.ts +2 -2
- package/dist/snapshot.d.ts +90 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/notifications.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { mergeAssessmentSchema } from './merge.js';
|
|
3
3
|
import { platformAlertReasonSchema, platformObservabilityWindowSchema } from './observability.js';
|
|
4
|
+
import { changeClassSchema, reviewEffortSchema } from './mergeTrackRecord.js';
|
|
4
5
|
import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
|
|
5
6
|
// ---------------------------------------------------------------------------
|
|
6
7
|
// Notification wire contracts. A notification is a first-class, human-actionable
|
|
@@ -58,6 +59,10 @@ import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
|
|
|
58
59
|
// when the account recovers, and re-notifies only when the firing set
|
|
59
60
|
// of conditions changes (not every sweep). Informational: clicking it
|
|
60
61
|
// opens the operator dashboard; `act` just marks it read.
|
|
62
|
+
// - `merge_tag_request`— a pull request cat-factory opened was merged DIRECTLY on the VCS
|
|
63
|
+
// provider (bypassing the merge card), so the merge track record has
|
|
64
|
+
// no reviewer-effort tag. A lightweight, dismissible nudge asking for
|
|
65
|
+
// one tap; it gates nothing and the record stays valid untagged.
|
|
61
66
|
// - `budget_paused` — one or more runs were paused by the spend safeguard (the workspace,
|
|
62
67
|
// account, or user budget is exhausted). Workspace-scoped (one card,
|
|
63
68
|
// not one per run) and purely informational: the sweeper never re-drives
|
|
@@ -93,6 +98,7 @@ export const notificationTypeSchema = v.picklist([
|
|
|
93
98
|
'platform_health',
|
|
94
99
|
'budget_paused',
|
|
95
100
|
'key_drift',
|
|
101
|
+
'merge_tag_request',
|
|
96
102
|
]);
|
|
97
103
|
/**
|
|
98
104
|
* The closed set of notification types that count as "a task is waiting on a human review"
|
|
@@ -106,7 +112,9 @@ export const notificationTypeSchema = v.picklist([
|
|
|
106
112
|
* Deliberately EXCLUDED: failure-remediation cards (`ci_failed`, `test_failed`,
|
|
107
113
|
* `release_regression`) — "the machine needs help", not "a human owes a review" — and
|
|
108
114
|
* block-less/system cards (`platform_health`, `budget_paused`, `key_drift`, `initiative`) that
|
|
109
|
-
* aren't tied to a reviewable task.
|
|
115
|
+
* aren't tied to a reviewable task. `merge_tag_request` is excluded too: the PR it concerns has
|
|
116
|
+
* ALREADY merged, so it is a post-hoc nudge for one tap — counting it as review debt would
|
|
117
|
+
* friction task authoring over work that is finished.
|
|
110
118
|
*/
|
|
111
119
|
export const REVIEW_WAIT_NOTIFICATION_TYPES = [
|
|
112
120
|
'merge_review',
|
|
@@ -222,6 +230,18 @@ export const notificationPayloadSchema = v.object({
|
|
|
222
230
|
* (D6.3) targets. Sorted by `(source, id)` so the identity is stable across sweeps.
|
|
223
231
|
*/
|
|
224
232
|
driftAffected: v.optional(v.array(keyDriftAffectedSchema)),
|
|
233
|
+
/**
|
|
234
|
+
* The run's deterministic change class, on a `merge_review` / `pipeline_complete` /
|
|
235
|
+
* `merge_tag_request` card — so the human sees WHAT KIND of change they are being asked to
|
|
236
|
+
* review or tag, and the SPA can show that class's accumulated track record alongside.
|
|
237
|
+
*/
|
|
238
|
+
changeClass: v.optional(changeClassSchema),
|
|
239
|
+
/**
|
|
240
|
+
* The merge track record the card's effort tag applies to. Carried on the merge-decision
|
|
241
|
+
* cards (so acting on one can tag in the same tap) and on a `merge_tag_request` (whose whole
|
|
242
|
+
* purpose is to tag it). Absent when no record was written (a best-effort side channel).
|
|
243
|
+
*/
|
|
244
|
+
mergeTrackRecordId: v.optional(v.string()),
|
|
225
245
|
});
|
|
226
246
|
/** A human-actionable item surfaced on the board. */
|
|
227
247
|
export const notificationSchema = v.object({
|
|
@@ -250,6 +270,18 @@ export const notificationSchema = v.object({
|
|
|
250
270
|
// ---- Request bodies -------------------------------------------------------
|
|
251
271
|
/** How a human resolved a notification from its card. */
|
|
252
272
|
export const resolveNotificationActionSchema = v.picklist(['act', 'dismiss']);
|
|
273
|
+
/**
|
|
274
|
+
* Body of `POST /notifications/:id/act`. Every field is optional, so `{}` is the historical
|
|
275
|
+
* no-body behaviour.
|
|
276
|
+
*
|
|
277
|
+
* On a `merge_review` / `pipeline_complete` card, `reviewEffort` records — in the SAME tap that
|
|
278
|
+
* confirms the merge — how much review the PR actually needed, onto the run's merge track
|
|
279
|
+
* record. Omitting it is always fine: the record keeps a null tag and nothing downstream breaks
|
|
280
|
+
* (tagging is a nudge, never a gate).
|
|
281
|
+
*/
|
|
282
|
+
export const actNotificationSchema = v.object({
|
|
283
|
+
reviewEffort: v.optional(v.nullable(reviewEffortSchema)),
|
|
284
|
+
});
|
|
253
285
|
// Remediation of a drifted sealed credential (ADR 0026 D6.3) is explicit + per-secret but has NO
|
|
254
286
|
// HTTP contract: the in-app `key_drift` card action drops every credential it lists (batch), and
|
|
255
287
|
// the `key-drift:drop` operator CLI drops a single `(source, id)`. Neither takes a wire body, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAE1E,8EAA8E;AAC9E,iFAAiF;AACjF,wEAAwE;AACxE,8EAA8E;AAC9E,iEAAiE;AACjE,2EAA2E;AAC3E,oFAAoF;AACpF,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,gEAAgE;AAChE,oFAAoF;AACpF,qFAAqF;AACrF,+DAA+D;AAC/D,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uFAAuF;AACvF,4FAA4F;AAC5F,wFAAwF;AACxF,yFAAyF;AACzF,4FAA4F;AAC5F,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6FAA6F;AAC7F,sFAAsF;AACtF,sFAAsF;AACtF,4FAA4F;AAC5F,gGAAgG;AAChG,6FAA6F;AAC7F,qFAAqF;AACrF,+FAA+F;AAC/F,gGAAgG;AAChG,+FAA+F;AAC/F,kGAAkG;AAClG,2FAA2F;AAC3F,6FAA6F;AAC7F,8FAA8F;AAC9F,0FAA0F;AAC1F,uFAAuF;AACvF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,yFAAyF;AACzF,qEAAqE;AACrE,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,+FAA+F;AAC/F,mFAAmF;AACnF,+FAA+F;AAC/F,8FAA8F;AAC9F,kGAAkG;AAClG,8FAA8F;AAC9F,kGAAkG;AAClG,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/C,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,WAAW;
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAE1E,8EAA8E;AAC9E,iFAAiF;AACjF,wEAAwE;AACxE,8EAA8E;AAC9E,iEAAiE;AACjE,2EAA2E;AAC3E,oFAAoF;AACpF,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,gEAAgE;AAChE,oFAAoF;AACpF,qFAAqF;AACrF,+DAA+D;AAC/D,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uFAAuF;AACvF,4FAA4F;AAC5F,wFAAwF;AACxF,yFAAyF;AACzF,4FAA4F;AAC5F,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6FAA6F;AAC7F,sFAAsF;AACtF,sFAAsF;AACtF,4FAA4F;AAC5F,gGAAgG;AAChG,6FAA6F;AAC7F,qFAAqF;AACrF,+FAA+F;AAC/F,gGAAgG;AAChG,+FAA+F;AAC/F,kGAAkG;AAClG,2FAA2F;AAC3F,6FAA6F;AAC7F,8FAA8F;AAC9F,0FAA0F;AAC1F,uFAAuF;AACvF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,yFAAyF;AACzF,qEAAqE;AACrE,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,+FAA+F;AAC/F,mFAAmF;AACnF,4FAA4F;AAC5F,8FAA8F;AAC9F,+FAA+F;AAC/F,0FAA0F;AAC1F,+FAA+F;AAC/F,8FAA8F;AAC9F,kGAAkG;AAClG,8FAA8F;AAC9F,kGAAkG;AAClG,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/C,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAA;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;CAC6B,CAAA;AAIhD,MAAM,iCAAiC,GAAkC,IAAI,GAAG,CAC9E,8BAA8B,CAC/B,CAAA;AAED,wFAAwF;AACxF,MAAM,UAAU,4BAA4B,CAAC,IAAsB;IACjE,OAAO,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,qGAAqG;IACrG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,2DAA2D;IAC3D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,+DAA+D;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;AAGlF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAG1E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4DAA4D;IAC5D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC7C,sEAAsE;IACtE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,kGAAkG;IAClG,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,iFAAiF;IACjF,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,mEAAmE;IACnE,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpD,mEAAmE;IACnE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,4EAA4E;IAC5E,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gFAAgF;IAChF,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACpF;;;;OAIG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,yGAAyG;IACzG,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,uFAAuF;IACvF,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9D;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1D;;;;OAIG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC3C,CAAC,CAAA;AAGF,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,wBAAwB;IAChC;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChD,iFAAiF;IACjF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,yDAAyD;IACzD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,wCAAwC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,mCAAmC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,wFAAwF;IACxF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,8DAA8D;IAC9D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAA;AAGF,8EAA8E;AAE9E,yDAAyD;AACzD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAG7E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CACzD,CAAC,CAAA;AAGF,iGAAiG;AACjG,iGAAiG;AACjG,iGAAiG;AACjG,iGAAiG;AACjG,+BAA+B"}
|
package/dist/public-api.d.ts
CHANGED
|
@@ -269,7 +269,7 @@ export type PublicPipelineList = v.InferOutput<typeof publicPipelineListSchema>;
|
|
|
269
269
|
export declare const publicNotificationListSchema: v.ObjectSchema<{
|
|
270
270
|
readonly notifications: v.ArraySchema<v.ObjectSchema<{
|
|
271
271
|
readonly id: v.StringSchema<undefined>;
|
|
272
|
-
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift"], undefined>;
|
|
272
|
+
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
|
|
273
273
|
readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
|
|
274
274
|
readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
|
|
275
275
|
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -315,6 +315,8 @@ export declare const publicNotificationListSchema: v.ObjectSchema<{
|
|
|
315
315
|
readonly reason: v.PicklistSchema<["key-mismatch", "corrupt"], undefined>;
|
|
316
316
|
readonly sealedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
317
317
|
}, undefined>, undefined>, undefined>;
|
|
318
|
+
readonly changeClass: v.OptionalSchema<v.PicklistSchema<["docs", "test", "dependency", "config", "source", "schema", "unknown"], undefined>, undefined>;
|
|
319
|
+
readonly mergeTrackRecordId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
318
320
|
}, undefined>, undefined>, undefined>;
|
|
319
321
|
readonly createdAt: v.NumberSchema<undefined>;
|
|
320
322
|
readonly resolvedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** The per-task tri-state that opts a run into the proof phase (an `agentConfig` value). */
|
|
3
|
+
export declare const reproductionProofModeSchema: v.PicklistSchema<["auto", "always", "off"], undefined>;
|
|
4
|
+
export type ReproductionProofMode = v.InferOutput<typeof reproductionProofModeSchema>;
|
|
5
|
+
/**
|
|
6
|
+
* Read the tri-state out of a free-form `agentConfig` value, degrading any unknown/stale/
|
|
7
|
+
* hand-edited entry to the default `auto` rather than throwing. THE single place the union is
|
|
8
|
+
* interpreted — an engine that hand-rolled its own literal comparison would silently drift from
|
|
9
|
+
* the schema the moment a fourth mode is added.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseReproductionProofMode(value: unknown): ReproductionProofMode;
|
|
12
|
+
/**
|
|
13
|
+
* How many agent+verify rounds the proof loop may run before it gives up and records
|
|
14
|
+
* `inconclusive`. Shares the pre-PR validation budget's shape and default so an operator meets
|
|
15
|
+
* one concept, not two.
|
|
16
|
+
*/
|
|
17
|
+
export declare const REPRODUCTION_DEFAULT_MAX_ATTEMPTS = 3;
|
|
18
|
+
/**
|
|
19
|
+
* At most this many declared test paths — the loop applies them one by one, so the list stays
|
|
20
|
+
* short. Anything beyond the cap is DROPPED, and the count of what was dropped rides
|
|
21
|
+
* {@link resolvedReproductionSchema}'s `omittedTestPaths` so the harness (and the PR report) can
|
|
22
|
+
* say the pre-fix tree was reconstructed from an incomplete set. A silent truncation here would
|
|
23
|
+
* be worse than a visible one: a dropped path can leave the base tree without the reproduction,
|
|
24
|
+
* which greens it and reads as "the test does not capture the defect".
|
|
25
|
+
*/
|
|
26
|
+
export declare const REPRODUCTION_MAX_TEST_PATHS = 20;
|
|
27
|
+
/**
|
|
28
|
+
* Longest accepted declared command / setup command. These are MODEL-AUTHORED strings that the
|
|
29
|
+
* harness runs through `sh -c`, so they are bounded at the engine's resolution boundary before
|
|
30
|
+
* they ever reach a job body: a "command" past this length is not the narrow test invocation the
|
|
31
|
+
* prompt asks for, and the engine declines the whole spec rather than shipping it (no proof is
|
|
32
|
+
* strictly better than a proof built on a command nobody can read).
|
|
33
|
+
*/
|
|
34
|
+
export declare const REPRODUCTION_MAX_COMMAND_CHARS = 2000;
|
|
35
|
+
/** Longest accepted declared test path. Beyond it the path is dropped and counted as omitted. */
|
|
36
|
+
export declare const REPRODUCTION_MAX_TEST_PATH_CHARS = 400;
|
|
37
|
+
/**
|
|
38
|
+
* The RESOLVED reproduction spec a dispatch carries: what to run and which files constitute the
|
|
39
|
+
* reproduction. Folded onto the agent run context and forwarded on the coding job body ONLY for
|
|
40
|
+
* the dispatch that opens the PR (the same rule as `validationChecks`). Absent ⇒ the run is not
|
|
41
|
+
* opted in, or carries no declaration, so the harness runs its existing path unchanged.
|
|
42
|
+
*/
|
|
43
|
+
export declare const resolvedReproductionSchema: v.ObjectSchema<{
|
|
44
|
+
/**
|
|
45
|
+
* The command that runs EXACTLY the declared reproduction test(s), as `sh -c` in the checkout.
|
|
46
|
+
* Run identically against both trees — the symmetry is what stops an environment defect from
|
|
47
|
+
* masquerading as a reproduction (see the initiative's D4).
|
|
48
|
+
*/
|
|
49
|
+
readonly command: v.StringSchema<undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* The test file(s) that constitute the reproduction, each a repo-relative path with no `..`
|
|
52
|
+
* segment (the engine drops anything else — see `omittedTestPaths`). Used to reconstruct the
|
|
53
|
+
* pre-fix tree when the run did NOT resume a branch that already carries them: the declared
|
|
54
|
+
* paths are applied onto the base worktree, never a whole-tree checkout (which would drag the
|
|
55
|
+
* fix across and green the base).
|
|
56
|
+
*/
|
|
57
|
+
readonly testPaths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* How many declared paths the engine DROPPED while resolving this spec (over the cap, empty,
|
|
60
|
+
* absolute, traversing, or over-long). Present only when non-zero, and carried so the proof
|
|
61
|
+
* can state that the pre-fix tree was rebuilt from an incomplete reproduction rather than
|
|
62
|
+
* quietly reporting a verdict about it. See {@link REPRODUCTION_MAX_TEST_PATHS}.
|
|
63
|
+
*/
|
|
64
|
+
readonly omittedTestPaths: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Optional command that makes a FRESH worktree runnable (a dependency install). Run in BOTH
|
|
67
|
+
* worktrees or neither — an asymmetric setup is exactly how a false `reproduced` is produced.
|
|
68
|
+
*/
|
|
69
|
+
readonly setupCommand: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
70
|
+
/** Repair-round budget; see {@link REPRODUCTION_DEFAULT_MAX_ATTEMPTS}. */
|
|
71
|
+
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
72
|
+
}, undefined>;
|
|
73
|
+
export type ResolvedReproduction = v.InferOutput<typeof resolvedReproductionSchema>;
|
|
74
|
+
/**
|
|
75
|
+
* The verdict, computed by the harness from the two exit codes:
|
|
76
|
+
*
|
|
77
|
+
* - `reproduced` — RED on the pre-fix tree, GREEN on the final tree. The only shape that is proof.
|
|
78
|
+
* - `inconclusive` — any other shape (green at base ⇒ the test does not capture the defect;
|
|
79
|
+
* red at both ⇒ the fix does not resolve it, or the environment is broken). Recorded honestly
|
|
80
|
+
* rather than dressed up; it never fails the step (see the initiative's D6).
|
|
81
|
+
* - `declared_infeasible` — the agent structurally declared reproduction impossible, with a
|
|
82
|
+
* reason and what it verified instead. Nothing was run.
|
|
83
|
+
*/
|
|
84
|
+
export declare const reproductionStatusSchema: v.PicklistSchema<["reproduced", "inconclusive", "declared_infeasible"], undefined>;
|
|
85
|
+
export type ReproductionStatus = v.InferOutput<typeof reproductionStatusSchema>;
|
|
86
|
+
/** One tree's run of the reproduction command. */
|
|
87
|
+
export declare const reproductionPhaseOutcomeSchema: v.ObjectSchema<{
|
|
88
|
+
/** Exit code (0 = pass); 124 on watchdog timeout, 127 on spawn failure, 130 on abort. */
|
|
89
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
90
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
91
|
+
/** Bounded, secret-scrubbed tail of the command's combined stdout+stderr. */
|
|
92
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
93
|
+
/** Wall-clock of the command, ms. */
|
|
94
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
95
|
+
/** Set when the command was killed by the per-command watchdog. */
|
|
96
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
97
|
+
/** Set when the phase's setup command failed, so the tree never ran the check meaningfully. */
|
|
98
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
99
|
+
}, undefined>;
|
|
100
|
+
export type ReproductionPhaseOutcome = v.InferOutput<typeof reproductionPhaseOutcomeSchema>;
|
|
101
|
+
/**
|
|
102
|
+
* The harness-computed reproduction report. Lenient throughout (`v.fallback`) so a
|
|
103
|
+
* partially-malformed payload from an older harness image degrades to a sensible shape rather
|
|
104
|
+
* than failing a run whose actual deliverable — the fix — is fine.
|
|
105
|
+
*/
|
|
106
|
+
export declare const reproductionReportSchema: v.ObjectSchema<{
|
|
107
|
+
readonly status: v.SchemaWithFallback<v.PicklistSchema<["reproduced", "inconclusive", "declared_infeasible"], undefined>, "inconclusive">;
|
|
108
|
+
/** The command that was run against both trees (empty for `declared_infeasible`). */
|
|
109
|
+
readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
110
|
+
readonly testPaths: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.StringSchema<undefined>, "">, undefined>, readonly []>;
|
|
111
|
+
/**
|
|
112
|
+
* How many declared paths were dropped before the proof ran (see the resolved spec's field of
|
|
113
|
+
* the same name). Non-zero means the pre-fix tree was rebuilt from an INCOMPLETE reproduction,
|
|
114
|
+
* which the report must say rather than imply — an omission is exactly what turns a green base
|
|
115
|
+
* into a misleading "the test does not capture the defect".
|
|
116
|
+
*/
|
|
117
|
+
readonly omittedTestPaths: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
118
|
+
/** The pre-fix tree's run. Absent for `declared_infeasible`. */
|
|
119
|
+
readonly base: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
120
|
+
/** Exit code (0 = pass); 124 on watchdog timeout, 127 on spawn failure, 130 on abort. */
|
|
121
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
122
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
123
|
+
/** Bounded, secret-scrubbed tail of the command's combined stdout+stderr. */
|
|
124
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
125
|
+
/** Wall-clock of the command, ms. */
|
|
126
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
127
|
+
/** Set when the command was killed by the per-command watchdog. */
|
|
128
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
129
|
+
/** Set when the phase's setup command failed, so the tree never ran the check meaningfully. */
|
|
130
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
131
|
+
}, undefined>, undefined>, undefined>;
|
|
132
|
+
/** The final tree's run. Absent for `declared_infeasible`, or when the base run settled it. */
|
|
133
|
+
readonly final: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
134
|
+
/** Exit code (0 = pass); 124 on watchdog timeout, 127 on spawn failure, 130 on abort. */
|
|
135
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
136
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
137
|
+
/** Bounded, secret-scrubbed tail of the command's combined stdout+stderr. */
|
|
138
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
139
|
+
/** Wall-clock of the command, ms. */
|
|
140
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
141
|
+
/** Set when the command was killed by the per-command watchdog. */
|
|
142
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
143
|
+
/** Set when the phase's setup command failed, so the tree never ran the check meaningfully. */
|
|
144
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
145
|
+
}, undefined>, undefined>, undefined>;
|
|
146
|
+
/** How many agent+verify rounds ran (1 = settled on the first pass). */
|
|
147
|
+
readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
148
|
+
readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
|
|
149
|
+
/** For `declared_infeasible`: WHY the bug could not be reproduced, verbatim from the agent. */
|
|
150
|
+
readonly reason: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
151
|
+
/**
|
|
152
|
+
* For `declared_infeasible`: what the agent verified INSTEAD, verbatim. This is the field that
|
|
153
|
+
* makes an infeasibility declaration reviewable rather than an empty section.
|
|
154
|
+
*/
|
|
155
|
+
readonly alternativeVerification: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
156
|
+
/** For `inconclusive`: which shape was observed, in one line, for the report and the step card. */
|
|
157
|
+
readonly note: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
158
|
+
readonly at: v.SchemaWithFallback<v.NumberSchema<undefined>, 0>;
|
|
159
|
+
}, undefined>;
|
|
160
|
+
export type ReproductionReport = v.InferOutput<typeof reproductionReportSchema>;
|
|
161
|
+
/** Parse an untrusted reproduction report (a harness payload), or `null` when unusable. */
|
|
162
|
+
export declare function parseReproductionReport(input: unknown): ReproductionReport | null;
|
|
163
|
+
//# sourceMappingURL=reproduction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reproduction.d.ts","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B,wDAAwC,CAAA;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEhF;AAED;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,IAAI,CAAA;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,OAAQ,CAAA;AAEnD,iGAAiG;AACjG,eAAO,MAAM,gCAAgC,MAAM,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;IACrC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;IAEH;;;OAGG;;IAEH,0EAA0E;;aAE1E,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAInF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,oFAInC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,kDAAkD;AAClD,eAAO,MAAM,8BAA8B;IACzC,yFAAyF;;;IAGzF,6EAA6E;;IAE7E,qCAAqC;;IAErC,mEAAmE;;IAEnE,+FAA+F;;aAE/F,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;IAEnC,qFAAqF;;;IAGrF;;;;;OAKG;;IAEH,gEAAgE;;QA/BhE,yFAAyF;;;QAGzF,6EAA6E;;QAE7E,qCAAqC;;QAErC,mEAAmE;;QAEnE,+FAA+F;;;IAwB/F,+FAA+F;;QAjC/F,yFAAyF;;;QAGzF,6EAA6E;;QAE7E,qCAAqC;;QAErC,mEAAmE;;QAEnE,+FAA+F;;;IA0B/F,wEAAwE;;;IAGxE,+FAA+F;;IAE/F;;;OAGG;;IAEH,mGAAmG;;;aAGnG,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAGjF"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Bugfix REPRODUCTION PROOF.
|
|
4
|
+
//
|
|
5
|
+
// A bugfix run's pull request states that a change fixes a defect. Everything the
|
|
6
|
+
// verification report captures today proves the state of the work at the END — the CI
|
|
7
|
+
// verdict, the pre-PR validation output, the tester report. None of it shows that the
|
|
8
|
+
// defect ever manifested, or that this change is what made it stop.
|
|
9
|
+
//
|
|
10
|
+
// This is the missing half: the executor-harness runs the run's DECLARED reproduction
|
|
11
|
+
// command twice — once against the pre-fix tree, once against the final tree — and reports
|
|
12
|
+
// the two exit codes with their captured output. Only red-then-green is proof. The verdict
|
|
13
|
+
// is computed by the harness from exit codes, never self-reported by the model, which is the
|
|
14
|
+
// whole point (the `repro-test` kind's `outcome` field has always been the model's own claim).
|
|
15
|
+
//
|
|
16
|
+
// A run for which reproduction is genuinely infeasible declares that STRUCTURALLY, with a
|
|
17
|
+
// reason and the alternative verification performed, so "could not be reproduced" is never
|
|
18
|
+
// indistinguishable from "nobody tried".
|
|
19
|
+
//
|
|
20
|
+
// The spec travels to the container IN THE JOB BODY (containers have no DB access), so all
|
|
21
|
+
// three transports work with no transport-specific wiring. See
|
|
22
|
+
// docs/initiatives/bugfix-reproduction-proof.md.
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
/** The per-task tri-state that opts a run into the proof phase (an `agentConfig` value). */
|
|
25
|
+
export const reproductionProofModeSchema = v.picklist(['auto', 'always', 'off']);
|
|
26
|
+
/**
|
|
27
|
+
* Read the tri-state out of a free-form `agentConfig` value, degrading any unknown/stale/
|
|
28
|
+
* hand-edited entry to the default `auto` rather than throwing. THE single place the union is
|
|
29
|
+
* interpreted — an engine that hand-rolled its own literal comparison would silently drift from
|
|
30
|
+
* the schema the moment a fourth mode is added.
|
|
31
|
+
*/
|
|
32
|
+
export function parseReproductionProofMode(value) {
|
|
33
|
+
return v.parse(v.fallback(reproductionProofModeSchema, 'auto'), value);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* How many agent+verify rounds the proof loop may run before it gives up and records
|
|
37
|
+
* `inconclusive`. Shares the pre-PR validation budget's shape and default so an operator meets
|
|
38
|
+
* one concept, not two.
|
|
39
|
+
*/
|
|
40
|
+
export const REPRODUCTION_DEFAULT_MAX_ATTEMPTS = 3;
|
|
41
|
+
/**
|
|
42
|
+
* At most this many declared test paths — the loop applies them one by one, so the list stays
|
|
43
|
+
* short. Anything beyond the cap is DROPPED, and the count of what was dropped rides
|
|
44
|
+
* {@link resolvedReproductionSchema}'s `omittedTestPaths` so the harness (and the PR report) can
|
|
45
|
+
* say the pre-fix tree was reconstructed from an incomplete set. A silent truncation here would
|
|
46
|
+
* be worse than a visible one: a dropped path can leave the base tree without the reproduction,
|
|
47
|
+
* which greens it and reads as "the test does not capture the defect".
|
|
48
|
+
*/
|
|
49
|
+
export const REPRODUCTION_MAX_TEST_PATHS = 20;
|
|
50
|
+
/**
|
|
51
|
+
* Longest accepted declared command / setup command. These are MODEL-AUTHORED strings that the
|
|
52
|
+
* harness runs through `sh -c`, so they are bounded at the engine's resolution boundary before
|
|
53
|
+
* they ever reach a job body: a "command" past this length is not the narrow test invocation the
|
|
54
|
+
* prompt asks for, and the engine declines the whole spec rather than shipping it (no proof is
|
|
55
|
+
* strictly better than a proof built on a command nobody can read).
|
|
56
|
+
*/
|
|
57
|
+
export const REPRODUCTION_MAX_COMMAND_CHARS = 2_000;
|
|
58
|
+
/** Longest accepted declared test path. Beyond it the path is dropped and counted as omitted. */
|
|
59
|
+
export const REPRODUCTION_MAX_TEST_PATH_CHARS = 400;
|
|
60
|
+
/**
|
|
61
|
+
* The RESOLVED reproduction spec a dispatch carries: what to run and which files constitute the
|
|
62
|
+
* reproduction. Folded onto the agent run context and forwarded on the coding job body ONLY for
|
|
63
|
+
* the dispatch that opens the PR (the same rule as `validationChecks`). Absent ⇒ the run is not
|
|
64
|
+
* opted in, or carries no declaration, so the harness runs its existing path unchanged.
|
|
65
|
+
*/
|
|
66
|
+
export const resolvedReproductionSchema = v.object({
|
|
67
|
+
/**
|
|
68
|
+
* The command that runs EXACTLY the declared reproduction test(s), as `sh -c` in the checkout.
|
|
69
|
+
* Run identically against both trees — the symmetry is what stops an environment defect from
|
|
70
|
+
* masquerading as a reproduction (see the initiative's D4).
|
|
71
|
+
*/
|
|
72
|
+
command: v.string(),
|
|
73
|
+
/**
|
|
74
|
+
* The test file(s) that constitute the reproduction, each a repo-relative path with no `..`
|
|
75
|
+
* segment (the engine drops anything else — see `omittedTestPaths`). Used to reconstruct the
|
|
76
|
+
* pre-fix tree when the run did NOT resume a branch that already carries them: the declared
|
|
77
|
+
* paths are applied onto the base worktree, never a whole-tree checkout (which would drag the
|
|
78
|
+
* fix across and green the base).
|
|
79
|
+
*/
|
|
80
|
+
testPaths: v.array(v.string()),
|
|
81
|
+
/**
|
|
82
|
+
* How many declared paths the engine DROPPED while resolving this spec (over the cap, empty,
|
|
83
|
+
* absolute, traversing, or over-long). Present only when non-zero, and carried so the proof
|
|
84
|
+
* can state that the pre-fix tree was rebuilt from an incomplete reproduction rather than
|
|
85
|
+
* quietly reporting a verdict about it. See {@link REPRODUCTION_MAX_TEST_PATHS}.
|
|
86
|
+
*/
|
|
87
|
+
omittedTestPaths: v.optional(v.number()),
|
|
88
|
+
/**
|
|
89
|
+
* Optional command that makes a FRESH worktree runnable (a dependency install). Run in BOTH
|
|
90
|
+
* worktrees or neither — an asymmetric setup is exactly how a false `reproduced` is produced.
|
|
91
|
+
*/
|
|
92
|
+
setupCommand: v.optional(v.string()),
|
|
93
|
+
/** Repair-round budget; see {@link REPRODUCTION_DEFAULT_MAX_ATTEMPTS}. */
|
|
94
|
+
maxAttempts: v.number(),
|
|
95
|
+
});
|
|
96
|
+
// ---- The harness-produced report ------------------------------------------
|
|
97
|
+
/**
|
|
98
|
+
* The verdict, computed by the harness from the two exit codes:
|
|
99
|
+
*
|
|
100
|
+
* - `reproduced` — RED on the pre-fix tree, GREEN on the final tree. The only shape that is proof.
|
|
101
|
+
* - `inconclusive` — any other shape (green at base ⇒ the test does not capture the defect;
|
|
102
|
+
* red at both ⇒ the fix does not resolve it, or the environment is broken). Recorded honestly
|
|
103
|
+
* rather than dressed up; it never fails the step (see the initiative's D6).
|
|
104
|
+
* - `declared_infeasible` — the agent structurally declared reproduction impossible, with a
|
|
105
|
+
* reason and what it verified instead. Nothing was run.
|
|
106
|
+
*/
|
|
107
|
+
export const reproductionStatusSchema = v.picklist([
|
|
108
|
+
'reproduced',
|
|
109
|
+
'inconclusive',
|
|
110
|
+
'declared_infeasible',
|
|
111
|
+
]);
|
|
112
|
+
/** One tree's run of the reproduction command. */
|
|
113
|
+
export const reproductionPhaseOutcomeSchema = v.object({
|
|
114
|
+
/** Exit code (0 = pass); 124 on watchdog timeout, 127 on spawn failure, 130 on abort. */
|
|
115
|
+
exitCode: v.fallback(v.number(), 1),
|
|
116
|
+
passed: v.fallback(v.boolean(), false),
|
|
117
|
+
/** Bounded, secret-scrubbed tail of the command's combined stdout+stderr. */
|
|
118
|
+
outputTail: v.fallback(v.optional(v.string()), undefined),
|
|
119
|
+
/** Wall-clock of the command, ms. */
|
|
120
|
+
durationMs: v.fallback(v.optional(v.number()), undefined),
|
|
121
|
+
/** Set when the command was killed by the per-command watchdog. */
|
|
122
|
+
timedOut: v.fallback(v.optional(v.boolean()), undefined),
|
|
123
|
+
/** Set when the phase's setup command failed, so the tree never ran the check meaningfully. */
|
|
124
|
+
setupFailed: v.fallback(v.optional(v.boolean()), undefined),
|
|
125
|
+
});
|
|
126
|
+
/**
|
|
127
|
+
* The harness-computed reproduction report. Lenient throughout (`v.fallback`) so a
|
|
128
|
+
* partially-malformed payload from an older harness image degrades to a sensible shape rather
|
|
129
|
+
* than failing a run whose actual deliverable — the fix — is fine.
|
|
130
|
+
*/
|
|
131
|
+
export const reproductionReportSchema = v.object({
|
|
132
|
+
status: v.fallback(reproductionStatusSchema, 'inconclusive'),
|
|
133
|
+
/** The command that was run against both trees (empty for `declared_infeasible`). */
|
|
134
|
+
command: v.fallback(v.string(), ''),
|
|
135
|
+
testPaths: v.fallback(v.array(v.fallback(v.string(), '')), []),
|
|
136
|
+
/**
|
|
137
|
+
* How many declared paths were dropped before the proof ran (see the resolved spec's field of
|
|
138
|
+
* the same name). Non-zero means the pre-fix tree was rebuilt from an INCOMPLETE reproduction,
|
|
139
|
+
* which the report must say rather than imply — an omission is exactly what turns a green base
|
|
140
|
+
* into a misleading "the test does not capture the defect".
|
|
141
|
+
*/
|
|
142
|
+
omittedTestPaths: v.fallback(v.optional(v.number()), undefined),
|
|
143
|
+
/** The pre-fix tree's run. Absent for `declared_infeasible`. */
|
|
144
|
+
base: v.fallback(v.optional(reproductionPhaseOutcomeSchema), undefined),
|
|
145
|
+
/** The final tree's run. Absent for `declared_infeasible`, or when the base run settled it. */
|
|
146
|
+
final: v.fallback(v.optional(reproductionPhaseOutcomeSchema), undefined),
|
|
147
|
+
/** How many agent+verify rounds ran (1 = settled on the first pass). */
|
|
148
|
+
attempts: v.fallback(v.number(), 1),
|
|
149
|
+
maxAttempts: v.fallback(v.number(), REPRODUCTION_DEFAULT_MAX_ATTEMPTS),
|
|
150
|
+
/** For `declared_infeasible`: WHY the bug could not be reproduced, verbatim from the agent. */
|
|
151
|
+
reason: v.fallback(v.optional(v.string()), undefined),
|
|
152
|
+
/**
|
|
153
|
+
* For `declared_infeasible`: what the agent verified INSTEAD, verbatim. This is the field that
|
|
154
|
+
* makes an infeasibility declaration reviewable rather than an empty section.
|
|
155
|
+
*/
|
|
156
|
+
alternativeVerification: v.fallback(v.optional(v.string()), undefined),
|
|
157
|
+
/** For `inconclusive`: which shape was observed, in one line, for the report and the step card. */
|
|
158
|
+
note: v.fallback(v.optional(v.string()), undefined),
|
|
159
|
+
at: v.fallback(v.number(), 0),
|
|
160
|
+
});
|
|
161
|
+
/** Parse an untrusted reproduction report (a harness payload), or `null` when unusable. */
|
|
162
|
+
export function parseReproductionReport(input) {
|
|
163
|
+
const parsed = v.safeParse(reproductionReportSchema, input);
|
|
164
|
+
return parsed.success ? parsed.output : null;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=reproduction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reproduction.js","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"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"}
|
|
@@ -465,6 +465,34 @@ export declare const retryAgentRunContract: {
|
|
|
465
465
|
}, undefined>, undefined>, readonly []>;
|
|
466
466
|
readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
467
467
|
}, undefined>, undefined>, undefined>;
|
|
468
|
+
readonly reproduction: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
469
|
+
readonly status: v.SchemaWithFallback<v.PicklistSchema<["reproduced", "inconclusive", "declared_infeasible"], undefined>, "inconclusive">;
|
|
470
|
+
readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
471
|
+
readonly testPaths: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.StringSchema<undefined>, "">, undefined>, readonly []>;
|
|
472
|
+
readonly omittedTestPaths: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
473
|
+
readonly base: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
474
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
475
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
476
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
477
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
478
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
479
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
480
|
+
}, undefined>, undefined>, undefined>;
|
|
481
|
+
readonly final: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
482
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
483
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
484
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
485
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
486
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
487
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
488
|
+
}, undefined>, undefined>, undefined>;
|
|
489
|
+
readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
490
|
+
readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
|
|
491
|
+
readonly reason: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
492
|
+
readonly alternativeVerification: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
493
|
+
readonly note: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
494
|
+
readonly at: v.SchemaWithFallback<v.NumberSchema<undefined>, 0>;
|
|
495
|
+
}, undefined>, undefined>, undefined>;
|
|
468
496
|
readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
469
497
|
readonly messageId: v.StringSchema<undefined>;
|
|
470
498
|
}, undefined>, undefined>, undefined>;
|
|
@@ -1401,6 +1429,34 @@ export declare const stopAgentRunContract: {
|
|
|
1401
1429
|
}, undefined>, undefined>, readonly []>;
|
|
1402
1430
|
readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1403
1431
|
}, undefined>, undefined>, undefined>;
|
|
1432
|
+
readonly reproduction: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1433
|
+
readonly status: v.SchemaWithFallback<v.PicklistSchema<["reproduced", "inconclusive", "declared_infeasible"], undefined>, "inconclusive">;
|
|
1434
|
+
readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
|
|
1435
|
+
readonly testPaths: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.StringSchema<undefined>, "">, undefined>, readonly []>;
|
|
1436
|
+
readonly omittedTestPaths: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1437
|
+
readonly base: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
1438
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
1439
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
1440
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1441
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1442
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
1443
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
1444
|
+
}, undefined>, undefined>, undefined>;
|
|
1445
|
+
readonly final: v.SchemaWithFallback<v.OptionalSchema<v.ObjectSchema<{
|
|
1446
|
+
readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
1447
|
+
readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
|
|
1448
|
+
readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1449
|
+
readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1450
|
+
readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
1451
|
+
readonly setupFailed: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
1452
|
+
}, undefined>, undefined>, undefined>;
|
|
1453
|
+
readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
|
|
1454
|
+
readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
|
|
1455
|
+
readonly reason: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1456
|
+
readonly alternativeVerification: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1457
|
+
readonly note: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1458
|
+
readonly at: v.SchemaWithFallback<v.NumberSchema<undefined>, 0>;
|
|
1459
|
+
}, undefined>, undefined>, undefined>;
|
|
1404
1460
|
readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1405
1461
|
readonly messageId: v.StringSchema<undefined>;
|
|
1406
1462
|
}, undefined>, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
|