@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.
- package/dist/commands/config/index.js +42 -0
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/session/poke.d.ts +3 -7
- package/dist/commands/session/poke.js +5 -7
- package/dist/commands/session/poke.js.map +1 -1
- package/dist/commands/ticket/cancel.js +2 -0
- package/dist/commands/ticket/cancel.js.map +1 -1
- package/dist/commands/ticket/complete.js +2 -0
- package/dist/commands/ticket/complete.js.map +1 -1
- package/dist/commands/ticket/delete.js +2 -0
- package/dist/commands/ticket/delete.js.map +1 -1
- package/dist/commands/ticket/edit.js +5 -0
- package/dist/commands/ticket/edit.js.map +1 -1
- package/dist/commands/ticket/move.js +2 -0
- package/dist/commands/ticket/move.js.map +1 -1
- package/dist/commands/ticket/project.js +2 -0
- package/dist/commands/ticket/project.js.map +1 -1
- package/dist/commands/ticket/reassign.js +2 -0
- package/dist/commands/ticket/reassign.js.map +1 -1
- package/dist/commands/ticket/resolve.js +2 -0
- package/dist/commands/ticket/resolve.js.map +1 -1
- package/dist/commands/ticket/update.js +5 -0
- package/dist/commands/ticket/update.js.map +1 -1
- package/dist/commands/work/complete.js +2 -0
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/peek.js +4 -0
- package/dist/commands/work/peek.js.map +1 -1
- package/dist/commands/work/poke.d.ts +3 -4
- package/dist/commands/work/poke.js +9 -4
- package/dist/commands/work/poke.js.map +1 -1
- package/dist/commands/work/ready.js +2 -0
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/start.d.ts +1 -0
- package/dist/commands/work/start.js +46 -2
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/stop.js +5 -0
- package/dist/commands/work/stop.js.map +1 -1
- package/dist/hooks/init.js +3 -0
- package/dist/hooks/init.js.map +1 -1
- package/dist/hooks/postrun.js +3 -0
- package/dist/hooks/postrun.js.map +1 -1
- package/dist/lib/database/drizzle-schema.d.ts +1 -1
- package/dist/lib/database/migrations/0011_add_review_gate.d.ts +8 -0
- package/dist/lib/database/migrations/0011_add_review_gate.js +21 -0
- package/dist/lib/database/migrations/0011_add_review_gate.js.map +1 -0
- package/dist/lib/database/migrations/index.js +2 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/execution/runners/prompt-builder.js +49 -15
- package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
- package/dist/lib/execution/storage.d.ts +2 -1
- package/dist/lib/execution/storage.js +6 -5
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/execution/types.d.ts +1 -0
- package/dist/lib/execution/types.js.map +1 -1
- package/dist/lib/mcp/tools/action.js +34 -0
- package/dist/lib/mcp/tools/action.js.map +1 -1
- package/dist/lib/pmo/schema.d.ts +1 -1
- package/dist/lib/pmo/schema.js +1 -0
- package/dist/lib/pmo/schema.js.map +1 -1
- package/dist/lib/pmo/storage/actions.js +9 -3
- package/dist/lib/pmo/storage/actions.js.map +1 -1
- package/dist/lib/pmo/storage/index.d.ts +1 -0
- package/dist/lib/pmo/storage/index.js +3 -0
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/pmo/storage/tickets.d.ts +7 -0
- package/dist/lib/pmo/storage/tickets.js +33 -2
- package/dist/lib/pmo/storage/tickets.js.map +1 -1
- package/dist/lib/pmo/storage/types.d.ts +1 -0
- package/dist/lib/pmo/types.d.ts +10 -0
- package/dist/lib/pmo/types.js.map +1 -1
- package/dist/lib/pmo/utils.d.ts +38 -0
- package/dist/lib/pmo/utils.js +61 -0
- package/dist/lib/pmo/utils.js.map +1 -1
- package/dist/lib/providers/event-emitting-provider.js +13 -2
- package/dist/lib/providers/event-emitting-provider.js.map +1 -1
- package/dist/lib/telemetry/analytics.d.ts +47 -0
- package/dist/lib/telemetry/analytics.js +52 -0
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/telemetry/telemetry-bridge.d.ts +35 -0
- package/dist/lib/telemetry/telemetry-bridge.js +139 -0
- package/dist/lib/telemetry/telemetry-bridge.js.map +1 -0
- package/dist/lib/work-lifecycle/post-execution.d.ts +5 -1
- package/dist/lib/work-lifecycle/post-execution.js +30 -18
- package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
- package/oclif.manifest.json +1208 -1209
- 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":"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"}
|
|
@@ -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
|
-
//
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
//
|
|
80
|
-
|
|
81
|
-
//
|
|
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
|
|
88
|
-
if (!
|
|
89
|
-
return { transitioned: false };
|
|
97
|
+
const targetColumn = findColumnByName(columnNames, targetColumnName);
|
|
98
|
+
if (!targetColumn) {
|
|
99
|
+
return { transitioned: false, reviewGate };
|
|
90
100
|
}
|
|
91
|
-
// Already in
|
|
92
|
-
if (ticket.statusName ===
|
|
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,
|
|
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:
|
|
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:
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"post-execution.js","sourceRoot":"","sources":["../../../src/lib/work-lifecycle/post-execution.ts"],"names":[],"mappings":"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"}
|