@cat-factory/contracts 0.129.0 → 0.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/agent-presentation.d.ts +2 -2
  2. package/dist/entities.d.ts +70 -1
  3. package/dist/entities.d.ts.map +1 -1
  4. package/dist/entities.js +9 -0
  5. package/dist/entities.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/initiative.d.ts +20 -5
  11. package/dist/initiative.d.ts.map +1 -1
  12. package/dist/notifications.d.ts +6 -2
  13. package/dist/notifications.d.ts.map +1 -1
  14. package/dist/notifications.js +7 -0
  15. package/dist/notifications.js.map +1 -1
  16. package/dist/prReview.d.ts +175 -0
  17. package/dist/prReview.d.ts.map +1 -0
  18. package/dist/prReview.js +167 -0
  19. package/dist/prReview.js.map +1 -0
  20. package/dist/primitives.d.ts +23 -5
  21. package/dist/primitives.d.ts.map +1 -1
  22. package/dist/primitives.js +31 -5
  23. package/dist/primitives.js.map +1 -1
  24. package/dist/requests.d.ts +4 -1
  25. package/dist/requests.d.ts.map +1 -1
  26. package/dist/result-views.d.ts +1 -1
  27. package/dist/result-views.d.ts.map +1 -1
  28. package/dist/result-views.js +1 -0
  29. package/dist/result-views.js.map +1 -1
  30. package/dist/routes/agent-runs.d.ts +52 -0
  31. package/dist/routes/agent-runs.d.ts.map +1 -1
  32. package/dist/routes/board.d.ts +52 -13
  33. package/dist/routes/board.d.ts.map +1 -1
  34. package/dist/routes/execution.d.ts +216 -2
  35. package/dist/routes/execution.d.ts.map +1 -1
  36. package/dist/routes/human-review.d.ts +26 -0
  37. package/dist/routes/human-review.d.ts.map +1 -1
  38. package/dist/routes/human-test.d.ts +130 -0
  39. package/dist/routes/human-test.d.ts.map +1 -1
  40. package/dist/routes/index.d.ts +1 -0
  41. package/dist/routes/index.d.ts.map +1 -1
  42. package/dist/routes/index.js +1 -0
  43. package/dist/routes/index.js.map +1 -1
  44. package/dist/routes/initiative.d.ts +68 -17
  45. package/dist/routes/initiative.d.ts.map +1 -1
  46. package/dist/routes/notifications.d.ts +6 -3
  47. package/dist/routes/notifications.d.ts.map +1 -1
  48. package/dist/routes/prReview.d.ts +124 -0
  49. package/dist/routes/prReview.d.ts.map +1 -0
  50. package/dist/routes/prReview.js +26 -0
  51. package/dist/routes/prReview.js.map +1 -0
  52. package/dist/routes/slack.d.ts +3 -3
  53. package/dist/routes/tasks.d.ts +12 -3
  54. package/dist/routes/tasks.d.ts.map +1 -1
  55. package/dist/routes/visual-confirm.d.ts +78 -0
  56. package/dist/routes/visual-confirm.d.ts.map +1 -1
  57. package/dist/routes/workspace-settings.d.ts +3 -3
  58. package/dist/routes/workspaces.d.ts +84 -12
  59. package/dist/routes/workspaces.d.ts.map +1 -1
  60. package/dist/slack.d.ts +2 -2
  61. package/dist/snapshot.d.ts +42 -6
  62. package/dist/snapshot.d.ts.map +1 -1
  63. package/dist/workspace-settings.d.ts +3 -3
  64. package/dist/workspace-settings.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -4,7 +4,7 @@ import * as v from 'valibot';
4
4
  * the frontend can switch on it to render the right action; extending it is a
5
5
  * one-line change here plus a handler in the worker's `act` route.
6
6
  */
7
- export declare const notificationTypeSchema: 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", "initiative"], undefined>;
7
+ export declare const notificationTypeSchema: 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"], undefined>;
8
8
  export type NotificationType = v.InferOutput<typeof notificationTypeSchema>;
9
9
  /**
10
10
  * Lifecycle of a notification: `open` until a human engages, terminal `acted`
@@ -45,6 +45,8 @@ export declare const notificationPayloadSchema: v.ObjectSchema<{
45
45
  readonly findingCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
46
46
  /** Number of materially different implementation forks surfaced, on a `fork_decision_pending`. */
47
47
  readonly forkCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
48
+ /** Number of cohesive slices the PR was grouped into, on a `pr_review_ready`. */
49
+ readonly sliceCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
48
50
  /** The `on-call` agent's assessment, on a `release_regression`. */
