@codeledger/cli 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/commands/activate.d.ts.map +1 -1
  2. package/dist/commands/activate.js +94 -26
  3. package/dist/commands/activate.js.map +1 -1
  4. package/dist/commands/ci.d.ts +16 -0
  5. package/dist/commands/ci.d.ts.map +1 -0
  6. package/dist/commands/ci.js +323 -0
  7. package/dist/commands/ci.js.map +1 -0
  8. package/dist/commands/commit-msg.d.ts +58 -0
  9. package/dist/commands/commit-msg.d.ts.map +1 -0
  10. package/dist/commands/commit-msg.js +461 -0
  11. package/dist/commands/commit-msg.js.map +1 -0
  12. package/dist/commands/compare.d.ts.map +1 -1
  13. package/dist/commands/compare.js +8 -0
  14. package/dist/commands/compare.js.map +1 -1
  15. package/dist/commands/context.d.ts +17 -0
  16. package/dist/commands/context.d.ts.map +1 -0
  17. package/dist/commands/context.js +687 -0
  18. package/dist/commands/context.js.map +1 -0
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +65 -0
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/enable.d.ts +7 -0
  23. package/dist/commands/enable.d.ts.map +1 -0
  24. package/dist/commands/enable.js +75 -0
  25. package/dist/commands/enable.js.map +1 -0
  26. package/dist/commands/features.d.ts +2 -0
  27. package/dist/commands/features.d.ts.map +1 -0
  28. package/dist/commands/features.js +182 -0
  29. package/dist/commands/features.js.map +1 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +22 -1
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/intent.d.ts +5 -3
  34. package/dist/commands/intent.d.ts.map +1 -1
  35. package/dist/commands/intent.js +135 -4
  36. package/dist/commands/intent.js.map +1 -1
  37. package/dist/commands/ledger.d.ts +14 -0
  38. package/dist/commands/ledger.d.ts.map +1 -0
  39. package/dist/commands/ledger.js +128 -0
  40. package/dist/commands/ledger.js.map +1 -0
  41. package/dist/commands/license.d.ts +45 -0
  42. package/dist/commands/license.d.ts.map +1 -0
  43. package/dist/commands/license.js +240 -0
  44. package/dist/commands/license.js.map +1 -0
  45. package/dist/commands/orchestrate.d.ts +12 -0
  46. package/dist/commands/orchestrate.d.ts.map +1 -0
  47. package/dist/commands/orchestrate.js +119 -0
  48. package/dist/commands/orchestrate.js.map +1 -0
  49. package/dist/commands/policy-simulate.d.ts +9 -0
  50. package/dist/commands/policy-simulate.d.ts.map +1 -0
  51. package/dist/commands/policy-simulate.js +46 -0
  52. package/dist/commands/policy-simulate.js.map +1 -0
  53. package/dist/commands/pr-summary.d.ts +59 -0
  54. package/dist/commands/pr-summary.d.ts.map +1 -0
  55. package/dist/commands/pr-summary.js +524 -0
  56. package/dist/commands/pr-summary.js.map +1 -0
  57. package/dist/commands/provenance.d.ts +10 -0
  58. package/dist/commands/provenance.d.ts.map +1 -0
  59. package/dist/commands/provenance.js +87 -0
  60. package/dist/commands/provenance.js.map +1 -0
  61. package/dist/commands/replay.d.ts +2 -0
  62. package/dist/commands/replay.d.ts.map +1 -0
  63. package/dist/commands/replay.js +181 -0
  64. package/dist/commands/replay.js.map +1 -0
  65. package/dist/commands/serve.d.ts +3 -0
  66. package/dist/commands/serve.d.ts.map +1 -1
  67. package/dist/commands/serve.js +73 -1
  68. package/dist/commands/serve.js.map +1 -1
  69. package/dist/commands/session-cleanup.js +1 -0
  70. package/dist/commands/session-cleanup.js.map +1 -1
  71. package/dist/commands/session-summary.d.ts.map +1 -1
  72. package/dist/commands/session-summary.js +180 -3
  73. package/dist/commands/session-summary.js.map +1 -1
  74. package/dist/commands/setup-ci.d.ts +17 -1
  75. package/dist/commands/setup-ci.d.ts.map +1 -1
  76. package/dist/commands/setup-ci.js +202 -51
  77. package/dist/commands/setup-ci.js.map +1 -1
  78. package/dist/commands/share.js +1 -1
  79. package/dist/commands/share.js.map +1 -1
  80. package/dist/commands/stats.d.ts +8 -0
  81. package/dist/commands/stats.d.ts.map +1 -0
  82. package/dist/commands/stats.js +164 -0
  83. package/dist/commands/stats.js.map +1 -0
  84. package/dist/commands/team-ledger.d.ts +11 -0
  85. package/dist/commands/team-ledger.d.ts.map +1 -0
  86. package/dist/commands/team-ledger.js +74 -0
  87. package/dist/commands/team-ledger.js.map +1 -0
  88. package/dist/commands/team-metrics.d.ts +8 -0
  89. package/dist/commands/team-metrics.d.ts.map +1 -0
  90. package/dist/commands/team-metrics.js +57 -0
  91. package/dist/commands/team-metrics.js.map +1 -0
  92. package/dist/commands/upgrade.d.ts +6 -0
  93. package/dist/commands/upgrade.d.ts.map +1 -0
  94. package/dist/commands/upgrade.js +39 -0
  95. package/dist/commands/upgrade.js.map +1 -0
  96. package/dist/commands/verify.d.ts.map +1 -1
  97. package/dist/commands/verify.js +35 -3
  98. package/dist/commands/verify.js.map +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +256 -36
  101. package/dist/index.js.map +1 -1
  102. package/dist/intent/extractor.d.ts +15 -0
  103. package/dist/intent/extractor.d.ts.map +1 -0
  104. package/dist/intent/extractor.js +149 -0
  105. package/dist/intent/extractor.js.map +1 -0
  106. package/dist/intent/fetcher.d.ts +33 -0
  107. package/dist/intent/fetcher.d.ts.map +1 -0
  108. package/dist/intent/fetcher.js +364 -0
  109. package/dist/intent/fetcher.js.map +1 -0
  110. package/dist/intent/loader.d.ts +26 -0
  111. package/dist/intent/loader.d.ts.map +1 -0
  112. package/dist/intent/loader.js +80 -0
  113. package/dist/intent/loader.js.map +1 -0
  114. package/dist/intent/types.d.ts +33 -0
  115. package/dist/intent/types.d.ts.map +1 -0
  116. package/dist/intent/types.js +9 -0
  117. package/dist/intent/types.js.map +1 -0
  118. package/dist/project-config.d.ts +38 -0
  119. package/dist/project-config.d.ts.map +1 -0
  120. package/dist/project-config.js +206 -0
  121. package/dist/project-config.js.map +1 -0
  122. package/dist/review-intelligence/detectors/architecture-graph.d.ts +18 -0
  123. package/dist/review-intelligence/detectors/architecture-graph.d.ts.map +1 -0
  124. package/dist/review-intelligence/detectors/architecture-graph.js +73 -0
  125. package/dist/review-intelligence/detectors/architecture-graph.js.map +1 -0
  126. package/dist/review-intelligence/detectors/pack-rules.d.ts +16 -0
  127. package/dist/review-intelligence/detectors/pack-rules.d.ts.map +1 -0
  128. package/dist/review-intelligence/detectors/pack-rules.js +107 -0
  129. package/dist/review-intelligence/detectors/pack-rules.js.map +1 -0
  130. package/dist/review-intelligence/fixes/index.d.ts +18 -0
  131. package/dist/review-intelligence/fixes/index.d.ts.map +1 -1
  132. package/dist/review-intelligence/fixes/index.js +198 -9
  133. package/dist/review-intelligence/fixes/index.js.map +1 -1
  134. package/dist/review-intelligence/index.d.ts +4 -1
  135. package/dist/review-intelligence/index.d.ts.map +1 -1
  136. package/dist/review-intelligence/index.js +20 -3
  137. package/dist/review-intelligence/index.js.map +1 -1
  138. package/dist/review-intelligence/invariants.d.ts +15 -0
  139. package/dist/review-intelligence/invariants.d.ts.map +1 -1
  140. package/dist/review-intelligence/invariants.js +36 -5
  141. package/dist/review-intelligence/invariants.js.map +1 -1
  142. package/dist/review-intelligence/types.d.ts +16 -12
  143. package/dist/review-intelligence/types.d.ts.map +1 -1
  144. package/dist/review-intelligence/types.js +9 -1
  145. package/dist/review-intelligence/types.js.map +1 -1
  146. package/dist/templates/claude-md.d.ts.map +1 -1
  147. package/dist/templates/claude-md.js +32 -127
  148. package/dist/templates/claude-md.js.map +1 -1
  149. package/dist/templates/config.js +4 -4
  150. package/dist/templates/config.js.map +1 -1
  151. package/dist/templates/hooks.d.ts +3 -1
  152. package/dist/templates/hooks.d.ts.map +1 -1
  153. package/dist/templates/hooks.js +101 -2
  154. package/dist/templates/hooks.js.map +1 -1
  155. package/package.json +11 -10
  156. package/LICENSE +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../src/commands/activate.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAgUf"}
