projscan 4.7.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +22 -22
  2. package/dist/cli/commands/start.js +5 -28
  3. package/dist/cli/commands/start.js.map +1 -1
  4. package/dist/cli/commands/startOptionsRegistration.d.ts +2 -0
  5. package/dist/cli/commands/startOptionsRegistration.js +29 -0
  6. package/dist/cli/commands/startOptionsRegistration.js.map +1 -0
  7. package/dist/core/ast.d.ts +2 -17
  8. package/dist/core/ast.js +4 -33
  9. package/dist/core/ast.js.map +1 -1
  10. package/dist/core/astResult.d.ts +20 -0
  11. package/dist/core/astResult.js +39 -0
  12. package/dist/core/astResult.js.map +1 -0
  13. package/dist/core/codeGraph.d.ts +1 -16
  14. package/dist/core/codeGraph.js +4 -89
  15. package/dist/core/codeGraph.js.map +1 -1
  16. package/dist/core/codeGraphAdapterContexts.d.ts +8 -0
  17. package/dist/core/codeGraphAdapterContexts.js +14 -0
  18. package/dist/core/codeGraphAdapterContexts.js.map +1 -0
  19. package/dist/core/codeGraphIncremental.d.ts +17 -0
  20. package/dist/core/codeGraphIncremental.js +64 -0
  21. package/dist/core/codeGraphIncremental.js.map +1 -0
  22. package/dist/core/collisionDetector.d.ts +1 -0
  23. package/dist/core/collisionDetector.js +3 -0
  24. package/dist/core/collisionDetector.js.map +1 -1
  25. package/dist/core/coordination.js +23 -5
  26. package/dist/core/coordination.js.map +1 -1
  27. package/dist/core/coordinationEvidence.d.ts +1 -0
  28. package/dist/core/coordinationEvidence.js.map +1 -1
  29. package/dist/core/frameworkExpressSources.js +6 -31
  30. package/dist/core/frameworkExpressSources.js.map +1 -1
  31. package/dist/core/frameworkFastifySources.js +5 -22
  32. package/dist/core/frameworkFastifySources.js.map +1 -1
  33. package/dist/core/frameworkHonoSources.js +5 -24
  34. package/dist/core/frameworkHonoSources.js.map +1 -1
  35. package/dist/core/frameworkKoaSources.js +5 -24
  36. package/dist/core/frameworkKoaSources.js.map +1 -1
  37. package/dist/core/frameworkSourceContext.d.ts +15 -0
  38. package/dist/core/frameworkSourceContext.js +2 -0
  39. package/dist/core/frameworkSourceContext.js.map +1 -0
  40. package/dist/core/frameworkSourceMatching.d.ts +6 -0
  41. package/dist/core/frameworkSourceMatching.js +29 -0
  42. package/dist/core/frameworkSourceMatching.js.map +1 -0
  43. package/dist/core/frameworkSourceResolvers.d.ts +2 -0
  44. package/dist/core/frameworkSourceResolvers.js +45 -0
  45. package/dist/core/frameworkSourceResolvers.js.map +1 -0
  46. package/dist/core/frameworkSources.d.ts +2 -14
  47. package/dist/core/frameworkSources.js +9 -38
  48. package/dist/core/frameworkSources.js.map +1 -1
  49. package/dist/core/frameworkSvelteKitSources.d.ts +2 -0
  50. package/dist/core/frameworkSvelteKitSources.js +118 -0
  51. package/dist/core/frameworkSvelteKitSources.js.map +1 -0
  52. package/dist/core/intentRouter.d.ts +1 -1
  53. package/dist/core/intentRouter.js +2 -8
  54. package/dist/core/intentRouter.js.map +1 -1
  55. package/dist/core/intentRouterCatalog.js +32 -0
  56. package/dist/core/intentRouterCatalog.js.map +1 -1
  57. package/dist/core/intentRouterKeywordToolGuards.js +5 -0
  58. package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
  59. package/dist/core/intentRouterKeywordWeights.js +23 -0
  60. package/dist/core/intentRouterKeywordWeights.js.map +1 -1
  61. package/dist/core/intentRouterReleaseSignals.js +3 -18
  62. package/dist/core/intentRouterReleaseSignals.js.map +1 -1
  63. package/dist/core/intentRouterResolution.d.ts +3 -0
  64. package/dist/core/intentRouterResolution.js +11 -0
  65. package/dist/core/intentRouterResolution.js.map +1 -0
  66. package/dist/core/languages/pythonManifests.js +6 -19
  67. package/dist/core/languages/pythonManifests.js.map +1 -1
  68. package/dist/core/languages/pythonPep508.js +1 -1
  69. package/dist/core/languages/pythonPep508.js.map +1 -1
  70. package/dist/core/languages/pythonProjectEvidence.js +4 -4
  71. package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
  72. package/dist/core/languages/pythonPyproject.js +1 -1
  73. package/dist/core/languages/pythonPyproject.js.map +1 -1
  74. package/dist/core/languages/pythonPyprojectEvidence.d.ts +7 -0
  75. package/dist/core/languages/pythonPyprojectEvidence.js +23 -0
  76. package/dist/core/languages/pythonPyprojectEvidence.js.map +1 -0
  77. package/dist/core/languages/pythonRequirements.d.ts +2 -0
  78. package/dist/core/languages/pythonRequirements.js +74 -9
  79. package/dist/core/languages/pythonRequirements.js.map +1 -1
  80. package/dist/core/pluginAnalyzerLoading.d.ts +3 -0
  81. package/dist/core/pluginAnalyzerLoading.js +55 -0
  82. package/dist/core/pluginAnalyzerLoading.js.map +1 -0
  83. package/dist/core/pluginAnalyzerRunning.d.ts +10 -0
  84. package/dist/core/pluginAnalyzerRunning.js +32 -0
  85. package/dist/core/pluginAnalyzerRunning.js.map +1 -0
  86. package/dist/core/pluginIssueValidation.d.ts +2 -0
  87. package/dist/core/pluginIssueValidation.js +22 -0
  88. package/dist/core/pluginIssueValidation.js.map +1 -0
  89. package/dist/core/pluginManifestDiscovery.d.ts +25 -0
  90. package/dist/core/pluginManifestDiscovery.js +80 -0
  91. package/dist/core/pluginManifestDiscovery.js.map +1 -0
  92. package/dist/core/pluginModuleLoading.d.ts +8 -0
  93. package/dist/core/pluginModuleLoading.js +91 -0
  94. package/dist/core/pluginModuleLoading.js.map +1 -0
  95. package/dist/core/pluginReporterLoading.d.ts +41 -0
  96. package/dist/core/pluginReporterLoading.js +105 -0
  97. package/dist/core/pluginReporterLoading.js.map +1 -0
  98. package/dist/core/pluginRuntimeTypes.d.ts +20 -0
  99. package/dist/core/pluginRuntimeTypes.js +2 -0
  100. package/dist/core/pluginRuntimeTypes.js.map +1 -0
  101. package/dist/core/plugins.d.ts +9 -86
  102. package/dist/core/plugins.js +12 -350
  103. package/dist/core/plugins.js.map +1 -1
  104. package/dist/core/preflight.d.ts +1 -2
  105. package/dist/core/preflight.js +4 -91
  106. package/dist/core/preflight.js.map +1 -1
  107. package/dist/core/preflightEvidence.js +11 -0
  108. package/dist/core/preflightEvidence.js.map +1 -1
  109. package/dist/core/preflightInputs.d.ts +1 -0
  110. package/dist/core/preflightInputs.js.map +1 -1
  111. package/dist/core/preflightReasons.d.ts +21 -0
  112. package/dist/core/preflightReasons.js +28 -0
  113. package/dist/core/preflightReasons.js.map +1 -0
  114. package/dist/core/preflightReport.d.ts +9 -0
  115. package/dist/core/preflightReport.js +67 -0
  116. package/dist/core/preflightReport.js.map +1 -0
  117. package/dist/core/review.js +2 -47
  118. package/dist/core/review.js.map +1 -1
  119. package/dist/core/reviewChangedReport.d.ts +13 -0
  120. package/dist/core/reviewChangedReport.js +38 -0
  121. package/dist/core/reviewChangedReport.js.map +1 -0
  122. package/dist/core/reviewComputation.d.ts +9 -0
  123. package/dist/core/reviewComputation.js +14 -0
  124. package/dist/core/reviewComputation.js.map +1 -0
  125. package/dist/core/reviewContractChanges.js +22 -8
  126. package/dist/core/reviewContractChanges.js.map +1 -1
  127. package/dist/core/reviewDataflow.js +18 -0
  128. package/dist/core/reviewDataflow.js.map +1 -1
  129. package/dist/core/roadmapCatalog.js +7 -203
  130. package/dist/core/roadmapCatalog.js.map +1 -1
  131. package/dist/core/roadmapCatalogPost44.d.ts +2 -0
  132. package/dist/core/roadmapCatalogPost44.js +205 -0
  133. package/dist/core/roadmapCatalogPost44.js.map +1 -0
  134. package/dist/core/roadmapCatalogTypes.d.ts +6 -0
  135. package/dist/core/roadmapCatalogTypes.js +2 -0
  136. package/dist/core/roadmapCatalogTypes.js.map +1 -0
  137. package/dist/core/startClaimRouteCriteria.d.ts +7 -0
  138. package/dist/core/startClaimRouteCriteria.js +16 -0
  139. package/dist/core/startClaimRouteCriteria.js.map +1 -0
  140. package/dist/core/startCouplingRouteCriteria.d.ts +2 -0
  141. package/dist/core/startCouplingRouteCriteria.js +13 -0
  142. package/dist/core/startCouplingRouteCriteria.js.map +1 -0
  143. package/dist/core/startDependencyRouteCriteria.d.ts +2 -0
  144. package/dist/core/startDependencyRouteCriteria.js +43 -0
  145. package/dist/core/startDependencyRouteCriteria.js.map +1 -0
  146. package/dist/core/startFileRouteCriteria.d.ts +2 -0
  147. package/dist/core/startFileRouteCriteria.js +56 -0
  148. package/dist/core/startFileRouteCriteria.js.map +1 -0
  149. package/dist/core/startFixedRouteCriteria.d.ts +1 -0
  150. package/dist/core/startFixedRouteCriteria.js +90 -0
  151. package/dist/core/startFixedRouteCriteria.js.map +1 -0
  152. package/dist/core/startImpactRouteCriteria.d.ts +7 -0
  153. package/dist/core/startImpactRouteCriteria.js +14 -0
  154. package/dist/core/startImpactRouteCriteria.js.map +1 -0
  155. package/dist/core/startIntentTargets.d.ts +1 -0
  156. package/dist/core/startIntentTargets.js +28 -0
  157. package/dist/core/startIntentTargets.js.map +1 -1
  158. package/dist/core/startMissionControl.js +8 -2
  159. package/dist/core/startMissionControl.js.map +1 -1
  160. package/dist/core/startMissionPolicy.js +2 -0
  161. package/dist/core/startMissionPolicy.js.map +1 -1
  162. package/dist/core/startMode.d.ts +1 -0
  163. package/dist/core/startMode.js +10 -2
  164. package/dist/core/startMode.js.map +1 -1
  165. package/dist/core/startPreflightRouteCriteria.d.ts +11 -0
  166. package/dist/core/startPreflightRouteCriteria.js +29 -0
  167. package/dist/core/startPreflightRouteCriteria.js.map +1 -0
  168. package/dist/core/startProductPlanningRouteCriteria.d.ts +8 -0
  169. package/dist/core/startProductPlanningRouteCriteria.js +29 -0
  170. package/dist/core/startProductPlanningRouteCriteria.js.map +1 -0
  171. package/dist/core/startRegressionRouteCriteria.d.ts +3 -0
  172. package/dist/core/startRegressionRouteCriteria.js +62 -0
  173. package/dist/core/startRegressionRouteCriteria.js.map +1 -0
  174. package/dist/core/startRouteActions.js +39 -1
  175. package/dist/core/startRouteActions.js.map +1 -1
  176. package/dist/core/startSuccessCriteria.d.ts +2 -3
  177. package/dist/core/startSuccessCriteria.js +15 -419
  178. package/dist/core/startSuccessCriteria.js.map +1 -1
  179. package/dist/core/startUnderstandRouteCriteria.d.ts +3 -0
  180. package/dist/core/startUnderstandRouteCriteria.js +97 -0
  181. package/dist/core/startUnderstandRouteCriteria.js.map +1 -0
  182. package/dist/core/telemetry.d.ts +9 -89
  183. package/dist/core/telemetry.js +33 -391
  184. package/dist/core/telemetry.js.map +1 -1
  185. package/dist/core/telemetryConfig.d.ts +58 -0
  186. package/dist/core/telemetryConfig.js +171 -0
  187. package/dist/core/telemetryConfig.js.map +1 -0
  188. package/dist/core/telemetryEvents.d.ts +57 -0
  189. package/dist/core/telemetryEvents.js +143 -0
  190. package/dist/core/telemetryEvents.js.map +1 -0
  191. package/dist/core/telemetryFlushing.d.ts +10 -0
  192. package/dist/core/telemetryFlushing.js +42 -0
  193. package/dist/core/telemetryFlushing.js.map +1 -0
  194. package/dist/core/telemetryRecording.d.ts +26 -0
  195. package/dist/core/telemetryRecording.js +38 -0
  196. package/dist/core/telemetryRecording.js.map +1 -0
  197. package/dist/core/telemetrySender.d.ts +9 -0
  198. package/dist/core/telemetrySender.js +22 -0
  199. package/dist/core/telemetrySender.js.map +1 -0
  200. package/dist/index.d.ts +4 -60
  201. package/dist/index.js +4 -60
  202. package/dist/index.js.map +1 -1
  203. package/dist/mcp/server.js +2 -13
  204. package/dist/mcp/server.js.map +1 -1
  205. package/dist/mcp/serverMessageHandling.d.ts +3 -0
  206. package/dist/mcp/serverMessageHandling.js +16 -0
  207. package/dist/mcp/serverMessageHandling.js.map +1 -0
  208. package/dist/mcp/toolDefinitions.d.ts +3 -0
  209. package/dist/mcp/toolDefinitions.js +15 -0
  210. package/dist/mcp/toolDefinitions.js.map +1 -0
  211. package/dist/mcp/tools.js +2 -12
  212. package/dist/mcp/tools.js.map +1 -1
  213. package/dist/projscan-sbom.cdx.json +6 -6
  214. package/dist/publicAgent.d.ts +22 -0
  215. package/dist/publicAgent.js +23 -0
  216. package/dist/publicAgent.js.map +1 -0
  217. package/dist/publicCore.d.ts +29 -0
  218. package/dist/publicCore.js +30 -0
  219. package/dist/publicCore.js.map +1 -0
  220. package/dist/publicLanguages.d.ts +1 -0
  221. package/dist/publicLanguages.js +2 -0
  222. package/dist/publicLanguages.js.map +1 -0
  223. package/dist/publicMcp.d.ts +8 -0
  224. package/dist/publicMcp.js +9 -0
  225. package/dist/publicMcp.js.map +1 -0
  226. package/dist/reporters/htmlAnalysisReporter.d.ts +3 -0
  227. package/dist/reporters/htmlAnalysisReporter.js +98 -0
  228. package/dist/reporters/htmlAnalysisReporter.js.map +1 -0
  229. package/dist/reporters/htmlCoverageReporter.d.ts +2 -0
  230. package/dist/reporters/htmlCoverageReporter.js +52 -0
  231. package/dist/reporters/htmlCoverageReporter.js.map +1 -0
  232. package/dist/reporters/htmlImpactReporter.d.ts +2 -0
  233. package/dist/reporters/htmlImpactReporter.js +41 -0
  234. package/dist/reporters/htmlImpactReporter.js.map +1 -0
  235. package/dist/reporters/htmlPrDiffReporter.d.ts +2 -0
  236. package/dist/reporters/htmlPrDiffReporter.js +84 -0
  237. package/dist/reporters/htmlPrDiffReporter.js.map +1 -0
  238. package/dist/reporters/htmlReporter.d.ts +20 -9
  239. package/dist/reporters/htmlReporter.js +7 -365
  240. package/dist/reporters/htmlReporter.js.map +1 -1
  241. package/dist/reporters/htmlReviewReporter.d.ts +2 -0
  242. package/dist/reporters/htmlReviewReporter.js +94 -0
  243. package/dist/reporters/htmlReviewReporter.js.map +1 -0
  244. package/dist/reporters/htmlShared.d.ts +7 -0
  245. package/dist/reporters/htmlShared.js +106 -0
  246. package/dist/reporters/htmlShared.js.map +1 -0
  247. package/dist/tool-manifest.json +2 -2
  248. package/dist/types/preflight.d.ts +19 -0
  249. package/dist/types/start.d.ts +7 -451
  250. package/dist/types/startCommon.d.ts +79 -0
  251. package/dist/types/startCommon.js +2 -0
  252. package/dist/types/startCommon.js.map +1 -0
  253. package/dist/types/startExecution.d.ts +44 -0
  254. package/dist/types/startExecution.js +2 -0
  255. package/dist/types/startExecution.js.map +1 -0
  256. package/dist/types/startMissionControl.d.ts +91 -0
  257. package/dist/types/startMissionControl.js +2 -0
  258. package/dist/types/startMissionControl.js.map +1 -0
  259. package/dist/types/startMissionProof.d.ts +91 -0
  260. package/dist/types/startMissionProof.js +2 -0
  261. package/dist/types/startMissionProof.js.map +1 -0
  262. package/dist/types/startMissionResume.d.ts +100 -0
  263. package/dist/types/startMissionResume.js +2 -0
  264. package/dist/types/startMissionResume.js.map +1 -0
  265. package/dist/types/startMissionReview.d.ts +45 -0
  266. package/dist/types/startMissionReview.js +2 -0
  267. package/dist/types/startMissionReview.js.map +1 -0
  268. package/dist/types/startMissionTooling.d.ts +16 -0
  269. package/dist/types/startMissionTooling.js +2 -0
  270. package/dist/types/startMissionTooling.js.map +1 -0
  271. package/dist/utils/changedFiles.d.ts +1 -0
  272. package/dist/utils/changedFiles.js +7 -4
  273. package/dist/utils/changedFiles.js.map +1 -1
  274. package/docs/GUIDE.md +9 -7
  275. package/docs/ROADMAP.md +2 -2
  276. package/docs/examples/adoption-workflows.md +12 -1
  277. package/docs/examples/swarm-coordination.md +11 -2
  278. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"roadmapCatalog.js","sourceRoot":"","sources":["../../src/core/roadmapCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadmapCatalog.js","sourceRoot":"","sources":["../../src/core/roadmapCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { RoadmapCatalogEntry } from './roadmapCatalogTypes.js';
2
+ export declare const ROADMAP_POST_4_4_CATALOG: Record<string, RoadmapCatalogEntry>;
@@ -0,0 +1,205 @@
1
+ export const ROADMAP_POST_4_4_CATALOG = {
2
+ '4.5.x': {
3
+ line: '4.5.x',
4
+ track: {
5
+ theme: 'Roadmap And Release-Train Reliability',
6
+ outcome: 'Planning surfaces describe the current post-4.4 product direction instead of stale shipped 3.x/4.0 work.',
7
+ includedInPlan: true,
8
+ scope: [
9
+ 'post-4.4 roadmap refresh',
10
+ 'release-train default-line refresh',
11
+ 'product-planning route verification',
12
+ ],
13
+ successCriteria: [
14
+ 'release-train defaults to post-4.4 lines on 4.4.x and newer',
15
+ 'docs/ROADMAP.md names already-shipped 4.0 through 4.4 work as completed',
16
+ 'planning output remains read-only and does not bump versions',
17
+ ],
18
+ },
19
+ tasks: [
20
+ {
21
+ id: 'rt-4-5-roadmap-release-train-refresh',
22
+ priority: 'p0',
23
+ title: 'Refresh roadmap and release-train surfaces',
24
+ why: 'Maintainers and agents should see the real next product bets after 4.4.0 instead of a completed 3.4/3.6/4.0 plan.',
25
+ track: '4.5.x',
26
+ files: [
27
+ 'src/core/roadmapCatalog.ts',
28
+ 'src/core/releaseTrain.ts',
29
+ 'docs/ROADMAP.md',
30
+ 'docs/GUIDE.md',
31
+ ],
32
+ verification: {
33
+ commands: [
34
+ 'projscan release-train --format json',
35
+ 'projscan start --intent "what should we build next?" --format json',
36
+ ],
37
+ expected: 'Planning output names post-4.4 workstreams and stays read-only without package version changes.',
38
+ },
39
+ },
40
+ ],
41
+ },
42
+ '4.6.x': {
43
+ line: '4.6.x',
44
+ track: {
45
+ theme: 'Swarm Coordination Evidence',
46
+ outcome: 'Teams can validate which coordination commands agents actually use before investing in deeper swarm automation.',
47
+ includedInPlan: true,
48
+ scope: [
49
+ 'coordination workflow examples',
50
+ 'claims and collision evidence recipes',
51
+ 'coordinate-watch adoption proof',
52
+ ],
53
+ successCriteria: [
54
+ 'docs show a real local workflow for collisions, claims, merge-risk, coordinate, and coordinate --watch',
55
+ 'agent-brief and preflight coordination evidence stay separated from remembered session context',
56
+ 'validation examples stay local-first and require no daemon or cloud service',
57
+ ],
58
+ },
59
+ tasks: [
60
+ {
61
+ id: 'rt-4-6-swarm-coordination-validation',
62
+ priority: 'p0',
63
+ title: 'Validate swarm coordination in real agent workflows',
64
+ why: 'The coordination surface is only valuable if teams can see where it prevents collisions and which command answered the coordination question.',
65
+ track: '4.6.x',
66
+ files: [
67
+ 'docs/GUIDE.md',
68
+ 'README.md',
69
+ 'docs/examples/swarm-coordination.md',
70
+ 'src/core/agentBrief.ts',
71
+ 'src/core/preflight.ts',
72
+ ],
73
+ verification: {
74
+ commands: [
75
+ 'projscan collisions --format json',
76
+ 'projscan coordinate --format json',
77
+ 'projscan preflight --mode before_edit --format json',
78
+ 'projscan agent-brief --format json',
79
+ ],
80
+ expected: 'Coordination evidence names the active command path, current worktree state, preflight proof path, and local-only validation workflow.',
81
+ },
82
+ },
83
+ ],
84
+ },
85
+ '4.7.x': {
86
+ line: '4.7.x',
87
+ track: {
88
+ theme: 'Framework Dataflow Precision',
89
+ outcome: 'Framework-specific request sources continue to expand through narrow, tested source patterns instead of broad name matching.',
90
+ includedInPlan: true,
91
+ scope: [
92
+ 'Fastify and Koa request source coverage',
93
+ 'receiver-sensitive database sink checks',
94
+ 'regression fixtures for false-positive suppression',
95
+ ],
96
+ successCriteria: [
97
+ 'dataflow detects tested framework request sources into database sinks',
98
+ 'ordinary helper functions with similar names stay quiet',
99
+ 'custom source and sink configuration still overrides defaults',
100
+ ],
101
+ },
102
+ tasks: [
103
+ {
104
+ id: 'rt-4-7-framework-dataflow-precision',
105
+ priority: 'p1',
106
+ title: 'Broaden framework dataflow precision',
107
+ why: 'Deeper framework precision is the right static-analysis moat when it is added as small tested patterns.',
108
+ track: '4.7.x',
109
+ files: ['src/core/frameworkSources.ts', 'src/core/dataflow.ts', 'tests/core/dataflow.test.ts'],
110
+ verification: {
111
+ commands: ['npm run test -- tests/core/dataflow.test.ts', 'projscan dataflow --format json'],
112
+ expected: 'New framework request-source fixtures report real source-to-sink paths and suppress lookalike helpers.',
113
+ },
114
+ },
115
+ ],
116
+ },
117
+ '4.8.x': {
118
+ line: '4.8.x',
119
+ track: {
120
+ theme: 'Scoped Evidence Exports',
121
+ outcome: 'Teams can share report artifacts with scoped or redacted paths without exposing broader repository structure.',
122
+ includedInPlan: true,
123
+ scope: [
124
+ 'path-scope filtering',
125
+ 'stable path redaction labels',
126
+ 'SARIF and JSON evidence shaping',
127
+ ],
128
+ successCriteria: [
129
+ 'issue reports can be filtered to a requested path scope',
130
+ 'redacted reports replace file paths with stable labels',
131
+ 'redaction never reads .env values or adds network calls',
132
+ ],
133
+ },
134
+ tasks: [
135
+ {
136
+ id: 'rt-4-8-scoped-redacted-evidence',
137
+ priority: 'p1',
138
+ title: 'Add scoped and redacted report export controls',
139
+ why: 'Security reviewers need useful artifacts they can share without leaking paths outside the reviewed area.',
140
+ track: '4.8.x',
141
+ files: [
142
+ 'src/core/reportScope.ts',
143
+ 'src/cli/commands/analyze.ts',
144
+ 'src/cli/commands/doctor.ts',
145
+ 'src/cli/commands/ci.ts',
146
+ 'src/reporters/sarifReporter.ts',
147
+ ],
148
+ verification: {
149
+ commands: [
150
+ 'projscan doctor --report-scope src --redact-paths --format json',
151
+ 'projscan analyze --report-scope src --redact-paths --format sarif',
152
+ ],
153
+ expected: 'Reports include only scoped issue evidence and expose redacted path labels instead of raw file paths.',
154
+ },
155
+ },
156
+ ],
157
+ },
158
+ '4.9.x': {
159
+ line: '4.9.x',
160
+ track: {
161
+ theme: 'Python Upgrade Intelligence And Hotspot Maintainability',
162
+ outcome: 'Python dependency upgrade previews become useful offline, while the highest-churn projscan surfaces keep shrinking through focused tests and extraction.',
163
+ includedInPlan: true,
164
+ scope: [
165
+ 'requirements.txt and Poetry dependency lookup',
166
+ 'Python importers for upgrade preview',
167
+ 'start/types/test hotspot coverage and extraction',
168
+ 'real adoption examples for orchestration, ownership, and plugins',
169
+ ],
170
+ successCriteria: [
171
+ 'projscan_upgrade can preview Python dependencies from local manifests',
172
+ 'README and guide no longer describe Python upgrade support as only planned',
173
+ 'hotspot work adds focused coverage or extraction without unrelated refactors',
174
+ 'docs include concrete adoption examples for agent orchestration, package ownership, and policy plugins',
175
+ ],
176
+ },
177
+ tasks: [
178
+ {
179
+ id: 'rt-4-9-python-upgrade-and-hotspot-maintainability',
180
+ priority: 'p1',
181
+ title: 'Ship Python upgrade intelligence and keep reducing hotspots',
182
+ why: 'Python repos should get the same offline upgrade impact preview as Node repos, and the repo should keep paying down known high-churn surfaces.',
183
+ track: '4.9.x',
184
+ files: [
185
+ 'src/core/upgradePreview.ts',
186
+ 'src/core/languages/pythonManifests.ts',
187
+ 'src/types/dependencyHealth.ts',
188
+ 'tests/core/upgradePreview.test.ts',
189
+ 'src/core/start.ts',
190
+ 'src/types.ts',
191
+ 'tests/core/start.test.ts',
192
+ ],
193
+ verification: {
194
+ commands: [
195
+ 'npm run test -- tests/core/upgradePreview.test.ts tests/mcp/pythonUpgradeFallback.test.ts',
196
+ 'npm run typecheck:public-types',
197
+ 'projscan hotspots --format json',
198
+ ],
199
+ expected: 'Python upgrade previews return declared versions and importers, public types compile, and hotspot risk is covered or explicitly deferred.',
200
+ },
201
+ },
202
+ ],
203
+ },
204
+ };
205
+ //# sourceMappingURL=roadmapCatalogPost44.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmapCatalogPost44.js","sourceRoot":"","sources":["../../src/core/roadmapCatalogPost44.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ReleaseTrainTask, ReleaseTrainTrack } from '../types.js';
2
+ export interface RoadmapCatalogEntry {
3
+ line: string;
4
+ track: Omit<ReleaseTrainTrack, 'line'>;
5
+ tasks: ReleaseTrainTask[];
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=roadmapCatalogTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmapCatalogTypes.js","sourceRoot":"","sources":["../../src/core/roadmapCatalogTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { PreflightSuggestedAction } from '../types/preflight.js';
2
+ import type { StartRoutedIntent } from '../types/start.js';
3
+ export interface ClaimSuccessCriteriaInput {
4
+ route?: StartRoutedIntent;
5
+ actionPlan: PreflightSuggestedAction[];
6
+ }
7
+ export declare function claimRouteSuccessCriteria(context: ClaimSuccessCriteriaInput): string[] | undefined;
@@ -0,0 +1,16 @@
1
+ export function claimRouteSuccessCriteria(context) {
2
+ if (context.route?.tool !== 'projscan_claim')
3
+ return undefined;
4
+ const hasAddAction = context.actionPlan.some((action) => action.args && 'action' in action.args && action.args.action === 'add');
5
+ if (hasAddAction) {
6
+ return [
7
+ 'Active claims are reviewed before a new file, directory, or symbol claim is added.',
8
+ 'The target is claimed with a real agent name, and any returned contention is assigned or resolved before parallel editing continues.',
9
+ ];
10
+ }
11
+ return [
12
+ 'Active claims, owners, leases, and contention warnings are reviewed before parallel work continues.',
13
+ 'Any stale or contended claim has a release, owner, or coordination follow-up before editing resumes.',
14
+ ];
15
+ }
16
+ //# sourceMappingURL=startClaimRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startClaimRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startClaimRouteCriteria.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,yBAAyB,CACvC,OAAkC;IAElC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CACnF,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,oFAAoF;YACpF,sIAAsI;SACvI,CAAC;IACJ,CAAC;IACD,OAAO;QACL,qGAAqG;QACrG,sGAAsG;KACvG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { PreflightSuggestedAction } from '../types/preflight.js';
2
+ export declare function couplingSuccessCriteria(primaryAction: PreflightSuggestedAction | undefined): string[];
@@ -0,0 +1,13 @@
1
+ const COUPLING_FOLLOW_UP_CRITERION = 'Every high-coupling or circular-import target has an owner, refactor decision, or verification follow-up before architecture work starts.';
2
+ export function couplingSuccessCriteria(primaryAction) {
3
+ const direction = primaryAction?.args && 'direction' in primaryAction.args
4
+ ? String(primaryAction.args.direction)
5
+ : 'all';
6
+ return [
7
+ direction === 'cycles_only'
8
+ ? 'Circular-import cycles are reviewed with the exact files participating in each strongly connected component.'
9
+ : 'Fan-in, fan-out, instability, cross-package edges, and circular-import cycles are reviewed before refactoring boundaries.',
10
+ COUPLING_FOLLOW_UP_CRITERION,
11
+ ];
12
+ }
13
+ //# sourceMappingURL=startCouplingRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startCouplingRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startCouplingRouteCriteria.ts"],"names":[],"mappings":"AAEA,MAAM,4BAA4B,GAChC,2IAA2I,CAAC;AAE9I,MAAM,UAAU,uBAAuB,CACrC,aAAmD;IAEnD,MAAM,SAAS,GACb,aAAa,EAAE,IAAI,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI;QACtD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC;IACZ,OAAO;QACL,SAAS,KAAK,aAAa;YACzB,CAAC,CAAC,8GAA8G;YAChH,CAAC,CAAC,2HAA2H;QAC/H,4BAA4B;KAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { StartRoutedIntent } from '../types/start.js';
2
+ export declare function dependencySuccessCriteria(route: StartRoutedIntent): string[];
@@ -0,0 +1,43 @@
1
+ const DEPENDENCY_LICENSE_KEYWORDS = [
2
+ 'license',
3
+ 'licenses',
4
+ 'gpl',
5
+ 'copyleft',
6
+ 'notice',
7
+ 'notices',
8
+ 'third',
9
+ 'party',
10
+ 'open',
11
+ 'source',
12
+ 'compliance',
13
+ ];
14
+ const DEPENDENCY_BUNDLE_KEYWORDS = [
15
+ 'bundle',
16
+ 'bundles',
17
+ 'size',
18
+ 'sizes',
19
+ 'large',
20
+ 'heavy',
21
+ 'bloat',
22
+ 'bloated',
23
+ 'weight',
24
+ 'footprint',
25
+ 'reduce',
26
+ 'slim',
27
+ ];
28
+ export function dependencySuccessCriteria(route) {
29
+ const criteria = [];
30
+ if (matchesAnyKeyword(route, DEPENDENCY_LICENSE_KEYWORDS)) {
31
+ criteria.push('Dependency license counts, unknown licenses, and copyleft risks are reviewed before third-party notices or compliance sign-off.');
32
+ }
33
+ if (matchesAnyKeyword(route, DEPENDENCY_BUNDLE_KEYWORDS)) {
34
+ criteria.push('Installed package-size totals and largest packages are reviewed before bundle-size or dependency-bloat work starts.');
35
+ }
36
+ criteria.push('Declared production and development dependencies are inventoried before package changes are planned.');
37
+ criteria.push('Any dependency risks, workspace-specific counts, or missing lockfile signal has an owner or follow-up command.');
38
+ return criteria;
39
+ }
40
+ function matchesAnyKeyword(route, keywords) {
41
+ return route.matchedKeywords.some((keyword) => keywords.includes(keyword));
42
+ }
43
+ //# sourceMappingURL=startDependencyRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startDependencyRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startDependencyRouteCriteria.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG;IAClC,SAAS;IACT,UAAU;IACV,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,YAAY;CACb,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAwB;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,iBAAiB,CAAC,KAAK,EAAE,2BAA2B,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,IAAI,CACX,iIAAiI,CAClI,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CACX,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,IAAI,CACX,sGAAsG,CACvG,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,gHAAgH,CACjH,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB,EAAE,QAAkB;IACrE,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { StartRoutedIntent } from '../types/start.js';
2
+ export declare function fileSuccessCriteria(route: StartRoutedIntent): string[];
@@ -0,0 +1,56 @@
1
+ const FILE_CRITERIA_RULES = [
2
+ {
3
+ keywords: ['risk', 'risks', 'risky', 'dangerous'],
4
+ criterion: 'Hotspot reasons, related issues, imports, exports, and ownership explain why the file is risky.',
5
+ },
6
+ {
7
+ keywords: [
8
+ 'last',
9
+ 'touched',
10
+ 'touch',
11
+ 'changed',
12
+ 'recently',
13
+ 'history',
14
+ 'author',
15
+ 'authors',
16
+ 'blame',
17
+ ],
18
+ criterion: 'Primary author, recent history, and ownership signals are reviewed before routing reviewers or changing the file.',
19
+ },
20
+ {
21
+ keywords: ['coverage', 'covered', 'uncovered', 'test', 'tests'],
22
+ criterion: 'Coverage, hotspot risk, and related test evidence for the file are reviewed before editing starts.',
23
+ },
24
+ {
25
+ matches: matchesFileTestDesignCriteria,
26
+ criterion: 'File purpose, risky functions, coverage, and existing test evidence are reviewed before designing a new test.',
27
+ },
28
+ {
29
+ keywords: ['read'],
30
+ criterion: 'Purpose, imports, exports, ownership, tests, and risk are reviewed before changing the named file.',
31
+ },
32
+ {
33
+ keywords: ['review', 'reviewer', 'reviewers'],
34
+ criterion: 'Ownership, primary author, hotspot risk, and related issues are reviewed before choosing a reviewer.',
35
+ },
36
+ ];
37
+ export function fileSuccessCriteria(route) {
38
+ const matched = new Set(route.matchedKeywords);
39
+ return [
40
+ ...FILE_CRITERIA_RULES.filter((rule) => fileCriteriaRuleMatches(rule, matched)).map((rule) => rule.criterion),
41
+ 'The file purpose, imports, exports, ownership, and risk are reviewed before editing starts.',
42
+ 'Any follow-up impact, owner, or test command from the file report is added to the workplan.',
43
+ ];
44
+ }
45
+ function fileCriteriaRuleMatches(rule, matched) {
46
+ if (rule.matches)
47
+ return rule.matches(matched);
48
+ return (rule.keywords ?? []).some((keyword) => matched.has(keyword));
49
+ }
50
+ function matchesFileTestDesignCriteria(matched) {
51
+ const explicitAuthoring = ['add', 'write'].some((keyword) => matched.has(keyword));
52
+ const testWithoutCoverage = matched.has('test') &&
53
+ !['coverage', 'covered', 'uncovered'].some((keyword) => matched.has(keyword));
54
+ return explicitAuthoring || testWithoutCoverage;
55
+ }
56
+ //# sourceMappingURL=startFileRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startFileRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startFileRouteCriteria.ts"],"names":[],"mappings":"AAQA,MAAM,mBAAmB,GAAuB;IAC9C;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;QACjD,SAAS,EACP,iGAAiG;KACpG;IACD;QACE,QAAQ,EAAE;YACR,MAAM;YACN,SAAS;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,SAAS;YACT,QAAQ;YACR,SAAS;YACT,OAAO;SACR;QACD,SAAS,EACP,mHAAmH;KACtH;IACD;QACE,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;QAC/D,SAAS,EACP,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,6BAA6B;QACtC,SAAS,EACP,+GAA+G;KAClH;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,SAAS,EACP,oGAAoG;KACvG;IACD;QACE,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC;QAC7C,SAAS,EACP,sGAAsG;KACzG;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CACjF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CACzB;QACD,6FAA6F;QAC7F,6FAA6F;KAC9F,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAsB,EAAE,OAAoB;IAC3E,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAoB;IACzD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,MAAM,mBAAmB,GACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,OAAO,iBAAiB,IAAI,mBAAmB,CAAC;AAClD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const FIXED_ROUTE_CRITERIA: Record<string, string[]>;
@@ -0,0 +1,90 @@
1
+ export const FIXED_ROUTE_CRITERIA = {
2
+ projscan_release_train: [
3
+ 'Release train readiness has no blockers before packaging or publishing continues.',
4
+ 'Changelog, package, SBOM, and provenance evidence are reviewed before a release handoff.',
5
+ ],
6
+ projscan_bug_hunt: [
7
+ 'Bug-hunt findings are triaged by severity with a first fix candidate selected.',
8
+ 'The selected fix has a runnable verification command before editing starts.',
9
+ ],
10
+ projscan_workplan: [
11
+ 'The workplan identifies the first safe implementation or review step before edits begin.',
12
+ 'The selected action has a focused verification command before handoff.',
13
+ ],
14
+ projscan_agent_brief: [
15
+ 'The agent brief summarizes focus items, repo context, guardrails, and suggested next actions for the next developer.',
16
+ 'The handoff includes enough proof commands for the next agent to resume without rerunning broad discovery.',
17
+ ],
18
+ projscan_session: [
19
+ 'Remembered touched files and recent session events are reviewed before resuming work.',
20
+ 'The current worktree preflight is rerun after session context is reviewed, so stale memory does not override live risk.',
21
+ ],
22
+ projscan_coordinate: [
23
+ 'Coordination readiness, collisions, claims, and merge order are reviewed before parallel work continues.',
24
+ 'Any conflicted files, contended claims, or merge-order blockers have an owner or follow-up command before editing resumes.',
25
+ ],
26
+ projscan_privacy_check: [
27
+ 'Telemetry state, offline mode, scan root, ignored-file handling, .env content policy, plugin execution, local writes, and network-capable endpoints are reviewed.',
28
+ 'Any required trust-boundary change is made explicitly before broader analysis or report sharing continues.',
29
+ ],
30
+ projscan_quality_scorecard: [
31
+ 'Quality dimensions, top risks, and verification commands are reviewed before choosing the next task.',
32
+ 'The developer knows whether health, security, tests, maintainability, or coordination needs attention first.',
33
+ ],
34
+ projscan_review: [
35
+ 'The structural PR review reports a verdict and identifies any risk that needs owner follow-up.',
36
+ 'Review, preflight, or evidence-pack follow-up is chosen before the branch is handed to reviewers.',
37
+ ],
38
+ projscan_evidence_pack: [
39
+ 'The evidence pack produces a paste-ready PR comment with verdict, top risks, owner routing, and next commands.',
40
+ 'The reviewer-facing comment is validated before it is shared or used for approval.',
41
+ ],
42
+ projscan_analyze: [
43
+ 'The scoped analysis, health, and CI artifacts are generated with path redaction enabled before sharing outside the repo.',
44
+ 'The reviewer can correlate redacted-path-N labels without seeing raw repo structure.',
45
+ ],
46
+ projscan_doctor: [
47
+ 'Dead code, unused exports, lint, dependency, security, and config issues are reviewed before cleanup starts.',
48
+ 'Any issue chosen for cleanup has a fix-suggest, impact, or verification follow-up before files are deleted.',
49
+ ],
50
+ projscan_fix_suggest: [
51
+ 'A concrete fix suggestion is produced for the selected issue id.',
52
+ 'The suggestion names the file, fix instruction, and verification step before editing starts.',
53
+ ],
54
+ projscan_explain_issue: [
55
+ 'A deep issue explanation is produced for the selected issue id.',
56
+ 'The explanation identifies surrounding code, related issues, similar fixes, and the next fix prompt before editing starts.',
57
+ ],
58
+ projscan_pr_diff: [
59
+ 'The structural diff is reviewed for changed exports, imports, call sites, and complexity before a full review verdict.',
60
+ 'The developer knows which changed files or symbols need deeper review.',
61
+ ],
62
+ projscan_coverage: [
63
+ 'Coverage gaps are ranked by risk so the next test target is explicit.',
64
+ 'The selected file has either a new test plan, an owner, or a documented reason to defer.',
65
+ ],
66
+ projscan_upgrade: [
67
+ 'The upgrade preview identifies declared version, installed version, breaking markers, and importers.',
68
+ 'Importer files are reviewed before changing the package version.',
69
+ ],
70
+ projscan_audit: [
71
+ 'npm audit findings are reviewed for critical, high, moderate, low, and info vulnerabilities.',
72
+ 'Any vulnerable dependency has a fix, upgrade preview, or documented deferral before the branch is trusted.',
73
+ ],
74
+ projscan_workspaces: [
75
+ 'Monorepo workspace packages are listed with names and relative paths before package-scoped work begins.',
76
+ 'The selected workspace name is available for package-scoped follow-up commands such as hotspots, coupling, review, or audit.',
77
+ ],
78
+ projscan_dataflow: [
79
+ 'Dataflow findings are reviewed for direct, propagated, and bridge source-to-sink paths.',
80
+ 'Any confirmed source-to-sink path has an owner, mitigation, and rerunnable verification command before editing continues.',
81
+ ],
82
+ projscan_semantic_graph: [
83
+ 'The targeted graph query answers the importer/import/export question without dumping the full graph.',
84
+ 'Any returned files are reviewed before editing the queried file or symbol.',
85
+ ],
86
+ projscan_search: [
87
+ 'Search results identify the target files or symbols with enough confidence to choose the next tool.',
88
+ ],
89
+ };
90
+ //# sourceMappingURL=startFixedRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startFixedRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startFixedRouteCriteria.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAA6B;IAC5D,sBAAsB,EAAE;QACtB,mFAAmF;QACnF,0FAA0F;KAC3F;IACD,iBAAiB,EAAE;QACjB,gFAAgF;QAChF,6EAA6E;KAC9E;IACD,iBAAiB,EAAE;QACjB,0FAA0F;QAC1F,wEAAwE;KACzE;IACD,oBAAoB,EAAE;QACpB,sHAAsH;QACtH,4GAA4G;KAC7G;IACD,gBAAgB,EAAE;QAChB,uFAAuF;QACvF,yHAAyH;KAC1H;IACD,mBAAmB,EAAE;QACnB,0GAA0G;QAC1G,4HAA4H;KAC7H;IACD,sBAAsB,EAAE;QACtB,mKAAmK;QACnK,4GAA4G;KAC7G;IACD,0BAA0B,EAAE;QAC1B,sGAAsG;QACtG,8GAA8G;KAC/G;IACD,eAAe,EAAE;QACf,gGAAgG;QAChG,mGAAmG;KACpG;IACD,sBAAsB,EAAE;QACtB,gHAAgH;QAChH,oFAAoF;KACrF;IACD,gBAAgB,EAAE;QAChB,0HAA0H;QAC1H,sFAAsF;KACvF;IACD,eAAe,EAAE;QACf,8GAA8G;QAC9G,6GAA6G;KAC9G;IACD,oBAAoB,EAAE;QACpB,kEAAkE;QAClE,8FAA8F;KAC/F;IACD,sBAAsB,EAAE;QACtB,iEAAiE;QACjE,4HAA4H;KAC7H;IACD,gBAAgB,EAAE;QAChB,wHAAwH;QACxH,wEAAwE;KACzE;IACD,iBAAiB,EAAE;QACjB,uEAAuE;QACvE,0FAA0F;KAC3F;IACD,gBAAgB,EAAE;QAChB,sGAAsG;QACtG,kEAAkE;KACnE;IACD,cAAc,EAAE;QACd,8FAA8F;QAC9F,4GAA4G;KAC7G;IACD,mBAAmB,EAAE;QACnB,yGAAyG;QACzG,8HAA8H;KAC/H;IACD,iBAAiB,EAAE;QACjB,yFAAyF;QACzF,2HAA2H;KAC5H;IACD,uBAAuB,EAAE;QACvB,sGAAsG;QACtG,4EAA4E;KAC7E;IACD,eAAe,EAAE;QACf,qGAAqG;KACtG;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PreflightSuggestedAction } from '../types/preflight.js';
2
+ import type { StartRoutedIntent } from '../types/start.js';
3
+ export interface ImpactSuccessCriteriaInput {
4
+ route?: StartRoutedIntent;
5
+ primaryAction?: PreflightSuggestedAction;
6
+ }
7
+ export declare function impactSuccessCriteria(context: ImpactSuccessCriteriaInput): string[] | undefined;
@@ -0,0 +1,14 @@
1
+ export function impactSuccessCriteria(context) {
2
+ if (context.route?.tool !== 'projscan_impact')
3
+ return undefined;
4
+ return [
5
+ ...(context.primaryAction?.tool === 'projscan_search'
6
+ ? [
7
+ 'An exact symbol or file path is selected from search results before impact analysis continues.',
8
+ ]
9
+ : []),
10
+ 'The impact report is reviewed for direct and transitive dependents before editing starts.',
11
+ 'Affected call sites, tests, or owners are added to the workplan before code changes begin.',
12
+ ];
13
+ }
14
+ //# sourceMappingURL=startImpactRouteCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startImpactRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startImpactRouteCriteria.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,qBAAqB,CACnC,OAAmC;IAEnC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,KAAK,iBAAiB;YACnD,CAAC,CAAC;gBACE,gGAAgG;aACjG;YACH,CAAC,CAAC,EAAE,CAAC;QACP,2FAA2F;QAC3F,4FAA4F;KAC7F,CAAC;AACJ,CAAC"}
@@ -8,6 +8,7 @@ export type StartGraphQuery = {
8
8
  export declare function extractSearchQuery(intent: string): string;
9
9
  export declare function extractImpactTarget(intent: string): string | undefined;
10
10
  export declare function extractFileTarget(intent: string): string | undefined;
11
+ export declare function extractReportScopeTarget(intent: string): string | undefined;
11
12
  export declare function extractClaimTarget(intent: string): string | undefined;
12
13
  export declare function extractClaimAgent(intent: string): string | undefined;
13
14
  export declare function extractIssueIdTarget(intent: string): string | undefined;
@@ -1,3 +1,16 @@
1
+ const REPORT_SCOPE_DIRECTORY_TARGETS = new Set([
2
+ 'app',
3
+ 'apps',
4
+ 'docs',
5
+ 'examples',
6
+ 'lib',
7
+ 'libs',
8
+ 'packages',
9
+ 'scripts',
10
+ 'src',
11
+ 'test',
12
+ 'tests',
13
+ ]);
1
14
  function firstQuery(intent, extractors) {
2
15
  for (const extract of extractors) {
3
16
  const query = extract(intent);
@@ -160,6 +173,21 @@ export function extractFileTarget(intent) {
160
173
  return unwrapTarget(slashPathMatch[1]);
161
174
  return undefined;
162
175
  }
176
+ export function extractReportScopeTarget(intent) {
177
+ const fileTarget = extractFileTarget(intent);
178
+ if (fileTarget)
179
+ return fileTarget;
180
+ const compactIntent = intent.trim().replace(/[?!.\s]+$/g, '');
181
+ const wrapped = compactIntent.match(/[`'"]([A-Za-z][A-Za-z0-9_-]{1,63})[`'"]/);
182
+ if (wrapped?.[1] && isReportScopeDirectoryTarget(wrapped[1]))
183
+ return wrapped[1];
184
+ const scopedDirectory = compactIntent.match(/\b(?:for|under|inside|within|from|scope(?:d)?\s+to|scope)\s+(?:the\s+)?([A-Za-z][A-Za-z0-9_-]{1,63})(?=\s|$)/i);
185
+ const candidate = scopedDirectory?.[1];
186
+ return candidate && isReportScopeDirectoryTarget(candidate) ? candidate : undefined;
187
+ }
188
+ function isReportScopeDirectoryTarget(candidate) {
189
+ return REPORT_SCOPE_DIRECTORY_TARGETS.has(candidate.toLowerCase());
190
+ }
163
191
  function extractEnvVarTarget(intent) {
164
192
  const compactIntent = intent.trim().replace(/[?!\s]+$/g, '');
165
193
  const processMatch = compactIntent.match(/\bprocess\.env\.[A-Za-z_][A-Za-z0-9_]*\b/);