agentic-orchestrator 0.1.25 → 0.1.26

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 (177) hide show
  1. package/agentic/orchestrator/defaults/policy.defaults.yaml +1 -0
  2. package/agentic/orchestrator/policy.yaml +1 -0
  3. package/agentic/orchestrator/schemas/policy.schema.json +4 -0
  4. package/agentic/orchestrator/schemas/policy.user.schema.json +4 -0
  5. package/apps/control-plane/src/application/services/activity-monitor-service.ts +42 -0
  6. package/apps/control-plane/src/application/services/collision-queue-service.ts +48 -0
  7. package/apps/control-plane/src/application/services/cost-tracking-service.ts +80 -0
  8. package/apps/control-plane/src/application/services/feature-deletion-service.ts +57 -0
  9. package/apps/control-plane/src/application/services/feature-lifecycle-service.ts +65 -0
  10. package/apps/control-plane/src/application/services/feature-state-service.ts +87 -0
  11. package/apps/control-plane/src/application/services/gate-selection-service.ts +28 -0
  12. package/apps/control-plane/src/application/services/gate-service.ts +148 -0
  13. package/apps/control-plane/src/application/services/issue-tracker-service.ts +28 -0
  14. package/apps/control-plane/src/application/services/lock-service.ts +88 -0
  15. package/apps/control-plane/src/application/services/merge-service.ts +63 -0
  16. package/apps/control-plane/src/application/services/notifier-service.ts +70 -0
  17. package/apps/control-plane/src/application/services/patch-service.ts +95 -0
  18. package/apps/control-plane/src/application/services/performance-analytics-service.ts +90 -0
  19. package/apps/control-plane/src/application/services/plan-service.ts +184 -0
  20. package/apps/control-plane/src/application/services/pr-monitor-service.ts +58 -0
  21. package/apps/control-plane/src/application/services/qa-index-service.ts +68 -0
  22. package/apps/control-plane/src/application/services/reactions-service.ts +77 -0
  23. package/apps/control-plane/src/application/services/reporting-service.ts +79 -0
  24. package/apps/control-plane/src/application/services/run-lease-service.ts +79 -0
  25. package/apps/control-plane/src/application/tools/tool-router.ts +76 -0
  26. package/apps/control-plane/src/mcp/tool-runtime.ts +4 -0
  27. package/apps/control-plane/src/providers/providers.ts +96 -0
  28. package/apps/control-plane/src/providers/worker-provider-factory.ts +4 -0
  29. package/apps/control-plane/src/supervisor/build-wave-executor.ts +4 -0
  30. package/apps/control-plane/src/supervisor/planning-wave-executor.ts +4 -0
  31. package/apps/control-plane/src/supervisor/qa-wave-executor.ts +4 -0
  32. package/apps/control-plane/src/supervisor/run-coordinator.ts +4 -0
  33. package/apps/control-plane/src/supervisor/runtime.ts +4 -0
  34. package/apps/control-plane/src/supervisor/session-orchestrator.ts +4 -0
  35. package/apps/control-plane/test/dashboard-api.integration.spec.ts +310 -1
  36. package/apps/control-plane/test/dashboard-client.spec.ts +136 -1
  37. package/apps/control-plane/test/dashboard-live-feed.spec.ts +153 -0
  38. package/apps/control-plane/test/dashboard-ui-utils.spec.ts +132 -0
  39. package/apps/control-plane/test/mcp.spec.ts +96 -0
  40. package/apps/control-plane/test/tool-runtime.spec.ts +68 -0
  41. package/config/agentic/orchestrator/policy.yaml +1 -0
  42. package/dist/apps/control-plane/application/services/activity-monitor-service.d.ts +42 -0
  43. package/dist/apps/control-plane/application/services/activity-monitor-service.js +42 -0
  44. package/dist/apps/control-plane/application/services/activity-monitor-service.js.map +1 -1
  45. package/dist/apps/control-plane/application/services/collision-queue-service.d.ts +48 -0
  46. package/dist/apps/control-plane/application/services/collision-queue-service.js +48 -0
  47. package/dist/apps/control-plane/application/services/collision-queue-service.js.map +1 -1
  48. package/dist/apps/control-plane/application/services/cost-tracking-service.d.ts +79 -0
  49. package/dist/apps/control-plane/application/services/cost-tracking-service.js +76 -0
  50. package/dist/apps/control-plane/application/services/cost-tracking-service.js.map +1 -1
  51. package/dist/apps/control-plane/application/services/feature-deletion-service.d.ts +57 -0
  52. package/dist/apps/control-plane/application/services/feature-deletion-service.js +57 -0
  53. package/dist/apps/control-plane/application/services/feature-deletion-service.js.map +1 -1
  54. package/dist/apps/control-plane/application/services/feature-lifecycle-service.d.ts +64 -0
  55. package/dist/apps/control-plane/application/services/feature-lifecycle-service.js +61 -0
  56. package/dist/apps/control-plane/application/services/feature-lifecycle-service.js.map +1 -1
  57. package/dist/apps/control-plane/application/services/feature-state-service.d.ts +86 -0
  58. package/dist/apps/control-plane/application/services/feature-state-service.js +83 -0
  59. package/dist/apps/control-plane/application/services/feature-state-service.js.map +1 -1
  60. package/dist/apps/control-plane/application/services/gate-selection-service.d.ts +28 -0
  61. package/dist/apps/control-plane/application/services/gate-selection-service.js +28 -0
  62. package/dist/apps/control-plane/application/services/gate-selection-service.js.map +1 -1
  63. package/dist/apps/control-plane/application/services/gate-service.d.ts +148 -0
  64. package/dist/apps/control-plane/application/services/gate-service.js +120 -0
  65. package/dist/apps/control-plane/application/services/gate-service.js.map +1 -1
  66. package/dist/apps/control-plane/application/services/issue-tracker-service.d.ts +28 -0
  67. package/dist/apps/control-plane/application/services/issue-tracker-service.js +28 -0
  68. package/dist/apps/control-plane/application/services/issue-tracker-service.js.map +1 -1
  69. package/dist/apps/control-plane/application/services/lock-service.d.ts +88 -0
  70. package/dist/apps/control-plane/application/services/lock-service.js +64 -0
  71. package/dist/apps/control-plane/application/services/lock-service.js.map +1 -1
  72. package/dist/apps/control-plane/application/services/merge-service.d.ts +62 -0
  73. package/dist/apps/control-plane/application/services/merge-service.js +59 -0
  74. package/dist/apps/control-plane/application/services/merge-service.js.map +1 -1
  75. package/dist/apps/control-plane/application/services/notifier-service.d.ts +70 -0
  76. package/dist/apps/control-plane/application/services/notifier-service.js +70 -0
  77. package/dist/apps/control-plane/application/services/notifier-service.js.map +1 -1
  78. package/dist/apps/control-plane/application/services/patch-service.d.ts +94 -0
  79. package/dist/apps/control-plane/application/services/patch-service.js +91 -0
  80. package/dist/apps/control-plane/application/services/patch-service.js.map +1 -1
  81. package/dist/apps/control-plane/application/services/performance-analytics-service.d.ts +89 -0
  82. package/dist/apps/control-plane/application/services/performance-analytics-service.js +86 -0
  83. package/dist/apps/control-plane/application/services/performance-analytics-service.js.map +1 -1
  84. package/dist/apps/control-plane/application/services/plan-service.d.ts +287 -0
  85. package/dist/apps/control-plane/application/services/plan-service.js +207 -0
  86. package/dist/apps/control-plane/application/services/plan-service.js.map +1 -1
  87. package/dist/apps/control-plane/application/services/pr-monitor-service.d.ts +58 -0
  88. package/dist/apps/control-plane/application/services/pr-monitor-service.js +58 -0
  89. package/dist/apps/control-plane/application/services/pr-monitor-service.js.map +1 -1
  90. package/dist/apps/control-plane/application/services/qa-index-service.d.ts +67 -0
  91. package/dist/apps/control-plane/application/services/qa-index-service.js +64 -0
  92. package/dist/apps/control-plane/application/services/qa-index-service.js.map +1 -1
  93. package/dist/apps/control-plane/application/services/reactions-service.d.ts +76 -0
  94. package/dist/apps/control-plane/application/services/reactions-service.js +73 -0
  95. package/dist/apps/control-plane/application/services/reactions-service.js.map +1 -1
  96. package/dist/apps/control-plane/application/services/reporting-service.d.ts +78 -0
  97. package/dist/apps/control-plane/application/services/reporting-service.js +75 -0
  98. package/dist/apps/control-plane/application/services/reporting-service.js.map +1 -1
  99. package/dist/apps/control-plane/application/services/run-lease-service.d.ts +79 -0
  100. package/dist/apps/control-plane/application/services/run-lease-service.js +79 -0
  101. package/dist/apps/control-plane/application/services/run-lease-service.js.map +1 -1
  102. package/dist/apps/control-plane/application/tools/tool-router.d.ts +76 -0
  103. package/dist/apps/control-plane/application/tools/tool-router.js +62 -0
  104. package/dist/apps/control-plane/application/tools/tool-router.js.map +1 -1
  105. package/dist/apps/control-plane/mcp/tool-runtime.d.ts +3 -0
  106. package/dist/apps/control-plane/mcp/tool-runtime.js +3 -0
  107. package/dist/apps/control-plane/mcp/tool-runtime.js.map +1 -1
  108. package/dist/apps/control-plane/providers/providers.d.ts +88 -0
  109. package/dist/apps/control-plane/providers/providers.js.map +1 -1
  110. package/dist/apps/control-plane/providers/worker-provider-factory.d.ts +3 -0
  111. package/dist/apps/control-plane/providers/worker-provider-factory.js.map +1 -1
  112. package/dist/apps/control-plane/supervisor/build-wave-executor.d.ts +3 -0
  113. package/dist/apps/control-plane/supervisor/build-wave-executor.js +3 -0
  114. package/dist/apps/control-plane/supervisor/build-wave-executor.js.map +1 -1
  115. package/dist/apps/control-plane/supervisor/planning-wave-executor.d.ts +3 -0
  116. package/dist/apps/control-plane/supervisor/planning-wave-executor.js +3 -0
  117. package/dist/apps/control-plane/supervisor/planning-wave-executor.js.map +1 -1
  118. package/dist/apps/control-plane/supervisor/qa-wave-executor.d.ts +3 -0
  119. package/dist/apps/control-plane/supervisor/qa-wave-executor.js +3 -0
  120. package/dist/apps/control-plane/supervisor/qa-wave-executor.js.map +1 -1
  121. package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +3 -0
  122. package/dist/apps/control-plane/supervisor/run-coordinator.js +3 -0
  123. package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
  124. package/dist/apps/control-plane/supervisor/runtime.d.ts +3 -0
  125. package/dist/apps/control-plane/supervisor/runtime.js +3 -0
  126. package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
  127. package/dist/apps/control-plane/supervisor/session-orchestrator.d.ts +3 -0
  128. package/dist/apps/control-plane/supervisor/session-orchestrator.js +3 -0
  129. package/dist/apps/control-plane/supervisor/session-orchestrator.js.map +1 -1
  130. package/package.json +1 -1
  131. package/packages/web-dashboard/src/app/analytics/page.tsx +451 -0
  132. package/packages/web-dashboard/src/app/api/analytics/route.ts +62 -0
  133. package/packages/web-dashboard/src/app/api/collisions/route.ts +63 -0
  134. package/packages/web-dashboard/src/app/api/features/[id]/cost/route.ts +29 -0
  135. package/packages/web-dashboard/src/app/api/features/[id]/review-brief/route.ts +31 -0
  136. package/packages/web-dashboard/src/app/api/features/[id]/route.ts +5 -8
  137. package/packages/web-dashboard/src/app/api/features/[id]/test-index/route.ts +31 -0
  138. package/packages/web-dashboard/src/app/api/flaky/route.ts +20 -0
  139. package/packages/web-dashboard/src/app/api/policy/budget/route.ts +31 -0
  140. package/packages/web-dashboard/src/app/api/run/route.ts +162 -0
  141. package/packages/web-dashboard/src/app/api/status/route.ts +2 -5
  142. package/packages/web-dashboard/src/app/feature/[id]/page.tsx +112 -0
  143. package/packages/web-dashboard/src/app/page.tsx +379 -77
  144. package/packages/web-dashboard/src/components/agent-pipeline-stepper.tsx +100 -0
  145. package/packages/web-dashboard/src/components/dependency-chains.tsx +58 -0
  146. package/packages/web-dashboard/src/components/detail-panel.tsx +215 -5
  147. package/packages/web-dashboard/src/components/feature-card.tsx +5 -0
  148. package/packages/web-dashboard/src/components/feature-cost-panel.tsx +66 -0
  149. package/packages/web-dashboard/src/components/feature-list-view.tsx +336 -0
  150. package/packages/web-dashboard/src/components/gate-step-drilldown.tsx +92 -0
  151. package/packages/web-dashboard/src/components/kanban-board.tsx +3 -0
  152. package/packages/web-dashboard/src/components/live-event-feed.tsx +60 -0
  153. package/packages/web-dashboard/src/components/lock-resource-map.tsx +73 -0
  154. package/packages/web-dashboard/src/components/plan-revision-timeline.tsx +55 -0
  155. package/packages/web-dashboard/src/components/plan-risk-annotations.tsx +63 -0
  156. package/packages/web-dashboard/src/components/plan-scope-tree.tsx +285 -0
  157. package/packages/web-dashboard/src/components/qa-coverage-map.tsx +174 -0
  158. package/packages/web-dashboard/src/components/quick-launch-panel.tsx +70 -0
  159. package/packages/web-dashboard/src/components/review-brief-panel.tsx +75 -0
  160. package/packages/web-dashboard/src/components/run-health-panel.tsx +85 -0
  161. package/packages/web-dashboard/src/components/summary-bar.tsx +59 -2
  162. package/packages/web-dashboard/src/components/verification-signals.tsx +167 -0
  163. package/packages/web-dashboard/src/lib/analytics-utils.ts +3 -0
  164. package/packages/web-dashboard/src/lib/aop-client.ts +510 -11
  165. package/packages/web-dashboard/src/lib/api-envelope.ts +48 -0
  166. package/packages/web-dashboard/src/lib/authz-adapter.ts +33 -0
  167. package/packages/web-dashboard/src/lib/dashboard-utils.ts +304 -0
  168. package/packages/web-dashboard/src/lib/live-feed.ts +218 -0
  169. package/packages/web-dashboard/src/lib/policy-reader.ts +22 -0
  170. package/packages/web-dashboard/src/lib/types.ts +114 -0
  171. package/packages/web-dashboard/src/styles/dashboard.module.css +341 -1
  172. package/spec-files/{outstanding → completed}/agentic_orchestrator_dashboard_advanced_ux_spec.md +1 -1
  173. package/spec-files/outstanding/agentic_orchestrator_evidence_integrity_doctor_spec.md +561 -0
  174. package/spec-files/outstanding/agentic_orchestrator_kernel_simplification_spec.md +834 -0
  175. package/spec-files/outstanding/agentic_orchestrator_observability_integrity_diagnostics_spec.md +12 -5
  176. package/spec-files/outstanding/agentic_orchestrator_observability_replay_spec.md +442 -0
  177. package/spec-files/progress.md +174 -1