49
51
  readonly onCallAssessment: v.OptionalSchema<v.ObjectSchema<{
50
52
  readonly culpritConfidence: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
@@ -83,7 +85,7 @@ export type NotificationPayload = v.InferOutput<typeof notificationPayloadSchema
83
85
  /** A human-actionable item surfaced on the board. */
84
86
  export declare const notificationSchema: v.ObjectSchema<{
85
87
  readonly id: v.StringSchema<undefined>;
86
- 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", "initiative"], undefined>;
88
+ 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"], undefined>;
87
89
  readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
88
90
  /**
89
91
  * Render urgency (see {@link notificationSeveritySchema}). Absent ⇒ `normal`. Flipped
@@ -115,6 +117,8 @@ export declare const notificationSchema: v.ObjectSchema<{
115
117
  readonly findingCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
116
118
  /** Number of materially different implementation forks surfaced, on a `fork_decision_pending`. */
117
119
  readonly forkCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
120
+ /** Number of cohesive slices the PR was grouped into, on a `pr_review_ready`. */
121
+ readonly sliceCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
118
122
  /** The `on-call` agent's assessment, on a `release_regression`. */
119
123
  readonly onCallAssessment: v.OptionalSchema<v.ObjectSchema<{
120
124
  readonly culpritConfidence: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuD5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+SAejC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6DAA6C,CAAA;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,mDAAmC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4DAA4D;;;;;;;IAE5D,sEAAsE;;IAEtE,gFAAgF;;IAEhF,0DAA0D;;IAE1D,kGAAkG;;IAElG,mEAAmE;;;;;;;IAEnE,mEAAmE;;;;;;;;IAEnE,4EAA4E;;IAE5E;;;;OAIG;;IAEH,gFAAgF;;IAEhF;;;;OAIG;;IAEH,yGAAyG;;aAEzG,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;;;IAI7B;;;OAGG;;IAEH,iFAAiF;;IAEjF,yDAAyD;;IAEzD,wCAAwC;;IAExC,mCAAmC;;IAEnC,wFAAwF;;QArDxF,4DAA4D;;;;;;;QAE5D,sEAAsE;;QAEtE,gFAAgF;;QAEhF,0DAA0D;;QAE1D,kGAAkG;;QAElG,mEAAmE;;;;;;;QAEnE,mEAAmE;;;;;;;;QAEnE,4EAA4E;;QAE5E;;;;WAIG;;QAEH,gFAAgF;;QAEhF;;;;WAIG;;QAEH,yGAAyG;;;;IA0BzG,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAInE,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,iDAAiC,CAAA;AAC7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA2D5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,kUAgBjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6DAA6C,CAAA;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,mDAAmC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4DAA4D;;;;;;;IAE5D,sEAAsE;;IAEtE,gFAAgF;;IAEhF,0DAA0D;;IAE1D,kGAAkG;;IAElG,iFAAiF;;IAEjF,mEAAmE;;;;;;;IAEnE,mEAAmE;;;;;;;;IAEnE,4EAA4E;;IAE5E;;;;OAIG;;IAEH,gFAAgF;;IAEhF;;;;OAIG;;IAEH,yGAAyG;;aAEzG,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;;;IAI7B;;;OAGG;;IAEH,iFAAiF;;IAEjF,yDAAyD;;IAEzD,wCAAwC;;IAExC,mCAAmC;;IAEnC,wFAAwF;;QAvDxF,4DAA4D;;;;;;;QAE5D,sEAAsE;;QAEtE,gFAAgF;;QAEhF,0DAA0D;;QAE1D,kGAAkG;;QAElG,iFAAiF;;QAEjF,mEAAmE;;;;;;;QAEnE,mEAAmE;;;;;;;;QAEnE,4EAA4E;;QAE5E;;;;WAIG;;QAEH,gFAAgF;;QAEhF;;;;WAIG;;QAEH,yGAAyG;;;;IA0BzG,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAInE,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,iDAAiC,CAAA;AAC7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
@@ -36,6 +36,10 @@ import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
36
36
  // run parked for a human to choose. Informational + a deep-link to the
37
37
  // parked task (where the fork-decision window lets the human pick /
38
38
  // type a custom approach / chat); `act` just marks it read.
39
+ // - `pr_review_ready` — the `pr-reviewer` deep-reviewed an open PR and the run parked for a
40
+ // human to SELECT which of the sliced, prioritized findings to act on.
41
+ // Informational + a deep-link to the parked task (where the PR-review
42
+ // window lists the findings grouped by slice); `act` just marks it read.
39
43
  // - `initiative` — the initiative execution loop needs a human: a spawned task was
40
44
  // blocked (its phase is halted until it is retried/skipped), or the
41
45
  // initiative finished (every planned task resolved). Informational +
@@ -70,6 +74,7 @@ export const notificationTypeSchema = v.picklist([
70
74
  'human_review',
71
75
  'followup_pending',
72
76
  'fork_decision_pending',
77
+ 'pr_review_ready',
73
78
  'initiative',
74
79
  ]);
75
80
  /**
@@ -104,6 +109,8 @@ export const notificationPayloadSchema = v.object({
104
109
  findingCount: v.optional(v.number()),
105
110
  /** Number of materially different implementation forks surfaced, on a `fork_decision_pending`. */
106
111
  forkCount: v.optional(v.number()),
112
+ /** Number of cohesive slices the PR was grouped into, on a `pr_review_ready`. */
113
+ sliceCount: v.optional(v.number()),
107
114
  /** The `on-call` agent's assessment, on a `release_regression`. */
108
115
  onCallAssessment: v.optional(onCallAssessmentSchema),
109
116
  /** The monitors/SLOs that regressed, on a `release_regression`. */
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * How serious a finding is, ordered blocker → nit. The window groups + sorts by this and
4
+ * renders a colour per level; the engine sorts the aggregated findings blocker-first.
5
+ */
6
+ export declare const prReviewSeveritySchema: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
7
+ export type PrReviewSeverity = v.InferOutput<typeof prReviewSeveritySchema>;
8
+ /** What area a finding concerns — drives the window's category chip. */
9
+ export declare const prReviewCategorySchema: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
10
+ export type PrReviewCategory = v.InferOutput<typeof prReviewCategorySchema>;
11
+ /**
12
+ * One cohesive slice the reviewer grouped the changed files into (a refactor + its call
13
+ * sites + its tests). The window groups findings under their slice. `id` is engine-minted
14
+ * (`prs_*`) when the reviewer's output is recorded onto the step.
15
+ */
16
+ export declare const prReviewSliceSchema: v.ObjectSchema<{
17
+ /** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
18
+ readonly id: v.StringSchema<undefined>;
19
+ /** Short name of the slice. */
20
+ readonly title: v.StringSchema<undefined>;
21
+ /** Why these files belong together. */
22
+ readonly rationale: v.StringSchema<undefined>;
23
+ /** The repo-relative paths that make up the slice. */
24
+ readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
25
+ }, undefined>;
26
+ export type PrReviewSlice = v.InferOutput<typeof prReviewSliceSchema>;
27
+ /**
28
+ * One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
29
+ * everything the window needs to render it and everything PR 3's resolutions consume (the
30
+ * `path`/`line`/`side` anchor for an inline PR comment; the `suggestedFix` for the Fixer).
31
+ */
32
+ export declare const prReviewFindingSchema: v.ObjectSchema<{
33
+ /** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
34
+ readonly id: v.StringSchema<undefined>;
35
+ /** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
36
+ readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
37
+ /** Repo-relative path the finding concerns. */
38
+ readonly path: v.StringSchema<undefined>;
39
+ /** The line the finding anchors to on the PR head (for an inline comment), or null. */
40
+ readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
41
+ /** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
42
+ readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
43
+ readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
44
+ readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
45
+ /** Short headline. */
46
+ readonly title: v.StringSchema<undefined>;
47
+ /** The full finding, in prose. */
48
+ readonly detail: v.StringSchema<undefined>;
49
+ /** A concrete suggested change, when the reviewer offered one. */
50
+ readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
51
+ }, undefined>;
52
+ export type PrReviewFinding = v.InferOutput<typeof prReviewFindingSchema>;
53
+ /**
54
+ * The PR-review lifecycle on a `pr-reviewer` step:
55
+ * - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
56
+ * - `awaiting_selection`: parked; the human curates which findings matter through the window.
57
+ * - `fixing` / `posting`: a resolution is executing (PR 3 — the Fixer commits, or inline
58
+ * comments are posted). Unused in PR 2.
59
+ * - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
60
+ * - `skipped`: the reviewer isn't wired / produced nothing to review — the step passed through.
61
+ */
62
+ export declare const prReviewStatusSchema: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
63
+ export type PrReviewStatus = v.InferOutput<typeof prReviewStatusSchema>;
64
+ /**
65
+ * How the human resolved the review. PR 2 ships only `finish` (curate the selection + complete
66
+ * the read-only review); PR 3 adds `fix` (feed the selected findings to a Fixer) and `post`
67
+ * (post them as inline PR review comments). Adding members later is a non-breaking extension
68
+ * (backwards compatibility is a non-goal — see CLAUDE.md).
69
+ */
70
+ export declare const prReviewResolutionSchema: v.PicklistSchema<["finish"], undefined>;
71
+ export type PrReviewResolution = v.InferOutput<typeof prReviewResolutionSchema>;
72
+ /**
73
+ * Live PR-review state carried on the run's `pr-reviewer` step. Recorded by the engine when
74
+ * the reviewer container job completes (the sliced, severity-ordered findings), then mutated
75
+ * by the human's selection + resolution. `prUrl` is the reviewed PR (for the window header);
76
+ * `model` records the reviewing model for transparency.
77
+ */
78
+ export declare const prReviewStepStateSchema: v.ObjectSchema<{
79
+ readonly status: v.PicklistSchema<["reviewing", "awaiting_selection", "fixing", "posting", "done", "skipped"], undefined>;
80
+ /** The reviewer's one-paragraph overall assessment of the PR, when it gave one. */
81
+ readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
82
+ /** The cohesive slices the reviewer grouped the changed files into. */
83
+ readonly slices: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
84
+ /** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
85
+ readonly id: v.StringSchema<undefined>;
86
+ /** Short name of the slice. */
87
+ readonly title: v.StringSchema<undefined>;
88
+ /** Why these files belong together. */
89
+ readonly rationale: v.StringSchema<undefined>;
90
+ /** The repo-relative paths that make up the slice. */
91
+ readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
92
+ }, undefined>, undefined>, readonly []>;
93
+ /** The findings, ordered by severity (blocker → nit). */
94
+ readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
95
+ /** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
96
+ readonly id: v.StringSchema<undefined>;
97
+ /** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
98
+ readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
99
+ /** Repo-relative path the finding concerns. */
100
+ readonly path: v.StringSchema<undefined>;
101
+ /** The line the finding anchors to on the PR head (for an inline comment), or null. */
102
+ readonly line: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
103
+ /** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
104
+ readonly side: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
105
+ readonly severity: v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>;
106
+ readonly category: v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>;
107
+ /** Short headline. */
108
+ readonly title: v.StringSchema<undefined>;
109
+ /** The full finding, in prose. */
110
+ readonly detail: v.StringSchema<undefined>;
111
+ /** A concrete suggested change, when the reviewer offered one. */
112
+ readonly suggestedFix: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
113
+ }, undefined>, undefined>, readonly []>;
114
+ /** The finding ids the human selected to act on (curated in the window). */
115
+ readonly selectedFindingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
116
+ /** How the human resolved the review; null while awaiting selection. */
117
+ readonly resolution: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["finish"], undefined>, undefined>, undefined>;
118
+ /** Web URL of the reviewed pull request, when known. */
119
+ readonly prUrl: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
120
+ /** Identifier of the model that produced the review, for transparency. */
121
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
122
+ }, undefined>;
123
+ export type PrReviewStepState = v.InferOutput<typeof prReviewStepStateSchema>;
124
+ /**
125
+ * The LENIENT structured shape the read-only `pr-reviewer` container agent returns as
126
+ * `result.custom` (the engine mints slice/finding ids and records it onto the step). Every
127
+ * field falls back to a safe default (`v.fallback`) — exactly like `forkProposal` — so a
128
+ * partially-malformed reply degrades to sensible defaults rather than failing the run: an
129
+ * unreadable severity/category reads as its safe default, and each list degrades to empty.
130
+ * This is the SINGLE source of truth for the reviewer's output shape, consumed both by the
131
+ * agent kind's `defineStructuredOutput` (validation at completion) and the engine's coercion.
132
+ */
133
+ export declare const prReviewAgentOutputSchema: v.ObjectSchema<{
134
+ /** One-paragraph overall assessment of the PR. */
135
+ readonly summary: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
136
+ /** The cohesive slices the reviewer grouped the changed files into. */
137
+ readonly slices: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.ObjectSchema<{
138
+ readonly title: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
139
+ readonly rationale: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
140
+ readonly paths: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.StringSchema<undefined>, "">, undefined>, readonly []>;
141
+ }, undefined>, {
142
+ readonly title: "";
143
+ readonly rationale: "";
144
+ readonly paths: readonly [];
145
+ }>, undefined>, readonly []>;
146
+ /** The findings, ordered by severity (blocker → nit). */
147
+ readonly findings: v.SchemaWithFallback<v.ArraySchema<v.SchemaWithFallback<v.ObjectSchema<{
148
+ readonly path: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
149
+ readonly line: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
150
+ readonly side: v.SchemaWithFallback<v.OptionalSchema<v.PicklistSchema<["LEFT", "RIGHT"], undefined>, undefined>, undefined>;
151
+ readonly severity: v.SchemaWithFallback<v.PicklistSchema<["blocker", "high", "medium", "low", "nit"], undefined>, "medium">;
152
+ readonly category: v.SchemaWithFallback<v.PicklistSchema<["correctness", "security", "performance", "maintainability", "style", "test", "other"], undefined>, "other">;
153
+ readonly title: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
154
+ readonly detail: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
155
+ readonly suggestedFix: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
156
+ }, undefined>, {
157
+ readonly path: "";
158
+ readonly severity: 'medium';
159
+ readonly category: 'other';
160
+ readonly title: "";
161
+ readonly detail: "";
162
+ }>, undefined>, readonly []>;
163
+ }, undefined>;
164
+ export type PrReviewAgentOutput = v.InferOutput<typeof prReviewAgentOutputSchema>;
165
+ /**
166
+ * Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
167
+ * it (`action`). PR 2 supports only `finish` — record the selection and complete the read-only
168
+ * review. The Fixer / inline-comment resolutions are PR 3.
169
+ */
170
+ export declare const resolvePrReviewSchema: v.ObjectSchema<{
171
+ readonly action: v.OptionalSchema<v.PicklistSchema<["finish"], undefined>, "finish">;
172
+ readonly findingIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
173
+ }, undefined>;
174
+ export type ResolvePrReviewInput = v.InferOutput<typeof resolvePrReviewSchema>;
175
+ //# sourceMappingURL=prReview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prReview.d.ts","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,0EAA0D,CAAA;AAC7F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,sHAQjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC9B,0FAA0F;;IAE1F,+BAA+B;;IAE/B,uCAAuC;;IAEvC,sDAAsD;;aAEtD,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;IAChC,6EAA6E;;IAE7E,qFAAqF;;IAErF,+CAA+C;;IAE/C,uFAAuF;;IAEvF,+FAA+F;;;;IAI/F,sBAAsB;;IAEtB,kCAAkC;;IAElC,kEAAkE;;aAElE,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,0GAO/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,yCAAyB,CAAA;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;IAElC,mFAAmF;;IAEnF,uEAAuE;;QA5EvE,0FAA0F;;QAE1F,+BAA+B;;QAE/B,uCAAuC;;QAEvC,sDAAsD;;;IAwEtD,yDAAyD;;QA7DzD,6EAA6E;;QAE7E,qFAAqF;;QAErF,+CAA+C;;QAE/C,uFAAuF;;QAEvF,+FAA+F;;;;QAI/F,sBAAsB;;QAEtB,kCAAkC;;QAElC,kEAAkE;;;IA+ClE,4EAA4E;;IAE5E,wEAAwE;;IAExE,wDAAwD;;IAExD,0EAA0E;;aAE1E,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;IACpC,kDAAkD;;IAElD,uEAAuE;;;;;;;;;;IAcvE,yDAAyD;;;;;;;;;;;;2BAgBvC,QAAQ;2BACR,OAAO;;;;aAQzB,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAIjF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;aAGhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,167 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // PR deep-review wire contracts. A `review` task runs the read-only `pr-reviewer`
4
+ // container agent over an EXISTING open pull request: it slices the diff into
5
+ // cohesive chunks and reviews each within a bounded context, returning prioritized
6
+ // findings. Rather than finishing the run the moment the agent returns (PR 1's
7
+ // behaviour), the engine records the sliced findings onto the run's `pr-reviewer`
8
+ // step (`step.prReview`) and PARKS for a human to visually SELECT which findings
9
+ // matter through the dedicated review window, then resolve.
10
+ //
11
+ // All review state rides the run's `pr-reviewer` step (`PipelineStep.prReview`) —
12
+ // no side table — so it is runtime-symmetric by construction, exactly like
13
+ // `forkDecision` / `followUps`. The two terminal resolutions (feed the selected
14
+ // findings to a Fixer, or post them as inline PR review comments) are the tracked
15
+ // follow-up (PR 3); PR 2 ships the slicing → park → multi-select loop with a
16
+ // neutral `finish` resolution.
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * How serious a finding is, ordered blocker → nit. The window groups + sorts by this and
20
+ * renders a colour per level; the engine sorts the aggregated findings blocker-first.
21
+ */
22
+ export const prReviewSeveritySchema = v.picklist(['blocker', 'high', 'medium', 'low', 'nit']);
23
+ /** What area a finding concerns — drives the window's category chip. */
24
+ export const prReviewCategorySchema = v.picklist([
25
+ 'correctness',
26
+ 'security',
27
+ 'performance',
28
+ 'maintainability',
29
+ 'style',
30
+ 'test',
31
+ 'other',
32
+ ]);
33
+ /**
34
+ * One cohesive slice the reviewer grouped the changed files into (a refactor + its call
35
+ * sites + its tests). The window groups findings under their slice. `id` is engine-minted
36
+ * (`prs_*`) when the reviewer's output is recorded onto the step.
37
+ */
38
+ export const prReviewSliceSchema = v.object({
39
+ /** Engine-minted stable id (`prs_*`); assigned when the reviewer's output is recorded. */
40
+ id: v.string(),
41
+ /** Short name of the slice. */
42
+ title: v.string(),
43
+ /** Why these files belong together. */
44
+ rationale: v.string(),
45
+ /** The repo-relative paths that make up the slice. */
46
+ paths: v.array(v.string()),
47
+ });
48
+ /**
49
+ * One prioritized review finding, id-stamped by the engine and anchored to a slice. Carries
50
+ * everything the window needs to render it and everything PR 3's resolutions consume (the
51
+ * `path`/`line`/`side` anchor for an inline PR comment; the `suggestedFix` for the Fixer).
52
+ */
53
+ export const prReviewFindingSchema = v.object({
54
+ /** Engine-minted stable id (`prf_*`); the multi-select carries these ids. */
55
+ id: v.string(),
56
+ /** The slice this finding belongs to (`prs_*`), or null when it matched no slice. */
57
+ sliceId: v.optional(v.nullable(v.string())),
58
+ /** Repo-relative path the finding concerns. */
59
+ path: v.string(),
60
+ /** The line the finding anchors to on the PR head (for an inline comment), or null. */
61
+ line: v.optional(v.nullable(v.number())),
62
+ /** Which side of the diff the line is on; `RIGHT` (head) unless it concerns a removed line. */
63
+ side: v.optional(v.nullable(v.picklist(['LEFT', 'RIGHT']))),
64
+ severity: prReviewSeveritySchema,
65
+ category: prReviewCategorySchema,
66
+ /** Short headline. */
67
+ title: v.string(),
68
+ /** The full finding, in prose. */
69
+ detail: v.string(),
70
+ /** A concrete suggested change, when the reviewer offered one. */
71
+ suggestedFix: v.optional(v.nullable(v.string())),
72
+ });
73
+ /**
74
+ * The PR-review lifecycle on a `pr-reviewer` step:
75
+ * - `reviewing`: the read-only reviewer container job is in flight (the agent dispatch).
76
+ * - `awaiting_selection`: parked; the human curates which findings matter through the window.
77
+ * - `fixing` / `posting`: a resolution is executing (PR 3 — the Fixer commits, or inline
78
+ * comments are posted). Unused in PR 2.
79
+ * - `done`: the review is resolved (the human finished; PR 3: fixed / posted).
80
+ * - `skipped`: the reviewer isn't wired / produced nothing to review — the step passed through.
81
+ */
82
+ export const prReviewStatusSchema = v.picklist([
83
+ 'reviewing',
84
+ 'awaiting_selection',
85
+ 'fixing',
86
+ 'posting',
87
+ 'done',
88
+ 'skipped',
89
+ ]);
90
+ /**
91
+ * How the human resolved the review. PR 2 ships only `finish` (curate the selection + complete
92
+ * the read-only review); PR 3 adds `fix` (feed the selected findings to a Fixer) and `post`
93
+ * (post them as inline PR review comments). Adding members later is a non-breaking extension
94
+ * (backwards compatibility is a non-goal — see CLAUDE.md).
95
+ */
96
+ export const prReviewResolutionSchema = v.picklist(['finish']);
97
+ /**
98
+ * Live PR-review state carried on the run's `pr-reviewer` step. Recorded by the engine when
99
+ * the reviewer container job completes (the sliced, severity-ordered findings), then mutated
100
+ * by the human's selection + resolution. `prUrl` is the reviewed PR (for the window header);
101
+ * `model` records the reviewing model for transparency.
102
+ */
103
+ export const prReviewStepStateSchema = v.object({
104
+ status: prReviewStatusSchema,
105
+ /** The reviewer's one-paragraph overall assessment of the PR, when it gave one. */
106
+ summary: v.optional(v.nullable(v.string())),
107
+ /** The cohesive slices the reviewer grouped the changed files into. */
108
+ slices: v.optional(v.array(prReviewSliceSchema), []),
109
+ /** The findings, ordered by severity (blocker → nit). */
110
+ findings: v.optional(v.array(prReviewFindingSchema), []),
111
+ /** The finding ids the human selected to act on (curated in the window). */
112
+ selectedFindingIds: v.optional(v.array(v.string()), []),
113
+ /** How the human resolved the review; null while awaiting selection. */
114
+ resolution: v.optional(v.nullable(prReviewResolutionSchema)),
115
+ /** Web URL of the reviewed pull request, when known. */
116
+ prUrl: v.optional(v.nullable(v.string())),
117
+ /** Identifier of the model that produced the review, for transparency. */
118
+ model: v.optional(v.nullable(v.string())),
119
+ });
120
+ // ---- Reviewer agent output (lenient) --------------------------------------
121
+ /**
122
+ * The LENIENT structured shape the read-only `pr-reviewer` container agent returns as
123
+ * `result.custom` (the engine mints slice/finding ids and records it onto the step). Every
124
+ * field falls back to a safe default (`v.fallback`) — exactly like `forkProposal` — so a
125
+ * partially-malformed reply degrades to sensible defaults rather than failing the run: an
126
+ * unreadable severity/category reads as its safe default, and each list degrades to empty.
127
+ * This is the SINGLE source of truth for the reviewer's output shape, consumed both by the
128
+ * agent kind's `defineStructuredOutput` (validation at completion) and the engine's coercion.
129
+ */
130
+ export const prReviewAgentOutputSchema = v.object({
131
+ /** One-paragraph overall assessment of the PR. */
132
+ summary: v.fallback(v.optional(v.string()), undefined),
133
+ /** The cohesive slices the reviewer grouped the changed files into. */
134
+ slices: v.fallback(v.array(v.fallback(v.object({
135
+ title: v.fallback(v.string(), ''),
136
+ rationale: v.fallback(v.string(), ''),
137
+ paths: v.fallback(v.array(v.fallback(v.string(), '')), []),
138
+ }), { title: '', rationale: '', paths: [] })), []),
139
+ /** The findings, ordered by severity (blocker → nit). */
140
+ findings: v.fallback(v.array(v.fallback(v.object({
141
+ path: v.fallback(v.string(), ''),
142
+ line: v.fallback(v.optional(v.number()), undefined),
143
+ side: v.fallback(v.optional(v.picklist(['LEFT', 'RIGHT'])), undefined),
144
+ severity: v.fallback(prReviewSeveritySchema, 'medium'),
145
+ category: v.fallback(prReviewCategorySchema, 'other'),
146
+ title: v.fallback(v.string(), ''),
147
+ detail: v.fallback(v.string(), ''),
148
+ suggestedFix: v.fallback(v.optional(v.string()), undefined),
149
+ }), {
150
+ path: '',
151
+ severity: 'medium',
152
+ category: 'other',
153
+ title: '',
154
+ detail: '',
155
+ })), []),
156
+ });
157
+ // ---- Request bodies -------------------------------------------------------
158
+ /**
159
+ * Resolve a parked PR review: the human's curated selection (`findingIds`) plus how to resolve
160
+ * it (`action`). PR 2 supports only `finish` — record the selection and complete the read-only
161
+ * review. The Fixer / inline-comment resolutions are PR 3.
162
+ */
163
+ export const resolvePrReviewSchema = v.object({
164
+ action: v.optional(prReviewResolutionSchema, 'finish'),
165
+ findingIds: v.optional(v.array(v.string()), []),
166
+ });
167
+ //# sourceMappingURL=prReview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prReview.js","sourceRoot":"","sources":["../src/prReview.ts"],"names":[],"mappings":"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"}
@@ -36,14 +36,16 @@ export type BlockLevel = v.InferOutput<typeof blockLevelSchema>;
36
36
  /**
37
37
  * The kind of work a task represents, chosen by the human at creation. Drives the
38
38
  * task card's icon/badge, per-type creation fields, and (optionally) the per-service
39
- * running-task limit's bucketing. `recurring` is special: such tasks are NOT created
40
- * through `addTask` they are the reused on-board block of a recurring-pipeline
41
- * schedule, stamped with this type so the board renders them consistently.
39
+ * running-task limit's bucketing. `review` is a deep-review of an EXISTING open pull
40
+ * request (see {@link taskTypeFieldsSchema}'s `prNumber`/`prUrl`); `recurring` is
41
+ * special: such tasks are NOT created through `addTask` they are the reused on-board
42
+ * block of a recurring-pipeline schedule, stamped with this type so the board renders
43
+ * them consistently.
42
44
  */
43
- export declare const taskTypeSchema: v.PicklistSchema<["feature", "bug", "document", "spike", "recurring"], undefined>;
45
+ export declare const taskTypeSchema: v.PicklistSchema<["feature", "bug", "document", "spike", "review", "recurring"], undefined>;
44
46
  export type TaskType = v.InferOutput<typeof taskTypeSchema>;
45
47
  /** The task types a human can pick in the create-task form (recurring is created via a schedule). */
46
- export declare const createTaskTypeSchema: v.PicklistSchema<["feature", "bug", "document", "spike"], undefined>;
48
+ export declare const createTaskTypeSchema: v.PicklistSchema<["feature", "bug", "document", "spike", "review"], undefined>;
47
49
  export type CreateTaskType = v.InferOutput<typeof createTaskTypeSchema>;
48
50
  /**
49
51
  * The kinds of document a `document` task can produce. Drives the document-authoring
@@ -108,6 +110,22 @@ export declare const taskTypeFieldsSchema: v.ObjectSchema<{
108
110
  readonly optionsToCompare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
109
111
  /** API: the endpoints / surface in scope for the reference. */
110
112
  readonly apiSurface: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
113
+ /**
114
+ * Review: the number of the EXISTING open pull request to deep-review, on the
115
+ * service's linked repository. Either this or {@link prUrl} identifies the target;
116
+ * `prUrl` wins when both are present.
117
+ */
118
+ readonly prNumber: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
119
+ /**
120
+ * Review: the full web URL of the pull request to review (e.g.
121
+ * `https://github.com/owner/repo/pull/123`). Folded into the task description for the
122
+ * reviewer to read; today the reviewer clones the service's linked repo and fetches the
123
+ * PR head by number from `origin`, so a cross-repo `prUrl` is not yet resolved to a
124
+ * different repo (a tracked follow-up — see docs/initiatives/pr-deep-review.md).
125
+ */
126
+ readonly prUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
127
+ /** Review: freeform focus/guidance for the reviewer (e.g. "focus on the auth changes"). */
128
+ readonly reviewFocus: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 4000, undefined>]>, undefined>;
111
129
  }, undefined>;
