@nebutra/next-unicorn-skill 1.0.0 → 1.0.1

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 (34) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +48 -12
  3. package/SKILL.md +87 -256
  4. package/dist/analyzer/pattern-catalog.d.ts +11 -8
  5. package/dist/analyzer/pattern-catalog.d.ts.map +1 -1
  6. package/dist/analyzer/pattern-catalog.js +273 -67
  7. package/dist/analyzer/pattern-catalog.js.map +1 -1
  8. package/dist/analyzer/scanner.d.ts +0 -1
  9. package/dist/analyzer/scanner.d.ts.map +1 -1
  10. package/dist/analyzer/scanner.js +70 -61
  11. package/dist/analyzer/scanner.js.map +1 -1
  12. package/dist/auditor/ux-auditor.d.ts +4 -1
  13. package/dist/auditor/ux-auditor.d.ts.map +1 -1
  14. package/dist/auditor/ux-auditor.js +25 -47
  15. package/dist/auditor/ux-auditor.js.map +1 -1
  16. package/dist/index.d.ts +40 -8
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +37 -24
  19. package/dist/index.js.map +1 -1
  20. package/dist/planner/migration-planner.d.ts +7 -2
  21. package/dist/planner/migration-planner.d.ts.map +1 -1
  22. package/dist/planner/migration-planner.js +16 -4
  23. package/dist/planner/migration-planner.js.map +1 -1
  24. package/dist/pr-creator/pr-description-builder.js +1 -1
  25. package/dist/pr-creator/pr-description-builder.js.map +1 -1
  26. package/dist/scorer/impact-scorer.d.ts +28 -2
  27. package/dist/scorer/impact-scorer.d.ts.map +1 -1
  28. package/dist/scorer/impact-scorer.js +46 -111
  29. package/dist/scorer/impact-scorer.js.map +1 -1
  30. package/dist/verifier/context7.d.ts +15 -4
  31. package/dist/verifier/context7.d.ts.map +1 -1
  32. package/dist/verifier/context7.js +12 -9
  33. package/dist/verifier/context7.js.map +1 -1
  34. package/package.json +12 -14
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * Next-Unicorn SKILL — Analyze and Recommend Third-Party Optimizations
3
3
  *
4
- * Scans codebases and recommends replacing hand-rolled implementations
5
- * with battle-tested third-party libraries.
4
+ * Scans codebases and identifies hand-rolled implementations that could be
5
+ * replaced by third-party libraries. Library recommendations are provided
6
+ * by the caller (AI agent or programmatic client) — NOT hardcoded.
6
7
  *
7
8
  * This is the orchestrator that wires the full pipeline:
8
- * validate input → scan → verify score planauditfilter
9
- * vuln scan → auto-update → serialize → PR creation
9
+ * validate input → scan → recommend (caller)verifyscoreplan
10
+ * audit → filter → vuln scan → auto-update → serialize → PR creation
10
11
  */
11
12
  import { ZodError } from 'zod';
12
13
  import { InputSchema } from './schemas/input.schema.js';
13
14
  import { scanCodebase } from './analyzer/scanner.js';
14
- import { getPatternCatalog } from './analyzer/pattern-catalog.js';
15
15
  import { verifyAllRecommendations, } from './verifier/context7.js';
16
16
  import { computeImpactScore } from './scorer/impact-scorer.js';
17
17
  import { buildMigrationPlan } from './planner/migration-planner.js';
@@ -29,7 +29,9 @@ import { executePRPlans } from './pr-creator/pr-executor.js';
29
29
  // ---------------------------------------------------------------------------
30
30
  // Version
31
31
  // ---------------------------------------------------------------------------
32
- export const VERSION = '2.0.0';
32
+ export const VERSION = '1.0.1';
33
+ export { scanCodebase } from './analyzer/scanner.js';
34
+ export { getPatternCatalog } from './analyzer/pattern-catalog.js';
33
35
  // ---------------------------------------------------------------------------
34
36
  // analyze — main orchestrator
35
37
  // ---------------------------------------------------------------------------
@@ -39,7 +41,8 @@ export const VERSION = '2.0.0';
39
41
  * Pipeline steps:
40
42
  * 1. Validate input with InputSchema Zod schema
41
43
  * 2. Scan codebase with scanCodebase
42
- * 3. Verify all detections with Context7
44
+ * 2.5 Get library recommendations from the recommender (AI agent / caller)
45
+ * 3. Verify recommendations with Context7
43
46
  * 4. Score each detection
44
47
  * 5. Build RecommendedChange objects
45
48
  * 6. Apply dependency conflict detection
@@ -51,11 +54,9 @@ export const VERSION = '2.0.0';
51
54
  * 11. Assemble OutputSchema, serialize