1
+ {"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../src/commands/activate.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyXf"}
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync, statSync, readdirSync } from 'node:fs';
1
+ import { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync, statSync, readdirSync, unlinkSync } from 'node:fs';
2
2
  import { join, dirname } from 'node:path';
3
3
  import { execSync } from 'node:child_process';
4
4
  import { buildBundleViaEngine } from '@codeledger/core-engine';
@@ -27,11 +27,16 @@ import { autoInitIntent, evaluateDrift } from './intent.js';
27
27
  * path for non-session-aware agents.
28
28
  */
29
29
  export async function runActivate(cwd, flags) {
30
- const task = flags['task'];
30
+ let task = flags['task'];
31
31
  if (task !== undefined && task.trim() === '') {
32
32
  console.error('--task cannot be empty. Provide a task description: codeledger activate --task "describe your task"');
33
33
  process.exit(1);
34
34
  }
35
+ // Guard against --task without a value being parsed as boolean "true"
36
+ if (task === 'true' && !flags['_raw_task']) {
37
+ console.error('--task requires a value. Usage: codeledger activate --task "describe your task"');
38
+ process.exit(1);
39
+ }
35
40
  const quiet = flags['quiet'] === 'true';
36
41
  const log = quiet ? (..._args) => { } : console.log;
37
42
  const sessionId = resolveSessionId({ session: flags['session'] });
@@ -69,31 +74,38 @@ export async function runActivate(cwd, flags) {
69
74
  // -- Scan-only mode: no task means just warm the index --------------------
70
75
  if (!task) {
71
76
  log('Index is warm. Run "codeledger activate --task ..." to generate a context bundle.');
72
- // Write a placeholder active-bundle.md so the agent knows no bundle exists
73
- const placeholderContent = [
74
- '# CodeLedger Context Bundle',
75
- '',
76
- 'No task specified yet. The repo index has been scanned and is ready.',
77
- '',
78
- 'To generate a context bundle for your task, run:',
79
- '',
80
- '```',
81
- 'codeledger activate --task "describe your task here"',
82
- '```',
83
- '',
84
- 'The bundle will list the most relevant files ranked by score with',
85
- 'relevance reasons and code excerpts.',
86
- '',
87
- ].join('\n');
88
- // Write to session-specific path (or legacy path if no session)
77
+ // Only write a placeholder if no valid bundle already exists.
78
+ // This prevents overwriting a real task-specific bundle when the
79
+ // SessionStart hook runs activate without --task on editor restart.
89
80
  const bundlePath = sessionBundlePath(cwd, sessionId);
90
- ensureDir(bundlePath);
91
- writeFileSync(bundlePath, placeholderContent);
92
- // Also update the legacy fallback for non-session-aware agents
93
- if (sessionId) {
94
- const fallback = legacyBundlePath(cwd);
95
- ensureDir(fallback);
96
- writeFileSync(fallback, placeholderContent);
81
+ const existingBundle = existsSync(bundlePath)
82
+ ? readFileSync(bundlePath, 'utf-8')
83
+ : '';
84
+ const isPlaceholderOrEmpty = !existingBundle.trim() ||
85
+ existingBundle.includes('No task specified yet');
86
+ if (isPlaceholderOrEmpty) {
87
+ const placeholderContent = [
88
+ '# CodeLedger Context Bundle',
89
+ '',
90
+ 'No task specified yet. The repo index has been scanned and is ready.',
91
+ '',
92
+ 'To generate a context bundle for your task, run:',
93
+ '',
94
+ '```',
95
+ 'codeledger activate --task "describe your task here"',
96
+ '```',
97
+ '',
98
+ 'The bundle will list the most relevant files ranked by score with',
99
+ 'relevance reasons and code excerpts.',
100
+ '',
101
+ ].join('\n');
102
+ ensureDir(bundlePath);
103
+ writeFileSync(bundlePath, placeholderContent);
104
+ if (sessionId) {
105
+ const fallback = legacyBundlePath(cwd);
106
+ ensureDir(fallback);
107
+ writeFileSync(fallback, placeholderContent);
108
+ }
97
109
  }
98
110
  return;
99
111
  }
@@ -247,6 +259,28 @@ export async function runActivate(cwd, flags) {
247
259
  writeFileSync(join(bundleDir, `${bundle.bundle_id}.json`), JSON.stringify(bundle, null, 2) + '\n');
248
260
  // -- Step 3.5: Record activation in task history (JSONL) -------------------
249
261
  recordTaskActivation(cwd, sessionId, task, bundle);
262
+ // -- Step 3.6: Reset drift tracking on fresh activation --------------------
263
+ // Remove out-of-bundle edit counter and hook-reminded marker so the agent
264
+ // gets a fresh nudge cycle on the new bundle
265
+ const sessionDir = sessionId
266
+ ? join(cwd, '.codeledger', 'sessions', sessionId)
267
+ : join(cwd, '.codeledger');
268
+ for (const driftFile of ['.out-of-bundle-edits', '.hook-reminded', '.task-activated']) {
269
+ const driftPath = join(sessionDir, driftFile);
270
+ if (existsSync(driftPath)) {
271
+ try {
272
+ unlinkSync(driftPath);
273
+ }
274
+ catch { /* non-fatal */ }
275
+ }
276
+ }
277
+ // -- Step 3.7: Mark task as activated for hook guard -------------------------
278
+ // The PreToolUse hook checks for this marker to know a real task is active
279
+ const activatedMarker = join(sessionDir, '.task-activated');
280
+ try {
281
+ writeFileSync(activatedMarker, task + '\n');
282
+ }
283
+ catch { /* non-fatal */ }
250
284
  // -- Step 4: Auto-checkpoint (save incremental snapshot for resume) --------
251
285
  createCheckpoint(cwd, sessionId, true);
252
286
  // -- Update session registry with task and bundle files --------------------
@@ -304,6 +338,35 @@ export async function runActivate(cwd, flags) {
304
338
  log(` Session: ${sessionId}`);
305
339
  }
306
340
  }
341
+ // -- Team nudge: detect multiple authors in git history ----------------------
342
+ // Only show once per session (writes a marker file)
343
+ const nudgeMarker = join(cwd, '.codeledger', '.team-nudge-shown');
344
+ if (!existsSync(nudgeMarker)) {
345
+ try {
346
+ const configObj = JSON.parse(readFileSync(join(cwd, '.codeledger', 'config.json'), 'utf-8'));
347
+ const currentMode = configObj.mode ?? 'individual';
348
+ if (currentMode === 'individual') {
349
+ const authorOutput = execSync('git log --format="%ae" --since="6 months ago" | sort -u | wc -l', {
350
+ cwd,
351
+ encoding: 'utf-8',
352
+ timeout: 10000,
353
+ stdio: ['pipe', 'pipe', 'pipe'],
354
+ });
355
+ const authorCount = parseInt(authorOutput.trim(), 10) || 0;
356
+ if (authorCount >= 2) {
357
+ log('');
358
+ log(` Detected ${authorCount} developers in git history.`);
359
+ log(' Enable shared context learning: codeledger enable team');
360
+ log(' Explore capabilities: codeledger features');
361
+ try {
362
+ writeFileSync(nudgeMarker, new Date().toISOString());
363
+ }
364
+ catch { /* non-fatal */ }
365
+ }
366
+ }
367
+ }
368
+ catch { /* non-fatal: never block activation */ }
369
+ }
307
370
  }
308
371
  // ── Conflict Detection ────────────────────────────────────────────────────
309
372
  function emitOverlapWarnings(cwd, sessionId, bundleFiles, log) {
@@ -322,6 +385,11 @@ function emitOverlapWarnings(cwd, sessionId, bundleFiles, log) {
322
385
  }
323
386
  if (files.length >= 4) {
324
387
  log(' Concurrent edits to these files may cause conflicts.');
388
+ log(' Action: run "codeledger checkpoint create" before editing contested files.');
389
+ log(' Action: run "codeledger shared-summary" to see all active sessions.');
390
+ }
391
+ else {
392
+ log(' Tip: coordinate with the other session or run "codeledger shared-summary" for details.');
325
393
  }
326
394
  }
327
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activate.js","sourceRoot":"","sources":["../../src/commands/activate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activate.js","sourceRoot":"","sources":["../../src/commands/activate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface CiCheckResult {
2
+ status: 'PASS' | 'WARN' | 'BLOCK';
3
+ mode: 'observe' | 'warn' | 'block';
4
+ isc: {
5
+ status: string;
6
+ score: number;
7
+ } | null;
8
+ ccs: {
9
+ status: string;
10
+ score: number;
11
+ } | null;
12
+ violations: number;
13
+ summary: string;
14
+ }
15
+ export declare function runCi(cwd: string, flags: Record<string, string>): Promise<void>;
16
+ //# sourceMappingURL=ci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/commands/ci.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,KAAK,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,323 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { runVerify } from './verify.js';
4
+ import { runInit } from './init.js';
5
+ export async function runCi(cwd, flags) {
6
+ const sub = flags['_sub'] ?? 'check';
7
+ switch (sub) {
8
+ case 'check':
9
+ await runCiCheck(cwd, flags);
10
+ break;
11
+ case 'explain':
12
+ await runCiExplain(cwd, flags);
13
+ break;
14
+ default:
15
+ console.error(`Unknown ci subcommand: "${sub}". Use: ci check, ci explain`);
16
+ process.exit(1);
17
+ }
18
+ }
19
+ async function runCiCheck(cwd, flags) {
20
+ const mode = normalizeMode(flags['mode'] ?? 'warn');
21
+ const jsonMode = flags['json'] === 'true';
22
+ const task = flags['task'] ?? extractTaskFromEnv();
23
+ // Step 1: Ensure initialized (silent auto-init if needed)
24
+ await ensureInitialized(cwd);
25
+ // Step 2: Detect capabilities and run validation pipeline
26
+ const result = await runValidationPipeline(cwd, task, mode);
27
+ // Step 3: Output
28
+ if (jsonMode) {
29
+ console.log(JSON.stringify(result, null, 2));
30
+ }
31
+ else {
32
+ printHumanReadable(result);
33
+ }
34
+ // Step 4: Exit code
35
+ if (result.status === 'BLOCK' && mode === 'block') {
36
+ process.exit(1);
37
+ }
38
+ }
39
+ async function runCiExplain(cwd, flags) {
40
+ const mode = normalizeMode(flags['mode'] ?? 'warn');
41
+ const task = flags['task'] ?? extractTaskFromEnv();
42
+ await ensureInitialized(cwd);
43
+ const result = await runValidationPipeline(cwd, task, mode);
44
+ console.log('CodeLedger CI Analysis');
45
+ console.log('='.repeat(50));
46
+ console.log('');
47
+ console.log(` Status: ${result.status}`);
48
+ console.log(` Mode: ${result.mode}`);
49
+ console.log(` Violations: ${result.violations}`);
50
+ console.log('');
51
+ if (result.isc) {
52
+ console.log(' Intent Sufficiency Check (ISC):');
53
+ console.log(` Score: ${result.isc.score.toFixed(3)}`);
54
+ console.log(` Status: ${result.isc.status}`);
55
+ console.log('');
56
+ }
57
+ else {
58
+ console.log(' Intent Sufficiency Check (ISC): not available');
59
+ console.log('');
60
+ }
61
+ if (result.ccs) {
62
+ console.log(' Context Confidence Score (CCS):');
63
+ console.log(` Score: ${result.ccs.score.toFixed(3)}`);
64
+ console.log(` Status: ${result.ccs.status}`);
65
+ console.log('');
66
+ }
67
+ else {
68
+ console.log(' Context Confidence Score (CCS): not available');
69
+ console.log('');
70
+ }
71
+ console.log(` Summary: ${result.summary}`);
72
+ if (result.status === 'BLOCK' && mode === 'block') {
73
+ console.log('');
74
+ console.log(' This would FAIL the CI job (mode: block).');
75
+ process.exit(1);
76
+ }
77
+ }
78
+ // ── Pipeline ────────────────────────────────────────────────────────────────
79
+ async function runValidationPipeline(cwd, task, mode) {
80
+ // Try ISC if available
81
+ let iscResult = null;
82
+ try {
83
+ const { checkIntentSufficiency } = await import('@codeledger/engine');
84
+ const isc = checkIntentSufficiency(task);
85
+ iscResult = {
86
+ status: isc.decision,
87
+ score: isc.score,
88
+ };
89
+ }
90
+ catch {
91
+ // ISC not available — continue without it
92
+ }
93
+ // Try CCS if available (requires a bundle)
94
+ let ccsResult = null;
95
+ try {
96
+ const bundlePath = join(cwd, '.codeledger', 'artifacts', 'bundles');
97
+ if (existsSync(bundlePath)) {
98
+ // CCS requires a bundle — we'll populate from verify results if available
99
+ }
100
+ }
101
+ catch {
102
+ // CCS not available — continue without it
103
+ }
104
+ // Run verify (the core validation pipeline)
105
+ let verifyStatus = 'PASS';
106
+ let violationCount = 0;
107
+ let summary = '';
108
+ try {
109
+ const captured = await captureVerifyOutput(cwd, task, mode);
110
+ verifyStatus = captured.status;
111
+ violationCount = captured.violations;
112
+ summary = captured.summary;
113
+ // Extract CCS from verify output if available
114
+ if (captured.ccs) {
115
+ ccsResult = captured.ccs;
116
+ }
117
+ }
118
+ catch {
119
+ // Verify not available or failed — degrade gracefully
120
+ summary = 'Verification completed with limited capabilities.';
121
+ }
122
+ // Determine overall status
123
+ let overallStatus = verifyStatus;
124
+ // ISC can escalate status
125
+ if (iscResult && iscResult.status === 'INSUFFICIENT' && mode === 'block') {
126
+ overallStatus = 'BLOCK';
127
+ summary = `Intent insufficient (ISC score: ${iscResult.score.toFixed(3)}). ${summary}`;
128
+ }
129
+ // In observe mode, never block
130
+ if (mode === 'observe') {
131
+ if (overallStatus === 'BLOCK')
132
+ overallStatus = 'WARN';
133
+ }
134
+ // In warn mode, downgrade BLOCK to WARN
135
+ if (mode === 'warn') {
136
+ if (overallStatus === 'BLOCK')
137
+ overallStatus = 'WARN';
138
+ }
139
+ if (!summary) {
140
+ summary = overallStatus === 'PASS'
141
+ ? 'All checks passed.'
142
+ : overallStatus === 'WARN'
143
+ ? `${violationCount} violation(s) found (mode: ${mode}).`
144
+ : `${violationCount} violation(s) found — blocking.`;
145
+ }
146
+ return {
147
+ status: overallStatus,
148
+ mode,
149
+ isc: iscResult,
150
+ ccs: ccsResult,
151
+ violations: violationCount,
152
+ summary,
153
+ };
154
+ }
155
+ async function captureVerifyOutput(cwd, task, mode) {
156
+ const originalLog = console.log;
157
+ const originalError = console.error;
158
+ const originalExit = process.exit;
159
+ let stdout = '';
160
+ let exitCode = 0;
161
+ console.log = (...args) => {
162
+ stdout += args.map(String).join(' ') + '\n';
163
+ };
164
+ console.error = (..._args) => {
165
+ // suppress verify stderr
166
+ };
167
+ // Intercept process.exit to capture exit code without killing the process
168
+ process.exit = ((code) => {
169
+ exitCode = code ?? 0;
170
+ throw new ExitInterrupt(exitCode);
171
+ });
172
+ try {
173
+ await runVerify(cwd, {
174
+ task,
175
+ json: 'true',
176
+ _from_ci: 'true', // internal marker
177
+ });
178
+ }
179
+ catch (err) {
180
+ if (err instanceof ExitInterrupt) {
181
+ exitCode = err.code;
182
+ }
183
+ else {
184
+ throw err;
185
+ }
186
+ }
187
+ finally {
188
+ console.log = originalLog;
189
+ console.error = originalError;
190
+ process.exit = originalExit;
191
+ }
192
+ // Parse the JSON output from verify
193
+ return parseVerifyJson(stdout.trim(), exitCode, mode);
194
+ }
195
+ class ExitInterrupt extends Error {
196
+ code;
197
+ constructor(code) {
198
+ super(`exit ${code}`);
199
+ this.code = code;
200
+ this.name = 'ExitInterrupt';
201
+ }
202
+ }
203
+ function parseVerifyJson(raw, exitCode, mode) {
204
+ let status;
205
+ let violations = 0;
206
+ let summary = '';
207
+ let ccs = null;
208
+ try {
209
+ const parsed = JSON.parse(raw);
210
+ // Extract from verify JSON envelope
211
+ const verify = parsed['verify'];
212
+ if (verify) {
213
+ const rawStatus = String(verify['status'] ?? '').toUpperCase();
214
+ if (rawStatus === 'PASS' || rawStatus === 'WARN' || rawStatus === 'BLOCK') {
215
+ status = rawStatus;
216
+ }
217
+ else {
218
+ status = exitCode === 0 ? 'PASS' : 'BLOCK';
219
+ }
220
+ violations = typeof verify['violations'] === 'number'
221
+ ? verify['violations']
222
+ : 0;
223
+ }
224
+ else {
225
+ status = exitCode === 0 ? 'PASS' : 'BLOCK';
226
+ }
227
+ // Extract CCS if present in metrics
228
+ const metrics = (parsed['metrics'] ?? verify?.['metrics']);
229
+ if (metrics && typeof metrics['overall_confidence'] === 'number') {
230
+ const score = metrics['overall_confidence'];
231
+ ccs = {
232
+ status: score >= 0.75 ? 'PROCEED' : score >= 0.60 ? 'EXPAND' : 'BLOCK',
233
+ score,
234
+ };
235
+ }
236
+ // Extract RI summary
237
+ const ri = parsed['review_intelligence'];
238
+ if (ri) {
239
+ const riSummary = ri['summary'];
240
+ if (riSummary) {
241
+ const newFindings = typeof riSummary['new'] === 'number' ? riSummary['new'] : 0;
242
+ summary = `${violations} policy violation(s), ${newFindings} new RI finding(s).`;
243
+ }
244
+ }
245
+ if (!summary) {
246
+ summary = violations > 0
247
+ ? `${violations} violation(s) detected.`
248
+ : 'All checks passed.';
249
+ }
250
+ }
251
+ catch {
252
+ // JSON parsing failed — fall back to exit code
253
+ status = exitCode === 0 ? 'PASS' : 'BLOCK';
254
+ summary = exitCode === 0
255
+ ? 'Verification passed.'
256
+ : 'Verification failed (non-JSON output).';
257
+ }
258
+ // Apply mode overrides
259
+ if (mode === 'observe' && status === 'BLOCK')
260
+ status = 'WARN';
261
+ if (mode === 'warn' && status === 'BLOCK')
262
+ status = 'WARN';
263
+ return { status, violations, summary, ccs };
264
+ }
265
+ // ── Helpers ─────────────────────────────────────────────────────────────────
266
+ function normalizeMode(raw) {
267
+ const lower = raw.toLowerCase();
268
+ if (lower === 'observe' || lower === 'warn' || lower === 'block')
269
+ return lower;
270
+ return 'warn';
271
+ }
272
+ function extractTaskFromEnv() {
273
+ // GitHub Actions
274
+ if (process.env['GITHUB_EVENT_PATH']) {
275
+ try {
276
+ const event = JSON.parse(readFileSync(process.env['GITHUB_EVENT_PATH'], 'utf-8'));
277
+ if (event.pull_request?.title)
278
+ return event.pull_request.title;
279
+ }
280
+ catch { /* fall through */ }
281
+ }
282
+ // GitLab CI
283
+ if (process.env['CI_MERGE_REQUEST_TITLE']) {
284
+ return process.env['CI_MERGE_REQUEST_TITLE'];
285
+ }
286
+ // CircleCI
287
+ if (process.env['CIRCLE_BRANCH']) {
288
+ return process.env['CIRCLE_BRANCH'];
289
+ }
290
+ // Azure Pipelines
291
+ if (process.env['BUILD_SOURCEBRANCH']) {
292
+ return process.env['BUILD_SOURCEBRANCH'];
293
+ }
294
+ return 'CI verification';
295
+ }
296
+ async function ensureInitialized(cwd) {
297
+ const configPath = join(cwd, '.codeledger', 'config.json');
298
+ if (!existsSync(configPath)) {
299
+ // Silent auto-init for CI environments
300
+ const originalLog = console.log;
301
+ console.log = () => { };
302
+ try {
303
+ await runInit(cwd, {});
304
+ }
305
+ finally {
306
+ console.log = originalLog;
307
+ }
308
+ }
309
+ }
310
+ function printHumanReadable(result) {
311
+ console.log('## CodeLedger Analysis');
312
+ console.log(`Status: ${result.status}`);
313
+ console.log(`Mode: ${result.mode}`);
314
+ if (result.isc) {
315
+ console.log(`Intent Sufficiency: ${result.isc.score.toFixed(3)} (${result.isc.status})`);
316
+ }
317
+ if (result.ccs) {
318
+ console.log(`Context Confidence: ${result.ccs.score.toFixed(3)} (${result.ccs.status})`);
319
+ }
320
+ console.log(`Violations: ${result.violations}`);
321
+ console.log(`Summary: ${result.summary}`);
322
+ }
323
+ //# sourceMappingURL=ci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/commands/ci.ts"],"names":[],"mappings":"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"}