@proletariat/cli 0.3.86 → 0.3.87

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 (86) hide show
  1. package/dist/commands/config/index.js +42 -0
  2. package/dist/commands/config/index.js.map +1 -1
  3. package/dist/commands/session/poke.d.ts +3 -7
  4. package/dist/commands/session/poke.js +5 -7
  5. package/dist/commands/session/poke.js.map +1 -1
  6. package/dist/commands/ticket/cancel.js +2 -0
  7. package/dist/commands/ticket/cancel.js.map +1 -1
  8. package/dist/commands/ticket/complete.js +2 -0
  9. package/dist/commands/ticket/complete.js.map +1 -1
  10. package/dist/commands/ticket/delete.js +2 -0
  11. package/dist/commands/ticket/delete.js.map +1 -1
  12. package/dist/commands/ticket/edit.js +5 -0
  13. package/dist/commands/ticket/edit.js.map +1 -1
  14. package/dist/commands/ticket/move.js +2 -0
  15. package/dist/commands/ticket/move.js.map +1 -1
  16. package/dist/commands/ticket/project.js +2 -0
  17. package/dist/commands/ticket/project.js.map +1 -1
  18. package/dist/commands/ticket/reassign.js +2 -0
  19. package/dist/commands/ticket/reassign.js.map +1 -1
  20. package/dist/commands/ticket/resolve.js +2 -0
  21. package/dist/commands/ticket/resolve.js.map +1 -1
  22. package/dist/commands/ticket/update.js +5 -0
  23. package/dist/commands/ticket/update.js.map +1 -1
  24. package/dist/commands/work/complete.js +2 -0
  25. package/dist/commands/work/complete.js.map +1 -1
  26. package/dist/commands/work/peek.js +4 -0
  27. package/dist/commands/work/peek.js.map +1 -1
  28. package/dist/commands/work/poke.d.ts +3 -4
  29. package/dist/commands/work/poke.js +9 -4
  30. package/dist/commands/work/poke.js.map +1 -1
  31. package/dist/commands/work/ready.js +2 -0
  32. package/dist/commands/work/ready.js.map +1 -1
  33. package/dist/commands/work/start.d.ts +1 -0
  34. package/dist/commands/work/start.js +46 -2
  35. package/dist/commands/work/start.js.map +1 -1
  36. package/dist/commands/work/stop.js +5 -0
  37. package/dist/commands/work/stop.js.map +1 -1
  38. package/dist/hooks/init.js +3 -0
  39. package/dist/hooks/init.js.map +1 -1
  40. package/dist/hooks/postrun.js +3 -0
  41. package/dist/hooks/postrun.js.map +1 -1
  42. package/dist/lib/database/drizzle-schema.d.ts +1 -1
  43. package/dist/lib/database/migrations/0011_add_review_gate.d.ts +8 -0
  44. package/dist/lib/database/migrations/0011_add_review_gate.js +21 -0
  45. package/dist/lib/database/migrations/0011_add_review_gate.js.map +1 -0
  46. package/dist/lib/database/migrations/index.js +2 -0
  47. package/dist/lib/database/migrations/index.js.map +1 -1
  48. package/dist/lib/execution/runners/prompt-builder.js +49 -15
  49. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  50. package/dist/lib/execution/storage.d.ts +2 -1
  51. package/dist/lib/execution/storage.js +6 -5
  52. package/dist/lib/execution/storage.js.map +1 -1
  53. package/dist/lib/execution/types.d.ts +1 -0
  54. package/dist/lib/execution/types.js.map +1 -1
  55. package/dist/lib/mcp/tools/action.js +34 -0
  56. package/dist/lib/mcp/tools/action.js.map +1 -1
  57. package/dist/lib/pmo/schema.d.ts +1 -1
  58. package/dist/lib/pmo/schema.js +1 -0
  59. package/dist/lib/pmo/schema.js.map +1 -1
  60. package/dist/lib/pmo/storage/actions.js +9 -3
  61. package/dist/lib/pmo/storage/actions.js.map +1 -1
  62. package/dist/lib/pmo/storage/index.d.ts +1 -0
  63. package/dist/lib/pmo/storage/index.js +3 -0
  64. package/dist/lib/pmo/storage/index.js.map +1 -1
  65. package/dist/lib/pmo/storage/tickets.d.ts +7 -0
  66. package/dist/lib/pmo/storage/tickets.js +33 -2
  67. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  68. package/dist/lib/pmo/storage/types.d.ts +1 -0
  69. package/dist/lib/pmo/types.d.ts +10 -0
  70. package/dist/lib/pmo/types.js.map +1 -1
  71. package/dist/lib/pmo/utils.d.ts +38 -0
  72. package/dist/lib/pmo/utils.js +61 -0
  73. package/dist/lib/pmo/utils.js.map +1 -1
  74. package/dist/lib/providers/event-emitting-provider.js +13 -2
  75. package/dist/lib/providers/event-emitting-provider.js.map +1 -1
  76. package/dist/lib/telemetry/analytics.d.ts +47 -0
  77. package/dist/lib/telemetry/analytics.js +52 -0
  78. package/dist/lib/telemetry/analytics.js.map +1 -1
  79. package/dist/lib/telemetry/telemetry-bridge.d.ts +35 -0
  80. package/dist/lib/telemetry/telemetry-bridge.js +139 -0
  81. package/dist/lib/telemetry/telemetry-bridge.js.map +1 -0
  82. package/dist/lib/work-lifecycle/post-execution.d.ts +5 -1
  83. package/dist/lib/work-lifecycle/post-execution.js +30 -18
  84. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  85. package/oclif.manifest.json +1208 -1209
  86. package/package.json +9 -9
