@codeledger/cli 0.6.7 → 0.6.9

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 (175) hide show
  1. package/dist/architecture-graph/dependency-scanner.d.ts +16 -0
  2. package/dist/architecture-graph/dependency-scanner.d.ts.map +1 -0
  3. package/dist/architecture-graph/dependency-scanner.js +96 -0
  4. package/dist/architecture-graph/dependency-scanner.js.map +1 -0
  5. package/dist/architecture-graph/graph-builder.d.ts +70 -0
  6. package/dist/architecture-graph/graph-builder.d.ts.map +1 -0
  7. package/dist/architecture-graph/graph-builder.js +231 -0
  8. package/dist/architecture-graph/graph-builder.js.map +1 -0
  9. package/dist/architecture-graph/index.d.ts +4 -0
  10. package/dist/architecture-graph/index.d.ts.map +1 -0
  11. package/dist/architecture-graph/index.js +7 -0
  12. package/dist/architecture-graph/index.js.map +1 -0
  13. package/dist/architecture-graph/service-scanner.d.ts +22 -0
  14. package/dist/architecture-graph/service-scanner.d.ts.map +1 -0
  15. package/dist/architecture-graph/service-scanner.js +181 -0
  16. package/dist/architecture-graph/service-scanner.js.map +1 -0
  17. package/dist/commands/activate.d.ts.map +1 -1
  18. package/dist/commands/activate.js +16 -1
  19. package/dist/commands/activate.js.map +1 -1
  20. package/dist/commands/audit-export.d.ts +8 -0
  21. package/dist/commands/audit-export.d.ts.map +1 -0
  22. package/dist/commands/audit-export.js +190 -0
  23. package/dist/commands/audit-export.js.map +1 -0
  24. package/dist/commands/commit-msg.d.ts +58 -0
  25. package/dist/commands/commit-msg.d.ts.map +1 -0
  26. package/dist/commands/commit-msg.js +461 -0
  27. package/dist/commands/commit-msg.js.map +1 -0
  28. package/dist/commands/fix.d.ts +7 -0
  29. package/dist/commands/fix.d.ts.map +1 -0
  30. package/dist/commands/fix.js +107 -0
  31. package/dist/commands/fix.js.map +1 -0
  32. package/dist/commands/graph.d.ts +8 -0
  33. package/dist/commands/graph.d.ts.map +1 -0
  34. package/dist/commands/graph.js +29 -0
  35. package/dist/commands/graph.js.map +1 -0
  36. package/dist/commands/init.d.ts.map +1 -1
  37. package/dist/commands/init.js +14 -0
  38. package/dist/commands/init.js.map +1 -1
  39. package/dist/commands/intent.d.ts +3 -1
  40. package/dist/commands/intent.d.ts.map +1 -1
  41. package/dist/commands/intent.js +68 -2
  42. package/dist/commands/intent.js.map +1 -1
  43. package/dist/commands/learn.d.ts +8 -0
  44. package/dist/commands/learn.d.ts.map +1 -0
  45. package/dist/commands/learn.js +33 -0
  46. package/dist/commands/learn.js.map +1 -0
  47. package/dist/commands/pack.d.ts +12 -0
  48. package/dist/commands/pack.d.ts.map +1 -0
  49. package/dist/commands/pack.js +75 -0
  50. package/dist/commands/pack.js.map +1 -0
  51. package/dist/commands/pr-summary.d.ts +59 -0
  52. package/dist/commands/pr-summary.d.ts.map +1 -0
  53. package/dist/commands/pr-summary.js +524 -0
  54. package/dist/commands/pr-summary.js.map +1 -0
  55. package/dist/commands/serve.d.ts +13 -0
  56. package/dist/commands/serve.d.ts.map +1 -0
  57. package/dist/commands/serve.js +179 -0
  58. package/dist/commands/serve.js.map +1 -0
  59. package/dist/commands/session-cleanup.js +1 -0
  60. package/dist/commands/session-cleanup.js.map +1 -1
  61. package/dist/commands/session-summary.d.ts.map +1 -1
  62. package/dist/commands/session-summary.js +135 -3
  63. package/dist/commands/session-summary.js.map +1 -1
  64. package/dist/commands/setup-ci.d.ts +6 -4
  65. package/dist/commands/setup-ci.d.ts.map +1 -1
  66. package/dist/commands/setup-ci.js +228 -23
  67. package/dist/commands/setup-ci.js.map +1 -1
  68. package/dist/commands/verify.d.ts.map +1 -1
  69. package/dist/commands/verify.js +35 -3
  70. package/dist/commands/verify.js.map +1 -1
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +127 -4
  73. package/dist/index.js.map +1 -1
  74. package/dist/intent/extractor.d.ts +15 -0
  75. package/dist/intent/extractor.d.ts.map +1 -0
  76. package/dist/intent/extractor.js +149 -0
  77. package/dist/intent/extractor.js.map +1 -0
  78. package/dist/intent/fetcher.d.ts +33 -0
  79. package/dist/intent/fetcher.d.ts.map +1 -0
  80. package/dist/intent/fetcher.js +364 -0
  81. package/dist/intent/fetcher.js.map +1 -0
  82. package/dist/intent/loader.d.ts +26 -0
  83. package/dist/intent/loader.d.ts.map +1 -0
  84. package/dist/intent/loader.js +80 -0
  85. package/dist/intent/loader.js.map +1 -0
  86. package/dist/intent/types.d.ts +33 -0
  87. package/dist/intent/types.d.ts.map +1 -0
  88. package/dist/intent/types.js +9 -0
  89. package/dist/intent/types.js.map +1 -0
  90. package/dist/project-config.d.ts +38 -0
  91. package/dist/project-config.d.ts.map +1 -0
  92. package/dist/project-config.js +206 -0
  93. package/dist/project-config.js.map +1 -0
  94. package/dist/review-intelligence/detectors/architecture-graph.d.ts +18 -0
  95. package/dist/review-intelligence/detectors/architecture-graph.d.ts.map +1 -0
  96. package/dist/review-intelligence/detectors/architecture-graph.js +73 -0
  97. package/dist/review-intelligence/detectors/architecture-graph.js.map +1 -0
  98. package/dist/review-intelligence/detectors/cjs-named-import.d.ts +13 -0
  99. package/dist/review-intelligence/detectors/cjs-named-import.d.ts.map +1 -0
  100. package/dist/review-intelligence/detectors/cjs-named-import.js +134 -0
  101. package/dist/review-intelligence/detectors/cjs-named-import.js.map +1 -0
  102. package/dist/review-intelligence/detectors/exact-count-assertion.d.ts +17 -0
  103. package/dist/review-intelligence/detectors/exact-count-assertion.d.ts.map +1 -0
  104. package/dist/review-intelligence/detectors/exact-count-assertion.js +93 -0
  105. package/dist/review-intelligence/detectors/exact-count-assertion.js.map +1 -0
  106. package/dist/review-intelligence/detectors/exports-map-missing.d.ts +14 -0
  107. package/dist/review-intelligence/detectors/exports-map-missing.d.ts.map +1 -0
  108. package/dist/review-intelligence/detectors/exports-map-missing.js +131 -0
  109. package/dist/review-intelligence/detectors/exports-map-missing.js.map +1 -0
  110. package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts +12 -0
  111. package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts.map +1 -0
  112. package/dist/review-intelligence/detectors/fixture-keyword-drift.js +82 -0
  113. package/dist/review-intelligence/detectors/fixture-keyword-drift.js.map +1 -0
  114. package/dist/review-intelligence/detectors/optional-infra-crash.d.ts +12 -0
  115. package/dist/review-intelligence/detectors/optional-infra-crash.d.ts.map +1 -0
  116. package/dist/review-intelligence/detectors/optional-infra-crash.js +97 -0
  117. package/dist/review-intelligence/detectors/optional-infra-crash.js.map +1 -0
  118. package/dist/review-intelligence/detectors/pack-rules.d.ts +16 -0
  119. package/dist/review-intelligence/detectors/pack-rules.d.ts.map +1 -0
  120. package/dist/review-intelligence/detectors/pack-rules.js +107 -0
  121. package/dist/review-intelligence/detectors/pack-rules.js.map +1 -0
  122. package/dist/review-intelligence/detectors/undeclared-dependency.d.ts +11 -0
  123. package/dist/review-intelligence/detectors/undeclared-dependency.d.ts.map +1 -0
  124. package/dist/review-intelligence/detectors/undeclared-dependency.js +100 -0
  125. package/dist/review-intelligence/detectors/undeclared-dependency.js.map +1 -0
  126. package/dist/review-intelligence/engine/ast-parser.d.ts +90 -0
  127. package/dist/review-intelligence/engine/ast-parser.d.ts.map +1 -0
  128. package/dist/review-intelligence/engine/ast-parser.js +266 -0
  129. package/dist/review-intelligence/engine/ast-parser.js.map +1 -0
  130. package/dist/review-intelligence/engine/dataflow.d.ts +34 -0
  131. package/dist/review-intelligence/engine/dataflow.d.ts.map +1 -0
  132. package/dist/review-intelligence/engine/dataflow.js +115 -0
  133. package/dist/review-intelligence/engine/dataflow.js.map +1 -0
  134. package/dist/review-intelligence/engine/index.d.ts +7 -0
  135. package/dist/review-intelligence/engine/index.d.ts.map +1 -0
  136. package/dist/review-intelligence/engine/index.js +7 -0
  137. package/dist/review-intelligence/engine/index.js.map +1 -0
  138. package/dist/review-intelligence/engine/symbol-resolver.d.ts +34 -0
  139. package/dist/review-intelligence/engine/symbol-resolver.d.ts.map +1 -0
  140. package/dist/review-intelligence/engine/symbol-resolver.js +106 -0
  141. package/dist/review-intelligence/engine/symbol-resolver.js.map +1 -0
  142. package/dist/review-intelligence/fixes/index.d.ts +54 -0
  143. package/dist/review-intelligence/fixes/index.d.ts.map +1 -0
  144. package/dist/review-intelligence/fixes/index.js +346 -0
  145. package/dist/review-intelligence/fixes/index.js.map +1 -0
  146. package/dist/review-intelligence/index.d.ts +4 -1
  147. package/dist/review-intelligence/index.d.ts.map +1 -1
  148. package/dist/review-intelligence/index.js +22 -3
  149. package/dist/review-intelligence/index.js.map +1 -1
  150. package/dist/review-intelligence/invariants.d.ts +15 -0
  151. package/dist/review-intelligence/invariants.d.ts.map +1 -1
  152. package/dist/review-intelligence/invariants.js +48 -4
  153. package/dist/review-intelligence/invariants.js.map +1 -1
  154. package/dist/review-intelligence/learning/index.d.ts +39 -0
  155. package/dist/review-intelligence/learning/index.d.ts.map +1 -0
  156. package/dist/review-intelligence/learning/index.js +265 -0
  157. package/dist/review-intelligence/learning/index.js.map +1 -0
  158. package/dist/review-intelligence/packs/index.d.ts +69 -0
  159. package/dist/review-intelligence/packs/index.d.ts.map +1 -0
  160. package/dist/review-intelligence/packs/index.js +168 -0
  161. package/dist/review-intelligence/packs/index.js.map +1 -0
  162. package/dist/review-intelligence/repair-guidance.d.ts.map +1 -1
  163. package/dist/review-intelligence/repair-guidance.js +46 -0
  164. package/dist/review-intelligence/repair-guidance.js.map +1 -1
  165. package/dist/review-intelligence/types.d.ts +18 -9
  166. package/dist/review-intelligence/types.d.ts.map +1 -1
  167. package/dist/review-intelligence/types.js +9 -1
  168. package/dist/review-intelligence/types.js.map +1 -1
  169. package/dist/templates/claude-md.d.ts.map +1 -1
  170. package/dist/templates/claude-md.js +23 -128
  171. package/dist/templates/claude-md.js.map +1 -1
  172. package/dist/templates/hooks.d.ts.map +1 -1
  173. package/dist/templates/hooks.js +39 -0
  174. package/dist/templates/hooks.js.map +1 -1
  175. package/package.json +9 -9