@@ -38,10 +38,28 @@ export interface NotificationConfig {
38
38
  channels?: NotificationChannelConfig;
39
39
  routing?: NotificationRoutingConfig;
40
40
  }
41
+ /**
42
+ * Desktop notification channel using notify-send.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const channel = new DesktopNotifierChannel();
47
+ * await channel.send(payload);
48
+ * ```
49
+ */
41
50
  export declare class DesktopNotifierChannel implements NotifierChannel {
42
51
  readonly name = "desktop";
43
52
  send(payload: NotificationPayload): Promise<void>;
44
53
  }
54
+ /**
55
+ * Slack notification channel using webhook.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const channel = new SlackNotifierChannel(webhookUrl, '#alerts');
60
+ * await channel.send(payload);
61
+ * ```
62
+ */
45
63
  export declare class SlackNotifierChannel implements NotifierChannel {
46
64
  readonly name = "slack";
47
65
  private readonly webhookUrl;
@@ -49,12 +67,51 @@ export declare class SlackNotifierChannel implements NotifierChannel {
49
67
  constructor(webhookUrl: string, channel: string);
50
68
  send(payload: NotificationPayload): Promise<void>;
51
69
  }
70
+ /**
71
+ * Generic webhook notification channel.
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const channel = new WebhookNotifierChannel('https://example.com/webhook');
76
+ * await channel.send(payload);
77
+ * ```
78
+ */
52
79
  export declare class WebhookNotifierChannel implements NotifierChannel {
53
80
  readonly name = "webhook";
54
81
  private readonly url;
55
82
  constructor(url: string);
56
83
  send(payload: NotificationPayload): Promise<void>;
57
84
  }
85
+ /**
86
+ * Manages multi-channel notifications with priority routing.
87
+ *
88
+ * ## Responsibilities
89
+ * - Route notifications by priority (critical/warning/info)
90
+ * - Send to multiple channels (desktop/Slack/webhook)
91
+ * - Throttle duplicate notifications
92
+ * - Map events to priorities
93
+ *
94
+ * ## Dependencies
95
+ * - Notification channel implementations
96
+ * - Policy notification configuration
97
+ *
98
+ * ## Key Methods
99
+ * - `notify()` - send notification with priority routing
100
+ *
101
+ * ## Error Conditions
102
+ * - Channel send failures are logged but don't block
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const notifier = new NotifierService(config, dashboardUrl);
107
+ * await notifier.notify('gate_failed', 'my_feature', 'Gate fast failed', { gate: 'fast' });
108
+ * ```
109
+ *
110
+ * ## Supported Channels
111
+ * - desktop: notify-send
112
+ * - slack: webhook
113
+ * - webhook: generic HTTP POST
114
+ */
58
115
  export declare class NotifierService {
59
116
  private readonly config;
60
117
  private readonly channels;
@@ -65,6 +122,19 @@ export declare class NotifierService {
65
122
  private buildRouting;
66
123
  private buildChannels;
67
124
  private isThrottled;
125
+ /**
126
+ * Sends notification with priority-based routing.
127
+ *
128
+ * @param event - notification event type
129
+ * @param featureId - optional feature identifier
130
+ * @param message - notification message
131
+ * @param details - optional additional details
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * await notifier.notify('gate_failed', 'my_feature', 'Gate fast failed', { gate: 'fast' });
136
+ * ```
137
+ */
68
138
  notify(event: NotificationEvent, context: {
69
139
  feature_id?: string;
70
140
  message: string;
@@ -19,6 +19,15 @@ const EVENT_PRIORITY = {
19
19
  budget_alert: 'warning',
20
20
  };
21
21
  const THROTTLE_WINDOW_MS = 5 * 60 * 1000; // 5 minutes
22
+ /**
23
+ * Desktop notification channel using notify-send.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const channel = new DesktopNotifierChannel();
28
+ * await channel.send(payload);
29
+ * ```
30
+ */
22
31
  export class DesktopNotifierChannel {
23
32
  name = 'desktop';
24
33
  async send(payload) {
@@ -42,6 +51,15 @@ export class DesktopNotifierChannel {
42
51
  }
43
52
  }
44
53
  }
54
+ /**
55
+ * Slack notification channel using webhook.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const channel = new SlackNotifierChannel(webhookUrl, '#alerts');
60
+ * await channel.send(payload);
61
+ * ```
62
+ */
45
63
  export class SlackNotifierChannel {
46
64
  name = 'slack';
47
65
  webhookUrl;
@@ -79,6 +97,15 @@ export class SlackNotifierChannel {
79
97
  }
80
98
  }
81
99
  }
100
+ /**
101
+ * Generic webhook notification channel.
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const channel = new WebhookNotifierChannel('https://example.com/webhook');
106
+ * await channel.send(payload);
107
+ * ```
108
+ */
82
109
  export class WebhookNotifierChannel {
83
110
  name = 'webhook';
84
111
  url;
@@ -96,6 +123,36 @@ export class WebhookNotifierChannel {
96
123
  }
97
124
  }
98
125
  }
126
+ /**
127
+ * Manages multi-channel notifications with priority routing.
128
+ *
129
+ * ## Responsibilities
130
+ * - Route notifications by priority (critical/warning/info)
131
+ * - Send to multiple channels (desktop/Slack/webhook)
132
+ * - Throttle duplicate notifications
133
+ * - Map events to priorities
134
+ *
135
+ * ## Dependencies
136
+ * - Notification channel implementations
137
+ * - Policy notification configuration
138
+ *
139
+ * ## Key Methods
140
+ * - `notify()` - send notification with priority routing
141
+ *
142
+ * ## Error Conditions
143
+ * - Channel send failures are logged but don't block
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const notifier = new NotifierService(config, dashboardUrl);
148
+ * await notifier.notify('gate_failed', 'my_feature', 'Gate fast failed', { gate: 'fast' });
149
+ * ```
150
+ *
151
+ * ## Supported Channels
152
+ * - desktop: notify-send
153
+ * - slack: webhook
154
+ * - webhook: generic HTTP POST
155
+ */
99
156
  export class NotifierService {
100
157
  config;
101
158
  channels;
@@ -145,6 +202,19 @@ export class NotifierService {
145
202
  this.throttleCache.set(key, now);
146
203
  return false;
147
204
  }
205
+ /**
206
+ * Sends notification with priority-based routing.
207
+ *
208
+ * @param event - notification event type
209
+ * @param featureId - optional feature identifier
210
+ * @param message - notification message
211
+ * @param details - optional additional details
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * await notifier.notify('gate_failed', 'my_feature', 'Gate fast failed', { gate: 'fast' });
216
+ * ```
217
+ */
148
218
  async notify(event, context) {
149
219
  if (!this.config.enabled) {
150
220
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"notifier-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/notifier-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAkD1C,MAAM,eAAe,GAA2C;IAC9D,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,cAAc,GAAiD;IACnE,WAAW,EAAE,UAAU;IACvB,kBAAkB,EAAE,UAAU;IAC9B,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,MAAM;IACtB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,iBAAiB,EAAE,SAAS;IAC5B,eAAe,EAAE,UAAU;IAC3B,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEtD,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,SAAS,CAAC;IAE1B,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,MAAM,KAAK,GAAG,QAAQ,OAAO,CAAC,QAAQ,GAAG,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU;YAC7B,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,OAAO,EAAE;YAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,yBAAyB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;gBACpH,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,iCAAiC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACtB,IAAI,GAAG,OAAO,CAAC;IACP,UAAU,CAAS;IACnB,OAAO,CAAS;IAEjC,YAAY,UAAkB,EAAE,OAAe;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,mBAAmB,GACvB,OAAO,OAAO,CAAC,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YAC3F,CAAC,CAAC,OAAO,CAAC,qBAAqB;YAC/B,CAAC,CAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC7E,CAAC,CAAC,OAAO,CAAC,aAAa;gBACvB,CAAC,CAAC,IAAI,CAAC;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,aAAa,GACjB,WAAW,KAAK,IAAI;YAClB,CAAC,CAAC,gBAAgB,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI;YAC9F,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,eAAe,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU;YAC7B,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,OAAO,CAAC,UAAU,OAAO,OAAO,CAAC,OAAO,EAAE;YACvF,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,GAAG,IAAI,GAAG,eAAe,GAAG,aAAa,EAAE;SAClD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,SAAS,CAAC;IACT,GAAG,CAAS;IAE7B,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IACT,MAAM,CAAqB;IAC3B,QAAQ,CAA+B;IACvC,OAAO,CAAsC;IAC7C,aAAa,CAAsB;IACnC,YAAY,CAAgB;IAE7C,YAAY,MAA0B,EAAE,eAA8B,IAAI;QACxE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEO,YAAY,CAClB,OAA8C;QAE9C,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC;QACtF,OAAO;YACL,QAAQ;YACR,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;YACpD,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,eAAe,CAAC,IAAI;SAC5C,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,cAAqD;QAErD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAI,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,SAA6B,EAAE,KAAwB;QACzE,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAwB,EACxB,OAAoF;QAEpF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,OAAO,GAA4B;YACvC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;YAC1C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,qBAAqB,GAAG,GAAG,IAAI,CAAC,YAAY,YAAY,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3G,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAwB;YACnC,KAAK;YACL,QAAQ;YACR,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAExD,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,aAAa,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CACnC,cAAuC,EACvC,mBAAkC,IAAI;IAEtC,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,MAAM,GAAuB;QACjC,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI;QAC3B,QAAQ,EAAG,CAAC,CAAC,QAAkD,IAAI,EAAE;QACrE,OAAO,EAAG,CAAC,CAAC,OAAiD,IAAI,EAAE;KACpE,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG;YAChB,OAAO,EACL,gBAAgB,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE;gBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;YACxB,KAAK,EACH,gBAAgB,KAAK,OAAO;gBAC1B,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;YACxB,OAAO,EACL,gBAAgB,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE;gBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;SACzB,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAChB,cAAc,CAAC,SAAS,IAAI,OAAO,cAAc,CAAC,SAAS,KAAK,QAAQ;QACtE,CAAC,CAAE,cAAc,CAAC,SAAqC;QACvD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,aAAa,GACjB,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QACjD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACtC,CAAC,CAAC,oBAAoB,aAAa,EAAE,CAAC;IAC1C,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"notifier-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/notifier-service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ type StateUpdater = (frontMatter: AnyRecord, body: string) => Promise<{
4
4
  frontMatter?: AnyRecord;
5
5
  body?: string;
6
6
  }>;
7
+ /**
8
+ * @fileoverview Patch validation and application service.
9
+ */
7
10
  export interface PatchServicePort {
8
11
  getRepoRoot(): string;
9
12
  getPolicySnapshot(): AnyRecord;
@@ -20,14 +23,105 @@ export interface PatchServicePort {
20
23
  }>;
21
24
  updateState(featureId: string, expectedVersion: number | null, updater: StateUpdater): Promise<AnyRecord>;
22
25
  }
26
+ /**
27
+ * Manages patch validation and atomic application.
28
+ *
29
+ * ## Responsibilities
30
+ * - Validate unified diff format
31
+ * - Enforce plan area restrictions
32
+ * - Apply policy path rules
33
+ * - Verify lock requirements
34
+ * - Apply patches atomically to worktree
35
+ *
36
+ * ## Dependencies
37
+ * Depends on {@link PatchServicePort} for:
38
+ * - Plan and policy access
39
+ * - State operations
40
+ * - Worktree path resolution
41
+ *
42
+ * ## Key Methods
43
+ * - `repoApplyPatch()` - validate and apply unified diff
44
+ * - `validatePatchPaths()` - enforce plan/policy path rules
45
+ * - `assertPlanLocksHeld()` - verify required locks
46
+ *
47
+ * ## Error Conditions
48
+ * - PATCH_VALIDATION_FAILED - invalid diff format or path violations
49
+ * - LOCK_NOT_HELD - required locks not acquired
50
+ * - PLAN_NOT_FOUND - no accepted plan exists
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const patchService = new PatchService(port);
55
+ * await patchService.repoApplyPatch('my_feature', unifiedDiff);
56
+ * ```
57
+ *
58
+ * ## Thread Safety
59
+ * Patch application is atomic within feature worktree.
60
+ */
23
61
  export declare class PatchService {
24
62
  private readonly port;
25
63
  private readonly gateSelectionService;
26
64
  constructor(port: PatchServicePort);
65
+ /**
66
+ * Loads accepted plan for a feature.
67
+ *
68
+ * @param featureId - feature identifier
69
+ * @returns Plan object or null if not found
70
+ */
27
71
  loadAcceptedPlan(featureId: string): Promise<AnyRecord | null>;
28
72
  requiredResourcesForPlan(plan: AnyRecord): string[];
73
+ /**
74
+ * Verifies required resource locks are held for plan.
75
+ *
76
+ * @param featureId - feature identifier
77
+ * @param plan - plan requiring locks
78
+ * @throws LOCK_NOT_HELD - required locks not held
79
+ */
29
80
  assertPlanLocksHeld(featureId: string, plan: AnyRecord): Promise<void>;
81
+ /**
82
+ * Validates patch paths against plan areas and policy rules.
83
+ *
84
+ * Enforces:
85
+ * - Paths must be in plan allowed_areas
86
+ * - Paths must not be in plan forbidden_areas
87
+ * - Paths must not violate policy path rules
88
+ *
89
+ * @param featureId - feature identifier
90
+ * @param patch - unified diff content
91
+ * @param plan - accepted plan with area restrictions
92
+ * @throws PATCH_VALIDATION_FAILED - path violations detected
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * await patchService.validatePatchPaths('my_feature', diff, plan);
97
+ * ```
98
+ */
30
99
  validatePatchPaths(featureId: string, parsedDiff: ReturnType<typeof parseUnifiedDiff>, plan: AnyRecord | null): Promise<string[]>;
100
+ /**
101
+ * Validates and applies unified diff to feature worktree.
102
+ *
103
+ * Full validation pipeline:
104
+ * 1. Load accepted plan
105
+ * 2. Verify required locks held
106
+ * 3. Validate patch format
107
+ * 4. Enforce path restrictions
108
+ * 5. Apply patch atomically
109
+ * 6. Update state with patch metadata
110
+ *
111
+ * @param featureId - feature identifier
112
+ * @param patch - unified diff content
113
+ * @returns Success response with applied patch metadata
114
+ * @throws PLAN_NOT_FOUND - no accepted plan
115
+ * @throws LOCK_NOT_HELD - required locks not held
116
+ * @throws PATCH_VALIDATION_FAILED - invalid format or path violations
117
+ * @throws PATCH_APPLICATION_FAILED - git apply failed
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const diff = `--- a/file.ts\n+++ b/file.ts\n...`;
122
+ * await patchService.repoApplyPatch('my_feature', diff);
123
+ * ```
124
+ */
31
125
  repoApplyPatch(featureId: string, unifiedDiff: string): Promise<{
32
126
  data: {
33
127
  feature_id: string;
@@ -26,6 +26,41 @@ function normalizeFromWorktree(worktreePath, repoRoot, repoRelativeFromWorktree)
26
26
  }
27
27
  return path.relative(repoRoot, absolute).replaceAll('\\\\', '/');
28
28
  }
29
+ /**
30
+ * Manages patch validation and atomic application.
31
+ *
32
+ * ## Responsibilities
33
+ * - Validate unified diff format
34
+ * - Enforce plan area restrictions
35
+ * - Apply policy path rules
36
+ * - Verify lock requirements
37
+ * - Apply patches atomically to worktree
38
+ *
39
+ * ## Dependencies
40
+ * Depends on {@link PatchServicePort} for:
41
+ * - Plan and policy access
42
+ * - State operations
43
+ * - Worktree path resolution
44
+ *
45
+ * ## Key Methods
46
+ * - `repoApplyPatch()` - validate and apply unified diff
47
+ * - `validatePatchPaths()` - enforce plan/policy path rules
48
+ * - `assertPlanLocksHeld()` - verify required locks
49
+ *
50
+ * ## Error Conditions
51
+ * - PATCH_VALIDATION_FAILED - invalid diff format or path violations
52
+ * - LOCK_NOT_HELD - required locks not acquired
53
+ * - PLAN_NOT_FOUND - no accepted plan exists
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const patchService = new PatchService(port);
58
+ * await patchService.repoApplyPatch('my_feature', unifiedDiff);
59
+ * ```
60
+ *
61
+ * ## Thread Safety
62
+ * Patch application is atomic within feature worktree.
63
+ */
29
64
  export class PatchService {
30
65
  port;
31
66
  gateSelectionService;
@@ -33,6 +68,12 @@ export class PatchService {
33
68
  this.port = port;
34
69
  this.gateSelectionService = new GateSelectionService(port);
35
70
  }
71
+ /**
72
+ * Loads accepted plan for a feature.
73
+ *
74
+ * @param featureId - feature identifier
75
+ * @returns Plan object or null if not found
76
+ */
36
77
  async loadAcceptedPlan(featureId) {
37
78
  const plan = await readJson(this.port.planPath(featureId), null);
38
79
  if (!plan && this.port.getPolicySnapshot().patch_policy.enforce_plan) {
@@ -61,6 +102,13 @@ export class PatchService {
61
102
  }
62
103
  return sortResourcesDeterministically(resources);
63
104
  }
105
+ /**
106
+ * Verifies required resource locks are held for plan.
107
+ *
108
+ * @param featureId - feature identifier
109
+ * @param plan - plan requiring locks
110
+ * @throws LOCK_NOT_HELD - required locks not held
111
+ */
64
112
  async assertPlanLocksHeld(featureId, plan) {
65
113
  const state = await this.port.readState(featureId);
66
114
  const held = new Set(readHeldLocks(state.frontMatter));
@@ -78,6 +126,24 @@ export class PatchService {
78
126
  };
79
127
  }
80
128
  }
129
+ /**
130
+ * Validates patch paths against plan areas and policy rules.
131
+ *
132
+ * Enforces:
133
+ * - Paths must be in plan allowed_areas
134
+ * - Paths must not be in plan forbidden_areas
135
+ * - Paths must not violate policy path rules
136
+ *
137
+ * @param featureId - feature identifier
138
+ * @param patch - unified diff content
139
+ * @param plan - accepted plan with area restrictions
140
+ * @throws PATCH_VALIDATION_FAILED - path violations detected
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * await patchService.validatePatchPaths('my_feature', diff, plan);
145
+ * ```
146
+ */
81
147
  async validatePatchPaths(featureId, parsedDiff, plan) {
82
148
  const policy = this.port.getPolicySnapshot();
83
149
  const repoRoot = this.port.getRepoRoot();
@@ -130,6 +196,31 @@ export class PatchService {
130
196
  }
131
197
  return normalizedTouched;
132
198
  }
199
+ /**
200
+ * Validates and applies unified diff to feature worktree.
201
+ *
202
+ * Full validation pipeline:
203
+ * 1. Load accepted plan
204
+ * 2. Verify required locks held
205
+ * 3. Validate patch format
206
+ * 4. Enforce path restrictions
207
+ * 5. Apply patch atomically
208
+ * 6. Update state with patch metadata
209
+ *
210
+ * @param featureId - feature identifier
211
+ * @param patch - unified diff content
212
+ * @returns Success response with applied patch metadata
213
+ * @throws PLAN_NOT_FOUND - no accepted plan
214
+ * @throws LOCK_NOT_HELD - required locks not held
215
+ * @throws PATCH_VALIDATION_FAILED - invalid format or path violations
216
+ * @throws PATCH_APPLICATION_FAILED - git apply failed
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * const diff = `--- a/file.ts\n+++ b/file.ts\n...`;
221
+ * await patchService.repoApplyPatch('my_feature', diff);
222
+ * ```
223
+ */
133
224
  async repoApplyPatch(featureId, unifiedDiff) {
134
225
  const plan = await this.loadAcceptedPlan(featureId);
135
226
  const state = await this.port.readState(featureId);
@@ -1 +1 @@
1
- {"version":3,"file":"patch-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/patch-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/patch-service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @fileoverview Performance analytics and outcome tracking service.
3
+ */
1
4
  export interface FeatureOutcome {
2
5
  feature_id: string;
3
6
  provider: string;
@@ -29,11 +32,97 @@ export interface PerformanceAnalyticsServicePort {
29
32
  analyticsPath(): string;
30
33
  getPolicySnapshot(): Record<string, unknown>;
31
34
  }
35
+ /**
36
+ * Manages performance analytics and outcome tracking.
37
+ *
38
+ * ## Responsibilities
39
+ * - Record feature outcomes (status, retries, duration, cost)
40
+ * - Aggregate metrics by provider/model
41
+ * - Calculate success rates and averages
42
+ * - Provide analytics for dashboard
43
+ *
44
+ * ## Dependencies
45
+ * Depends on {@link PerformanceAnalyticsServicePort} for:
46
+ * - Analytics file path resolution
47
+ * - Timestamp utilities
48
+ *
49
+ * ## Key Methods
50
+ * - `recordOutcome()` - record feature outcome
51
+ * - `getAnalytics()` - retrieve aggregated metrics
52
+ * - `getProviderStats()` - get metrics by provider/model
53
+ *
54
+ * ## Error Conditions
55
+ * - FILE_NOT_FOUND - analytics file does not exist
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const perfService = new PerformanceAnalyticsService(port);
60
+ * await perfService.recordOutcome({
61
+ * feature_id: 'my_feature',
62
+ * status: 'merged',
63
+ * provider: 'claude',
64
+ * model: 'claude-3-5-sonnet-20241022',
65
+ * retries: 2,
66
+ * duration_ms: 300000,
67
+ * cost_usd: 1.50
68
+ * });
69
+ * const analytics = await perfService.getAnalytics();
70
+ * ```
71
+ *
72
+ * ## Metrics Tracked
73
+ * - Success rate by provider/model
74
+ * - Average cost per feature
75
+ * - Average duration per phase
76
+ * - Retry counts and reasons
77
+ */
32
78
  export declare class PerformanceAnalyticsService {
33
79
  private readonly port;
34
80
  constructor(port: PerformanceAnalyticsServicePort);
81
+ /**
82
+ * Records feature outcome for analytics.
83
+ *
84
+ * @param outcome - outcome data (status, retries, duration, cost, provider, model)
85
+ * @returns Updated analytics snapshot
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * await perfService.recordOutcome({
90
+ * feature_id: 'my_feature',
91
+ * status: 'merged',
92
+ * provider: 'claude',
93
+ * model: 'claude-3-5-sonnet-20241022',
94
+ * retries: 2,
95
+ * duration_ms: 300000,
96
+ * cost_usd: 1.50
97
+ * });
98
+ * ```
99
+ */
35
100
  recordOutcome(outcome: FeatureOutcome): Promise<AnalyticsSnapshot>;
101
+ /**
102
+ * Retrieves aggregated performance analytics.
103
+ *
104
+ * @returns Analytics snapshot with provider/model metrics
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const analytics = await perfService.getAnalytics();
109
+ * console.log(analytics.by_provider);
110
+ * ```
111
+ */
36
112
  getAnalytics(): Promise<AnalyticsSnapshot>;
113
+ /**
114
+ * Retrieves provider/model statistics with optional filtering.
115
+ *
116
+ * @param provider - optional provider filter
117
+ * @param model - optional model filter
118
+ * @returns Array of provider/model stats
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const stats = await perfService.getProviderStats('claude');
123
+ * console.log(stats[0].success_rate);
124
+ * ```
125
+ */
37
126
  getProviderStats(provider?: string, model?: string): Promise<ProviderModelStats[]>;
38
127
  private readSnapshot;
39
128
  }