@astrolabe-dev/cli 1.0.12 → 1.0.13
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/index.js +645 -12
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { join, dirname, basename, resolve } from 'node:path';
|
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { execSync } from 'node:child_process';
|
|
10
10
|
import { createInterface } from 'node:readline';
|
|
11
|
-
import { createKnowledgeGraph, scanPhase, structurePhase, frameworkPhase, markdownPhase, parseEmitPhase, resolutionPhase, routesPhase, toolsPhase, ormPhase, crossFilePhase, mroPhase, communityPhase, processTracingPhase, cobolPhase, accessTrackingPhase, securityScanPhase, coveragePhase, callResolutionPhase, scopeResolutionPhase, initParser, createSqliteStore, createFtsSearch, createLogger, createPhaseContext, runPipeline, startMcpServer, loadRegistry, saveRegistry, removeRepo, getGitRemote, acquireDbLock, generateSkill, loadMeta, saveMeta, computeFileDiff, buildMeta, installHooks, createGroup, removeGroup, addRepoToGroup, removeRepoFromGroup, listGroups, getGroupStatus, groupQuery, getGroupContracts, syncGroupContracts, autoSetup, generateAgentFiles, startHttpServer, generateWiki, startEvalServer, countGraphlets, buildAdjacencyMap, detectPatterns, scoreArchitectureHealth, migrateFromGitNexus, } from '@astrolabe-dev/core';
|
|
11
|
+
import { createKnowledgeGraph, scanPhase, structurePhase, frameworkPhase, markdownPhase, parseEmitPhase, resolutionPhase, routesPhase, toolsPhase, ormPhase, crossFilePhase, mroPhase, communityPhase, processTracingPhase, cobolPhase, accessTrackingPhase, securityScanPhase, coveragePhase, callResolutionPhase, scopeResolutionPhase, initParser, createSqliteStore, createFtsSearch, createLogger, createPhaseContext, runPipeline, startMcpServer, loadRegistry, saveRegistry, removeRepo, getGitRemote, acquireDbLock, generateSkill, loadMeta, saveMeta, computeFileDiff, buildMeta, installHooks, createGroup, removeGroup, addRepoToGroup, removeRepoFromGroup, listGroups, getGroupStatus, groupQuery, getGroupContracts, syncGroupContracts, autoSetup, generateAgentFiles, startHttpServer, generateWiki, startEvalServer, countGraphlets, buildAdjacencyMap, detectPatterns, scoreArchitectureHealth, detectClones, computeSpectralMetrics, detectAntiPatterns, migrateFromGitNexus, detectCutVertices, detectBridges, computeGraphCoverageMetrics, EDGE_DECAY_FACTORS, applyDecay, noisyOr, exportGnnDataset, computeEmbeddings, propagateEmbeddings, createSemanticEdges, computeSnapshotMetrics, detectTrends, } from '@astrolabe-dev/core';
|
|
12
12
|
// #463: Coverage report parser
|
|
13
13
|
import { parseCoverageReport, detectFormat, annotateGraphWithCoverage } from '@astrolabe-dev/core';
|
|
14
14
|
import { PIPELINE_TIMING_KEY, PIPELINE_MEMORY_KEY } from '@astrolabe-dev/core';
|
|
@@ -177,6 +177,21 @@ program
|
|
|
177
177
|
// Save graph to SQLite
|
|
178
178
|
const store = createSqliteStore(dbPath);
|
|
179
179
|
store.saveGraph(graph);
|
|
180
|
+
// #807: Auto-save snapshot for temporal evolution tracking
|
|
181
|
+
try {
|
|
182
|
+
const branch = (() => { try {
|
|
183
|
+
return execSync('git rev-parse --abbrev-ref HEAD', { cwd: repoPath, encoding: 'utf-8' }).trim();
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return 'unknown';
|
|
187
|
+
} })();
|
|
188
|
+
const snapshot = computeSnapshotMetrics(graph, lastCommit, branch);
|
|
189
|
+
store.saveSnapshot(snapshot);
|
|
190
|
+
log.info('Snapshot saved', { id: snapshot.id, healthScore: snapshot.healthScore });
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
log.warn('Failed to save snapshot', { error: String(err) });
|
|
194
|
+
}
|
|
180
195
|
// FTS index is created lazily on first query — no eager creation here
|
|
181
196
|
store.close();
|
|
182
197
|
// Save meta.json with current file hashes for next incremental run
|
|
@@ -541,6 +556,8 @@ program
|
|
|
541
556
|
.command('impact <symbol-name>')
|
|
542
557
|
.description('Show code impact analysis for a symbol')
|
|
543
558
|
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
559
|
+
.option('--probabilistic', 'Use probabilistic confidence-decay scoring')
|
|
560
|
+
.option('--decay <schedule>', 'Decay schedule for probabilistic mode', 'linear')
|
|
544
561
|
.action((symbolName, opts) => {
|
|
545
562
|
const store = createSqliteStore(opts.db);
|
|
546
563
|
try {
|
|
@@ -561,20 +578,107 @@ program
|
|
|
561
578
|
}
|
|
562
579
|
bucket.push({ neighborId: rel.sourceId, type: rel.type, direction: 'incoming' });
|
|
563
580
|
}
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
581
|
+
if (opts.probabilistic) {
|
|
582
|
+
// #806: Probabilistic multi-hop BFS with confidence decay and Noisy-OR fusion
|
|
583
|
+
const schedule = (opts.decay ?? 'linear');
|
|
584
|
+
const maxDepth = 3;
|
|
585
|
+
// Find the target node
|
|
586
|
+
let targetId = null;
|
|
587
|
+
for (const node of graph.iterNodes()) {
|
|
588
|
+
if (node.properties.name === symbolName) {
|
|
589
|
+
targetId = node.id;
|
|
590
|
+
break;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (!targetId) {
|
|
594
|
+
console.log(`Symbol "${symbolName}" not found.`);
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
// Pre-build adjacency with confidence (incoming + outgoing)
|
|
598
|
+
const probAdj = new Map();
|
|
599
|
+
for (const rel of graph.iterRelationships()) {
|
|
600
|
+
if (rel.type === 'STEP_IN_PROCESS')
|
|
601
|
+
continue;
|
|
602
|
+
// outgoing: source → target
|
|
603
|
+
let bucket = probAdj.get(rel.sourceId);
|
|
604
|
+
if (!bucket) {
|
|
605
|
+
bucket = [];
|
|
606
|
+
probAdj.set(rel.sourceId, bucket);
|
|
607
|
+
}
|
|
608
|
+
bucket.push({ neighborId: rel.targetId, type: rel.type, confidence: rel.confidence, direction: 'outgoing' });
|
|
609
|
+
// incoming: target → source
|
|
610
|
+
bucket = probAdj.get(rel.targetId);
|
|
611
|
+
if (!bucket) {
|
|
612
|
+
bucket = [];
|
|
613
|
+
probAdj.set(rel.targetId, bucket);
|
|
614
|
+
}
|
|
615
|
+
bucket.push({ neighborId: rel.sourceId, type: rel.type, confidence: rel.confidence, direction: 'incoming' });
|
|
616
|
+
}
|
|
617
|
+
// BFS with confidence decay
|
|
618
|
+
const nodeScores = new Map();
|
|
619
|
+
nodeScores.set(targetId, { paths: [], bestScore: 1.0 });
|
|
620
|
+
const queue = [{ id: targetId, depth: 0 }];
|
|
621
|
+
const visited = new Set([targetId]);
|
|
622
|
+
while (queue.length > 0) {
|
|
623
|
+
const current = queue.shift();
|
|
624
|
+
if (current.depth >= maxDepth)
|
|
625
|
+
continue;
|
|
626
|
+
for (const { neighborId, type, confidence } of (probAdj.get(current.id) ?? [])) {
|
|
627
|
+
if (neighborId === targetId)
|
|
628
|
+
continue;
|
|
629
|
+
const edgeDecay = EDGE_DECAY_FACTORS[type] ?? 0.7;
|
|
630
|
+
const parentEntry = nodeScores.get(current.id);
|
|
631
|
+
const parentConfidence = parentEntry?.bestScore ?? 1.0;
|
|
632
|
+
let decayedConfidence = parentConfidence * edgeDecay * Math.max(confidence, 0.1);
|
|
633
|
+
decayedConfidence = applyDecay(decayedConfidence, current.depth + 1, schedule);
|
|
634
|
+
const existing = nodeScores.get(neighborId);
|
|
635
|
+
const pathEntry = { via: current.id, depth: current.depth + 1, confidence: decayedConfidence };
|
|
636
|
+
if (existing) {
|
|
637
|
+
existing.paths.push(pathEntry);
|
|
638
|
+
const allProbs = existing.paths.map((p) => p.confidence);
|
|
639
|
+
existing.bestScore = noisyOr(allProbs);
|
|
640
|
+
}
|
|
641
|
+
else {
|
|
642
|
+
nodeScores.set(neighborId, { paths: [pathEntry], bestScore: decayedConfidence });
|
|
643
|
+
if (!visited.has(neighborId)) {
|
|
644
|
+
visited.add(neighborId);
|
|
645
|
+
queue.push({ id: neighborId, depth: current.depth + 1 });
|
|
646
|
+
}
|
|
647
|
+
}
|
|
573
648
|
}
|
|
574
649
|
}
|
|
650
|
+
console.log(`Probabilistic impact for "${symbolName}" (decay: ${schedule}, maxDepth: ${maxDepth}):`);
|
|
651
|
+
const sorted = [...nodeScores]
|
|
652
|
+
.filter(([id]) => id !== targetId)
|
|
653
|
+
.map(([id, entry]) => {
|
|
654
|
+
const node = graph.getNode(id);
|
|
655
|
+
return { name: node?.properties.name ?? id, score: Math.round(entry.bestScore * 1000) / 1000, paths: entry.paths.length };
|
|
656
|
+
})
|
|
657
|
+
.sort((a, b) => b.score - a.score);
|
|
658
|
+
for (const { name, score, paths } of sorted) {
|
|
659
|
+
const cat = score >= 0.8 ? 'DIRECT' : score >= 0.4 ? 'TRANSITIVE' : 'LOW-RISK';
|
|
660
|
+
const pathInfo = paths > 1 ? ` (${paths} paths)` : '';
|
|
661
|
+
console.log(` [${cat}] ${name} (confidence: ${score.toFixed(3)})${pathInfo}`);
|
|
662
|
+
}
|
|
663
|
+
if (sorted.length === 0)
|
|
664
|
+
console.log(' (no connected nodes)');
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
let found = 0;
|
|
668
|
+
for (const node of graph.iterNodes()) {
|
|
669
|
+
if (node.properties.name === symbolName) {
|
|
670
|
+
found++;
|
|
671
|
+
console.log(`${node.label}: ${node.id}`);
|
|
672
|
+
const neighbors = adj.get(node.id) ?? [];
|
|
673
|
+
for (const { neighborId, type, direction } of neighbors) {
|
|
674
|
+
const other = graph.getNode(neighborId);
|
|
675
|
+
console.log(` ${direction === 'outgoing' ? '→' : '←'} ${type} ${other?.properties.name ?? neighborId}`);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
if (found === 0)
|
|
680
|
+
console.log(`Symbol "${symbolName}" not found.`);
|
|
575
681
|
}
|
|
576
|
-
if (found === 0)
|
|
577
|
-
console.log(`Symbol "${symbolName}" not found.`);
|
|
578
682
|
}
|
|
579
683
|
finally {
|
|
580
684
|
store.close();
|
|
@@ -1046,6 +1150,78 @@ program
|
|
|
1046
1150
|
}
|
|
1047
1151
|
console.log();
|
|
1048
1152
|
});
|
|
1153
|
+
// ── detect-smells ──────────────────────────────────────────────────────────
|
|
1154
|
+
program
|
|
1155
|
+
.command('detect-smells [repoPath]')
|
|
1156
|
+
.description('Detect architecture smells in the knowledge graph (cycles, god modules, unstable deps, meshes)')
|
|
1157
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1158
|
+
.option('--json', 'Output as JSON')
|
|
1159
|
+
.option('--fan-in <number>', 'Fan-in threshold for hub detection')
|
|
1160
|
+
.option('--fan-out <number>', 'Fan-out threshold for hub detection')
|
|
1161
|
+
.option('--density <number>', 'Density threshold for mesh detection (0-1)')
|
|
1162
|
+
.action((repoPath, opts) => {
|
|
1163
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1164
|
+
if (!existsSync(dbPath)) {
|
|
1165
|
+
console.log('No knowledge graph found. Run `astrolabe analyze` first.');
|
|
1166
|
+
return;
|
|
1167
|
+
}
|
|
1168
|
+
const store = createSqliteStore(dbPath);
|
|
1169
|
+
const graph = store.loadGraph();
|
|
1170
|
+
store.close();
|
|
1171
|
+
const options = {};
|
|
1172
|
+
if (opts.fanIn)
|
|
1173
|
+
options.fanInThreshold = Number(opts.fanIn);
|
|
1174
|
+
if (opts.fanOut)
|
|
1175
|
+
options.fanOutThreshold = Number(opts.fanOut);
|
|
1176
|
+
if (opts.density)
|
|
1177
|
+
options.densityThreshold = Number(opts.density);
|
|
1178
|
+
const results = detectAntiPatterns(graph, options);
|
|
1179
|
+
if (opts.json) {
|
|
1180
|
+
console.log(JSON.stringify(results, null, 2));
|
|
1181
|
+
return;
|
|
1182
|
+
}
|
|
1183
|
+
console.log('\n=== Architecture Smells ===\n');
|
|
1184
|
+
if (results.sccs?.length) {
|
|
1185
|
+
console.log(`Cyclic Dependencies: ${results.sccs.length} cycle(s) found`);
|
|
1186
|
+
for (const scc of results.sccs) {
|
|
1187
|
+
console.log(` Cycle #${scc.id}: ${scc.size} nodes — ${scc.nodeIds.slice(0, 5).join(', ')}${scc.nodeIds.length > 5 ? '...' : ''}`);
|
|
1188
|
+
}
|
|
1189
|
+
console.log();
|
|
1190
|
+
}
|
|
1191
|
+
if (results.hubs?.length) {
|
|
1192
|
+
console.log(`Hub-like Modules: ${results.hubs.length} detected`);
|
|
1193
|
+
for (const hub of results.hubs) {
|
|
1194
|
+
console.log(` ${hub.nodeId} — fanIn: ${hub.fanIn}, fanOut: ${hub.fanOut}, classification: ${hub.classification}`);
|
|
1195
|
+
}
|
|
1196
|
+
console.log();
|
|
1197
|
+
}
|
|
1198
|
+
if (results.meshes?.length) {
|
|
1199
|
+
console.log(`Dependency Meshes: ${results.meshes.length} detected`);
|
|
1200
|
+
for (const mesh of results.meshes) {
|
|
1201
|
+
console.log(` Mesh: ${mesh.nodeIds.length} nodes, density: ${mesh.density.toFixed(3)}, anchors: ${mesh.acyclicAnchors.length}`);
|
|
1202
|
+
}
|
|
1203
|
+
console.log();
|
|
1204
|
+
}
|
|
1205
|
+
if (results.cutVertices?.length) {
|
|
1206
|
+
console.log(`Cut Vertices (SPoF): ${results.cutVertices.length} detected`);
|
|
1207
|
+
for (const cv of results.cutVertices) {
|
|
1208
|
+
console.log(` ${cv.nodeId} — would split graph into ${cv.componentCountAfterRemoval} components`);
|
|
1209
|
+
}
|
|
1210
|
+
console.log();
|
|
1211
|
+
}
|
|
1212
|
+
if (results.bridges?.length) {
|
|
1213
|
+
console.log(`Bridge Edges: ${results.bridges.length} detected`);
|
|
1214
|
+
for (const bridge of results.bridges.slice(0, 10)) {
|
|
1215
|
+
console.log(` ${bridge.sourceId} → ${bridge.targetId}`);
|
|
1216
|
+
}
|
|
1217
|
+
if (results.bridges.length > 10)
|
|
1218
|
+
console.log(` ... and ${results.bridges.length - 10} more`);
|
|
1219
|
+
console.log();
|
|
1220
|
+
}
|
|
1221
|
+
if (!results.sccs?.length && !results.hubs?.length && !results.meshes?.length) {
|
|
1222
|
+
console.log('No architecture smells detected.');
|
|
1223
|
+
}
|
|
1224
|
+
});
|
|
1049
1225
|
// ── ingest-coverage (#463) ──────────────────────────────────────────────────
|
|
1050
1226
|
program
|
|
1051
1227
|
.command('ingest-coverage <report-file>')
|
|
@@ -1248,5 +1424,462 @@ program
|
|
|
1248
1424
|
store.close();
|
|
1249
1425
|
}
|
|
1250
1426
|
});
|
|
1427
|
+
// ── detect-clones (#810) ─────────────────────────────────────────────────────
|
|
1428
|
+
program
|
|
1429
|
+
.command('detect-clones [repoPath]')
|
|
1430
|
+
.description('Detect structurally similar functions using Weisfeiler-Lehman graph kernels (#810)')
|
|
1431
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1432
|
+
.option('--threshold <n>', 'Similarity threshold (0-1)', '0.6')
|
|
1433
|
+
.option('--json', 'Output raw JSON')
|
|
1434
|
+
.action((repoPath, opts) => {
|
|
1435
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1436
|
+
if (!existsSync(dbPath)) {
|
|
1437
|
+
console.log('No knowledge graph found. Run `astrolabe analyze` first.');
|
|
1438
|
+
return;
|
|
1439
|
+
}
|
|
1440
|
+
const threshold = parseFloat(opts.threshold);
|
|
1441
|
+
if (isNaN(threshold) || threshold < 0 || threshold > 1) {
|
|
1442
|
+
console.log('Threshold must be a number between 0 and 1.');
|
|
1443
|
+
return;
|
|
1444
|
+
}
|
|
1445
|
+
const store = createSqliteStore(dbPath);
|
|
1446
|
+
try {
|
|
1447
|
+
const graph = store.loadGraph();
|
|
1448
|
+
// Build adjacency + node names (same as MCP handler)
|
|
1449
|
+
const adjList = new Map();
|
|
1450
|
+
const nodeNames = new Map();
|
|
1451
|
+
for (const node of graph.iterNodes()) {
|
|
1452
|
+
if (!adjList.has(node.id))
|
|
1453
|
+
adjList.set(node.id, []);
|
|
1454
|
+
nodeNames.set(node.id, node.properties.name ?? node.id);
|
|
1455
|
+
}
|
|
1456
|
+
for (const rel of graph.iterRelationships()) {
|
|
1457
|
+
if (rel.type === 'STEP_IN_PROCESS' || rel.type === 'MEMBER_OF' || rel.type === 'ENTRY_POINT_OF')
|
|
1458
|
+
continue;
|
|
1459
|
+
if (rel.type !== 'CALLS' && rel.type !== 'IMPORTS')
|
|
1460
|
+
continue;
|
|
1461
|
+
let targets = adjList.get(rel.sourceId);
|
|
1462
|
+
if (!targets) {
|
|
1463
|
+
targets = [];
|
|
1464
|
+
adjList.set(rel.sourceId, targets);
|
|
1465
|
+
}
|
|
1466
|
+
targets.push(rel.targetId);
|
|
1467
|
+
if (!adjList.has(rel.targetId))
|
|
1468
|
+
adjList.set(rel.targetId, []);
|
|
1469
|
+
}
|
|
1470
|
+
const result = detectClones(adjList, nodeNames, { threshold });
|
|
1471
|
+
if (opts.json) {
|
|
1472
|
+
console.log(JSON.stringify(result, null, 2));
|
|
1473
|
+
return;
|
|
1474
|
+
}
|
|
1475
|
+
console.log(`\n=== Clone Detection (WL Graph Kernel) ===`);
|
|
1476
|
+
console.log(`Functions analyzed: ${result.totalFunctions}`);
|
|
1477
|
+
console.log(`Clone pairs found: ${result.totalPairs} (threshold: ${threshold})`);
|
|
1478
|
+
console.log(` Exact clones (>=95%): ${result.summary.exactClones}`);
|
|
1479
|
+
console.log(` Near-misses (80-95%): ${result.summary.nearMisses}`);
|
|
1480
|
+
console.log(` Potential clones (60-80%): ${result.summary.potentialClones}`);
|
|
1481
|
+
if (result.clusters.length > 0) {
|
|
1482
|
+
console.log(`\n--- Clone Clusters (${result.clusters.length}) ---`);
|
|
1483
|
+
for (const c of result.clusters.slice(0, 10)) {
|
|
1484
|
+
console.log(` Cluster ${c.clusterId}: ${c.memberCount} functions, representative: ${c.representativeFunction}`);
|
|
1485
|
+
const memberNames = c.members.map((m) => m.name).join(', ');
|
|
1486
|
+
console.log(` Members: ${memberNames}`);
|
|
1487
|
+
}
|
|
1488
|
+
if (result.clusters.length > 10)
|
|
1489
|
+
console.log(` ... and ${result.clusters.length - 10} more clusters`);
|
|
1490
|
+
}
|
|
1491
|
+
if (result.topPairs.length > 0) {
|
|
1492
|
+
console.log(`\n--- Top Similar Pairs ---`);
|
|
1493
|
+
for (const pair of result.topPairs.slice(0, 15)) {
|
|
1494
|
+
console.log(` ${(pair.similarity * 100).toFixed(0)}%: ${pair.functionA.name} ↔ ${pair.functionB.name}`);
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
finally {
|
|
1499
|
+
store.close();
|
|
1500
|
+
}
|
|
1501
|
+
});
|
|
1502
|
+
// ── spectral (#812) ──────────────────────────────────────────────────────────
|
|
1503
|
+
program
|
|
1504
|
+
.command('spectral [repoPath]')
|
|
1505
|
+
.description('Spectral graph analysis — density, entropy, flow hierarchy, topology classification (#812)')
|
|
1506
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1507
|
+
.option('--json', 'Output raw JSON')
|
|
1508
|
+
.action((repoPath, opts) => {
|
|
1509
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1510
|
+
if (!existsSync(dbPath)) {
|
|
1511
|
+
console.log('No knowledge graph found. Run `astrolabe analyze` first.');
|
|
1512
|
+
return;
|
|
1513
|
+
}
|
|
1514
|
+
const store = createSqliteStore(dbPath);
|
|
1515
|
+
try {
|
|
1516
|
+
const graph = store.loadGraph();
|
|
1517
|
+
// Build adjacency list from CALLS and IMPORTS edges
|
|
1518
|
+
const adjList = new Map();
|
|
1519
|
+
for (const node of graph.iterNodes()) {
|
|
1520
|
+
if (!adjList.has(node.id))
|
|
1521
|
+
adjList.set(node.id, []);
|
|
1522
|
+
}
|
|
1523
|
+
for (const rel of graph.iterRelationships()) {
|
|
1524
|
+
if (rel.type === 'STEP_IN_PROCESS' || rel.type === 'MEMBER_OF' || rel.type === 'ENTRY_POINT_OF')
|
|
1525
|
+
continue;
|
|
1526
|
+
if (rel.type !== 'CALLS' && rel.type !== 'IMPORTS')
|
|
1527
|
+
continue;
|
|
1528
|
+
let targets = adjList.get(rel.sourceId);
|
|
1529
|
+
if (!targets) {
|
|
1530
|
+
targets = [];
|
|
1531
|
+
adjList.set(rel.sourceId, targets);
|
|
1532
|
+
}
|
|
1533
|
+
targets.push(rel.targetId);
|
|
1534
|
+
if (!adjList.has(rel.targetId))
|
|
1535
|
+
adjList.set(rel.targetId, []);
|
|
1536
|
+
}
|
|
1537
|
+
const metrics = computeSpectralMetrics(adjList);
|
|
1538
|
+
if (opts.json) {
|
|
1539
|
+
console.log(JSON.stringify(metrics, null, 2));
|
|
1540
|
+
return;
|
|
1541
|
+
}
|
|
1542
|
+
console.log(`\n=== Spectral Graph Analysis ===`);
|
|
1543
|
+
console.log(`Nodes: ${metrics.nodeCount} | Edges: ${metrics.edgeCount}`);
|
|
1544
|
+
console.log();
|
|
1545
|
+
console.log(`Density: ${(metrics.density * 100).toFixed(2)}% (${metrics.density < 0.1 ? 'sparse/loosely coupled' : metrics.density > 0.3 ? 'dense/tightly coupled' : 'moderate'})`);
|
|
1546
|
+
console.log(`Degree Entropy: ${metrics.degreeEntropy.toFixed(3)} (${metrics.degreeEntropy < 1 ? 'uniform' : metrics.degreeEntropy > 3 ? 'hub-centric/skewed' : 'moderate diversity'})`);
|
|
1547
|
+
console.log(`Avg Degree: ${metrics.avgDegree.toFixed(1)}`);
|
|
1548
|
+
console.log(`Max Degree: ${metrics.maxDegree}`);
|
|
1549
|
+
console.log(`Flow Hierarchy: ${(metrics.flowHierarchy * 100).toFixed(1)}% acyclic (${metrics.flowHierarchy > 0.7 ? 'highly hierarchical' : metrics.flowHierarchy < 0.3 ? 'highly cyclic' : 'mixed'})`);
|
|
1550
|
+
if (metrics.modularityQ > 0) {
|
|
1551
|
+
console.log(`Modularity Q: ${metrics.modularityQ.toFixed(4)} (${metrics.modularityQ > 0.5 ? 'well-modularized' : 'low modularity'})`);
|
|
1552
|
+
}
|
|
1553
|
+
console.log(`Topology: ${metrics.topologyType} (confidence: ${metrics.topologyConfidence.toFixed(2)})`);
|
|
1554
|
+
console.log();
|
|
1555
|
+
}
|
|
1556
|
+
finally {
|
|
1557
|
+
store.close();
|
|
1558
|
+
}
|
|
1559
|
+
});
|
|
1560
|
+
// ── resilience (#805) ─────────────────────────────────────────────────────────
|
|
1561
|
+
program
|
|
1562
|
+
.command('resilience [repoPath]')
|
|
1563
|
+
.description('Analyze graph resilience — detect single points of failure (SPoF) and critical edges')
|
|
1564
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1565
|
+
.option('--json', 'Output raw JSON')
|
|
1566
|
+
.action((repoPath, opts) => {
|
|
1567
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1568
|
+
if (!existsSync(dbPath)) {
|
|
1569
|
+
console.log('No knowledge graph found. Run `astrolabe analyze` first.');
|
|
1570
|
+
return;
|
|
1571
|
+
}
|
|
1572
|
+
const store = createSqliteStore(dbPath);
|
|
1573
|
+
try {
|
|
1574
|
+
const graph = store.loadGraph();
|
|
1575
|
+
// Build adjacency list from CALLS and IMPORTS edges (same as MCP handler)
|
|
1576
|
+
const adjList = new Map();
|
|
1577
|
+
for (const node of graph.iterNodes()) {
|
|
1578
|
+
if (!adjList.has(node.id))
|
|
1579
|
+
adjList.set(node.id, []);
|
|
1580
|
+
}
|
|
1581
|
+
for (const rel of graph.iterRelationships()) {
|
|
1582
|
+
if (rel.type === 'STEP_IN_PROCESS' || rel.type === 'MEMBER_OF' || rel.type === 'ENTRY_POINT_OF')
|
|
1583
|
+
continue;
|
|
1584
|
+
if (rel.type !== 'CALLS' && rel.type !== 'IMPORTS')
|
|
1585
|
+
continue;
|
|
1586
|
+
let targets = adjList.get(rel.sourceId);
|
|
1587
|
+
if (!targets) {
|
|
1588
|
+
targets = [];
|
|
1589
|
+
adjList.set(rel.sourceId, targets);
|
|
1590
|
+
}
|
|
1591
|
+
targets.push(rel.targetId);
|
|
1592
|
+
if (!adjList.has(rel.targetId))
|
|
1593
|
+
adjList.set(rel.targetId, []);
|
|
1594
|
+
}
|
|
1595
|
+
const cutVertices = detectCutVertices(adjList);
|
|
1596
|
+
const bridges = detectBridges(adjList);
|
|
1597
|
+
// Resolve names (staging API: CutVertexResult.nodeId, BridgeResult.sourceId/targetId)
|
|
1598
|
+
const namedCutVertices = cutVertices.map((cv) => {
|
|
1599
|
+
const node = graph.getNode(cv.nodeId);
|
|
1600
|
+
return { id: cv.nodeId, name: node?.properties.name ?? cv.nodeId };
|
|
1601
|
+
});
|
|
1602
|
+
const namedBridges = bridges.map((b) => {
|
|
1603
|
+
const srcNode = graph.getNode(b.sourceId);
|
|
1604
|
+
const tgtNode = graph.getNode(b.targetId);
|
|
1605
|
+
return {
|
|
1606
|
+
source: { id: b.sourceId, name: srcNode?.properties.name ?? b.sourceId },
|
|
1607
|
+
target: { id: b.targetId, name: tgtNode?.properties.name ?? b.targetId },
|
|
1608
|
+
};
|
|
1609
|
+
});
|
|
1610
|
+
const nodeCount = adjList.size;
|
|
1611
|
+
const edgeCount = Array.from(adjList.values()).reduce((s, t) => s + t.length, 0);
|
|
1612
|
+
if (opts.json) {
|
|
1613
|
+
console.log(JSON.stringify({
|
|
1614
|
+
nodeCount,
|
|
1615
|
+
edgeCount,
|
|
1616
|
+
cutVertices: { count: cutVertices.length, nodes: namedCutVertices },
|
|
1617
|
+
bridgeEdges: { count: bridges.length, edges: namedBridges },
|
|
1618
|
+
isBiconnected: cutVertices.length === 0 && bridges.length === 0,
|
|
1619
|
+
}, null, 2));
|
|
1620
|
+
return;
|
|
1621
|
+
}
|
|
1622
|
+
console.log(`\n=== Graph Resilience Analysis ===`);
|
|
1623
|
+
console.log(`Nodes: ${nodeCount} | Edges: ${edgeCount}`);
|
|
1624
|
+
console.log();
|
|
1625
|
+
if (cutVertices.length === 0 && bridges.length === 0) {
|
|
1626
|
+
console.log('\u2713 The graph is biconnected \u2014 no single points of failure detected.');
|
|
1627
|
+
}
|
|
1628
|
+
else {
|
|
1629
|
+
if (cutVertices.length > 0) {
|
|
1630
|
+
console.log(`--- Single Points of Failure (${cutVertices.length} cut vertices) ---`);
|
|
1631
|
+
console.log('These nodes, if removed, would disconnect the dependency graph:');
|
|
1632
|
+
for (const n of namedCutVertices.slice(0, 20)) {
|
|
1633
|
+
console.log(` \u26A0 ${n.name}`);
|
|
1634
|
+
}
|
|
1635
|
+
if (namedCutVertices.length > 20) {
|
|
1636
|
+
console.log(` ... and ${namedCutVertices.length - 20} more`);
|
|
1637
|
+
}
|
|
1638
|
+
console.log();
|
|
1639
|
+
}
|
|
1640
|
+
if (bridges.length > 0) {
|
|
1641
|
+
console.log(`--- Critical Dependency Bridges (${bridges.length} bridge edges) ---`);
|
|
1642
|
+
console.log('These edges are the ONLY connection between subsystems:');
|
|
1643
|
+
for (const b of namedBridges.slice(0, 20)) {
|
|
1644
|
+
console.log(` \u26A1 ${b.source.name} \u2192 ${b.target.name}`);
|
|
1645
|
+
}
|
|
1646
|
+
if (namedBridges.length > 20) {
|
|
1647
|
+
console.log(` ... and ${namedBridges.length - 20} more`);
|
|
1648
|
+
}
|
|
1649
|
+
console.log();
|
|
1650
|
+
}
|
|
1651
|
+
}
|
|
1652
|
+
}
|
|
1653
|
+
finally {
|
|
1654
|
+
store.close();
|
|
1655
|
+
}
|
|
1656
|
+
});
|
|
1657
|
+
// ── test-coverage (#811) ─────────────────────────────────────────────────────
|
|
1658
|
+
program
|
|
1659
|
+
.command('test-coverage [repoPath]')
|
|
1660
|
+
.description('Analyze test coverage using graph structure — per-community metrics and gap prioritization (#811)')
|
|
1661
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1662
|
+
.option('--json', 'Output raw JSON')
|
|
1663
|
+
.action((repoPath, opts) => {
|
|
1664
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1665
|
+
if (!existsSync(dbPath)) {
|
|
1666
|
+
console.log('No knowledge graph found. Run `astrolabe analyze` first.');
|
|
1667
|
+
return;
|
|
1668
|
+
}
|
|
1669
|
+
const store = createSqliteStore(dbPath);
|
|
1670
|
+
try {
|
|
1671
|
+
const graph = store.loadGraph();
|
|
1672
|
+
const metrics = computeGraphCoverageMetrics(graph);
|
|
1673
|
+
if (opts.json) {
|
|
1674
|
+
console.log(JSON.stringify(metrics, null, 2));
|
|
1675
|
+
return;
|
|
1676
|
+
}
|
|
1677
|
+
if (metrics.totalFunctionNodes === 0) {
|
|
1678
|
+
console.log('No function nodes found. Run `astrolabe analyze` first.');
|
|
1679
|
+
return;
|
|
1680
|
+
}
|
|
1681
|
+
console.log(`\n=== Test Coverage Analysis (Graph-Aware) ===`);
|
|
1682
|
+
console.log(`\nOverall:`);
|
|
1683
|
+
console.log(` Node coverage: ${metrics.overallNodeCoveragePercent.toFixed(1)}% (${metrics.coveredFunctionNodes} covered / ${metrics.partialFunctionNodes} partial / ${metrics.uncoveredFunctionNodes} uncovered of ${metrics.totalFunctionNodes} total)`);
|
|
1684
|
+
console.log(` Edge coverage: ${metrics.overallEdgeCoveragePercent.toFixed(1)}% (${metrics.coveredCallEdges} covered / ${metrics.totalCallEdges} total call edges)`);
|
|
1685
|
+
console.log(`\n--- Per-Community Coverage (${metrics.communities.length} communities) ---`);
|
|
1686
|
+
for (const c of metrics.communities) {
|
|
1687
|
+
const bar = '█'.repeat(Math.round(c.nodeCoveragePercent / 10)) + '░'.repeat(10 - Math.round(c.nodeCoveragePercent / 10));
|
|
1688
|
+
console.log(` ${c.communityName}: ${bar} ${c.nodeCoveragePercent.toFixed(0)}% nodes`);
|
|
1689
|
+
for (const gap of c.topGaps.slice(0, 3)) {
|
|
1690
|
+
console.log(` ⚠ ${gap.label}:${gap.name} (impact: ${gap.impact})`);
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
if (metrics.topUntestedHighImpact.length > 0) {
|
|
1694
|
+
console.log(`\n--- Top Untested High-Impact Symbols ---`);
|
|
1695
|
+
for (const gap of metrics.topUntestedHighImpact.slice(0, 15)) {
|
|
1696
|
+
console.log(` ⚠ [${gap.community}] ${gap.label}:${gap.name} — ${gap.impact} dependents`);
|
|
1697
|
+
}
|
|
1698
|
+
if (metrics.topUntestedHighImpact.length > 15) {
|
|
1699
|
+
console.log(` ... and ${metrics.topUntestedHighImpact.length - 15} more`);
|
|
1700
|
+
}
|
|
1701
|
+
}
|
|
1702
|
+
console.log();
|
|
1703
|
+
}
|
|
1704
|
+
finally {
|
|
1705
|
+
store.close();
|
|
1706
|
+
}
|
|
1707
|
+
});
|
|
1708
|
+
// ── gnn-export (GNN feature engineering and dataset export, #809) ───────────
|
|
1709
|
+
program
|
|
1710
|
+
.command('gnn-export [repoPath]')
|
|
1711
|
+
.description('Export GNN-ready feature vectors and dataset from the knowledge graph (#809)')
|
|
1712
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1713
|
+
.option('-o, --output <path>', 'Output directory', '.astrolabe/gnn-dataset/')
|
|
1714
|
+
.option('--format <format>', 'Output format: csv or json', 'csv')
|
|
1715
|
+
.option('--include-embeddings', 'Include 384-D embedding vectors in node features')
|
|
1716
|
+
.action((repoPath, opts) => {
|
|
1717
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1718
|
+
if (!existsSync(dbPath)) {
|
|
1719
|
+
console.error(`Database not found: ${dbPath}`);
|
|
1720
|
+
console.error('Run `astrolabe analyze <repo>` first.');
|
|
1721
|
+
process.exit(1);
|
|
1722
|
+
}
|
|
1723
|
+
const format = (opts.format === 'json' ? 'json' : 'csv');
|
|
1724
|
+
const outputPath = resolve(opts.output);
|
|
1725
|
+
const store = createSqliteStore(resolve(dbPath));
|
|
1726
|
+
try {
|
|
1727
|
+
const graph = store.loadGraph();
|
|
1728
|
+
console.log(`Loaded graph: ${graph.nodeCount.toLocaleString()} nodes, ${graph.relationshipCount.toLocaleString()} edges`);
|
|
1729
|
+
const result = exportGnnDataset(graph, outputPath, {
|
|
1730
|
+
dbPath: resolve(dbPath),
|
|
1731
|
+
includeEmbeddings: opts.includeEmbeddings,
|
|
1732
|
+
format,
|
|
1733
|
+
});
|
|
1734
|
+
console.log(`\nGNN dataset exported to: ${result.exportPath}`);
|
|
1735
|
+
console.log(` Nodes: ${result.nodeCount.toLocaleString()}`);
|
|
1736
|
+
console.log(` Edges: ${result.edgeCount.toLocaleString()}`);
|
|
1737
|
+
console.log(` Feature dims: ${result.featureDimensions}`);
|
|
1738
|
+
console.log(` Format: ${format}`);
|
|
1739
|
+
console.log(` Embeddings: ${opts.includeEmbeddings ? 'included' : 'not included'}`);
|
|
1740
|
+
console.log(`\nOutput files:`);
|
|
1741
|
+
console.log(` ${join(outputPath, format === 'json' ? 'nodes.json' : 'nodes.csv')}`);
|
|
1742
|
+
console.log(` ${join(outputPath, format === 'json' ? 'edges.json' : 'edges.csv')}`);
|
|
1743
|
+
console.log(` ${join(outputPath, 'node_labels.json')}`);
|
|
1744
|
+
console.log(` ${join(outputPath, 'edge_types.json')}`);
|
|
1745
|
+
}
|
|
1746
|
+
finally {
|
|
1747
|
+
store.close();
|
|
1748
|
+
}
|
|
1749
|
+
});
|
|
1750
|
+
// ── embed (semantic embedding computation, #813) ──────────────────────────────
|
|
1751
|
+
program
|
|
1752
|
+
.command('embed [repoPath]')
|
|
1753
|
+
.description('Compute semantic embeddings for code nodes with optional propagation (#813)')
|
|
1754
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1755
|
+
.option('--propagate', 'Propagate embeddings along graph edges (neighbor averaging)', false)
|
|
1756
|
+
.option('--propagate-hops <n>', 'Number of hops for embedding propagation', '1')
|
|
1757
|
+
.option('--threshold <n>', 'Cosine similarity threshold for SEMANTICALLY_SIMILAR edges', '0.85')
|
|
1758
|
+
.option('--provider <type>', 'Embedding provider (auto, transformers, tfidf, remote)', 'auto')
|
|
1759
|
+
.option('--no-edges', 'Skip creating SEMANTICALLY_SIMILAR edges')
|
|
1760
|
+
.option('--log-level <level>', 'Log level', 'info')
|
|
1761
|
+
.action(async (repoPath, opts) => {
|
|
1762
|
+
const resolvedPath = repoPath ? resolve(repoPath) : process.cwd();
|
|
1763
|
+
const dbPath = opts.db !== '.astrolabe/astrolabe.db' ? resolve(opts.db) : join(resolvedPath, '.astrolabe', 'astrolabe.db');
|
|
1764
|
+
const propagateHops = parseInt(opts.propagateHops, 10) || 1;
|
|
1765
|
+
const threshold = parseFloat(opts.threshold) || 0.85;
|
|
1766
|
+
if (!existsSync(dbPath)) {
|
|
1767
|
+
console.error(`Database not found: ${dbPath}`);
|
|
1768
|
+
console.error('Run `astrolabe analyze <repo>` first.');
|
|
1769
|
+
process.exit(1);
|
|
1770
|
+
}
|
|
1771
|
+
const store = createSqliteStore(dbPath);
|
|
1772
|
+
try {
|
|
1773
|
+
const graph = store.loadGraph();
|
|
1774
|
+
console.log(`Loaded graph: ${graph.nodeCount.toLocaleString()} nodes, ${graph.relationshipCount.toLocaleString()} edges`);
|
|
1775
|
+
// Step 1: Compute embeddings
|
|
1776
|
+
const providerType = opts.provider;
|
|
1777
|
+
const result = await computeEmbeddings(graph, { provider: providerType, dbPath });
|
|
1778
|
+
console.log(`Embeddings computed: ${result.nodeCount.toLocaleString()} nodes (${result.dimensions}D)`);
|
|
1779
|
+
// Step 2: Propagate if requested
|
|
1780
|
+
if (opts.propagate) {
|
|
1781
|
+
const propagated = propagateEmbeddings(graph, result.embeddings, propagateHops);
|
|
1782
|
+
console.log(`Embeddings propagated: ${propagated.size.toLocaleString()} nodes, ${propagateHops} hop(s)`);
|
|
1783
|
+
}
|
|
1784
|
+
// Step 3: Create semantic edges (unless --no-edges)
|
|
1785
|
+
if (opts.edges) {
|
|
1786
|
+
const edges = createSemanticEdges(graph, result.embeddings, threshold);
|
|
1787
|
+
console.log(`Semantic edges created: ${edges.edgesAdded} edges (threshold=${threshold})`);
|
|
1788
|
+
if (edges.edgesAdded > 0) {
|
|
1789
|
+
store.saveGraph(graph);
|
|
1790
|
+
}
|
|
1791
|
+
}
|
|
1792
|
+
console.log('Embedding computation complete.');
|
|
1793
|
+
}
|
|
1794
|
+
finally {
|
|
1795
|
+
store.close();
|
|
1796
|
+
}
|
|
1797
|
+
});
|
|
1798
|
+
// ── evolution (temporal graph snapshots) ────────────────────────────────────
|
|
1799
|
+
// #807: Temporal graph evolution — view snapshots and trends
|
|
1800
|
+
program
|
|
1801
|
+
.command('evolution [repoPath]')
|
|
1802
|
+
.description('View temporal graph evolution — snapshots, health trends, and diffs over time')
|
|
1803
|
+
.option('-d, --db <path>', 'Database path', '.astrolabe/astrolabe.db')
|
|
1804
|
+
.option('--since <iso-date>', 'ISO 8601 start date for snapshot range')
|
|
1805
|
+
.option('--until <iso-date>', 'ISO 8601 end date for snapshot range')
|
|
1806
|
+
.option('--format <format>', 'Output format: table (default) or json', 'table')
|
|
1807
|
+
.action((repoPath, opts) => {
|
|
1808
|
+
const dbPath = repoPath ? join(repoPath, '.astrolabe', 'astrolabe.db') : opts.db;
|
|
1809
|
+
if (!existsSync(dbPath)) {
|
|
1810
|
+
console.log('No analysis found. Run `astrolabe analyze <repo>` first.');
|
|
1811
|
+
return;
|
|
1812
|
+
}
|
|
1813
|
+
const store = createSqliteStore(dbPath);
|
|
1814
|
+
try {
|
|
1815
|
+
const snapshots = store.loadSnapshots(opts.since, opts.until);
|
|
1816
|
+
if (snapshots.length === 0) {
|
|
1817
|
+
console.log('No snapshots found. Run `astrolabe analyze` to create the first snapshot.');
|
|
1818
|
+
return;
|
|
1819
|
+
}
|
|
1820
|
+
const trend = detectTrends(snapshots);
|
|
1821
|
+
if (opts.format === 'json') {
|
|
1822
|
+
const output = snapshots.map((s) => ({
|
|
1823
|
+
id: s.id,
|
|
1824
|
+
timestamp: s.timestamp,
|
|
1825
|
+
commitSha: s.commitSha.slice(0, 7),
|
|
1826
|
+
branch: s.branch,
|
|
1827
|
+
nodes: s.nodeCount,
|
|
1828
|
+
edges: s.edgeCount,
|
|
1829
|
+
communities: s.communityCount,
|
|
1830
|
+
health: s.healthScore,
|
|
1831
|
+
cohesion: Math.round(s.cohesion * 1000) / 1000,
|
|
1832
|
+
complexity: Math.round(s.complexity * 1000) / 1000,
|
|
1833
|
+
cycles: s.cycleCount,
|
|
1834
|
+
hubs: s.hubCount,
|
|
1835
|
+
unstableDeps: s.unstableDepCount,
|
|
1836
|
+
}));
|
|
1837
|
+
console.log(JSON.stringify({
|
|
1838
|
+
repo: repoPath ?? 'unknown',
|
|
1839
|
+
snapshotCount: snapshots.length,
|
|
1840
|
+
trend,
|
|
1841
|
+
snapshots: output,
|
|
1842
|
+
}, null, 2));
|
|
1843
|
+
return;
|
|
1844
|
+
}
|
|
1845
|
+
// Table format
|
|
1846
|
+
const headers = ['Timestamp', 'Nodes', 'Edges', 'Health', 'Cycles', 'Hubs', 'Trend'];
|
|
1847
|
+
const colWidths = [20, 8, 8, 8, 8, 6, 10];
|
|
1848
|
+
const pad = (s, w) => s.padEnd(w);
|
|
1849
|
+
console.log();
|
|
1850
|
+
console.log(`Temporal Graph Evolution (${snapshots.length} snapshot(s))`);
|
|
1851
|
+
console.log(`Repo: ${repoPath ?? 'unknown'}`);
|
|
1852
|
+
console.log();
|
|
1853
|
+
console.log(headers.map((h, i) => pad(h, colWidths[i])).join(''));
|
|
1854
|
+
console.log(colWidths.map((w) => '-'.repeat(w)).join(''));
|
|
1855
|
+
for (let i = 0; i < snapshots.length; i++) {
|
|
1856
|
+
const s = snapshots[i];
|
|
1857
|
+
let trendIcon = '';
|
|
1858
|
+
if (i > 0) {
|
|
1859
|
+
const delta = s.healthScore - snapshots[i - 1].healthScore;
|
|
1860
|
+
trendIcon = delta > 1 ? '\u2191' : delta < -1 ? '\u2193' : '\u2192';
|
|
1861
|
+
}
|
|
1862
|
+
const cols = [
|
|
1863
|
+
s.timestamp.replace('T', ' ').slice(0, 19),
|
|
1864
|
+
String(s.nodeCount),
|
|
1865
|
+
String(s.edgeCount),
|
|
1866
|
+
s.healthScore.toFixed(1),
|
|
1867
|
+
String(s.cycleCount),
|
|
1868
|
+
String(s.hubCount),
|
|
1869
|
+
trendIcon,
|
|
1870
|
+
];
|
|
1871
|
+
console.log(cols.map((c, ci) => pad(c, colWidths[ci])).join(''));
|
|
1872
|
+
}
|
|
1873
|
+
// Trend summary
|
|
1874
|
+
console.log();
|
|
1875
|
+
const trendLabel = trend.direction === 'improving' ? '\u2191 IMPROVING' : trend.direction === 'degrading' ? '\u2193 DEGRADING' : '\u2192 STABLE';
|
|
1876
|
+
console.log(`Health Trend: ${trendLabel} (slope: ${trend.slope > 0 ? '+' : ''}${trend.slope.toFixed(3)}/snapshot, confidence: ${(trend.confidence * 100).toFixed(0)}%)`);
|
|
1877
|
+
console.log(`Current Score: ${trend.currentScore.toFixed(1)} \u2192 Projected: ${trend.projectedScore.toFixed(1)}`);
|
|
1878
|
+
console.log();
|
|
1879
|
+
}
|
|
1880
|
+
finally {
|
|
1881
|
+
store.close();
|
|
1882
|
+
}
|
|
1883
|
+
});
|
|
1251
1884
|
program.parse();
|
|
1252
1885
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|