@@ -80,12 +80,15 @@ export declare function trackCommandRun(options: {
80
80
  }): void;
81
81
  /**
82
82
  * Track an agent being spawned.
83
+ *
84
+ * Privacy: No ticket IDs, branch names, or usernames.
83
85
  */
84
86
  export declare function trackAgentSpawned(options: {
85
87
  executor: string;
86
88
  environment: string;
87
89
  action: string;
88
90
  ephemeral: boolean;
91
+ provider?: string;
89
92
  }): void;
90
93
  /**
91
94
  * Track an orchestrator being started.
@@ -115,6 +118,50 @@ export declare function trackMCPToolCalled(options: {
115
118
  toolName: string;
116
119
  success: boolean;
117
120
  }): void;
121
+ /**
122
+ * Track a work primitive completing (groom, resolve, implement, review, peek, poke, stop).
123
+ *
124
+ * Privacy: No ticket IDs, descriptions, file paths, or code content.
125
+ */
126
+ export declare function trackPrimitiveExecuted(options: {
127
+ primitive: string;
128
+ durationMs: number;
129
+ success: boolean;
130
+ errorType?: string;
131
+ }): void;
132
+ /**
133
+ * Track an agent completing successfully.
134
+ *
135
+ * Privacy: No ticket IDs, branch names, or usernames.
136
+ */
137
+ export declare function trackAgentCompleted(options: {
138
+ action: string;
139
+ durationMs: number;
140
+ exitReason: 'completed' | 'errored' | 'stopped' | 'orphaned';
141
+ prCreated: boolean;
142
+ }): void;
143
+ /**
144
+ * Track an agent encountering an error.
145
+ *
146
+ * Privacy: No ticket IDs, error messages (may contain PII), or stack traces.
147
+ */
148
+ export declare function trackAgentErrored(options: {
149
+ action: string;
150
+ durationMs: number;
151
+ exitReason: 'errored';
152
+ errorType?: string;
153
+ }): void;
154
+ /**
155
+ * Track a ticket operation (fetch, move, update, comment, create, list).
156
+ *
157
+ * Privacy: No ticket IDs, descriptions, or ticket content.
158
+ */
159
+ export declare function trackTicketOperation(options: {
160
+ operation: 'fetch' | 'move' | 'update' | 'comment' | 'create' | 'list';
161
+ provider: string;
162
+ durationMs: number;
163
+ success: boolean;
164
+ }): void;
118
165
  /**
119
166
  * Wait for PostHog init to complete (so queued events get flushed), then
120
167
  * shut down the client. Uses a timeout to avoid blocking CLI exit if
@@ -341,6 +341,8 @@ export function trackCommandRun(options) {
341
341
  }
342
342
  /**
343
343
  * Track an agent being spawned.
344
+ *
345
+ * Privacy: No ticket IDs, branch names, or usernames.
344
346
  */