52
55
  * 12. PR auto-creation (optional — Phase 2)
53
56
  * 13. Return result
54
- *
55
- * Requirements: 1.1, 7.3, 10.*, 11.*, 12.*
56
57
  */
57
58
  export async function analyze(options) {
58
- const { input, context7Client } = options;
59
+ const { input, context7Client, recommender } = options;
59
60
  // -------------------------------------------------------------------------
60
61
  // Step 1: Validate input
61
62
  // -------------------------------------------------------------------------
@@ -81,16 +82,29 @@ export async function analyze(options) {
81
82
  // -------------------------------------------------------------------------
82
83
  const scanResult = await scanCodebase(validatedInput);
83
84
  // -------------------------------------------------------------------------
84
- // Step 3: Verify all detections with Context7
85
+ // Step 2.5: Get library recommendations from the recommender
86
+ // -------------------------------------------------------------------------
87
+ const libraryRecs = scanResult.detections.map((detection) => recommender(detection));
85
88
  // -------------------------------------------------------------------------
86
- const verificationMap = await verifyAllRecommendations(context7Client, scanResult.detections);
89
+ // Step 3: Verify recommendations with Context7
90
+ // -------------------------------------------------------------------------
91
+ const verificationItems = scanResult.detections.map((detection, i) => {
92
+ const rec = libraryRecs[i];
93
+ return rec
94
+ ? { libraryName: rec.library, useCase: detection.patternCategory }
95
+ : null;
96
+ });
97
+ const verificationMap = await verifyAllRecommendations(context7Client, verificationItems);
87
98
  // -------------------------------------------------------------------------
88
99
  // Step 4 & 5: Score each detection and build RecommendedChange objects
89
100
  // -------------------------------------------------------------------------
90
- const catalog = getPatternCatalog();
91
- const catalogMap = new Map(catalog.map((p) => [p.id, p]));
92
- const recommendations = scanResult.detections.map((detection, index) => {
93
- const verification = verificationMap.get(index) ?? {
101
+ const recommendations = [];
102
+ for (let i = 0; i < scanResult.detections.length; i++) {
103
+ const detection = scanResult.detections[i];
104
+ const rec = libraryRecs[i];
105
+ if (!rec)
106
+ continue; // Skip detections without recommendations
107
+ const verification = verificationMap.get(i) ?? {
94
108
  status: 'unavailable',
95
109
  note: 'No verification result available',
96
110
  };
@@ -100,9 +114,7 @@ export async function analyze(options) {
100
114
  weights: validatedInput.impactWeights,
101
115
  priorityFocusAreas: validatedInput.priorityFocusAreas,
102
116
  });
103
- // Look up the pattern definition for version and license info
104
- const patternDef = catalogMap.get(detection.patternCategory);
105
- return {
117
+ recommendations.push({
106
118
  currentImplementation: {
107
119
  filePath: detection.filePath,
108
120
  lineRange: detection.lineRange,
@@ -110,9 +122,9 @@ export async function analyze(options) {
110
122
  confidenceScore: detection.confidenceScore,
111
123
  },
112
124
  recommendedLibrary: {
113
- name: detection.suggestedLibrary,
114
- version: patternDef?.suggestedVersion ?? 'latest',
115
- license: patternDef?.license ?? 'MIT',
125
+ name: rec.library,
126
+ version: rec.version,
127
+ license: rec.license,
116
128
  documentationUrl: verification.documentationUrl,
117
129
  },
118
130
  domain: detection.domain,
@@ -121,8 +133,8 @@ export async function analyze(options) {
121
133
  estimatedEffort: scoringOutput.estimatedEffort,
122
134
  verificationStatus: verification.status,
123
135
  verificationNote: verification.note,
124
- };
125
- });
136
+ });
137
+ }
126
138
  // -------------------------------------------------------------------------
127
139
  // Step 6: Apply dependency conflict detection
128
140
  // -------------------------------------------------------------------------
@@ -294,6 +306,7 @@ export async function analyze(options) {
294
306
  return {
295
307
  success: true,
296
308
  output,
309
+ scanResult,
297
310
  json,
298
311
  prettyJson,
299
312
  exclusions,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAOxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,qBAAqB,GAGtB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAmD/B,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE1C,4EAA4E;IAC5E,yBAAyB;IACzB,4EAA4E;IAC5E,IAAI,cAA2B,CAAC;IAChC,IAAI,CAAC;QACH,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChF,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE;SACjD,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAC5E,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;IAEtD,4EAA4E;IAC5E,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM,eAAe,GAAG,MAAM,wBAAwB,CACpD,cAAc,EACd,UAAU,CAAC,UAAU,CACtB,CAAC;IAEF,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAwB,UAAU,CAAC,UAAU,CAAC,GAAG,CACpE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;YACjD,MAAM,EAAE,aAAsB;YAC9B,IAAI,EAAE,kCAAkC;SACzC,CAAC;QAEF,MAAM,aAAa,GAAG,kBAAkB,CAAC;YACvC,SAAS;YACT,YAAY;YACZ,OAAO,EAAE,cAAc,CAAC,aAAa;YACrC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;SACtD,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAE7D,OAAO;YACL,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,eAAe,EAAE,SAAS,CAAC,eAAe;gBAC1C,eAAe,EAAE,SAAS,CAAC,eAAe;aAC3C;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS,CAAC,gBAAgB;gBAChC,OAAO,EAAE,UAAU,EAAE,gBAAgB,IAAI,QAAQ;gBACjD,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,KAAK;gBACrC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;aAChD;YACD,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,kBAAkB,EAAE,YAAY,CAAC,MAAM;YACvC,gBAAgB,EAAE,YAAY,CAAC,IAAI;SACpC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM,eAAe,GAAG,yBAAyB,CAC/C,eAAe,EACf,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAChD,CAAC;IAEF,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAC5E,IAAI,YAAY,GAA4B,EAAE,CAAC;IAC/C,IAAI,0BAA0B,GAAwB,eAAe,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,QAAQ,GAA2B,OAAO,CAAC,sBAAsB,IAAI;YACzE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,eAAe,EACf,cAAc,CAAC,eAAe,CAAC,gBAAgB,EAC/C,QAAQ,CACT,CAAC;QACF,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC;QACxC,0BAA0B,GAAG,eAAe,CAAC,eAAe,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;QAC9E,YAAY,GAAG,EAAE,CAAC;QAClB,0BAA0B,GAAG,eAAe,CAAC;IAC/C,CAAC;IAED,4EAA4E;IAC5E,wDAAwD;IACxD,4EAA4E;IAC5E,IAAI,mBAA2C,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,cAAc,CAAC,eAAe,CAAC,eAAe,CAC/C,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAC1C;YACE,gBAAgB,EAAE,cAAc,CAAC,eAAe,CAAC,gBAAgB;YACjE,kBAAkB,EAAE,0BAA0B;YAC9C,MAAM,EAAE,MAAM;YACd,gBAAgB;SACjB,EACD,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,mBAAmB,GAAG;YACpB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE;gBACnC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;gBAChC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ;gBAClC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS;gBACpC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;gBAChC,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;aAC3C,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SAClD,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAC5E,MAAM,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,eAAe,CAC9E,0BAA0B,EAC1B,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAC5C,CAAC;IAEF,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAC5E,MAAM,aAAa,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAElE,4EAA4E;IAC5E,gCAAgC;IAChC,4EAA4E;IAC5E,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAEtF,4EAA4E;IAC5E,kEAAkE;IAClE,4EAA4E;IAC5E,IAAI,UAAkC,CAAC;IACvC,IACE,cAAc,CAAC,YAAY,EAAE,OAAO;QACpC,OAAO,CAAC,cAAc,EACtB,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC;QAC3C,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,cAAc,CAAC,eAAe,CAAC,eAAe,CAC/C,CAAC;QAEF,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GAAG,CACjF,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpB,SAAS,EAAE,gBAAgB;gBAC3B,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,OAAO;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAEjF,sBAAsB;YACtB,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,EAAE;gBACnD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,EAAE,gBAAgB,CAAC,CAAC;YAErB,iCAAiC;YACjC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnB,eAAe,CACb,cAAc,EACd,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,aAAa,CAChB,CACF,CACF,CAAC;YAEF,oBAAoB;YACpB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACjD,WAAW,CAAC;gBACV,SAAS;gBACT,SAAS,EAAE,UAAU,CAAC,KAAK,CAAE;aAC9B,CAAC,CACH,CAAC;YAEF,oBAAoB;YACpB,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,iCAAiC;IACjC,4EAA4E;IAE5E,uDAAuD;IACvD,MAAM,kBAAkB,GAAG,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAChF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,sDAAsD;IACtD,MAAM,aAAa,GAAG;QACpB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzE,CAAC;IAEF,MAAM,MAAM,GAAiB;QAC3B,kBAAkB,EAAE,uBAAuB;QAC3C,aAAa;QACb,kBAAkB;QAClB,OAAO,EAAE,aAAa,CAAC,KAAK;QAC5B,aAAa,EAAE;YACb,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;YAClD,sBAAsB,EAAE,YAAY;SACrC;QACD,4BAA4B;QAC5B,mBAAmB;QACnB,UAAU;KACX,CAAC;IAEF,4EAA4E;IAC5E,iDAAiD;IACjD,4EAA4E;IAC5E,IACE,cAAc,CAAC,QAAQ,EAAE,OAAO;QAChC,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,MAAM,EACd,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC;YACtB,MAAM;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;YACrC,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;IAED,4EAA4E;IAC5E,gCAAgC;IAChC,4EAA4E;IAC5E,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM;QACN,IAAI;QACJ,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;GAEG;AACH,SAAS,sBAAsB,CAAC,eAAyB;IACvD,MAAM,YAAY,GAA2B;QAC3C,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,IAAI;KACT,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,13 @@ export interface DeletionItem {
29
29
  * - Phase 2: medium-risk items
30
30
  * - Phase 3: high-risk items (with adapter strategies)
31
31
  *
32
- * Within each phase, items are ordered by composite score descending
33
- * (highest impact first).
32
+ * Within each phase, items are ordered by:
33
+ * 1. File co-location (related changes in the same file are adjacent)
34
+ * 2. Composite score descending (highest impact first within same file)
35
+ *
36
+ * Domain-specific migration priority is NOT hardcoded — the AI agent
37
+ * can influence ordering by adjusting composite scores or providing
38
+ * recommendations in a specific order.
34
39
  *
35
40
  * Only phases that have items are included (empty phases are skipped).
36
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"migration-planner.d.ts","sourceRoot":"","sources":["../../src/planner/migration-planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAMtF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,iBAAiB,EAAE,YAAY,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,iBAAiB,EAAE,GACnC,aAAa,CAkDf"}
1
+ {"version":3,"file":"migration-planner.d.ts","sourceRoot":"","sources":["../../src/planner/migration-planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAMtF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,iBAAiB,EAAE,YAAY,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,iBAAiB,EAAE,GACnC,aAAa,CA2Df"}
@@ -17,8 +17,13 @@ const RISK_PHASE_MAP = {
17
17
  * - Phase 2: medium-risk items
18
18
  * - Phase 3: high-risk items (with adapter strategies)
19
19
  *
20
- * Within each phase, items are ordered by composite score descending
21
- * (highest impact first).
20
+ * Within each phase, items are ordered by:
21
+ * 1. File co-location (related changes in the same file are adjacent)
22
+ * 2. Composite score descending (highest impact first within same file)
23
+ *
24
+ * Domain-specific migration priority is NOT hardcoded — the AI agent
25
+ * can influence ordering by adjusting composite scores or providing
26
+ * recommendations in a specific order.
22
27
  *
23
28
  * Only phases that have items are included (empty phases are skipped).
24
29
  *
@@ -46,9 +51,16 @@ export function buildMigrationPlan(recommendations) {
46
51
  const risk = rec.migrationRisk;
47
52
  groups[risk].push({ index: i, rec });
48
53
  }
49
- // --- Step 2: Sort each group by composite score descending ---
54
+ // --- Step 2: Sort each group by file co-location → composite score ---
50
55
  for (const risk of ['low', 'medium', 'high']) {
51
- groups[risk].sort((a, b) => b.rec.impactScores.composite - a.rec.impactScores.composite);
56
+ groups[risk].sort((a, b) => {
57
+ // First: group by file path so related changes are adjacent
58
+ const fileCompare = a.rec.currentImplementation.filePath.localeCompare(b.rec.currentImplementation.filePath);
59
+ if (fileCompare !== 0)
60
+ return fileCompare;
61
+ // Second: within the same file, highest composite score first
62
+ return b.rec.impactScores.composite - a.rec.impactScores.composite;
63
+ });
52
64
  }
53
65
  // --- Step 3: Build phases (only non-empty groups) ---
54
66
  const phases = [];
@@ -1 +1 @@
1
- {"version":3,"file":"migration-planner.js","sourceRoot":"","sources":["../../src/planner/migration-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-planner.js","sourceRoot":"","sources":["../../src/planner/migration-planner.ts"],"names":[],"mappings":"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"}
@@ -102,7 +102,7 @@ export function buildPRDescription(plan) {
102
102
  sections.push('');
103
103
  // Footer
104
104
  sections.push('---');
105
- sections.push('*Auto-generated by [Next-Unicorn](https://github.com/TsekaLuk/Next-Unicorn-Skill) SKILL*');
105
+ sections.push('*Auto-generated by [Next-Unicorn](https://github.com/Nebutra/Next-Unicorn-Skill) SKILL*');
106
106
  return sections.join('\n');
107
107
  }
108
108
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"pr-description-builder.js","sourceRoot":"","sources":["../../src/pr-creator/pr-description-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-description-builder.js","sourceRoot":"","sources":["../../src/pr-creator/pr-description-builder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,34 @@
1
1
  import type { Detection } from '../analyzer/scanner.js';
2
2
  import type { VerificationResult } from '../verifier/context7.js';
3
+ export interface ScoringConfig {
4
+ /** Priority domain boost multiplier (default: 1.2) */
5
+ priorityBoost?: number;
6
+ /** Maximum composite score cap (default: 10) */
7
+ maxComposite?: number;
8
+ /** Base effort hours per line (default: 0.1) */
9
+ baseEffortPerLine?: number;
10
+ /** Risk multipliers for effort: [low, medium, high] */
11
+ riskMultipliers?: [number, number, number];
12
+ }
3
13
  export interface ScoringInput {
4
14
  detection: Detection;
5
15
  verification: VerificationResult;
6
16
  weights?: Record<string, number>;
7
17
  priorityFocusAreas?: string[];
18
+ config?: ScoringConfig;
19
+ /**
20
+ * Optional dimension score overrides from the AI agent.
21
+ * Keys are dimension names (e.g., "security", "ux"), values are scores 1–10.
22
+ * When provided, these override the confidence-based defaults.
23
+ * The AI agent can provide more accurate scores based on code context.
24
+ */
25
+ dimensionHints?: Partial<Record<string, number>>;
26
+ /**
27
+ * Optional base effort in hours from the AI agent.
28
+ * When provided, overrides the default effort estimation.
29
+ * The AI agent can estimate more accurately based on code complexity.
30
+ */
31
+ baseEffortHours?: number;
8
32
  }
9
33
  export interface ScoringOutput {
10
34
  scores: {
@@ -33,11 +57,13 @@ export declare function computeCompositeScore(dimensionScores: Record<string, nu
33
57
  /**
34
58
  * Compute the full 7-dimension impact score for a detection + verification pair.
35
59
  *
36
- * - Generates dimension scores based on the detection's domain and confidence
60
+ * Scoring strategy:
61
+ * - If AI agent provides `dimensionHints`, use those as dimension scores
62
+ * - Otherwise, derive scores from confidence level (uniform across dimensions)
37
63
  * - Computes composite score using provided or default weights
38
64
  * - Applies priority domain boost (1.2x, capped at 10) if domain is in priorityFocusAreas
39
65
  * - Derives migrationRisk from confidence and verification status
40
- * - Estimates effort in developer-hours
66
+ * - Estimates effort using AI agent's baseEffortHours if provided, or line-count heuristic
41
67
  *
42
68
  * Requirements: 3.1, 3.2, 3.3, 3.4, 5.2
43
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"impact-scorer.d.ts","sourceRoot":"","sources":["../../src/scorer/impact-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAMlE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CA8BR;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAwCrE"}
1
+ {"version":3,"file":"impact-scorer.d.ts","sourceRoot":"","sources":["../../src/scorer/impact-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAMlE,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CA8BR;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA0CrE"}
@@ -11,96 +11,16 @@ const DIMENSIONS = [
11
11
  'ui_aesthetics',
12
12
  ];
13
13
  const DEFAULT_WEIGHT = 1 / 7;
14
- /** Priority domain boost multiplier */
15
- const PRIORITY_BOOST = 1.2;
16
- /** Maximum composite score (cap) */
17
- const MAX_COMPOSITE = 10;
18
- // ---------------------------------------------------------------------------
19
- // Domain dimension affinity mapping
20
- // ---------------------------------------------------------------------------
21
- /**
22
- * Maps each Vibe Coding domain to the dimensions it most strongly affects.
23
- * Dimensions listed here get a boost based on the detection's confidence.
24
- */
25
- const DOMAIN_DIMENSION_AFFINITY = {
26
- // A. UX / Design
27
- 'ux-completeness': { ux: 1.4, ui_aesthetics: 1.3, feature_richness: 1.1 },
28
- 'ui-aesthetics': { ui_aesthetics: 1.4, ux: 1.2, feature_richness: 1.1 },
29
- 'design-system': { ui_aesthetics: 1.3, maintainability: 1.3, ux: 1.1 },
30
- 'theming-dark-mode': { ui_aesthetics: 1.3, ux: 1.2, maintainability: 1.1 },
31
- 'a11y-accessibility': { ux: 1.4, feature_richness: 1.2, maintainability: 1.1 },
32
- 'responsive-mobile-ux': { ux: 1.3, ui_aesthetics: 1.2, performance: 1.1 },
33
- 'empty-loading-error-states': { ux: 1.4, ui_aesthetics: 1.2, feature_richness: 1.1 },
34
- 'forms-ux': { ux: 1.3, feature_richness: 1.2, maintainability: 1.1 },
35
- 'validation-feedback': { ux: 1.3, security: 1.2, maintainability: 1.1 },
36
- 'navigation-information-architecture': { ux: 1.3, feature_richness: 1.2, maintainability: 1.1 },
37
- 'notifications-inapp': { ux: 1.3, feature_richness: 1.2, scalability: 1.1 },
38
- 'tables-data-grid-ux': { ux: 1.3, performance: 1.2, feature_richness: 1.1 },
39
- 'filters-sort-search-ux': { ux: 1.3, performance: 1.2, feature_richness: 1.1 },
40
- 'onboarding-guided-tour': { ux: 1.4, ui_aesthetics: 1.2, feature_richness: 1.1 },
41
- // B. SEO / i18n / Content
42
- 'seo': { performance: 1.2, feature_richness: 1.3, scalability: 1.1 },
43
- 'i18n': { ux: 1.3, maintainability: 1.2, feature_richness: 1.1 },
44
- 'localization-ux': { ux: 1.3, feature_richness: 1.2, maintainability: 1.1 },
45
- 'content-marketing': { ux: 1.2, maintainability: 1.2, feature_richness: 1.1 },
46
- 'landing-page-conversion': { ux: 1.3, ui_aesthetics: 1.2, performance: 1.1 },
47
- // C. Growth / Data
48
- 'growth-hacking': { feature_richness: 1.3, ux: 1.2, scalability: 1.1 },
49
- 'analytics-tracking': { feature_richness: 1.3, scalability: 1.2, security: 1.1 },
50
- 'attribution-measurement': { feature_richness: 1.3, scalability: 1.2, security: 1.1 },
51
- 'ab-testing-experimentation': { feature_richness: 1.3, scalability: 1.2, maintainability: 1.1 },
52
- 'product-led-growth': { ux: 1.3, feature_richness: 1.2, scalability: 1.1 },
53
- 'retention-lifecycle-crm': { feature_richness: 1.3, scalability: 1.2, ux: 1.1 },
54
- 'referrals-virality': { feature_richness: 1.3, scalability: 1.2, ux: 1.1 },
55
- // D. App / Frontend Architecture
56
- 'agent-architecture': { maintainability: 1.3, scalability: 1.2, feature_richness: 1.1 },
57
- 'frontend-architecture': { maintainability: 1.3, performance: 1.2, scalability: 1.1 },
58
- 'state-management': { maintainability: 1.3, performance: 1.2, scalability: 1.1 },
59
- 'data-fetching-caching': { performance: 1.3, scalability: 1.2, maintainability: 1.1 },
60
- 'error-handling-resilience': { maintainability: 1.3, security: 1.2, ux: 1.1 },
61
- 'realtime-collaboration': { scalability: 1.3, performance: 1.2, feature_richness: 1.1 },
62
- 'file-upload-media': { feature_richness: 1.3, ux: 1.2, security: 1.1 },
63
- 'search-discovery': { performance: 1.3, feature_richness: 1.2, ux: 1.1 },
64
- // E. Backend / Platform
65
- 'api-design-contracts': { maintainability: 1.3, scalability: 1.2, security: 1.1 },
66
- 'backend-architecture': { maintainability: 1.3, scalability: 1.2, performance: 1.1 },
67
- 'database-orm-migrations': { maintainability: 1.3, scalability: 1.2, security: 1.1 },
68
- 'caching-rate-limit': { performance: 1.3, scalability: 1.2, security: 1.1 },
69
- 'jobs-queue-scheduler': { scalability: 1.3, maintainability: 1.2, performance: 1.1 },
70
- 'webhooks-integrations': { scalability: 1.3, maintainability: 1.2, feature_richness: 1.1 },
71
- 'feature-flags-config': { maintainability: 1.3, feature_richness: 1.2, scalability: 1.1 },
72
- 'multi-tenancy-saas': { scalability: 1.3, security: 1.2, maintainability: 1.1 },
73
- // F. Security / Compliance
74
- 'auth-security': { security: 1.4, maintainability: 1.2, performance: 1.1 },
75
- 'permissions-rbac-ux': { security: 1.3, ux: 1.2, maintainability: 1.1 },
76
- 'security-hardening': { security: 1.4, performance: 1.1, maintainability: 1.1 },
77
- 'privacy-compliance': { security: 1.3, maintainability: 1.2, feature_richness: 1.1 },
78
- 'fraud-abuse-prevention': { security: 1.4, scalability: 1.2, performance: 1.1 },
79
- // G. Observability / Ops
80
- 'observability': { maintainability: 1.3, performance: 1.2, security: 1.1 },
81
- 'logging-tracing-metrics': { maintainability: 1.3, performance: 1.2, scalability: 1.1 },
82
- 'error-monitoring': { maintainability: 1.3, security: 1.2, ux: 1.1 },
83
- 'alerting-incident-response': { maintainability: 1.3, scalability: 1.2, security: 1.1 },
84
- // H. Delivery / Quality / DevEx
85
- 'testing-strategy': { maintainability: 1.3, security: 1.2, performance: 1.1 },
86
- 'ci-cd-release': { maintainability: 1.3, scalability: 1.2, performance: 1.1 },
87
- 'devex-tooling': { maintainability: 1.3, performance: 1.2, feature_richness: 1.1 },
88
- 'documentation-sop': { maintainability: 1.3, feature_richness: 1.1, ux: 1.1 },
89
- 'code-quality-linting': { maintainability: 1.3, security: 1.2, performance: 1.1 },
90
- 'dependency-management': { maintainability: 1.3, security: 1.2, scalability: 1.1 },
91
- // I. Performance / Cost
92
- 'performance-web-vitals': { performance: 1.4, ux: 1.2, scalability: 1.1 },
93
- 'backend-performance': { performance: 1.4, scalability: 1.2, maintainability: 1.1 },
94
- 'cost-optimization': { performance: 1.3, scalability: 1.2, maintainability: 1.1 },
95
- // J. AI Engineering
96
- 'ai-model-serving': { performance: 1.3, scalability: 1.3, security: 1.1 },
97
- 'ai-evaluation-observability': { maintainability: 1.3, performance: 1.2, security: 1.1 },
98
- 'rag-vector-search': { performance: 1.3, scalability: 1.2, feature_richness: 1.1 },
99
- // K. Business domains
100
- 'cross-border-ecommerce': { security: 1.3, feature_richness: 1.2, scalability: 1.1 },
101
- 'payments-billing': { security: 1.4, scalability: 1.2, feature_richness: 1.1 },
102
- 'marketplace-platform': { scalability: 1.3, feature_richness: 1.2, security: 1.1 },
103
- };
14
+ /** Default priority domain boost multiplier */
15
+ const DEFAULT_PRIORITY_BOOST = 1.2;
16
+ /** Default maximum composite score (cap) */
17
+ const DEFAULT_MAX_COMPOSITE = 10;
18
+ /** Default risk multipliers: [low, medium, high] */
19
+ const DEFAULT_RISK_MULTIPLIERS = [1.0, 1.5, 2.5];
20
+ /** Default base effort per line */
21
+ const DEFAULT_BASE_EFFORT_PER_LINE = 0.1;
22
+ /** Default base effort when not provided by AI agent */
23
+ const DEFAULT_BASE_EFFORT_HOURS = 2.0;
104
24
  // ---------------------------------------------------------------------------
105
25
  // computeCompositeScore — pure function
106
26
  // ---------------------------------------------------------------------------
@@ -147,18 +67,20 @@ export function computeCompositeScore(dimensionScores, weights) {
147
67
  /**
148
68
  * Compute the full 7-dimension impact score for a detection + verification pair.
149
69
  *
150
- * - Generates dimension scores based on the detection's domain and confidence
70
+ * Scoring strategy:
71
+ * - If AI agent provides `dimensionHints`, use those as dimension scores
72
+ * - Otherwise, derive scores from confidence level (uniform across dimensions)
151
73
  * - Computes composite score using provided or default weights
152
74
  * - Applies priority domain boost (1.2x, capped at 10) if domain is in priorityFocusAreas
153
75
  * - Derives migrationRisk from confidence and verification status
154
- * - Estimates effort in developer-hours
76
+ * - Estimates effort using AI agent's baseEffortHours if provided, or line-count heuristic
155
77
  *
156
78
  * Requirements: 3.1, 3.2, 3.3, 3.4, 5.2
157
79
  */
158
80
  export function computeImpactScore(input) {
159
81
  const { detection, verification, weights, priorityFocusAreas } = input;
160
82
  // --- Step 1: Generate dimension scores ---
161
- const dimensionScores = generateDimensionScores(detection);
83
+ const dimensionScores = generateDimensionScores(detection, input.dimensionHints);
162
84
  // --- Step 2: Build weights map ---
163
85
  const effectiveWeights = {};
164
86
  for (const dim of DIMENSIONS) {
@@ -167,13 +89,15 @@ export function computeImpactScore(input) {
167
89
  // --- Step 3: Compute composite ---
168
90
  let composite = computeCompositeScore(dimensionScores, effectiveWeights);
169
91
  // --- Step 4: Apply priority domain boost ---
92
+ const priorityBoost = input.config?.priorityBoost ?? DEFAULT_PRIORITY_BOOST;
93
+ const maxComposite = input.config?.maxComposite ?? DEFAULT_MAX_COMPOSITE;
170
94
  if (priorityFocusAreas && priorityFocusAreas.includes(detection.domain)) {
171
- composite = Math.round(Math.min(composite * PRIORITY_BOOST, MAX_COMPOSITE) * 10) / 10;
95
+ composite = Math.round(Math.min(composite * priorityBoost, maxComposite) * 10) / 10;
172
96
  }
173
97
  // --- Step 5: Derive migration risk ---
174
98
  const migrationRisk = deriveMigrationRisk(detection.confidenceScore, verification.status);
175
99
  // --- Step 6: Estimate effort ---
176
- const estimatedEffort = estimateEffort(detection, migrationRisk);
100
+ const estimatedEffort = estimateEffort(detection, migrationRisk, input.config, input.baseEffortHours);
177
101
  return {
178
102
  scores: {
179
103
  scalability: dimensionScores['scalability'],
@@ -193,21 +117,29 @@ export function computeImpactScore(input) {
193
117
  // Internal helpers
194
118
  // ---------------------------------------------------------------------------
195
119
  /**
196
- * Generate dimension scores (1–10 integers) based on the detection's domain
197
- * and confidence score. Uses domain affinity to boost relevant dimensions.
120
+ * Generate dimension scores (1–10 integers) based on:
121
+ * - AI agent-provided dimension hints (if available), OR
122
+ * - Confidence-based uniform scores (default fallback)
123
+ *
124
+ * When no hints are provided, all dimensions get the same base score derived
125
+ * from the detection's confidence level. The AI agent can provide more
126
+ * nuanced per-dimension scores based on its understanding of the code.
198
127
  */
199
- function generateDimensionScores(detection) {
200
- const { domain, confidenceScore } = detection;
201
- const affinity = DOMAIN_DIMENSION_AFFINITY[domain] ?? {};
202
- // Base score derived from confidence: higher confidence → higher base score
203
- // Maps confidence [0, 1] to base score [3, 7]
128
+ function generateDimensionScores(detection, dimensionHints) {
129
+ const { confidenceScore } = detection;
130
+ // Base score derived from confidence: maps [0, 1] [3, 7]
204
131
  const baseScore = Math.round(3 + confidenceScore * 4);
205
132
  const scores = {};
206
133
  for (const dim of DIMENSIONS) {
207
- const boost = affinity[dim] ?? 1.0;
208
- const raw = baseScore * boost;
209
- // Clamp to [1, 10] and round to integer
210
- scores[dim] = Math.max(1, Math.min(10, Math.round(raw)));
134
+ const hint = dimensionHints?.[dim];
135
+ if (hint !== undefined) {
136
+ // AI agent provided a score — clamp to [1, 10]
137
+ scores[dim] = Math.max(1, Math.min(10, Math.round(hint)));
138
+ }
139
+ else {
140
+ // Default: uniform score based on confidence
141
+ scores[dim] = Math.max(1, Math.min(10, baseScore));
142
+ }
211
143
  }
212
144
  return scores;
213
145
  }
@@ -230,14 +162,17 @@ function deriveMigrationRisk(confidenceScore, verificationStatus) {
230
162
  /**
231
163
  * Estimate migration effort in developer-hours.
232
164
  *
233
- * Based on the size of the code range being replaced and the migration risk.
165
+ * Uses AI agent's baseEffortHours if provided, otherwise falls back to
166
+ * a simple line-count heuristic. Multiplied by risk factor.
234
167
  */
235
- function estimateEffort(detection, migrationRisk) {
168
+ function estimateEffort(detection, migrationRisk, config, baseEffortHours) {
236
169
  const lineCount = detection.lineRange.end - detection.lineRange.start + 1;
237
- // Base effort: roughly 0.5 hours per line of code being replaced
238
- const baseEffort = Math.max(1, lineCount * 0.5);
170
+ const perLine = config?.baseEffortPerLine ?? DEFAULT_BASE_EFFORT_PER_LINE;
171
+ const [lowMul, medMul, highMul] = config?.riskMultipliers ?? DEFAULT_RISK_MULTIPLIERS;
172
+ // Base effort: AI agent override, or simple line-count heuristic
173
+ const baseEffort = baseEffortHours ?? (DEFAULT_BASE_EFFORT_HOURS + lineCount * perLine);
239
174
  // Risk multiplier
240
- const riskMultiplier = migrationRisk === 'low' ? 1.0 : migrationRisk === 'medium' ? 1.5 : 2.5;
175
+ const riskMultiplier = migrationRisk === 'low' ? lowMul : migrationRisk === 'medium' ? medMul : highMul;
241
176
  return Math.round(baseEffort * riskMultiplier * 10) / 10;
242
177
  }
243
178
  //# sourceMappingURL=impact-scorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"impact-scorer.js","sourceRoot":"","sources":["../../src/scorer/impact-scorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impact-scorer.js","sourceRoot":"","sources":["../../src/scorer/impact-scorer.ts"],"names":[],"mappings":"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"}