projscan 4.9.2 → 4.10.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.
- package/README.md +226 -1350
- package/dist/analyzers/securityCheck.js +33 -15
- package/dist/analyzers/securityCheck.js.map +1 -1
- package/dist/analyzers/supplyChainCheck.js +9 -2
- package/dist/analyzers/supplyChainCheck.js.map +1 -1
- package/dist/cli/commands/bugHunt.js +3 -1
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/ci.js +29 -13
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/dogfood.js +2 -0
- package/dist/cli/commands/dogfood.js.map +1 -1
- package/dist/cli/commands/feedback.js +21 -2
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/route.js +3 -2
- package/dist/cli/commands/route.js.map +1 -1
- package/dist/core/adoption.js +50 -21
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/agentBrief.js +2 -1
- package/dist/core/agentBrief.js.map +1 -1
- package/dist/core/bugHunt.js +51 -22
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/bugHuntHotspotFindings.js +2 -1
- package/dist/core/bugHuntHotspotFindings.js.map +1 -1
- package/dist/core/ciGate.d.ts +10 -0
- package/dist/core/ciGate.js +21 -0
- package/dist/core/ciGate.js.map +1 -0
- package/dist/core/dogfood.d.ts +1 -0
- package/dist/core/dogfood.js +42 -20
- package/dist/core/dogfood.js.map +1 -1
- package/dist/core/dogfoodDiscovery.d.ts +8 -0
- package/dist/core/dogfoodDiscovery.js +119 -0
- package/dist/core/dogfoodDiscovery.js.map +1 -0
- package/dist/core/feedback.js +73 -5
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/fileInspectionReport.js +37 -0
- package/dist/core/fileInspectionReport.js.map +1 -1
- package/dist/core/intentRouterArchitectureKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js +69 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterCatalog.js +85 -31
- package/dist/core/intentRouterCatalog.js.map +1 -1
- package/dist/core/intentRouterDependencyKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js +100 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js +92 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterKeywordEarlyGuards.js +8 -3
- package/dist/core/intentRouterKeywordEarlyGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordSearchGuards.js +28 -24
- package/dist/core/intentRouterKeywordSearchGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordToolGuards.js +43 -0
- package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordWeights.js +40 -1222
- package/dist/core/intentRouterKeywordWeights.js.map +1 -1
- package/dist/core/intentRouterOperationalKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js +203 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterPlanningSignals.js +4 -1
- package/dist/core/intentRouterPlanningSignals.js.map +1 -1
- package/dist/core/intentRouterPrDiffKeywords.d.ts +4 -0
- package/dist/core/intentRouterPrDiffKeywords.js +64 -0
- package/dist/core/intentRouterPrDiffKeywords.js.map +1 -0
- package/dist/core/intentRouterPrDiffSignals.js +6 -0
- package/dist/core/intentRouterPrDiffSignals.js.map +1 -1
- package/dist/core/intentRouterProductImprovementSignals.d.ts +1 -0
- package/dist/core/intentRouterProductImprovementSignals.js +48 -0
- package/dist/core/intentRouterProductImprovementSignals.js.map +1 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js +3 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js.map +1 -1
- package/dist/core/intentRouterRegressionKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js +118 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterReleaseSignals.d.ts +1 -0
- package/dist/core/intentRouterReleaseSignals.js +47 -0
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- package/dist/core/intentRouterReviewSignals.d.ts +1 -0
- package/dist/core/intentRouterReviewSignals.js +23 -1
- package/dist/core/intentRouterReviewSignals.js.map +1 -1
- package/dist/core/intentRouterSearchKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSearchKeywordWeights.js +407 -0
- package/dist/core/intentRouterSearchKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js +50 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js +222 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterUnderstandSignals.js +1 -0
- package/dist/core/intentRouterUnderstandSignals.js.map +1 -1
- package/dist/core/intentRouterWorkSignals.js +3 -0
- package/dist/core/intentRouterWorkSignals.js.map +1 -1
- package/dist/core/intentRouterWorkflowKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js +124 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js.map +1 -0
- package/dist/core/issueEngine.js +46 -2
- package/dist/core/issueEngine.js.map +1 -1
- package/dist/core/memory.d.ts +2 -0
- package/dist/core/memory.js +33 -1
- package/dist/core/memory.js.map +1 -1
- package/dist/core/preflightChangedFiles.d.ts +3 -0
- package/dist/core/preflightChangedFiles.js +13 -0
- package/dist/core/preflightChangedFiles.js.map +1 -1
- package/dist/core/preflightEvidence.d.ts +3 -0
- package/dist/core/preflightEvidence.js +3 -0
- package/dist/core/preflightEvidence.js.map +1 -1
- package/dist/core/privacy.d.ts +2 -0
- package/dist/core/privacy.js +10 -0
- package/dist/core/privacy.js.map +1 -1
- package/dist/core/qualityScorecard.js +25 -13
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/startEvidence.js +26 -1
- package/dist/core/startEvidence.js.map +1 -1
- package/dist/core/startFixedRouteCriteria.js +5 -0
- package/dist/core/startFixedRouteCriteria.js.map +1 -1
- package/dist/core/startInputs.d.ts +3 -0
- package/dist/core/startMissionPolicy.d.ts +1 -1
- package/dist/core/startMissionPolicy.js +18 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.js +17 -4
- package/dist/core/startMode.js.map +1 -1
- package/dist/core/startReportBuilder.js +1 -1
- package/dist/core/startReportBuilder.js.map +1 -1
- package/dist/core/startReviewGate.js +26 -4
- package/dist/core/startReviewGate.js.map +1 -1
- package/dist/core/startRouteActions.js +6 -0
- package/dist/core/startRouteActions.js.map +1 -1
- package/dist/core/understand.js +60 -13
- package/dist/core/understand.js.map +1 -1
- package/dist/core/workplan.js +99 -17
- package/dist/core/workplan.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/reporters/ciIssueDetails.d.ts +10 -0
- package/dist/reporters/ciIssueDetails.js +37 -0
- package/dist/reporters/ciIssueDetails.js.map +1 -0
- package/dist/reporters/consoleCiReporter.d.ts +2 -1
- package/dist/reporters/consoleCiReporter.js +26 -9
- package/dist/reporters/consoleCiReporter.js.map +1 -1
- package/dist/reporters/consoleFileReporter.js +10 -0
- package/dist/reporters/consoleFileReporter.js.map +1 -1
- package/dist/reporters/consoleHealthReporter.js +3 -1
- package/dist/reporters/consoleHealthReporter.js.map +1 -1
- package/dist/reporters/jsonReporter.d.ts +2 -1
- package/dist/reporters/jsonReporter.js +17 -10
- package/dist/reporters/jsonReporter.js.map +1 -1
- package/dist/reporters/markdownFileReporter.js +11 -0
- package/dist/reporters/markdownFileReporter.js.map +1 -1
- package/dist/reporters/markdownHealthReporter.d.ts +2 -1
- package/dist/reporters/markdownHealthReporter.js +5 -5
- package/dist/reporters/markdownHealthReporter.js.map +1 -1
- package/dist/reporters/scoreBreakdownReporter.d.ts +2 -0
- package/dist/reporters/scoreBreakdownReporter.js +24 -0
- package/dist/reporters/scoreBreakdownReporter.js.map +1 -0
- package/dist/tool-manifest.json +2 -2
- package/dist/types/analysis.d.ts +21 -1
- package/dist/types/bugHunt.d.ts +3 -0
- package/dist/types/config.d.ts +9 -0
- package/dist/types/dogfood.d.ts +15 -1
- package/dist/types/inspection.d.ts +3 -0
- package/dist/types/preflight.d.ts +3 -0
- package/dist/types/startMissionControl.d.ts +3 -0
- package/dist/types/startMissionReview.d.ts +2 -0
- package/dist/utils/ciFailOn.d.ts +5 -0
- package/dist/utils/ciFailOn.js +12 -0
- package/dist/utils/ciFailOn.js.map +1 -0
- package/dist/utils/config.js +3 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/configBasics.d.ts +2 -0
- package/dist/utils/configBasics.js +21 -0
- package/dist/utils/configBasics.js.map +1 -1
- package/dist/utils/configIssueRules.js +64 -0
- package/dist/utils/configIssueRules.js.map +1 -1
- package/dist/utils/scoreCalculator.js +77 -16
- package/dist/utils/scoreCalculator.js.map +1 -1
- package/docs/GUIDE.md +36 -6
- package/docs/demos/projscan-4-1-demo.html +8 -8
- package/docs/demos/projscan-mission-control.tape +2 -2
- package/docs/demos/projscan-mission-proof.tape +9 -5
- package/docs/projscan-mission-control.gif +0 -0
- package/docs/projscan-mission-control.png +0 -0
- package/docs/projscan-mission-proof.gif +0 -0
- package/docs/projscan-proof-router.png +0 -0
- package/package.json +1 -1
package/dist/core/dogfood.d.ts
CHANGED
package/dist/core/dogfood.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { resolveDogfoodRepos } from './dogfoodDiscovery.js';
|
|
2
3
|
import { MIN_REPEAT_FEEDBACK_PRS, MIN_REPEAT_FEEDBACK_REPOS } from './feedback.js';
|
|
3
4
|
import { computeEvidencePack } from './releaseEvidence.js';
|
|
4
5
|
import { computeStartReport } from './start.js';
|
|
@@ -17,7 +18,8 @@ const MIN_USEFUL_REVIEWER_RESPONSES = 3;
|
|
|
17
18
|
const MIN_AVERAGE_MINUTES_SAVED = 10;
|
|
18
19
|
export async function computeDogfoodReport(rootPath, options = {}) {
|
|
19
20
|
const targetRepoCount = normalizeTargetRepoCount(options.targetRepoCount);
|
|
20
|
-
const
|
|
21
|
+
const repoResolution = await resolveDogfoodRepos(rootPath, options, targetRepoCount);
|
|
22
|
+
const repos = repoResolution.repos;
|
|
21
23
|
const feedback = normalizeFeedback(options.feedback);
|
|
22
24
|
const results = await Promise.all(repos.map((repoPath) => evaluateRepo(repoPath, feedback)));
|
|
23
25
|
const totals = summarizeTotals(results);
|
|
@@ -31,7 +33,8 @@ export async function computeDogfoodReport(rootPath, options = {}) {
|
|
|
31
33
|
repos: results,
|
|
32
34
|
totals,
|
|
33
35
|
marketValidation,
|
|
34
|
-
|
|
36
|
+
...(repoResolution.discovery ? { repoDiscovery: repoResolution.discovery } : {}),
|
|
37
|
+
suggestedNextActions: buildDogfoodActions(results.length, targetRepoCount, marketValidation, repoResolution.discovery, results[0]?.feedbackCaptureCommand),
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
async function evaluateRepo(repoPath, feedback) {
|
|
@@ -46,6 +49,7 @@ async function evaluateRepo(repoPath, feedback) {
|
|
|
46
49
|
(start.adoptionLoop.nextCommands.length ?? 0) >= 3;
|
|
47
50
|
const mcpReady = start.evidence.mcpReady;
|
|
48
51
|
const validation = summarizeRepoFeedback(feedbackForRepo(feedback, repoPath, name));
|
|
52
|
+
const feedbackCaptureCommand = feedbackCaptureCommandForRepo(name);
|
|
49
53
|
const gaps = buildGaps({
|
|
50
54
|
prCommentReady,
|
|
51
55
|
repeatUseReady,
|
|
@@ -65,12 +69,13 @@ async function evaluateRepo(repoPath, feedback) {
|
|
|
65
69
|
gaps,
|
|
66
70
|
feedbackQuestions: [...FEEDBACK_QUESTIONS],
|
|
67
71
|
validation,
|
|
72
|
+
feedbackCaptureCommand,
|
|
68
73
|
nextCommands: [
|
|
69
74
|
'projscan init team --team platform',
|
|
70
75
|
'projscan evidence-pack --pr-comment',
|
|
71
76
|
'projscan preflight --mode before_merge --format json',
|
|
72
77
|
FEEDBACK_INIT_COMMAND,
|
|
73
|
-
|
|
78
|
+
feedbackCaptureCommand,
|
|
74
79
|
DOGFOOD_WITH_FEEDBACK_COMMAND,
|
|
75
80
|
],
|
|
76
81
|
};
|
|
@@ -80,13 +85,19 @@ function normalizeTargetRepoCount(value) {
|
|
|
80
85
|
return DEFAULT_TARGET_REPO_COUNT;
|
|
81
86
|
return Math.max(1, Math.floor(value));
|
|
82
87
|
}
|
|
83
|
-
function normalizeRepos(rootPath, repos) {
|
|
84
|
-
const values = repos && repos.length > 0 ? repos : [rootPath];
|
|
85
|
-
return [...new Set(values.map((value) => path.resolve(rootPath, value)))];
|
|
86
|
-
}
|
|
87
88
|
function normalizeFeedback(input) {
|
|
88
89
|
return Array.isArray(input?.responses) ? input.responses : [];
|
|
89
90
|
}
|
|
91
|
+
function feedbackCaptureCommandForRepo(repoName) {
|
|
92
|
+
return ('projscan feedback add --file .projscan-feedback.json --repo ' +
|
|
93
|
+
shellQuote(repoName) +
|
|
94
|
+
' --pr <url> --reviewer <handle> --useful true --minutes-saved 10');
|
|
95
|
+
}
|
|
96
|
+
function shellQuote(value) {
|
|
97
|
+
if (/^[A-Za-z0-9_./:@%+=,-]+$/.test(value))
|
|
98
|
+
return value;
|
|
99
|
+
return "'" + value.replace(/'/g, "'\\''") + "'";
|
|
100
|
+
}
|
|
90
101
|
function feedbackForRepo(feedback, repoPath, repoName) {
|
|
91
102
|
const normalizedPath = normalizeMatchValue(repoPath);
|
|
92
103
|
const normalizedName = normalizeMatchValue(repoName);
|
|
@@ -205,6 +216,7 @@ function buildMarketValidation(repos, targetRepoCount) {
|
|
|
205
216
|
preventedBadEdits,
|
|
206
217
|
ready: feedback.minutesSaved.average >= MIN_AVERAGE_MINUTES_SAVED || preventedBadEdits > 0,
|
|
207
218
|
};
|
|
219
|
+
const feedbackCaptureCommand = firstFeedbackCaptureCommand(repos);
|
|
208
220
|
const status = marketStatus({
|
|
209
221
|
targetMet: repoCoverage.targetMet,
|
|
210
222
|
responses: responseCount,
|
|
@@ -214,7 +226,7 @@ function buildMarketValidation(repos, targetRepoCount) {
|
|
|
214
226
|
repeatUseReady: repeatUse.ready,
|
|
215
227
|
});
|
|
216
228
|
const summary = summarizeMarketValidation(status, repoCoverage.evaluated, targetRepoCount, feedback, falsePositive.totalReports, value, repeatUse);
|
|
217
|
-
const proofGates = buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive.totalReports);
|
|
229
|
+
const proofGates = buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive.totalReports, feedbackCaptureCommand);
|
|
218
230
|
const nextProofStep = nextProofStepFromGates(status, proofGates);
|
|
219
231
|
return {
|
|
220
232
|
status,
|
|
@@ -245,7 +257,7 @@ function marketStatus(input) {
|
|
|
245
257
|
return 'needs_tuning';
|
|
246
258
|
return 'proven';
|
|
247
259
|
}
|
|
248
|
-
function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositiveReports) {
|
|
260
|
+
function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositiveReports, feedbackCaptureCommand) {
|
|
249
261
|
const moreRepos = Math.max(0, repoCoverage.target - repoCoverage.evaluated);
|
|
250
262
|
const moreUsefulResponses = Math.max(0, MIN_USEFUL_REVIEWER_RESPONSES - feedback.usefulResponses);
|
|
251
263
|
const moreRepeatedRepos = Math.max(0, repeatUse.requiredRepeatedRepos - repeatUse.repeatedRepos);
|
|
@@ -264,7 +276,7 @@ function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive
|
|
|
264
276
|
summary: feedback.responses > 0
|
|
265
277
|
? `${feedback.responses} reviewer response(s) captured.`
|
|
266
278
|
: 'Capture structured reviewer feedback from the first real PR.',
|
|
267
|
-
command:
|
|
279
|
+
command: feedbackCaptureCommand,
|
|
268
280
|
},
|
|
269
281
|
{
|
|
270
282
|
id: 'useful-feedback',
|
|
@@ -272,7 +284,7 @@ function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive
|
|
|
272
284
|
summary: feedback.usefulResponses >= MIN_USEFUL_REVIEWER_RESPONSES
|
|
273
285
|
? `${feedback.usefulResponses} useful reviewer response(s) captured.`
|
|
274
286
|
: `Collect at least ${moreUsefulResponses} more useful reviewer response(s).`,
|
|
275
|
-
command:
|
|
287
|
+
command: feedbackCaptureCommand,
|
|
276
288
|
},
|
|
277
289
|
{
|
|
278
290
|
id: 'repeat-use',
|
|
@@ -288,7 +300,7 @@ function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive
|
|
|
288
300
|
summary: value.ready
|
|
289
301
|
? `Measured value ready: ${value.averageMinutesSaved} average minutes saved or ${value.preventedBadEdits} risky edit(s) prevented.`
|
|
290
302
|
: 'Record 10+ average minutes saved or at least one prevented risky edit.',
|
|
291
|
-
command:
|
|
303
|
+
command: feedbackCaptureCommand,
|
|
292
304
|
},
|
|
293
305
|
{
|
|
294
306
|
id: 'false-positive-balance',
|
|
@@ -300,6 +312,9 @@ function buildProofGates(repoCoverage, feedback, value, repeatUse, falsePositive
|
|
|
300
312
|
},
|
|
301
313
|
];
|
|
302
314
|
}
|
|
315
|
+
function firstFeedbackCaptureCommand(repos) {
|
|
316
|
+
return repos.find((repo) => repo.feedbackCaptureCommand)?.feedbackCaptureCommand ?? FEEDBACK_CAPTURE_COMMAND;
|
|
317
|
+
}
|
|
303
318
|
function nextProofStepFromGates(status, proofGates) {
|
|
304
319
|
if (status === 'proven')
|
|
305
320
|
return 'Adoption proof is ready for public claims.';
|
|
@@ -394,29 +409,36 @@ function summarizeDogfood(reposEvaluated, targetRepoCount, totals, marketValidat
|
|
|
394
409
|
' repeat-use loops ready; validation=' +
|
|
395
410
|
marketValidation.status);
|
|
396
411
|
}
|
|
397
|
-
function buildDogfoodActions(reposEvaluated, targetRepoCount, marketValidation) {
|
|
412
|
+
function buildDogfoodActions(reposEvaluated, targetRepoCount, marketValidation, repoDiscovery, firstFeedbackCaptureCommand) {
|
|
413
|
+
const feedbackCaptureCommand = firstFeedbackCaptureCommand ?? FEEDBACK_CAPTURE_COMMAND;
|
|
398
414
|
const actions = [
|
|
399
415
|
{
|
|
400
416
|
label: 'Run dogfood against a real team repo',
|
|
401
417
|
command: 'projscan dogfood --repo <path-to-repo> --format json',
|
|
402
418
|
},
|
|
419
|
+
{
|
|
420
|
+
label: 'Generate first-PR evidence for review',
|
|
421
|
+
command: 'projscan evidence-pack --pr-comment',
|
|
422
|
+
},
|
|
403
423
|
{
|
|
404
424
|
label: 'Initialize structured reviewer feedback',
|
|
405
425
|
command: FEEDBACK_INIT_COMMAND,
|
|
406
426
|
},
|
|
407
427
|
{
|
|
408
|
-
label: 'Capture
|
|
409
|
-
command:
|
|
428
|
+
label: 'Capture reviewer feedback as structured evidence',
|
|
429
|
+
command: feedbackCaptureCommand,
|
|
410
430
|
},
|
|
411
431
|
{
|
|
412
432
|
label: 'Roll feedback into dogfood validation',
|
|
413
433
|
command: DOGFOOD_WITH_FEEDBACK_COMMAND,
|
|
414
434
|
},
|
|
415
|
-
{
|
|
416
|
-
label: 'Capture first PR feedback',
|
|
417
|
-
command: 'projscan evidence-pack --pr-comment',
|
|
418
|
-
},
|
|
419
435
|
];
|
|
436
|
+
if (repoDiscovery) {
|
|
437
|
+
actions.unshift({
|
|
438
|
+
label: 'Repeat local repo discovery for dogfood validation',
|
|
439
|
+
command: repoDiscovery.command,
|
|
440
|
+
});
|
|
441
|
+
}
|
|
420
442
|
if (reposEvaluated < targetRepoCount) {
|
|
421
443
|
actions.unshift({
|
|
422
444
|
label: 'Add ' +
|
|
@@ -428,7 +450,7 @@ function buildDogfoodActions(reposEvaluated, targetRepoCount, marketValidation)
|
|
|
428
450
|
if (marketValidation.status === 'needs_feedback') {
|
|
429
451
|
actions.unshift({
|
|
430
452
|
label: 'Ask real reviewers for first-PR usefulness feedback',
|
|
431
|
-
command:
|
|
453
|
+
command: feedbackCaptureCommand,
|
|
432
454
|
});
|
|
433
455
|
}
|
|
434
456
|
if (marketValidation.status === 'needs_tuning') {
|
package/dist/core/dogfood.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dogfood.js","sourceRoot":"","sources":["../../src/core/dogfood.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dogfood.js","sourceRoot":"","sources":["../../src/core/dogfood.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DogfoodRepoDiscovery } from '../types/dogfood.js';
|
|
2
|
+
export declare function resolveDogfoodRepos(rootPath: string, options: {
|
|
3
|
+
repos?: string[];
|
|
4
|
+
discoverRoots?: string[];
|
|
5
|
+
}, targetRepoCount: number): Promise<{
|
|
6
|
+
repos: string[];
|
|
7
|
+
discovery?: DogfoodRepoDiscovery;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
const MAX_DISCOVERY_DEPTH = 2;
|
|
4
|
+
const DISCOVERY_SKIP_DIRS = new Set([
|
|
5
|
+
'.agentflight',
|
|
6
|
+
'.agentloop',
|
|
7
|
+
'.cache',
|
|
8
|
+
'.git',
|
|
9
|
+
'.next',
|
|
10
|
+
'.turbo',
|
|
11
|
+
'.worktrees',
|
|
12
|
+
'build',
|
|
13
|
+
'coverage',
|
|
14
|
+
'dist',
|
|
15
|
+
'node_modules',
|
|
16
|
+
]);
|
|
17
|
+
export async function resolveDogfoodRepos(rootPath, options, targetRepoCount) {
|
|
18
|
+
const explicitRepos = normalizePaths(rootPath, options.repos ?? []);
|
|
19
|
+
if (!options.discoverRoots || options.discoverRoots.length === 0) {
|
|
20
|
+
return { repos: explicitRepos.length > 0 ? explicitRepos : [path.resolve(rootPath)] };
|
|
21
|
+
}
|
|
22
|
+
const roots = normalizePaths(rootPath, options.discoverRoots);
|
|
23
|
+
const candidates = await discoverDogfoodCandidates(roots, rootPath);
|
|
24
|
+
const selectedExtras = selectDiscoveredRepos(candidates, explicitRepos, rootPath, targetRepoCount);
|
|
25
|
+
const selected = uniquePaths([...explicitRepos, ...selectedExtras]);
|
|
26
|
+
const fallbackRepos = selected.length > 0 ? selected : [path.resolve(rootPath)];
|
|
27
|
+
return {
|
|
28
|
+
repos: fallbackRepos,
|
|
29
|
+
discovery: {
|
|
30
|
+
roots,
|
|
31
|
+
candidates,
|
|
32
|
+
selected: fallbackRepos,
|
|
33
|
+
targetRepoCount,
|
|
34
|
+
missingRepoCount: Math.max(0, targetRepoCount - fallbackRepos.length),
|
|
35
|
+
command: dogfoodDiscoveryCommand(roots, targetRepoCount),
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function normalizePaths(rootPath, values) {
|
|
40
|
+
return [...new Set(values.map((value) => path.resolve(rootPath, value)))];
|
|
41
|
+
}
|
|
42
|
+
async function discoverDogfoodCandidates(roots, rootPath) {
|
|
43
|
+
const candidates = new Set();
|
|
44
|
+
for (const root of roots)
|
|
45
|
+
await collectDogfoodCandidates(root, candidates, 0);
|
|
46
|
+
return orderDiscoveredRepos([...candidates], rootPath);
|
|
47
|
+
}
|
|
48
|
+
async function collectDogfoodCandidates(directory, candidates, depth) {
|
|
49
|
+
if (depth > MAX_DISCOVERY_DEPTH)
|
|
50
|
+
return;
|
|
51
|
+
if (depth > 0 && shouldSkipDiscoveryDirectory(path.basename(directory)))
|
|
52
|
+
return;
|
|
53
|
+
if (await hasPackageJson(directory)) {
|
|
54
|
+
candidates.add(directory);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const entries = await fs.readdir(directory, { withFileTypes: true }).catch(() => []);
|
|
58
|
+
for (const entry of entries) {
|
|
59
|
+
if (!entry.isDirectory() || shouldSkipDiscoveryDirectory(entry.name))
|
|
60
|
+
continue;
|
|
61
|
+
await collectDogfoodCandidates(path.join(directory, entry.name), candidates, depth + 1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function hasPackageJson(directory) {
|
|
65
|
+
try {
|
|
66
|
+
const stat = await fs.stat(path.join(directory, 'package.json'));
|
|
67
|
+
return stat.isFile();
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function shouldSkipDiscoveryDirectory(name) {
|
|
74
|
+
return DISCOVERY_SKIP_DIRS.has(name) || name.startsWith('.');
|
|
75
|
+
}
|
|
76
|
+
function selectDiscoveredRepos(candidates, explicitRepos, rootPath, targetRepoCount) {
|
|
77
|
+
const explicit = new Set(explicitRepos.map(normalizeMatchValue));
|
|
78
|
+
const slots = Math.max(0, targetRepoCount - explicitRepos.length);
|
|
79
|
+
return orderDiscoveredRepos(candidates.filter((candidate) => !explicit.has(normalizeMatchValue(candidate))), rootPath).slice(0, slots);
|
|
80
|
+
}
|
|
81
|
+
function orderDiscoveredRepos(repos, rootPath) {
|
|
82
|
+
const normalizedRoot = normalizeMatchValue(path.resolve(rootPath));
|
|
83
|
+
return uniquePaths(repos).sort((a, b) => {
|
|
84
|
+
const rank = discoveryRank(a, normalizedRoot) - discoveryRank(b, normalizedRoot);
|
|
85
|
+
return rank !== 0 ? rank : a.localeCompare(b);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function discoveryRank(repoPath, normalizedRoot) {
|
|
89
|
+
return normalizeMatchValue(repoPath) === normalizedRoot ? 0 : 1;
|
|
90
|
+
}
|
|
91
|
+
function uniquePaths(values) {
|
|
92
|
+
const seen = new Set();
|
|
93
|
+
const result = [];
|
|
94
|
+
for (const value of values) {
|
|
95
|
+
const normalized = normalizeMatchValue(value);
|
|
96
|
+
if (seen.has(normalized))
|
|
97
|
+
continue;
|
|
98
|
+
seen.add(normalized);
|
|
99
|
+
result.push(value);
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
function dogfoodDiscoveryCommand(roots, targetRepoCount) {
|
|
104
|
+
return [
|
|
105
|
+
'projscan dogfood',
|
|
106
|
+
...roots.map((root) => '--discover ' + shellQuote(root)),
|
|
107
|
+
'--target-repos ' + targetRepoCount,
|
|
108
|
+
'--format json',
|
|
109
|
+
].join(' ');
|
|
110
|
+
}
|
|
111
|
+
function shellQuote(value) {
|
|
112
|
+
if (/^[A-Za-z0-9_./:@%+=,-]+$/.test(value))
|
|
113
|
+
return value;
|
|
114
|
+
return "'" + value.replace(/'/g, "'\\''") + "'";
|
|
115
|
+
}
|
|
116
|
+
function normalizeMatchValue(value) {
|
|
117
|
+
return value.replace(/\\/g, '/').replace(/\/$/, '').trim().toLowerCase();
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=dogfoodDiscovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dogfoodDiscovery.js","sourceRoot":"","sources":["../../src/core/dogfoodDiscovery.ts"],"names":[],"mappings":"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"}
|
package/dist/core/feedback.js
CHANGED
|
@@ -64,6 +64,7 @@ export function classifyFeedbackIntake(rawText) {
|
|
|
64
64
|
const taskTitle = taskTitleFor(category, signal);
|
|
65
65
|
const suggestedCommand = commandFor(category, signal);
|
|
66
66
|
const summary = summaryFor(category, signal);
|
|
67
|
+
const agentloopTaskCommand = agentloopCommandFor(category, taskTitle, summary, suggestedCommand);
|
|
67
68
|
return {
|
|
68
69
|
schemaVersion: FEEDBACK_ARTIFACT_VERSION,
|
|
69
70
|
category,
|
|
@@ -72,9 +73,9 @@ export function classifyFeedbackIntake(rawText) {
|
|
|
72
73
|
evidence: evidenceFor(category, lower),
|
|
73
74
|
taskTitle,
|
|
74
75
|
suggestedCommand,
|
|
75
|
-
nextCommand:
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
nextCommand: agentloopTaskCommand,
|
|
77
|
+
agentloopTaskCommand,
|
|
78
|
+
followUpCommands: [agentloopTaskCommand, suggestedCommand],
|
|
78
79
|
feedbackResponse: feedbackResponseFor(category, signal, summary),
|
|
79
80
|
};
|
|
80
81
|
}
|
|
@@ -142,6 +143,10 @@ function toStoredFeedback(template) {
|
|
|
142
143
|
};
|
|
143
144
|
}
|
|
144
145
|
function classifyCategory(text) {
|
|
146
|
+
if (/\b(?:npm|npx|install|installed|global|globally)\b/.test(text) &&
|
|
147
|
+
/allow[- ]scripts?|install scripts?|node-gyp-build|tree-sitter/.test(text)) {
|
|
148
|
+
return 'install_warning';
|
|
149
|
+
}
|
|
145
150
|
if (/\bfalse[- ]positive\b|incorrectly flag|wrongly flag|flagged unused|reported unused|not actually unused/.test(text)) {
|
|
146
151
|
return 'false_positive';
|
|
147
152
|
}
|
|
@@ -157,6 +162,9 @@ function classifyCategory(text) {
|
|
|
157
162
|
/confusing|unclear|bigger than|overclaim|overstate|sounds bigger|not demonstrated/.test(text)) {
|
|
158
163
|
return 'confusing_docs_output';
|
|
159
164
|
}
|
|
165
|
+
if (/feature breadth|breadth|too many features|feature[s]?.*without.*workflow|killer workflow|killer workflows|trusted daily|trust daily|daily workflow|daily workflows/.test(text)) {
|
|
166
|
+
return 'workflow_focus';
|
|
167
|
+
}
|
|
160
168
|
if (/\buseful\b|saved .*minute|prevented|caught|helped|trusted|clear next/.test(text)) {
|
|
161
169
|
return 'useful_signal';
|
|
162
170
|
}
|
|
@@ -193,10 +201,21 @@ function primarySignal(category, text) {
|
|
|
193
201
|
return 'Remix';
|
|
194
202
|
return 'framework request source';
|
|
195
203
|
}
|
|
204
|
+
if (category === 'install_warning') {
|
|
205
|
+
if (/allow[- ]scripts?/.test(text))
|
|
206
|
+
return 'npm allow-scripts';
|
|
207
|
+
if (/node-gyp-build|install scripts?/.test(text))
|
|
208
|
+
return 'native install scripts';
|
|
209
|
+
if (/tree-sitter/.test(text))
|
|
210
|
+
return 'tree-sitter install warning';
|
|
211
|
+
return 'npm install warning';
|
|
212
|
+
}
|
|
196
213
|
if (category === 'noisy_caution')
|
|
197
214
|
return 'caution';
|
|
198
215
|
if (category === 'confusing_docs_output')
|
|
199
216
|
return 'docs/output';
|
|
217
|
+
if (category === 'workflow_focus')
|
|
218
|
+
return 'workflow focus';
|
|
200
219
|
if (category === 'useful_signal')
|
|
201
220
|
return 'useful workflow';
|
|
202
221
|
return 'unclassified feedback';
|
|
@@ -208,7 +227,9 @@ function confidenceFor(category, text) {
|
|
|
208
227
|
/\bfalse[- ]positive\b/,
|
|
209
228
|
/unused[- ]exports?/,
|
|
210
229
|
/\bcaution\b.*(?:noise|noisy|background)|(?:noise|noisy|background).*\bcaution\b/,
|
|
230
|
+
/allow[- ]scripts?|node-gyp-build|tree-sitter/,
|
|
211
231
|
/ctx\.request|app router|route handler|middleware/,
|
|
232
|
+
/feature breadth|killer workflows?|trust daily|daily workflows?/,
|
|
212
233
|
/saved .*minute|prevented/,
|
|
213
234
|
];
|
|
214
235
|
return strongSignals.some((pattern) => pattern.test(text)) ? 'high' : 'medium';
|
|
@@ -219,10 +240,14 @@ function taskTitleFor(category, signal) {
|
|
|
219
240
|
return 'Fix false-positive feedback: ' + signal;
|
|
220
241
|
case 'noisy_caution':
|
|
221
242
|
return 'Reduce noisy caution output';
|
|
243
|
+
case 'install_warning':
|
|
244
|
+
return 'Fix install warning feedback: ' + signal;
|
|
222
245
|
case 'missing_framework_rule':
|
|
223
246
|
return 'Add missing framework rule: ' + signal;
|
|
224
247
|
case 'confusing_docs_output':
|
|
225
248
|
return 'Clarify confusing docs or output';
|
|
249
|
+
case 'workflow_focus':
|
|
250
|
+
return 'Focus feature breadth into trusted daily workflows';
|
|
226
251
|
case 'useful_signal':
|
|
227
252
|
return 'Preserve useful feedback signal';
|
|
228
253
|
case 'uncategorized':
|
|
@@ -238,10 +263,14 @@ function commandFor(category, signal) {
|
|
|
238
263
|
return 'npm test -- tests/analyzers tests/core/importGraph.test.ts';
|
|
239
264
|
case 'noisy_caution':
|
|
240
265
|
return 'npm test -- tests/core/preflight*.test.ts tests/core/releaseEvidence.test.ts';
|
|
266
|
+
case 'install_warning':
|
|
267
|
+
return 'npm test -- tests/integration/packSmokeTest.test.ts';
|
|
241
268
|
case 'missing_framework_rule':
|
|
242
269
|
return 'npm test -- tests/core/dataflow.test.ts tests/analyzers/securityCheck.test.ts';
|
|
243
270
|
case 'confusing_docs_output':
|
|
244
271
|
return 'npm test -- tests/docs tests/cli/startConsoleGuidance.test.ts';
|
|
272
|
+
case 'workflow_focus':
|
|
273
|
+
return 'npm test -- tests/core/start*.test.ts tests/docs/startRoutingDocs.test.ts';
|
|
245
274
|
case 'useful_signal':
|
|
246
275
|
return 'projscan feedback summary --file .projscan-feedback.json --format json';
|
|
247
276
|
case 'uncategorized':
|
|
@@ -254,10 +283,14 @@ function summaryFor(category, signal) {
|
|
|
254
283
|
return 'Classified as false-positive feedback for ' + signal + '.';
|
|
255
284
|
case 'noisy_caution':
|
|
256
285
|
return 'Classified as caution noise that should be ranked or grouped.';
|
|
286
|
+
case 'install_warning':
|
|
287
|
+
return 'Classified as setup/install warning feedback for ' + signal + '.';
|
|
257
288
|
case 'missing_framework_rule':
|
|
258
289
|
return 'Classified as missing framework coverage for ' + signal + '.';
|
|
259
290
|
case 'confusing_docs_output':
|
|
260
291
|
return 'Classified as confusing docs or output wording.';
|
|
292
|
+
case 'workflow_focus':
|
|
293
|
+
return 'Classified as workflow-focus feedback about breadth versus trusted daily use.';
|
|
261
294
|
case 'useful_signal':
|
|
262
295
|
return 'Classified as a useful workflow signal to preserve.';
|
|
263
296
|
case 'uncategorized':
|
|
@@ -272,12 +305,22 @@ function evidenceFor(category, text) {
|
|
|
272
305
|
evidence.push('unused-exports signal');
|
|
273
306
|
if (/caution|warning/.test(text))
|
|
274
307
|
evidence.push('caution wording');
|
|
308
|
+
if (/\b(?:npm|npx|install|installed|global|globally)\b/.test(text))
|
|
309
|
+
evidence.push('npm install wording');
|
|
310
|
+
if (/allow[- ]scripts?/.test(text))
|
|
311
|
+
evidence.push('allow-scripts warning');
|
|
312
|
+
if (/node-gyp-build|tree-sitter/.test(text))
|
|
313
|
+
evidence.push('native grammar install wording');
|
|
275
314
|
if (/noise|noisy|background/.test(text))
|
|
276
315
|
evidence.push('noise wording');
|
|
277
316
|
if (/koa|hono|fastify|express|next\.?js|sveltekit|astro|remix/.test(text))
|
|
278
317
|
evidence.push('framework wording');
|
|
279
318
|
if (/docs|readme|output|wording|message/.test(text))
|
|
280
319
|
evidence.push('docs/output wording');
|
|
320
|
+
if (/feature breadth|breadth|too many features/.test(text))
|
|
321
|
+
evidence.push('feature breadth wording');
|
|
322
|
+
if (/killer workflows?|daily workflows?|trust daily|trusted daily/.test(text))
|
|
323
|
+
evidence.push('trusted workflow wording');
|
|
281
324
|
if (/useful|saved .*minute|prevented|caught|helped/.test(text))
|
|
282
325
|
evidence.push('usefulness wording');
|
|
283
326
|
if (evidence.length === 0)
|
|
@@ -297,12 +340,37 @@ function feedbackResponseFor(category, signal, summary) {
|
|
|
297
340
|
response.missingSignals = [signal];
|
|
298
341
|
if (category === 'noisy_caution')
|
|
299
342
|
response.noisyFindings = [signal];
|
|
343
|
+
if (category === 'install_warning')
|
|
344
|
+
response.noisyFindings = [signal];
|
|
300
345
|
if (category === 'confusing_docs_output')
|
|
301
346
|
response.noisyFindings = [signal];
|
|
347
|
+
if (category === 'workflow_focus')
|
|
348
|
+
response.noisyFindings = [signal];
|
|
302
349
|
return response;
|
|
303
350
|
}
|
|
304
|
-
function
|
|
305
|
-
|
|
351
|
+
function agentloopCommandFor(category, taskTitle, summary, suggestedCommand) {
|
|
352
|
+
const taskType = category === 'useful_signal' ? 'tests' : 'bugfix';
|
|
353
|
+
const problem = 'Reviewer feedback classified as ' +
|
|
354
|
+
category +
|
|
355
|
+
': ' +
|
|
356
|
+
summary +
|
|
357
|
+
' Preserve the raw signal in local feedback evidence and avoid broad product scope.';
|
|
358
|
+
const outcome = category === 'useful_signal'
|
|
359
|
+
? 'Keep the useful workflow covered by focused tests or docs so later changes do not regress it.'
|
|
360
|
+
: 'Reproduce and fix the feedback signal, or document the remaining limitation with focused verification.';
|
|
361
|
+
return [
|
|
362
|
+
'npm exec agentloop -- create-task',
|
|
363
|
+
'--type ' + taskType,
|
|
364
|
+
'--title ' + shellQuote(taskTitle),
|
|
365
|
+
'--problem ' + shellQuote(problem),
|
|
366
|
+
'--outcome ' + shellQuote(outcome),
|
|
367
|
+
'--acceptance ' + shellQuote('The feedback signal is addressed with a focused test or documented as deferred.'),
|
|
368
|
+
'--verify-command ' + shellQuote(suggestedCommand),
|
|
369
|
+
'--rollback ' + shellQuote('Revert the focused feedback fix if verification fails.'),
|
|
370
|
+
].join(' ');
|
|
371
|
+
}
|
|
372
|
+
function shellQuote(value) {
|
|
373
|
+
return "'" + value.replace(/'/g, "'\\''") + "'";
|
|
306
374
|
}
|
|
307
375
|
function normalizeFeedbackInput(input) {
|
|
308
376
|
if (!input || typeof input !== 'object') {
|