345
347
  export function trackAgentSpawned(options) {
346
348
  trackEvent('agent_spawned', null, {
@@ -348,6 +350,7 @@ export function trackAgentSpawned(options) {
348
350
  environment: options.environment,
349
351
  action: options.action,
350
352
  ephemeral: String(options.ephemeral),
353
+ ...(options.provider ? { provider: options.provider } : {}),
351
354
  });
352
355
  }
353
356
  /**
@@ -385,6 +388,55 @@ export function trackMCPToolCalled(options) {
385
388
  success: String(options.success),
386
389
  });
387
390
  }
391
+ // ─── Granular Telemetry Events ────────────────────────────────────────────────
392
+ /**
393
+ * Track a work primitive completing (groom, resolve, implement, review, peek, poke, stop).
394
+ *
395
+ * Privacy: No ticket IDs, descriptions, file paths, or code content.
396
+ */
397
+ export function trackPrimitiveExecuted(options) {
398
+ trackEvent('primitive_executed', options.durationMs, {
399
+ primitive: options.primitive,
400
+ success: options.success,
401
+ ...(options.errorType ? { error_type: options.errorType } : {}),
402
+ });
403
+ }
404
+ /**
405
+ * Track an agent completing successfully.
406
+ *
407
+ * Privacy: No ticket IDs, branch names, or usernames.
408
+ */
409
+ export function trackAgentCompleted(options) {
410
+ trackEvent('agent_completed', options.durationMs, {
411
+ action: options.action,
412
+ exit_reason: options.exitReason,
413
+ pr_created: options.prCreated,
414
+ });
415
+ }
416
+ /**
417
+ * Track an agent encountering an error.
418
+ *
419
+ * Privacy: No ticket IDs, error messages (may contain PII), or stack traces.
420
+ */
421
+ export function trackAgentErrored(options) {
422
+ trackEvent('agent_errored', options.durationMs, {
423
+ action: options.action,
424
+ exit_reason: options.exitReason,
425
+ ...(options.errorType ? { error_type: options.errorType } : {}),
426
+ });
427
+ }
428
+ /**
429
+ * Track a ticket operation (fetch, move, update, comment, create, list).
430
+ *
431
+ * Privacy: No ticket IDs, descriptions, or ticket content.
432
+ */
433
+ export function trackTicketOperation(options) {
434
+ trackEvent('ticket_operation', options.durationMs, {
435
+ operation: options.operation,
436
+ provider: options.provider,
437
+ success: options.success,
438
+ });
439
+ }
388
440
  // ─── Shutdown ────────────────────────────────────────────────────────────────
389
441
  /** Maximum time (ms) to wait for PostHog init before giving up during shutdown. */
390
442
  const SHUTDOWN_INIT_TIMEOUT_MS = 3000;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Telemetry Bridge — Subscribes to EventBus events and fires PostHog tracking calls.
3
+ *
4
+ * Centralizes instrumentation so individual commands/providers don't need to
5
+ * import and call tracking functions directly. The bridge listens to typed
6
+ * runtime events and translates them into PostHog telemetry events.
7
+ *
8
+ * Privacy rules:
9
+ * - DO track: command names, action types, provider names, durations, success/failure, environment type
10
+ * - DO NOT track: ticket descriptions, code content, file paths, API keys, branch names, usernames, ticket IDs
11
+ */
12
+ /**
13
+ * Start the telemetry bridge — subscribe to EventBus events and track them.
14
+ * Safe to call multiple times; subsequent calls are no-ops.
15
+ */
16
+ export declare function startTelemetryBridge(): void;
17
+ /**
18
+ * Stop the telemetry bridge and clean up subscriptions.
19
+ */
20
+ export declare function stopTelemetryBridge(): void;
21
+ /**
22
+ * Record the start of a work primitive for duration tracking.
23
+ * Call this at the beginning of a primitive command, then call
24
+ * `endPrimitiveTracking()` when it completes.
25
+ */
26
+ export declare function beginPrimitiveTracking(id: string, primitive: string): void;
27
+ /**
28
+ * Record the completion of a work primitive and fire the tracking event.
29
+ */
30
+ export declare function endPrimitiveTracking(id: string, success: boolean, errorType?: string): void;
31
+ /**
32
+ * Enrich an agent session with its action name (called from work:start).
33
+ * This lets agent_completed/agent_errored events report the correct action.
34
+ */
35
+ export declare function enrichAgentSession(sessionId: string, action: string): void;
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Telemetry Bridge — Subscribes to EventBus events and fires PostHog tracking calls.
3
+ *
4
+ * Centralizes instrumentation so individual commands/providers don't need to
5
+ * import and call tracking functions directly. The bridge listens to typed
6
+ * runtime events and translates them into PostHog telemetry events.
7
+ *
8
+ * Privacy rules:
9
+ * - DO track: command names, action types, provider names, durations, success/failure, environment type
10
+ * - DO NOT track: ticket descriptions, code content, file paths, API keys, branch names, usernames, ticket IDs
11
+ */
12
+ import { getEventBus } from '../events/event-bus.js';
13
+ import { trackAgentCompleted, trackAgentErrored, trackPrimitiveExecuted, } from './analytics.js';
14
+ // Track agent spawn times by sessionId for duration calculation
15
+ const agentSpawnTimes = new Map();
16
+ // Track primitive start times by command ID
17
+ const primitiveStartTimes = new Map();
18
+ let unsubscribers = [];
19
+ /**
20
+ * Start the telemetry bridge — subscribe to EventBus events and track them.
21
+ * Safe to call multiple times; subsequent calls are no-ops.
22
+ */
23
+ export function startTelemetryBridge() {
24
+ if (unsubscribers.length > 0)
25
+ return;
26
+ const bus = getEventBus();
27
+ // ── Agent Lifecycle ─────────────────────────────────────────────────────
28
+ // Track agent spawn time for duration calculation on completion
29
+ unsubscribers.push(bus.on('agent:spawned', (event) => {
30
+ agentSpawnTimes.set(event.sessionId, {
31
+ timestamp: event.timestamp,
32
+ action: 'unknown', // Will be enriched by work:started if available
33
+ });
34
+ }));
35
+ // Track agent completion
36
+ unsubscribers.push(bus.on('agent:stopped', (event) => {
37
+ const spawnInfo = agentSpawnTimes.get(event.sessionId);
38
+ const durationMs = spawnInfo
39
+ ? event.timestamp.getTime() - spawnInfo.timestamp.getTime()
40
+ : 0;
41
+ // Map event reason ('manual' | 'completed' | 'error') to telemetry exit reasons
42
+ if (event.reason === 'error') {
43
+ trackAgentErrored({
44
+ action: spawnInfo?.action ?? 'unknown',
45
+ durationMs,
46
+ exitReason: 'errored',
47
+ });
48
+ }
49
+ else {
50
+ trackAgentCompleted({
51
+ action: spawnInfo?.action ?? 'unknown',
52
+ durationMs,
53
+ exitReason: event.reason === 'manual' ? 'stopped' : event.reason,
54
+ prCreated: false,
55
+ });
56
+ }
57
+ agentSpawnTimes.delete(event.sessionId);
58
+ }));
59
+ // Track agent errors
60
+ unsubscribers.push(bus.on('agent:error', (event) => {
61
+ const spawnInfo = agentSpawnTimes.get(event.sessionId);
62
+ const durationMs = spawnInfo
63
+ ? event.timestamp.getTime() - spawnInfo.timestamp.getTime()
64
+ : 0;
65
+ trackAgentErrored({
66
+ action: spawnInfo?.action ?? 'unknown',
67
+ durationMs,
68
+ exitReason: 'errored',
69
+ errorType: classifyError(event.error),
70
+ });
71
+ agentSpawnTimes.delete(event.sessionId);
72
+ }));
73
+ }
74
+ /**
75
+ * Stop the telemetry bridge and clean up subscriptions.
76
+ */
77
+ export function stopTelemetryBridge() {
78
+ for (const unsub of unsubscribers) {
79
+ unsub();
80
+ }
81
+ unsubscribers = [];
82
+ agentSpawnTimes.clear();
83
+ primitiveStartTimes.clear();
84
+ }
85
+ /**
86
+ * Record the start of a work primitive for duration tracking.
87
+ * Call this at the beginning of a primitive command, then call
88
+ * `endPrimitiveTracking()` when it completes.
89
+ */
90
+ export function beginPrimitiveTracking(id, primitive) {
91
+ primitiveStartTimes.set(id, { timestamp: new Date(), primitive });
92
+ }
93
+ /**
94
+ * Record the completion of a work primitive and fire the tracking event.
95
+ */
96
+ export function endPrimitiveTracking(id, success, errorType) {
97
+ const startInfo = primitiveStartTimes.get(id);
98
+ if (!startInfo)
99
+ return;
100
+ const durationMs = Date.now() - startInfo.timestamp.getTime();
101
+ trackPrimitiveExecuted({
102
+ primitive: startInfo.primitive,
103
+ durationMs,
104
+ success,
105
+ errorType,
106
+ });
107
+ primitiveStartTimes.delete(id);
108
+ }
109
+ /**
110
+ * Enrich an agent session with its action name (called from work:start).
111
+ * This lets agent_completed/agent_errored events report the correct action.
112
+ */
113
+ export function enrichAgentSession(sessionId, action) {
114
+ const existing = agentSpawnTimes.get(sessionId);
115
+ if (existing) {
116
+ existing.action = action;
117
+ }
118
+ }
119
+ /**
120
+ * Classify an error message into a safe, non-PII error type.
121
+ * Only returns generic categories — never includes the original message.
122
+ */
123
+ function classifyError(errorMessage) {
124
+ const lower = errorMessage.toLowerCase();
125
+ if (lower.includes('timeout'))
126
+ return 'timeout';
127
+ if (lower.includes('docker') || lower.includes('container'))
128
+ return 'container';
129
+ if (lower.includes('permission') || lower.includes('denied'))
130
+ return 'permission';
131
+ if (lower.includes('network') || lower.includes('econnrefused') || lower.includes('fetch'))
132
+ return 'network';
133
+ if (lower.includes('spawn') || lower.includes('enoent'))
134
+ return 'spawn_failure';
135
+ if (lower.includes('oom') || lower.includes('memory'))
136
+ return 'memory';
137
+ return 'unknown';
138
+ }
139
+ //# sourceMappingURL=telemetry-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-bridge.js","sourceRoot":"","sources":["../../../src/lib/telemetry/telemetry-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAEjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAA;AAEvB,gEAAgE;AAChE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+C,CAAA;AAE9E,4CAA4C;AAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkD,CAAA;AAErF,IAAI,aAAa,GAAsB,EAAE,CAAA;AAEzC;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAM;IAEpC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IAEzB,2EAA2E;IAE3E,gEAAgE;IAChE,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,SAAS,EAAE,gDAAgD;SACpE,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA;IAED,yBAAyB;IACzB,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,CAAC,CAAA;QAEL,gFAAgF;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7B,iBAAiB,CAAC;gBAChB,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,SAAS;gBACtC,UAAU;gBACV,UAAU,EAAE,SAAS;aACtB,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC;gBAClB,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,SAAS;gBACtC,UAAU;gBACV,UAAU,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;gBAChE,SAAS,EAAE,KAAK;aACjB,CAAC,CAAA;QACJ,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC,CAAC,CACH,CAAA;IAED,qBAAqB;IACrB,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,CAAC,CAAA;QAEL,iBAAiB,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,SAAS;YACtC,UAAU;YACV,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;SACtC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,EAAE,CAAA;IACT,CAAC;IACD,aAAa,GAAG,EAAE,CAAA;IAClB,eAAe,CAAC,KAAK,EAAE,CAAA;IACvB,mBAAmB,CAAC,KAAK,EAAE,CAAA;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,SAAiB;IAClE,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,OAAgB,EAAE,SAAkB;IACnF,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,CAAC,SAAS;QAAE,OAAM;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IAC7D,sBAAsB,CAAC;QACrB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU;QACV,OAAO;QACP,SAAS;KACV,CAAC,CAAA;IAEF,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,YAAoB;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAA;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAA;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAA;IACjF,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5G,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,eAAe,CAAA;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IACtE,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -14,7 +14,7 @@
14
14
  * The local PMO is just the default provider for users without integrations.
15
15
  */
16
16
  import Database from 'better-sqlite3';
17
- import type { StateCategory } from '../pmo/types.js';
17
+ import type { StateCategory, ReviewGateMode } from '../pmo/types.js';
18
18
  import type { ProviderStorage } from '../providers/types.js';
19
19
  import { type CommitValidationResult } from '../execution/commit-validation.js';
20
20
  export interface PostExecutionContext {
@@ -28,6 +28,8 @@ export interface PostExecutionContext {
28
28
  agentDir?: string;
29
29
  /** Repo worktree names within agentDir */
30
30
  repoWorktrees?: string[];
31
+ /** Review gate mode — determines post-execution behavior */
32
+ reviewGate?: ReviewGateMode;
31
33
  }
32
34
  export interface PostExecutionResult {
33
35
  transitioned: boolean;
@@ -41,6 +43,8 @@ export interface PostExecutionResult {
41
43
  validation?: CommitValidationResult;
42
44
  /** True if the transition was blocked by commit validation */
43
45
  blockedByValidation?: boolean;
46
+ /** The review gate mode that was applied */
47
+ reviewGate?: ReviewGateMode;
44
48
  }
45
49
  /**
46
50
  * Minimal storage interface for post-execution transitions.
@@ -13,7 +13,7 @@
13
13
  * (Linear, Jira, etc.) — not through the local PMO as a cache layer.
14
14
  * The local PMO is just the default provider for users without integrations.
15
15
  */
16
- import { getWorkColumnSetting, findColumnByName } from '../pmo/utils.js';
16
+ import { getWorkColumnSetting, findColumnByName, getReviewGateSetting } from '../pmo/utils.js';
17
17
  import { resolveTicketProvider } from '../providers/resolver.js';
18
18
  import { tryValidateCommits } from '../execution/commit-validation.js';
19
19
  /**
@@ -47,10 +47,15 @@ export async function handlePostExecutionTransition(context, storage, db) {
47
47
  if (ticket.statusCategory !== 'started') {
48
48
  return { transitioned: false };
49
49
  }
50
- // Check if a PR was created (PR URL exists in ticket metadata)
51
- const prUrl = ticket.metadata?.pr_url;
52
- if (!prUrl) {
53
- return { transitioned: false };
50
+ // Resolve the effective review gate mode
51
+ const reviewGate = context.reviewGate || getReviewGateSetting(db);
52
+ // For auto mode, skip PR check — agent ships directly to main
53
+ // For required/post modes, check if a PR was created
54
+ if (reviewGate !== 'auto') {
55
+ const prUrl = ticket.metadata?.pr_url;
56
+ if (!prUrl) {
57
+ return { transitioned: false, reviewGate };
58
+ }
54
59
  }
55
60
  // PRLT-984: Validate that meaningful code was committed before transitioning.
56
61
  // If agent info is available (branch + agentDir), run commit validation.
@@ -67,6 +72,7 @@ export async function handlePostExecutionTransition(context, storage, db) {
67
72
  fromState: ticket.statusName,
68
73
  validation,
69
74
  blockedByValidation: true,
75
+ reviewGate,
70
76
  };
71
77
  }
72
78
  }
@@ -76,21 +82,25 @@ export async function handlePostExecutionTransition(context, storage, db) {
76
82
  // If we can't validate, allow the transition to proceed.
77
83
  }
78
84
  }
79
- // Get the Review column name
80
- const targetColumnName = getWorkColumnSetting(db, 'review');
81
- // Get board columns to find the review column
85
+ // Determine target column based on review gate mode:
86
+ // - auto: move to Done (no human review needed)
87
+ // - post: move to Review (human reviews post-merge)
88
+ // - required: move to Review (human must approve)
89
+ const targetColumnType = reviewGate === 'auto' ? 'done' : 'review';
90
+ const targetColumnName = getWorkColumnSetting(db, targetColumnType);
91
+ // Get board columns to find the target column
82
92
  const board = await storage.getProjectBoard(ticket.projectId);
83
93
  if (!board) {
84
- return { transitioned: false };
94
+ return { transitioned: false, reviewGate };
85
95
  }
86
96
  const columnNames = board.columns.map(col => col.name);
87
- const reviewColumn = findColumnByName(columnNames, targetColumnName);
88
- if (!reviewColumn) {
89
- return { transitioned: false };
97
+ const targetColumn = findColumnByName(columnNames, targetColumnName);
98
+ if (!targetColumn) {
99
+ return { transitioned: false, reviewGate };
90
100
  }
91
- // Already in Review — skip
92
- if (ticket.statusName === reviewColumn) {
93
- return { transitioned: false };
101
+ // Already in target state — skip
102
+ if (ticket.statusName === targetColumn) {
103
+ return { transitioned: false, reviewGate };
94
104
  }
95
105
  // Resolve the appropriate provider for this ticket
96
106
  // Cast to ProviderStorage — at runtime the actual object is SQLiteStorage
@@ -98,23 +108,25 @@ export async function handlePostExecutionTransition(context, storage, db) {
98
108
  const provider = resolveTicketProvider(context.ticketId, ticket.projectId, db, storage, ticket.metadata);
99
109
  // Move ticket via the provider
100
110
  const previousState = ticket.statusName;
101
- const moveResult = await provider.moveTicket(context.ticketId, reviewColumn);
111
+ const moveResult = await provider.moveTicket(context.ticketId, targetColumn);
102
112
  if (!moveResult.success) {
103
113
  return {
104
114
  transitioned: false,
105
115
  fromState: previousState,
106
- toState: reviewColumn,
116
+ toState: targetColumn,
107
117
  provider: moveResult.provider,
108
118
  providerError: moveResult.error,
109
119
  validation,
120
+ reviewGate,
110
121
  };
111
122
  }
112
123
  return {
113
124
  transitioned: true,
114
125
  fromState: previousState,
115
- toState: reviewColumn,
126
+ toState: targetColumn,
116
127
  provider: moveResult.provider,
117
128
  validation,
129
+ reviewGate,
118
130
  };
119
131
  }
120
132
  //# sourceMappingURL=post-execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-execution.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/post-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-execution.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/post-execution.ts"],"names":[],"mappings":"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"}