@@ -0,0 +1,179 @@
1
+ import { createServer } from 'node:http';
2
+ import { runBundle } from './bundle.js';
3
+ import { runVerify } from './verify.js';
4
+ /**
5
+ * `codeledger serve [--port 7400]`
6
+ *
7
+ * Lightweight HTTP server for programmatic access to CodeLedger.
8
+ * Uses node:http — zero external dependencies.
9
+ *
10
+ * Endpoints:
11
+ * GET /health → { status: "ok", version: "..." }
12
+ * POST /verify → JSON verify result (body: { task, flags? })
13
+ * POST /bundle → JSON bundle result (body: { task, flags? })
14
+ */
15
+ export async function runServe(cwd, flags) {
16
+ const port = parseInt(flags['port'] ?? '7400', 10);
17
+ if (isNaN(port) || port < 1 || port > 65535) {
18
+ console.error(`Invalid --port "${flags['port']}". Must be a number between 1 and 65535.`);
19
+ process.exit(1);
20
+ }
21
+ const server = createServer(async (req, res) => {
22
+ // CORS headers for cross-origin access
23
+ res.setHeader('Access-Control-Allow-Origin', '*');
24
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
25
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
26
+ if (req.method === 'OPTIONS') {
27
+ res.writeHead(204);
28
+ res.end();
29
+ return;
30
+ }
31
+ const url = (req.url ?? '/').split('?')[0];
32
+ try {
33
+ if (url === '/health' && req.method === 'GET') {
34
+ await handleHealth(res);
35
+ }
36
+ else if (url === '/verify' && req.method === 'POST') {
37
+ await handleVerify(req, res, cwd);
38
+ }
39
+ else if (url === '/bundle' && req.method === 'POST') {
40
+ await handleBundle(req, res, cwd);
41
+ }
42
+ else {
43
+ sendJson(res, 404, { error: 'Not found', endpoints: ['/health', '/verify', '/bundle'] });
44
+ }
45
+ }
46
+ catch (err) {
47
+ const message = err instanceof Error ? err.message : String(err);
48
+ sendJson(res, 500, { error: 'Internal server error', message });
49
+ }
50
+ });
51
+ server.listen(port, () => {
52
+ console.log(`CodeLedger API server listening on port ${port}`);
53
+ console.log('');
54
+ console.log('Endpoints:');
55
+ console.log(` GET http://localhost:${port}/health`);
56
+ console.log(` POST http://localhost:${port}/verify { "task": "..." }`);
57
+ console.log(` POST http://localhost:${port}/bundle { "task": "..." }`);
58
+ console.log('');
59
+ console.log('Press Ctrl+C to stop.');
60
+ });
61
+ }
62
+ // ─── Handlers ─────────────────────────────────────────────────────────────────
63
+ async function handleHealth(res) {
64
+ let version = 'unknown';
65
+ try {
66
+ const { CLI_VERSION } = await import('../version.js');
67
+ version = CLI_VERSION;
68
+ }
69
+ catch {
70
+ // version file may not exist in all environments
71
+ }
72
+ sendJson(res, 200, {
73
+ status: 'ok',
74
+ version,
75
+ timestamp: new Date().toISOString(),
76
+ });
77
+ }
78
+ async function handleVerify(req, res, cwd) {
79
+ const body = await readBody(req);
80
+ if (!body.task) {
81
+ sendJson(res, 400, { error: 'Missing required field: task' });
82
+ return;
83
+ }
84
+ const verifyFlags = {
85
+ task: String(body.task),
86
+ json: 'true',
87
+ ...(body.flags ?? {}),
88
+ };
89
+ // Capture stdout to return as JSON
90
+ const result = await captureOutput(() => runVerify(cwd, verifyFlags));
91
+ sendJsonRaw(res, 200, result.stdout);
92
+ }
93
+ async function handleBundle(req, res, cwd) {
94
+ const body = await readBody(req);
95
+ if (!body.task) {
96
+ sendJson(res, 400, { error: 'Missing required field: task' });
97
+ return;
98
+ }
99
+ const bundleFlags = {
100
+ task: String(body.task),
101
+ json: 'true',
102
+ ...(body.flags ?? {}),
103
+ };
104
+ const result = await captureOutput(() => runBundle(cwd, bundleFlags));
105
+ sendJsonRaw(res, 200, result.stdout);
106
+ }
107
+ // ─── Utilities ────────────────────────────────────────────────────────────────
108
+ function sendJson(res, status, data) {
109
+ res.writeHead(status, { 'Content-Type': 'application/json' });
110
+ res.end(JSON.stringify(data));
111
+ }
112
+ function sendJsonRaw(res, status, raw) {
113
+ res.writeHead(status, { 'Content-Type': 'application/json' });
114
+ // If raw is valid JSON, send it directly; otherwise wrap it
115
+ try {
116
+ JSON.parse(raw);
117
+ res.end(raw);
118
+ }
119
+ catch {
120
+ res.end(JSON.stringify({ output: raw }));
121
+ }
122
+ }
123
+ const MAX_BODY_SIZE = 1_000_000; // 1 MB
124
+ async function readBody(req) {
125
+ return new Promise((resolve, reject) => {
126
+ const chunks = [];
127
+ let totalSize = 0;
128
+ req.on('data', (chunk) => {
129
+ totalSize += chunk.length;
130
+ if (totalSize > MAX_BODY_SIZE) {
131
+ req.destroy();
132
+ reject(new Error('Request body too large (max 1 MB)'));
133
+ return;
134
+ }
135
+ chunks.push(chunk);
136
+ });
137
+ req.on('end', () => {
138
+ const raw = Buffer.concat(chunks).toString('utf-8');
139
+ if (!raw) {
140
+ resolve({});
141
+ return;
142
+ }
143
+ try {
144
+ const parsed = JSON.parse(raw);
145
+ if (typeof parsed === 'object' && parsed !== null) {
146
+ resolve(parsed);
147
+ }
148
+ else {
149
+ reject(new Error('Request body must be a JSON object'));
150
+ }
151
+ }
152
+ catch {
153
+ reject(new Error('Invalid JSON in request body'));
154
+ }
155
+ });
156
+ req.on('error', reject);
157
+ });
158
+ }
159
+ async function captureOutput(fn) {
160
+ const originalLog = console.log;
161
+ const originalError = console.error;
162
+ let stdout = '';
163
+ let stderr = '';
164
+ console.log = (...args) => {
165
+ stdout += args.map(String).join(' ') + '\n';
166
+ };
167
+ console.error = (...args) => {
168
+ stderr += args.map(String).join(' ') + '\n';
169
+ };
170
+ try {
171
+ await fn();
172
+ }
173
+ finally {
174
+ console.log = originalLog;
175
+ console.error = originalError;
176
+ }
177
+ return { stdout: stdout.trim(), stderr: stderr.trim() };
178
+ }
179
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ function cleanPidMarkers(cwd, sessionId) {
65
65
  function cleanLegacyRefs(cwd) {
66
66
  const paths = [
67
67
  join(cwd, '.codeledger', '.hook-reminded'),
68
+ join(cwd, '.codeledger', '.out-of-bundle-edits'),
68
69
  join(cwd, '.codeledger', '.session-start-ref'),
69
70
  join(cwd, '.codeledger', '.activate-ref'),
70
71
  join(cwd, '.codeledger', '.task-history.jsonl'),
@@ -1 +1 @@
1
- {"version":3,"file":"session-cleanup.js","sourceRoot":"","sources":["../../src/commands/session-cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-cleanup.js","sourceRoot":"","sources":["../../src/commands/session-cleanup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-summary.d.ts","sourceRoot":"","sources":["../../src/commands/session-summary.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2If"}
1
+ {"version":3,"file":"session-summary.d.ts","sourceRoot":"","sources":["../../src/commands/session-summary.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyJf"}
@@ -56,6 +56,11 @@ export async function runSessionSummary(cwd, flags) {
56
56
  const precision = bundleFiles.length > 0
57
57
  ? overlap.length / bundleFiles.length
58
58
  : 0;
59
+ // ── Split recall: edit-recall vs creation-recall ──────────────────────
60
+ // Files that existed before the session (edits) vs files that were created
61
+ // during the session (new). Only edit-recall is meaningful — bundles
62
+ // can't predict files that don't exist yet.
63
+ const { editedFiles, createdFiles } = classifyEditedVsCreated(cwd, filesChanged, sessionId);
59
64
  // ── Estimate repo-wide token count for context reduction ────────────────
60
65
  const repoTokens = estimateRepoTokens(cwd, config);
61
66
  const reductionPct = repoTokens > 0
@@ -98,6 +103,11 @@ export async function runSessionSummary(cwd, flags) {
98
103
  // Non-fatal: review coverage is optional enrichment
99
104
  }
100
105
  }
106
+ // Compute edit-recall: recall only over files that existed pre-session
107
+ const editOverlap = editedFiles.filter((f) => bundleFiles.includes(f));
108
+ const editRecall = editedFiles.length > 0
109
+ ? editOverlap.length / editedFiles.length
110
+ : 0;
101
111
  const summary = {
102
112
  bundle_id: bundle.bundle_id,
103
113
  task: bundle.task,
@@ -106,6 +116,8 @@ export async function runSessionSummary(cwd, flags) {
106
116
  files_overlapping: overlap,
107
117
  recall,
108
118
  precision,
119
+ edit_recall: editRecall,
120
+ created_file_count: createdFiles.length,
109
121
  bundle_tokens: bundle.total_tokens,
110
122
  repo_total_tokens: repoTokens,
111
123
  context_reduction_pct: reductionPct,
@@ -246,11 +258,27 @@ function printRecap(s, intentDrift, scopeDriftFiles, prefillTask, shadowFiles, t
246
258
  lines.push(` Task breadth: ${s.files_changed.length} files touched`);
247
259
  }
248
260
  else if (f1 < 0.3) {
249
- // Bundle was not useful — lead with the miss, suppress reduction stat
261
+ // Bundle was not useful — diagnose why
250
262
  lines.push(` Bundle missed: predicted ${s.files_overlapping.length}/${s.files_changed.length} files you changed (${recallPct}% recall)`);
251
263
  lines.push(` Bundle accuracy: ${s.files_overlapping.length}/${s.bundle_files.length} bundled files were relevant (${precisionPct}% precision)`);
252
- lines.push(` The bundle was not useful for this task.`);
253
- lines.push(` Tip: Re-run "codeledger activate --task ${prefillTask ? `"${s.task}"` : '...'}" with a more specific task description.`);
264
+ // Classify the session pattern to give actionable advice
265
+ const sessionPattern = classifySessionPattern(s.files_changed);
266
+ if (sessionPattern.isInfrastructure) {
267
+ lines.push(` Pattern: infrastructure/ops session — ${sessionPattern.infraFileCount} of ${s.files_changed.length} files are infra (migrations, docker, scripts).`);
268
+ lines.push(` Assessment: Bundle recall is not meaningful for infrastructure tasks. Bundles target source code edits.`);
269
+ }
270
+ else if (sessionPattern.newFileRatio > 0.5) {
271
+ lines.push(` Pattern: exploratory session — ${sessionPattern.newFileCount} of ${s.files_changed.length} files were created (not predictable).`);
272
+ lines.push(` Tip: Bundles work best for focused edits to existing code. For scaffolding/new-file tasks, low recall is expected.`);
273
+ }
274
+ else if (s.files_changed.length > 50) {
275
+ lines.push(` Pattern: broad session (${s.files_changed.length} files touched). Bundle targets focused tasks.`);
276
+ lines.push(` Tip: For multi-phase work, refresh the bundle between phases: "codeledger activate --task \\"...\\"".`);
277
+ }
278
+ else {
279
+ lines.push(` The bundle was not useful for this task.`);
280
+ lines.push(` Tip: Re-run "codeledger activate --task ${prefillTask ? `"${s.task}"` : '...'}" with a more specific task description.`);
281
+ }
254
282
  }
255
283
  else if (s.recall < 0.5) {
256
284
  // Bundle was partially useful — show all stats but highlight room to improve
@@ -265,6 +293,14 @@ function printRecap(s, intentDrift, scopeDriftFiles, prefillTask, shadowFiles, t
265
293
  lines.push(` Bundle accuracy: ${s.files_overlapping.length}/${s.bundle_files.length} bundled files were relevant (${precisionPct}% precision)`);
266
294
  lines.push(` Context: ~${fmtTokens(s.bundle_tokens)} tokens vs ~${fmtTokens(s.repo_total_tokens)} full repo (${reductionPct}% reduction)`);
267
295
  }
296
+ // ── Split recall annotation ─────────────────────────────────────────
297
+ // When files were created during the session, show edit-recall separately
298
+ // since bundle recall for new files is inherently 0%.
299
+ if (s.created_file_count !== undefined && s.created_file_count > 0 && !isRepoScan) {
300
+ const editRecallPct = s.edit_recall !== undefined ? Math.round(s.edit_recall * 100) : recallPct;
301
+ const editedCount = s.files_changed.length - s.created_file_count;
302
+ lines.push(` Edit-recall: ${editRecallPct}% (${editedCount} existing files) | ${s.created_file_count} new file${s.created_file_count === 1 ? '' : 's'} created (not predictable)`);
303
+ }
268
304
  // ── Debt injection section ───────────────────────────────────────────
269
305
  if (s.debt && s.debt.total_suppressions > 0) {
270
306
  lines.push(` Debt: ${s.debt.total_suppressions} suppression${s.debt.total_suppressions === 1 ? '' : 's'} detected (score: ${s.debt.debt_score.toFixed(2)})`);
@@ -361,6 +397,102 @@ function printRecap(s, intentDrift, scopeDriftFiles, prefillTask, shadowFiles, t
361
397
  lines.push('');
362
398
  console.log(lines.join('\n'));
363
399
  }
400
+ function classifySessionPattern(filesChanged) {
401
+ // Detect new files by checking git status for untracked/newly added
402
+ let newFileCount = 0;
403
+ try {
404
+ const untrackedRaw = execSync('git ls-files --others --exclude-standard', {
405
+ encoding: 'utf-8',
406
+ timeout: 5000,
407
+ stdio: ['pipe', 'pipe', 'pipe'],
408
+ }).trim();
409
+ const untracked = new Set(untrackedRaw ? untrackedRaw.split('\n') : []);
410
+ // Also check for files that were added in commits (new file mode)
411
+ const addedRaw = execSync('git diff --diff-filter=A --name-only HEAD~20..HEAD 2>/dev/null || echo ""', {
412
+ encoding: 'utf-8',
413
+ timeout: 5000,
414
+ stdio: ['pipe', 'pipe', 'pipe'],
415
+ }).trim();
416
+ const added = new Set(addedRaw ? addedRaw.split('\n') : []);
417
+ for (const f of filesChanged) {
418
+ if (untracked.has(f) || added.has(f)) {
419
+ newFileCount++;
420
+ }
421
+ }
422
+ }
423
+ catch {
424
+ // Non-fatal — fall back to 0 new files
425
+ }
426
+ const newFileRatio = filesChanged.length > 0 ? newFileCount / filesChanged.length : 0;
427
+ // Detect infrastructure-heavy sessions by checking if changed files are
428
+ // predominantly config/migration/infra files rather than source code.
429
+ // Infrastructure file patterns — match directory names and filenames, not
430
+ // substrings, to avoid false positives (e.g. "src/docker-utils.ts" is NOT infra).
431
+ const infraPatterns = [
432
+ /migrations?\//i, /\.sql$/i, /\.env(\.|$)/i,
433
+ /(?:^|\/)dockerfile/i, /(?:^|\/)docker-compose/i,
434
+ /(?:^|\/)makefile$/i, /\.sh$/i,
435
+ /(?:^|\/)scripts?\//i, /\.github\//i, /ci\.ya?ml$/i,
436
+ ];
437
+ const infraFileCount = filesChanged.filter((f) => infraPatterns.some((pat) => pat.test(f))).length;
438
+ const infraRatio = filesChanged.length > 0 ? infraFileCount / filesChanged.length : 0;
439
+ const isInfrastructure = infraRatio > 0.5 || (filesChanged.length <= 3 && infraFileCount > 0);
440
+ return {
441
+ newFileCount,
442
+ newFileRatio,
443
+ isExploratory: newFileRatio > 0.5,
444
+ isBroad: filesChanged.length > 50,
445
+ isInfrastructure,
446
+ infraFileCount,
447
+ };
448
+ }
449
+ /**
450
+ * Classify changed files into edits (pre-existing files modified) vs creations
451
+ * (new files added during the session). This allows split recall reporting:
452
+ * edit-recall measures bundle accuracy for predictable changes, while
453
+ * creation-recall is always 0 (bundles can't predict files that don't exist).
454
+ */
455
+ function classifyEditedVsCreated(cwd, filesChanged, sessionId) {
456
+ const createdPaths = new Set();
457
+ try {
458
+ // Untracked files = definitely created this session
459
+ const untrackedRaw = execSync('git ls-files --others --exclude-standard', {
460
+ cwd,
461
+ encoding: 'utf-8',
462
+ timeout: 5000,
463
+ stdio: ['pipe', 'pipe', 'pipe'],
464
+ }).trim();
465
+ if (untrackedRaw) {
466
+ for (const f of untrackedRaw.split('\n'))
467
+ createdPaths.add(f);
468
+ }
469
+ // Files added in commits since session start
470
+ const activateRefPath = sessionActivateRef(cwd, sessionId);
471
+ const sessionRefPath = sessionStartRef(cwd, sessionId);
472
+ const refPath = existsSync(activateRefPath) ? activateRefPath : sessionRefPath;
473
+ if (existsSync(refPath)) {
474
+ const startRef = readFileSync(refPath, 'utf-8').trim();
475
+ if (startRef) {
476
+ try {
477
+ const addedRaw = execSync(`git diff --diff-filter=A --name-only ${startRef}..HEAD`, { cwd, encoding: 'utf-8', timeout: 5000, stdio: ['pipe', 'pipe', 'pipe'] }).trim();
478
+ if (addedRaw) {
479
+ for (const f of addedRaw.split('\n'))
480
+ createdPaths.add(f);
481
+ }
482
+ }
483
+ catch {
484
+ // Non-fatal: ref may not be valid
485
+ }
486
+ }
487
+ }
488
+ }
489
+ catch {
490
+ // Non-fatal: fall back to treating all files as edits
491
+ }
492
+ const editedFiles = filesChanged.filter((f) => !createdPaths.has(f));
493
+ const createdFiles = filesChanged.filter((f) => createdPaths.has(f));
494
+ return { editedFiles, createdFiles };
495
+ }
364
496
  function fmtTokens(n) {
365
497
  if (n >= 1000)
366
498
  return `${(n / 1000).toFixed(1)}k`;
@@ -1 +1 @@
1
- {"version":3,"file":"session-summary.js","sourceRoot":"","sources":["../../src/commands/session-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-summary.js","sourceRoot":"","sources":["../../src/commands/session-summary.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
+ export type CiProvider = 'github' | 'gitlab' | 'circleci' | 'azure';
1
2
  /**
2
- * `codeledger setup-ci [--mode observe|warn|block] [--output <path>]`
3
+ * `codeledger setup-ci [--mode observe|warn|block] [--provider github|gitlab|circleci|azure] [--output <path>]`
3
4
  *
4
- * Generates a ready-to-use GitHub Actions workflow and policy file for CI
5
- * enforcement. Designed to get enterprise users from zero to working CI
6
- * integration in one command.
5
+ * Generates a ready-to-use CI workflow and policy file for CI enforcement.
6
+ * Supports GitHub Actions, GitLab CI, CircleCI, and Azure Pipelines.
7
7
  */
8
8
  export declare function runSetupCi(cwd: string, flags: Record<string, string>): Promise<void>;
9
+ /** Generate CI workflow content for the given provider and mode */
10
+ export declare function generateWorkflow(provider: CiProvider, mode: string): string;
9
11
  //# sourceMappingURL=setup-ci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ci.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ci.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAqFf"}
1
+ {"version":3,"file":"setup-ci.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ci.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAoBpE;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiGf;AAID,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW3E"}