112
130
  export type TaskTypeFields = v.InferOutput<typeof taskTypeFieldsSchema>;
113
131
  /** A kind-specific document field key on {@link taskTypeFieldsSchema}. */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
@@ -53,13 +53,22 @@ export const blockLevelSchema = v.picklist(['frame', 'module', 'task', 'epic', '
53
53
  /**
54
54
  * The kind of work a task represents, chosen by the human at creation. Drives the
55
55
  * task card's icon/badge, per-type creation fields, and (optionally) the per-service
56
- * running-task limit's bucketing. `recurring` is special: such tasks are NOT created
57
- * through `addTask` they are the reused on-board block of a recurring-pipeline
58
- * schedule, stamped with this type so the board renders them consistently.
56
+ * running-task limit's bucketing. `review` is a deep-review of an EXISTING open pull
57
+ * request (see {@link taskTypeFieldsSchema}'s `prNumber`/`prUrl`); `recurring` is
58
+ * special: such tasks are NOT created through `addTask` they are the reused on-board
59
+ * block of a recurring-pipeline schedule, stamped with this type so the board renders
60
+ * them consistently.
59
61
  */
60
- export const taskTypeSchema = v.picklist(['feature', 'bug', 'document', 'spike', 'recurring']);
62
+ export const taskTypeSchema = v.picklist([
63
+ 'feature',
64
+ 'bug',
65
+ 'document',
66
+ 'spike',
67
+ 'review',
68
+ 'recurring',
69
+ ]);
61
70
  /** The task types a human can pick in the create-task form (recurring is created via a schedule). */
62
- export const createTaskTypeSchema = v.picklist(['feature', 'bug', 'document', 'spike']);
71
+ export const createTaskTypeSchema = v.picklist(['feature', 'bug', 'document', 'spike', 'review']);
63
72
  /**
64
73
  * The kinds of document a `document` task can produce. Drives the document-authoring
65
74
  * pipeline's prompts (each kind implies a structure: a PRD vs an RFC vs a runbook) and
@@ -149,6 +158,23 @@ export const taskTypeFieldsSchema = v.object({
149
158
  optionsToCompare: v.optional(v.pipe(v.string(), v.maxLength(2000))),
150
159
  /** API: the endpoints / surface in scope for the reference. */
151
160
  apiSurface: v.optional(v.pipe(v.string(), v.maxLength(2000))),
161
+ // --- Review-task fields ---------------------------------------------------
162
+ /**
163
+ * Review: the number of the EXISTING open pull request to deep-review, on the
164
+ * service's linked repository. Either this or {@link prUrl} identifies the target;
165
+ * `prUrl` wins when both are present.
166
+ */
167
+ prNumber: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
168
+ /**
169
+ * Review: the full web URL of the pull request to review (e.g.
170
+ * `https://github.com/owner/repo/pull/123`). Folded into the task description for the
171
+ * reviewer to read; today the reviewer clones the service's linked repo and fetches the
172
+ * PR head by number from `origin`, so a cross-repo `prUrl` is not yet resolved to a
173
+ * different repo (a tracked follow-up — see docs/initiatives/pr-deep-review.md).
174
+ */
175
+ prUrl: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(500))),
176
+ /** Review: freeform focus/guidance for the reviewer (e.g. "focus on the auth changes"). */
177
+ reviewFocus: v.optional(v.pipe(v.string(), v.maxLength(4000))),
152
178
  });
153
179
  /**
154
180
  * Which kind-specific fields the create-task form shows — and the author agents fold into the
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}