@ariso-ai/ivan 1.0.34 → 1.0.37
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/README.md +1 -0
- package/dist/index.js +44 -5
- package/dist/index.js.map +1 -1
- package/dist/learnings/import-learnings-command.js +1 -3
- package/dist/learnings/import-learnings-command.js.map +1 -1
- package/dist/services/collaborative-executor.test.d.ts +2 -0
- package/dist/services/collaborative-executor.test.d.ts.map +1 -0
- package/dist/services/collaborative-executor.test.js +249 -0
- package/dist/services/collaborative-executor.test.js.map +1 -0
- package/dist/services/job-manager.d.ts +1 -1
- package/dist/services/job-manager.d.ts.map +1 -1
- package/dist/services/job-manager.js +40 -25
- package/dist/services/job-manager.js.map +1 -1
- package/dist/services/risk-analysis-executor.d.ts +8 -0
- package/dist/services/risk-analysis-executor.d.ts.map +1 -0
- package/dist/services/risk-analysis-executor.js +178 -0
- package/dist/services/risk-analysis-executor.js.map +1 -0
- package/dist/services/task-executor.d.ts +14 -1
- package/dist/services/task-executor.d.ts.map +1 -1
- package/dist/services/task-executor.js +176 -179
- package/dist/services/task-executor.js.map +1 -1
- package/dist/types/non-interactive-config.d.ts +6 -0
- package/dist/types/non-interactive-config.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -12,33 +12,48 @@ export class JobManager {
|
|
|
12
12
|
this.dbManager = new DatabaseManager();
|
|
13
13
|
this.claudeExecutor = ExecutorFactory.getExecutor();
|
|
14
14
|
}
|
|
15
|
-
async promptForTasks(workingDir, repositoryId) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
15
|
+
async promptForTasks(workingDir, repositoryId, prefilledTasks) {
|
|
16
|
+
let inputTasks;
|
|
17
|
+
if (prefilledTasks && prefilledTasks.length > 0) {
|
|
18
|
+
inputTasks = prefilledTasks;
|
|
19
|
+
console.log(chalk.blue.bold(`🎯 Loaded ${inputTasks.length} task(s) from --spec:`));
|
|
20
|
+
inputTasks.forEach((task, index) => {
|
|
21
|
+
const firstLine = task.split('\n')[0].trim();
|
|
22
|
+
const preview = firstLine.length > 100 ? `${firstLine.slice(0, 100)}…` : firstLine;
|
|
23
|
+
const lineCount = task.split('\n').length;
|
|
24
|
+
const suffix = lineCount > 1 ? chalk.gray(` (${lineCount} lines)`) : '';
|
|
25
|
+
console.log(chalk.gray(` ${index + 1}. ${preview}`) + suffix);
|
|
26
|
+
});
|
|
27
|
+
console.log('');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log(chalk.blue.bold('🎯 What would you like to work on today?'));
|
|
31
|
+
console.log('');
|
|
32
|
+
const { taskInput } = await inquirer.prompt([
|
|
33
|
+
{
|
|
34
|
+
type: 'editor',
|
|
35
|
+
name: 'taskInput',
|
|
36
|
+
message: 'Enter task(s) - one per line (press Enter to open editor):',
|
|
37
|
+
default: '# Enter your tasks below (one per line)\n# Lines starting with # will be ignored\n\n',
|
|
38
|
+
validate: (input) => {
|
|
39
|
+
const cleanedInput = input
|
|
40
|
+
.split('\n')
|
|
41
|
+
.filter((line) => line.trim() && !line.trim().startsWith('#'))
|
|
42
|
+
.join('\n')
|
|
43
|
+
.trim();
|
|
44
|
+
if (!cleanedInput || cleanedInput.length === 0) {
|
|
45
|
+
return 'Please enter at least one task';
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
32
48
|
}
|
|
33
|
-
return true;
|
|
34
49
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
50
|
+
]);
|
|
51
|
+
// Parse newline-separated tasks, filtering out empty lines and comments
|
|
52
|
+
inputTasks = taskInput
|
|
53
|
+
.split('\n')
|
|
54
|
+
.map((task) => task.trim())
|
|
55
|
+
.filter((task) => task.length > 0 && !task.startsWith('#'));
|
|
56
|
+
}
|
|
42
57
|
let finalTasks = inputTasks;
|
|
43
58
|
let prStrategy = 'multiple';
|
|
44
59
|
if (inputTasks.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-analysis-executor.d.ts","sourceRoot":"","sources":["../../src/services/risk-analysis-executor.ts"],"names":[],"mappings":"AAmGA,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAqB;;IAOxC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAuE7C,UAAU;CAqCzB"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import ora from 'ora';
|
|
3
|
+
import { ExecutorFactory } from './executor-factory.js';
|
|
4
|
+
import { createRepositoryManager } from './service-factory.js';
|
|
5
|
+
const RISK_ANALYSIS_SYSTEM_PROMPT = `You are a principal engineer performing a pre-deployment risk analysis of a set of proposed changes.
|
|
6
|
+
|
|
7
|
+
Your job is NOT to review code style or suggest improvements — it is to identify what could go wrong when these changes ship, how likely that is, how bad the blast radius would be, and what mitigations should be in place before rollout.
|
|
8
|
+
|
|
9
|
+
For every risk you identify:
|
|
10
|
+
- State the specific failure mode (what breaks, for whom, and when)
|
|
11
|
+
- Rate its likelihood (low / medium / high) and impact (low / medium / high / critical)
|
|
12
|
+
- Note whether it is roll-backable, and what the rollback path is
|
|
13
|
+
- Recommend a concrete mitigation (guard, feature flag, deploy ordering, backup, monitoring, etc.)
|
|
14
|
+
|
|
15
|
+
Ground your analysis in the actual repository: use your tools to read the code, migrations, and configuration that the described changes would touch. Do not speculate about code you have not looked at — if a change references something you cannot find in the repo, say so explicitly rather than guessing.
|
|
16
|
+
|
|
17
|
+
Be direct and specific. If an area carries no meaningful risk, say so briefly and move on.`;
|
|
18
|
+
const RISK_DIMENSIONS = [
|
|
19
|
+
{
|
|
20
|
+
key: 'db-migration',
|
|
21
|
+
label: 'Analyze DB migration risk',
|
|
22
|
+
prompt: `Analyze the DATABASE MIGRATION risk of the proposed changes.
|
|
23
|
+
|
|
24
|
+
Focus on:
|
|
25
|
+
- Schema changes: dropped/renamed columns or tables, type changes, and whether old code running during the deploy window would break against the new schema (and vice versa)
|
|
26
|
+
- Destructive or irreversible operations: data loss potential, and whether a down-migration actually restores state
|
|
27
|
+
- Locking and downtime: long-running ALTERs, index builds on large tables (are indexes created concurrently?), table rewrites, migrations that block reads or writes
|
|
28
|
+
- Backfills and data transformations: volume, batching, idempotency if interrupted midway
|
|
29
|
+
- Deploy ordering: does the migration need to run before or after the code deploy, and what happens if that ordering is violated
|
|
30
|
+
- Rollback: can the migration be reverted safely once new data has been written
|
|
31
|
+
|
|
32
|
+
If the changes involve no database migrations, state that clearly and rate this dimension as no risk.`
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: 'infra-security',
|
|
36
|
+
label: 'Analyze infra/security risk',
|
|
37
|
+
prompt: `Analyze the INFRASTRUCTURE and SECURITY risk of the proposed changes.
|
|
38
|
+
|
|
39
|
+
Focus on:
|
|
40
|
+
- Security: new or widened endpoint exposure, authentication/authorization changes, secrets or credentials in code or config, injection surfaces, permission/IAM scope changes, sensitive data logging or exposure
|
|
41
|
+
- Dependencies: new or upgraded packages, known-vulnerable versions, supply-chain surface
|
|
42
|
+
- Infrastructure/config: environment variable changes, CI/CD workflow changes, networking or firewall implications, resource limits, quota or cost blowups
|
|
43
|
+
- Availability: single points of failure introduced, changes to health checks, restarts or reprovisioning required by the rollout
|
|
44
|
+
- Blast radius: if this change misbehaves, what else does it take down
|
|
45
|
+
|
|
46
|
+
If the changes touch no infrastructure or security surface, state that clearly and rate this dimension as no risk.`
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'backend-service',
|
|
50
|
+
label: 'Analyze backend service risk',
|
|
51
|
+
prompt: `Analyze the BACKEND SERVICE risk of the proposed changes.
|
|
52
|
+
|
|
53
|
+
Focus on:
|
|
54
|
+
- API contract changes: breaking request/response shape changes, removed or renamed fields, status code changes, and impact on existing clients
|
|
55
|
+
- Backwards compatibility: can old and new versions of the service run side by side during rollout
|
|
56
|
+
- Error handling: new failure paths, unhandled promise rejections or exceptions, retry storms, timeout behavior
|
|
57
|
+
- Performance: N+1 queries, unbounded loops or payloads, memory growth, hot-path latency regressions
|
|
58
|
+
- State and concurrency: race conditions, transactional integrity, idempotency of mutating endpoints
|
|
59
|
+
- Third-party integrations: changed assumptions about external services, rate limits, degraded-mode behavior
|
|
60
|
+
|
|
61
|
+
If the changes do not touch backend service code, state that clearly and rate this dimension as no risk.`
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: 'worker-frontend',
|
|
65
|
+
label: 'Analyze worker/frontend risk',
|
|
66
|
+
prompt: `Analyze the WORKER (background job) and FRONTEND risk of the proposed changes.
|
|
67
|
+
|
|
68
|
+
For workers/background jobs, focus on:
|
|
69
|
+
- Queue and job semantics: changed job payloads breaking in-flight jobs, retry and dead-letter behavior, idempotency of re-run jobs
|
|
70
|
+
- Scheduling: cron or interval changes, overlap of long-running jobs, thundering-herd effects
|
|
71
|
+
- Failure isolation: does a failing job poison the queue or block other work
|
|
72
|
+
|
|
73
|
+
For frontend/client code, focus on:
|
|
74
|
+
- Client-server compatibility: cached/stale frontend bundles calling changed APIs during and after deploy
|
|
75
|
+
- Breaking UX flows: removed or renamed routes, changed form contracts, state management regressions
|
|
76
|
+
- Caching: CDN/browser cache invalidation, localStorage/session schema changes breaking returning users
|
|
77
|
+
- Error surfaces: unhandled rejections that blank the page vs. degrade gracefully
|
|
78
|
+
|
|
79
|
+
If the changes touch neither workers nor frontend code, state that clearly and rate this dimension as no risk.`
|
|
80
|
+
}
|
|
81
|
+
];
|
|
82
|
+
function buildChangesSection(changes) {
|
|
83
|
+
const list = changes.map((c, i) => `${i + 1}. ${c}`).join('\n');
|
|
84
|
+
return `## Proposed changes under analysis
|
|
85
|
+
|
|
86
|
+
${list}`;
|
|
87
|
+
}
|
|
88
|
+
export class RiskAnalysisExecutor {
|
|
89
|
+
claudeExecutor;
|
|
90
|
+
repositoryManager;
|
|
91
|
+
constructor() {
|
|
92
|
+
this.claudeExecutor = ExecutorFactory.getExecutor();
|
|
93
|
+
this.repositoryManager = createRepositoryManager();
|
|
94
|
+
}
|
|
95
|
+
async executeRiskAnalysis(changes) {
|
|
96
|
+
try {
|
|
97
|
+
await this.claudeExecutor.validateClaudeCodeInstallation();
|
|
98
|
+
console.log(chalk.green('✅ Claude Code configured'));
|
|
99
|
+
const workingDir = await this.repositoryManager.getValidWorkingDirectory();
|
|
100
|
+
const repoInfo = this.repositoryManager.getRepositoryInfo(workingDir);
|
|
101
|
+
console.log(chalk.blue(`📂 Working in: ${repoInfo.name}`));
|
|
102
|
+
console.log('');
|
|
103
|
+
console.log(chalk.blue.bold('🛡️ Running risk analysis'));
|
|
104
|
+
for (const [i, change] of changes.entries()) {
|
|
105
|
+
console.log(chalk.gray(` ${i + 1}. ${change}`));
|
|
106
|
+
}
|
|
107
|
+
console.log('');
|
|
108
|
+
// Suppress the executor's per-turn logging so the tree output stays readable
|
|
109
|
+
this.claudeExecutor.quietMode = true;
|
|
110
|
+
const changesSection = buildChangesSection(changes);
|
|
111
|
+
const dimensionResults = [];
|
|
112
|
+
for (const [i, dimension] of RISK_DIMENSIONS.entries()) {
|
|
113
|
+
const branch = i === RISK_DIMENSIONS.length - 1 ? '└' : '├';
|
|
114
|
+
const spinner = ora(`${branch} ${dimension.label}`).start();
|
|
115
|
+
try {
|
|
116
|
+
const result = await this.claudeExecutor.executeTurn(`${changesSection}\n\n${dimension.prompt}`, workingDir, {
|
|
117
|
+
systemPrompt: RISK_ANALYSIS_SYSTEM_PROMPT,
|
|
118
|
+
readOnly: true,
|
|
119
|
+
permissionMode: 'plan'
|
|
120
|
+
});
|
|
121
|
+
dimensionResults.push({
|
|
122
|
+
label: dimension.label,
|
|
123
|
+
analysis: result.lastMessage
|
|
124
|
+
});
|
|
125
|
+
spinner.succeed(`${branch} ${dimension.label}`);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
spinner.fail(`${branch} ${dimension.label}`);
|
|
129
|
+
throw err;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const synthesisSpinner = ora('Synthesizing final risk analysis').start();
|
|
133
|
+
let finalReport;
|
|
134
|
+
try {
|
|
135
|
+
finalReport = await this.synthesize(changes, dimensionResults, workingDir);
|
|
136
|
+
synthesisSpinner.succeed('Final risk analysis ready');
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
synthesisSpinner.fail('Failed to synthesize final risk analysis');
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
console.log('');
|
|
143
|
+
console.log(chalk.blue.bold('📋 Final Risk Analysis'));
|
|
144
|
+
console.log(chalk.gray('─'.repeat(60)));
|
|
145
|
+
console.log(finalReport);
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
this.repositoryManager.close();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
async synthesize(changes, dimensionResults, workingDir) {
|
|
152
|
+
const findings = dimensionResults
|
|
153
|
+
.map((r) => `### ${r.label}\n\n${r.analysis}`)
|
|
154
|
+
.join('\n\n');
|
|
155
|
+
const synthesisPrompt = `${buildChangesSection(changes)}
|
|
156
|
+
|
|
157
|
+
Four specialist risk analyses have already been performed against these changes. Their findings are below.
|
|
158
|
+
|
|
159
|
+
${findings}
|
|
160
|
+
|
|
161
|
+
Synthesize these into ONE final risk analysis report. Do not re-investigate the code — work from the findings above. Structure the report as:
|
|
162
|
+
|
|
163
|
+
1. **Overall risk rating** — one of: NONE / LOW / MEDIUM / HIGH / CRITICAL, with a one-sentence justification
|
|
164
|
+
2. **Risk summary by area** — a table with columns: Area (DB migration, Infra/security, Backend service, Worker/frontend), Risk level, Key concern
|
|
165
|
+
3. **Top risks** — the most important risks across all areas, ordered by severity, each with its failure mode, likelihood/impact, and mitigation
|
|
166
|
+
4. **Required mitigations before rollout** — a concrete pre-deploy checklist derived from the findings
|
|
167
|
+
5. **Rollback plan** — how to revert if things go wrong, noting anything that is NOT cleanly reversible
|
|
168
|
+
|
|
169
|
+
Deduplicate risks that multiple analyses flagged, and drop dimensions that reported no risk (mention them only in the summary table). Your final message must be the complete report and nothing else.`;
|
|
170
|
+
const result = await this.claudeExecutor.executeTurn(synthesisPrompt, workingDir, {
|
|
171
|
+
systemPrompt: RISK_ANALYSIS_SYSTEM_PROMPT,
|
|
172
|
+
readOnly: true,
|
|
173
|
+
permissionMode: 'plan'
|
|
174
|
+
});
|
|
175
|
+
return result.lastMessage;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=risk-analysis-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-analysis-executor.js","sourceRoot":"","sources":["../../src/services/risk-analysis-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class TaskExecutor {
|
|
|
11
11
|
private repoInstructions;
|
|
12
12
|
private baseBranch;
|
|
13
13
|
private executionMode;
|
|
14
|
+
private selfReviewEnabled;
|
|
14
15
|
constructor();
|
|
15
16
|
/**
|
|
16
17
|
* Prepends an architect's unresolved-concern warning to a PR body when expert
|
|
@@ -26,7 +27,19 @@ export declare class TaskExecutor {
|
|
|
26
27
|
private runImplementation;
|
|
27
28
|
private getClaudeExecutor;
|
|
28
29
|
private getOpenAIService;
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Commits staged changes, retrying up to three times by handing pre-commit
|
|
32
|
+
* hook failures back to Claude to fix. Returns the (possibly updated) Claude
|
|
33
|
+
* session ID so callers can keep threading conversational context.
|
|
34
|
+
*/
|
|
35
|
+
private commitWithFixLoop;
|
|
36
|
+
/**
|
|
37
|
+
* Runs a Claude self-review pass over the branch's changes before a PR is
|
|
38
|
+
* opened. Any fixes the review produces are committed through the same
|
|
39
|
+
* pre-commit fix loop as the original implementation.
|
|
40
|
+
*/
|
|
41
|
+
private runSelfReview;
|
|
42
|
+
executeWorkflow(rewritePrompt?: boolean, baseBranch?: string, mode?: ExecutionMode, selfReview?: boolean, prefilledTasks?: string[]): Promise<void>;
|
|
30
43
|
private checkAndCreateAddressTasks;
|
|
31
44
|
private executeTask;
|
|
32
45
|
private executeTasksWithSinglePR;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/services/task-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAa/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/services/task-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAa/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAOxE,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;;IAanC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;YACW,iBAAiB;IA8B/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;YACW,iBAAiB;IAgI/B;;;;OAIG;YACW,aAAa;IA2DrB,eAAe,CACnB,aAAa,GAAE,OAAe,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,aAAwB,EAC9B,UAAU,GAAE,OAAe,EAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC;YAyRF,0BAA0B;YA6D1B,WAAW;YAuMX,wBAAwB;IAuNhC,6BAA6B,CACjC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAsJjB"}
|