agentflight 0.3.3 → 0.4.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.
- package/CHANGELOG.md +71 -0
- package/README.md +42 -10
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +9 -4
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +9 -4
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +10 -3
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +13 -2
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +28 -6
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts +4 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +24 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/core/changed-files.d.ts +4 -0
- package/dist/core/changed-files.d.ts.map +1 -1
- package/dist/core/changed-files.js +56 -0
- package/dist/core/changed-files.js.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +3 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/review-intelligence.d.ts +9 -0
- package/dist/core/review-intelligence.d.ts.map +1 -0
- package/dist/core/review-intelligence.js +413 -0
- package/dist/core/review-intelligence.js.map +1 -0
- package/dist/core/risk.d.ts.map +1 -1
- package/dist/core/risk.js +5 -0
- package/dist/core/risk.js.map +1 -1
- package/dist/renderers/html-replay.d.ts +2 -1
- package/dist/renderers/html-replay.d.ts.map +1 -1
- package/dist/renderers/html-replay.js +37 -0
- package/dist/renderers/html-replay.js.map +1 -1
- package/dist/renderers/markdown-report.d.ts +3 -3
- package/dist/renderers/markdown-report.d.ts.map +1 -1
- package/dist/renderers/markdown-report.js +37 -7
- package/dist/renderers/markdown-report.js.map +1 -1
- package/dist/renderers/resume-prompt.d.ts +4 -1
- package/dist/renderers/resume-prompt.d.ts.map +1 -1
- package/dist/renderers/resume-prompt.js +32 -2
- package/dist/renderers/resume-prompt.js.map +1 -1
- package/dist/types/index.d.ts +40 -1
- package/dist/types/index.d.ts.map +1 -1
- package/docs/assets/agentflight-replay-timeline.png +0 -0
- package/docs/development/changed-file-filters.md +62 -0
- package/docs/{roadmap.md → roadmap/index.md} +5 -0
- package/docs/roadmap/v0.4.0-review-intelligence-plan.md +882 -0
- package/package.json +4 -2
package/dist/core/risk.js
CHANGED
|
@@ -14,6 +14,9 @@ export function categorizeFile(file) {
|
|
|
14
14
|
if (/^\.agentloop\//.test(normalized)) {
|
|
15
15
|
return "docs";
|
|
16
16
|
}
|
|
17
|
+
if (normalized === ".agentflight/config.json") {
|
|
18
|
+
return "agentflight/config";
|
|
19
|
+
}
|
|
17
20
|
if (/(^|\/)(test|tests|__tests__|spec)(\/|$)|\.(test|spec)\.[cm]?[jt]sx?$/.test(normalized)) {
|
|
18
21
|
return "tests";
|
|
19
22
|
}
|
|
@@ -97,6 +100,8 @@ function buildReasons(categories, level) {
|
|
|
97
100
|
reasons.push("Database migration files changed.");
|
|
98
101
|
if (present.has("security/secrets"))
|
|
99
102
|
reasons.push("Secret or credential-adjacent files changed.");
|
|
103
|
+
if (present.has("agentflight/config"))
|
|
104
|
+
reasons.push("AgentFlight project configuration changed.");
|
|
100
105
|
if (present.has("config"))
|
|
101
106
|
reasons.push("Configuration or CI files changed.");
|
|
102
107
|
if (present.has("backend/api"))
|
package/dist/core/risk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../../src/core/risk.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAe;IAC/C,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,kBAAkB;IAClB,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAEpF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5D,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,sEAAsE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,wCAAwC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,oEAAoE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,6DAA6D,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,qEAAqE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3F,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,IAAI,oDAAoD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IACE,sEAAsE,CAAC,IAAI,CAAC,UAAU,CAAC;QACvF,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,EAClD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IACE,mDAAmD,CAAC,IAAI,CAAC,UAAU,CAAC;QACpE,wEAAwE,CAAC,IAAI,CAAC,UAAU,CAAC,EACzF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,oEAAoE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1F,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,qDAAqD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3E,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,CAAC,gCAAgC,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAA0B,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAClE,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,QAAQ;QACR,KAAK,EAAE,aAAa;KACrB,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO;QACL,KAAK;QACL,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,UAAU;QACV,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAiC;IAC3D,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1F,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9F,IACE,UAAU,CAAC,KAAK,CACd,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,KAAK,MAAM;QAC3B,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,OAAO,CAAC,QAAQ,KAAK,UAAU,CAClC,EACD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,UAAiC,EAAE,KAAgB;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAEzF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,KAAK,KAAK,KAAK;YACb,CAAC,CAAC,0DAA0D;YAC5D,CAAC,CAAC,2CAA2C,CAChD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../../src/core/risk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RiskCategorySummary, SessionEvent, VerificationRun } from "../types/index.js";
|
|
1
|
+
import type { ReviewIntelligence, RiskCategorySummary, SessionEvent, VerificationRun } from "../types/index.js";
|
|
2
2
|
export type ReplayTimelineItem = Pick<SessionEvent, "type" | "timestamp" | "title" | "message" | "metadata">;
|
|
3
3
|
export interface HtmlReplayInput {
|
|
4
4
|
task: string;
|
|
@@ -10,6 +10,7 @@ export interface HtmlReplayInput {
|
|
|
10
10
|
riskBadges: string[];
|
|
11
11
|
verificationEvidence: VerificationRun[];
|
|
12
12
|
reviewReadiness?: string | undefined;
|
|
13
|
+
review?: ReviewIntelligence | undefined;
|
|
13
14
|
recommendation: string;
|
|
14
15
|
}
|
|
15
16
|
export declare function renderHtmlReplay(input: HtmlReplayInput): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-replay.d.ts","sourceRoot":"","sources":["../../src/renderers/html-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"html-replay.d.ts","sourceRoot":"","sources":["../../src/renderers/html-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,YAAY,EACZ,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CACxD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IACtD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,eAAe,EAAE,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA6J/D"}
|
|
@@ -111,6 +111,8 @@ export function renderHtmlReplay(input) {
|
|
|
111
111
|
|
|
112
112
|
${renderSummary(input)}
|
|
113
113
|
|
|
114
|
+
${renderReview(input.review)}
|
|
115
|
+
|
|
114
116
|
<section class="section">
|
|
115
117
|
<div class="section-header">
|
|
116
118
|
<h2>Timeline</h2>
|
|
@@ -183,6 +185,41 @@ function renderTimeline(items) {
|
|
|
183
185
|
</div>`)
|
|
184
186
|
.join("")}</div>`;
|
|
185
187
|
}
|
|
188
|
+
function renderReview(review) {
|
|
189
|
+
if (!review)
|
|
190
|
+
return "";
|
|
191
|
+
return `<section class="section">
|
|
192
|
+
<div class="section-header">
|
|
193
|
+
<h2>Review Focus</h2>
|
|
194
|
+
<div class="meta">${escapeHtml(String(review.focus.length))} files</div>
|
|
195
|
+
</div>
|
|
196
|
+
${renderReviewFocus(review.focus)}
|
|
197
|
+
<div class="section-header" style="margin-top: 22px;">
|
|
198
|
+
<h2>Proof Gaps</h2>
|
|
199
|
+
<div class="meta">${escapeHtml(String(review.proofGaps.length))} gaps</div>
|
|
200
|
+
</div>
|
|
201
|
+
${renderProofGaps(review.proofGaps)}
|
|
202
|
+
<div class="recommendation" style="margin-top: 16px;">
|
|
203
|
+
<strong>${escapeHtml(review.readiness.label)}</strong><br>
|
|
204
|
+
${escapeHtml(review.readiness.reason)}<br>
|
|
205
|
+
Next: ${escapeHtml(review.readiness.nextAction)}
|
|
206
|
+
</div>
|
|
207
|
+
</section>`;
|
|
208
|
+
}
|
|
209
|
+
function renderReviewFocus(items) {
|
|
210
|
+
if (items.length === 0)
|
|
211
|
+
return "<p>No changed files to review.</p>";
|
|
212
|
+
return `<div class="file-groups">${items
|
|
213
|
+
.map((item) => `<div class="file-group"><div class="file-category">#${escapeHtml(String(item.rank))} ${escapeHtml(item.category)}</div><div><code>${escapeHtml(item.file)}</code><div class="meta">${escapeHtml(item.reasons.join("; "))}</div><div class="meta">${escapeHtml(item.suggestedReviewerFocus)}</div>${item.suggestedCommand ? `<div class="meta">Suggested proof: <code>${escapeHtml(item.suggestedCommand)}</code></div>` : ""}</div></div>`)
|
|
214
|
+
.join("")}</div>`;
|
|
215
|
+
}
|
|
216
|
+
function renderProofGaps(gaps) {
|
|
217
|
+
if (gaps.length === 0)
|
|
218
|
+
return "<p>No proof gaps detected.</p>";
|
|
219
|
+
return `<ul>${gaps
|
|
220
|
+
.map((gap) => `<li><strong>${escapeHtml(gap.severity)}</strong>: ${escapeHtml(gap.message)}${gap.suggestedCommand ? ` <code>agentflight verify -- ${escapeHtml(gap.suggestedCommand)}</code>` : ""}</li>`)
|
|
221
|
+
.join("")}</ul>`;
|
|
222
|
+
}
|
|
186
223
|
function renderFileGroups(groups) {
|
|
187
224
|
if (groups.length === 0)
|
|
188
225
|
return "<p>No changed file groups detected.</p>";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-replay.js","sourceRoot":"","sources":["../../src/renderers/html-replay.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"html-replay.js","sourceRoot":"","sources":["../../src/renderers/html-replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { RiskAnalysis, SessionEvent, ToolAdapterResult, VerificationRun } from "../types/index.js";
|
|
2
|
-
import type { ReviewReadiness } from "../core/verification.js";
|
|
1
|
+
import type { ReviewIntelligence, RiskAnalysis, SessionEvent, ToolAdapterResult, VerificationRun } from "../types/index.js";
|
|
3
2
|
export interface MarkdownReportInput {
|
|
4
3
|
task: string;
|
|
5
4
|
sessionId: string;
|
|
@@ -10,8 +9,9 @@ export interface MarkdownReportInput {
|
|
|
10
9
|
verificationCommands: string[];
|
|
11
10
|
verificationEvidence: VerificationRun[];
|
|
12
11
|
verificationGaps?: string[] | undefined;
|
|
13
|
-
recommendation?:
|
|
12
|
+
recommendation?: string | undefined;
|
|
14
13
|
nextAction?: string | undefined;
|
|
14
|
+
review?: ReviewIntelligence | undefined;
|
|
15
15
|
tooling: {
|
|
16
16
|
projscan: ToolAdapterResult;
|
|
17
17
|
agentloopkit: ToolAdapterResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-report.d.ts","sourceRoot":"","sources":["../../src/renderers/markdown-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-report.d.ts","sourceRoot":"","sources":["../../src/renderers/markdown-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,eAAe,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE;QACP,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,YAAY,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CA6CvE"}
|
|
@@ -22,8 +22,14 @@ ${renderList(input.risk.reasons)}
|
|
|
22
22
|
## Verification Evidence
|
|
23
23
|
${renderVerification(input)}
|
|
24
24
|
|
|
25
|
-
## Review
|
|
26
|
-
${
|
|
25
|
+
## Review First
|
|
26
|
+
${renderReviewFirst(input)}
|
|
27
|
+
|
|
28
|
+
## Proof Gaps
|
|
29
|
+
${renderProofGaps(input)}
|
|
30
|
+
|
|
31
|
+
## Review Readiness
|
|
32
|
+
${renderReviewReadiness(input)}
|
|
27
33
|
|
|
28
34
|
## Recommendation
|
|
29
35
|
${renderRecommendation(input)}
|
|
@@ -46,7 +52,7 @@ function renderVerification(input) {
|
|
|
46
52
|
const commands = input.verificationCommands.length
|
|
47
53
|
? `\n\nSuggested commands:\n${renderList(input.verificationCommands)}`
|
|
48
54
|
: "";
|
|
49
|
-
const gaps = input.verificationGaps?.length
|
|
55
|
+
const gaps = !input.review && input.verificationGaps?.length
|
|
50
56
|
? `\n\nGaps:\n${renderList(input.verificationGaps)}`
|
|
51
57
|
: "";
|
|
52
58
|
return `No verification evidence recorded.${gaps}${commands}`;
|
|
@@ -54,7 +60,7 @@ function renderVerification(input) {
|
|
|
54
60
|
const evidence = input.verificationEvidence
|
|
55
61
|
.map((run) => `- ${run.command}: ${run.status} (exit ${run.exitCode ?? "unknown"}, ${run.durationMs}ms)\n - stdout: ${run.stdoutPath}\n - stderr: ${run.stderrPath}`)
|
|
56
62
|
.join("\n");
|
|
57
|
-
const gaps = input.verificationGaps?.length
|
|
63
|
+
const gaps = !input.review && input.verificationGaps?.length
|
|
58
64
|
? `\n\nGaps:\n${renderList(input.verificationGaps)}`
|
|
59
65
|
: "";
|
|
60
66
|
return `${evidence}${gaps}`;
|
|
@@ -69,13 +75,37 @@ function renderTimeline(events) {
|
|
|
69
75
|
})
|
|
70
76
|
.join("\n");
|
|
71
77
|
}
|
|
72
|
-
function
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
function renderReviewFirst(input) {
|
|
79
|
+
const focus = input.review?.focus;
|
|
80
|
+
if (focus && focus.length > 0) {
|
|
81
|
+
return focus
|
|
82
|
+
.map((item) => `${item.rank}. ${item.file}\n - Why: ${item.reasons.join("; ")}\n - Focus: ${item.suggestedReviewerFocus}${item.suggestedCommand ? `\n - Suggested proof: ${item.suggestedCommand}` : ""}`)
|
|
83
|
+
.join("\n");
|
|
84
|
+
}
|
|
85
|
+
return input.risk.categories.length
|
|
86
|
+
? input.risk.categories
|
|
75
87
|
.map((summary) => `- ${summary.category}: ${summary.files.join(", ")}`)
|
|
76
88
|
.join("\n")
|
|
77
89
|
: "- Confirm the session has meaningful changes before review.";
|
|
78
90
|
}
|
|
91
|
+
function renderProofGaps(input) {
|
|
92
|
+
if (input.review) {
|
|
93
|
+
return input.review.proofGaps.length
|
|
94
|
+
? input.review.proofGaps
|
|
95
|
+
.map((gap) => `- ${gap.severity}: ${gap.message}${gap.suggestedCommand ? `\n - Suggested proof: agentflight verify -- ${gap.suggestedCommand}` : ""}`)
|
|
96
|
+
.join("\n")
|
|
97
|
+
: "- none";
|
|
98
|
+
}
|
|
99
|
+
return input.verificationGaps?.length ? renderList(input.verificationGaps) : "- none";
|
|
100
|
+
}
|
|
101
|
+
function renderReviewReadiness(input) {
|
|
102
|
+
if (!input.review)
|
|
103
|
+
return input.recommendation ?? "Unknown";
|
|
104
|
+
return `${input.review.readiness.label}
|
|
105
|
+
|
|
106
|
+
Reason: ${input.review.readiness.reason}
|
|
107
|
+
Next action: ${input.review.readiness.nextAction}`;
|
|
108
|
+
}
|
|
79
109
|
function renderRecommendation(input) {
|
|
80
110
|
if (input.recommendation) {
|
|
81
111
|
return `${input.recommendation}.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-report.js","sourceRoot":"","sources":["../../src/renderers/markdown-report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown-report.js","sourceRoot":"","sources":["../../src/renderers/markdown-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RiskLevel } from "../types/index.js";
|
|
1
|
+
import type { ProofGap, ReviewFocusItem, ReviewReadinessDecision, RiskLevel } from "../types/index.js";
|
|
2
2
|
export interface ResumePromptInput {
|
|
3
3
|
task: string;
|
|
4
4
|
sessionId: string;
|
|
@@ -7,6 +7,9 @@ export interface ResumePromptInput {
|
|
|
7
7
|
riskLevel: RiskLevel;
|
|
8
8
|
riskReasons: string[];
|
|
9
9
|
verificationGaps: string[];
|
|
10
|
+
reviewFocus?: ReviewFocusItem[] | undefined;
|
|
11
|
+
proofGaps?: ProofGap[] | undefined;
|
|
12
|
+
readiness?: ReviewReadinessDecision | undefined;
|
|
10
13
|
latestSnapshotNote?: string | undefined;
|
|
11
14
|
verificationState?: string | undefined;
|
|
12
15
|
nextAction: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-prompt.d.ts","sourceRoot":"","sources":["../../src/renderers/resume-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"resume-prompt.d.ts","sourceRoot":"","sources":["../../src/renderers/resume-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA0CnE"}
|
|
@@ -21,8 +21,14 @@ ${input.latestSnapshotNote ?? "No snapshot recorded."}
|
|
|
21
21
|
## Verification State
|
|
22
22
|
${input.verificationState ?? "No verification state recorded."}
|
|
23
23
|
|
|
24
|
-
##
|
|
25
|
-
${
|
|
24
|
+
## Review Focus
|
|
25
|
+
${renderReviewFocus(input.reviewFocus ?? [])}
|
|
26
|
+
|
|
27
|
+
## Proof Gaps
|
|
28
|
+
${renderProofGaps(input)}
|
|
29
|
+
|
|
30
|
+
## Review Readiness
|
|
31
|
+
${renderReadiness(input.readiness)}
|
|
26
32
|
|
|
27
33
|
## Next Recommended Action
|
|
28
34
|
${input.nextAction}
|
|
@@ -38,4 +44,28 @@ ${input.nextAction}
|
|
|
38
44
|
function renderList(items, empty) {
|
|
39
45
|
return items.length ? items.map((item) => `- ${item}`).join("\n") : empty;
|
|
40
46
|
}
|
|
47
|
+
function renderReviewFocus(items) {
|
|
48
|
+
if (items.length === 0)
|
|
49
|
+
return "No review focus recorded.";
|
|
50
|
+
return items
|
|
51
|
+
.map((item) => `${item.rank}. ${item.file}\n - Why: ${item.reasons.join("; ")}\n - Focus: ${item.suggestedReviewerFocus}${item.suggestedCommand ? `\n - Suggested proof: ${item.suggestedCommand}` : ""}`)
|
|
52
|
+
.join("\n");
|
|
53
|
+
}
|
|
54
|
+
function renderProofGaps(input) {
|
|
55
|
+
if (input.proofGaps) {
|
|
56
|
+
return input.proofGaps.length
|
|
57
|
+
? input.proofGaps
|
|
58
|
+
.map((gap) => `- ${gap.severity}: ${gap.message}${gap.suggestedCommand ? `\n Suggested proof: agentflight verify -- ${gap.suggestedCommand}` : ""}`)
|
|
59
|
+
.join("\n")
|
|
60
|
+
: "No proof gaps recorded.";
|
|
61
|
+
}
|
|
62
|
+
return renderList(input.verificationGaps, "No verification gaps recorded.");
|
|
63
|
+
}
|
|
64
|
+
function renderReadiness(readiness) {
|
|
65
|
+
if (!readiness)
|
|
66
|
+
return "No review readiness recorded.";
|
|
67
|
+
return `${readiness.label}
|
|
68
|
+
- Reason: ${readiness.reason}
|
|
69
|
+
- Next action: ${readiness.nextAction}`;
|
|
70
|
+
}
|
|
41
71
|
//# sourceMappingURL=resume-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-prompt.js","sourceRoot":"","sources":["../../src/renderers/resume-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume-prompt.js","sourceRoot":"","sources":["../../src/renderers/resume-prompt.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,OAAO;;;EAGP,KAAK,CAAC,IAAI;;;aAGC,KAAK,CAAC,SAAS;gBACZ,KAAK,CAAC,MAAM,IAAI,SAAS;gBACzB,KAAK,CAAC,SAAS;;;EAG7B,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,4BAA4B,CAAC;;;EAG5D,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,iCAAiC,CAAC;;;EAGhE,KAAK,CAAC,kBAAkB,IAAI,uBAAuB;;;EAGnD,KAAK,CAAC,iBAAiB,IAAI,iCAAiC;;;EAG5D,iBAAiB,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;;;EAG1C,eAAe,CAAC,KAAK,CAAC;;;EAGtB,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;;;EAGhC,KAAK,CAAC,UAAU;;;;;;;;CAQjB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,KAAa;IAChD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAC3D,OAAO,KAAK;SACT,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,2BAA2B,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnM;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB;IAC/C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM;YAC3B,CAAC,CAAC,KAAK,CAAC,SAAS;iBACZ,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,KAAK,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,8CAA8C,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzI;iBACA,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,yBAAyB,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,SAA8C;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,+BAA+B,CAAC;IACvD,OAAO,GAAG,SAAS,CAAC,KAAK;YACf,SAAS,CAAC,MAAM;iBACX,SAAS,CAAC,UAAU,EAAE,CAAC;AACxC,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -16,6 +16,9 @@ export interface AgentFlightConfig {
|
|
|
16
16
|
verification: {
|
|
17
17
|
commands: string[];
|
|
18
18
|
};
|
|
19
|
+
changedFileFilters?: {
|
|
20
|
+
ignore: string[];
|
|
21
|
+
};
|
|
19
22
|
privacy: {
|
|
20
23
|
localOnly: true;
|
|
21
24
|
telemetry: false;
|
|
@@ -65,7 +68,7 @@ export interface SessionEvent {
|
|
|
65
68
|
message?: string;
|
|
66
69
|
metadata?: Record<string, unknown>;
|
|
67
70
|
}
|
|
68
|
-
export type RiskCategory = "auth" | "billing/payments" | "database/migrations" | "security/secrets" | "config" | "tests" | "docs" | "frontend" | "backend/api" | "dependencies" | "unknown";
|
|
71
|
+
export type RiskCategory = "auth" | "billing/payments" | "database/migrations" | "security/secrets" | "agentflight/config" | "config" | "tests" | "docs" | "frontend" | "backend/api" | "dependencies" | "unknown";
|
|
69
72
|
export type RiskLevel = "low" | "medium" | "high" | "unknown";
|
|
70
73
|
export interface RiskCategorySummary {
|
|
71
74
|
category: RiskCategory;
|
|
@@ -95,6 +98,42 @@ export interface VerificationRun {
|
|
|
95
98
|
stdoutPath: string;
|
|
96
99
|
stderrPath: string;
|
|
97
100
|
}
|
|
101
|
+
export type VerificationProofKind = "test" | "build" | "typecheck" | "lint" | "install" | "unknown";
|
|
102
|
+
export type ReviewReadinessState = "ready_for_review" | "not_ready_for_review" | "needs_verification" | "blocked_by_failed_verification" | "unknown";
|
|
103
|
+
export type ReviewProofStatus = "covered" | "missing" | "failed" | "not_required" | "unknown";
|
|
104
|
+
export interface ReviewFocusItem {
|
|
105
|
+
rank: number;
|
|
106
|
+
file: string;
|
|
107
|
+
category: RiskCategory;
|
|
108
|
+
riskLevel: RiskLevel;
|
|
109
|
+
score: number;
|
|
110
|
+
reasons: string[];
|
|
111
|
+
suggestedReviewerFocus: string;
|
|
112
|
+
proofStatus: ReviewProofStatus;
|
|
113
|
+
suggestedCommand?: string;
|
|
114
|
+
relatedProofGapIds: string[];
|
|
115
|
+
}
|
|
116
|
+
export interface ProofGap {
|
|
117
|
+
id: string;
|
|
118
|
+
severity: "info" | "warning" | "blocking";
|
|
119
|
+
message: string;
|
|
120
|
+
suggestedCommand?: string;
|
|
121
|
+
relatedFiles: string[];
|
|
122
|
+
}
|
|
123
|
+
export interface ReviewReadinessDecision {
|
|
124
|
+
state: ReviewReadinessState;
|
|
125
|
+
label: string;
|
|
126
|
+
reason: string;
|
|
127
|
+
nextAction: string;
|
|
128
|
+
suggestedCommand?: string;
|
|
129
|
+
proofGaps: ProofGap[];
|
|
130
|
+
failedVerificationSummary?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface ReviewIntelligence {
|
|
133
|
+
focus: ReviewFocusItem[];
|
|
134
|
+
proofGaps: ProofGap[];
|
|
135
|
+
readiness: ReviewReadinessDecision;
|
|
136
|
+
}
|
|
98
137
|
export interface VerificationEvidence {
|
|
99
138
|
command: string;
|
|
100
139
|
status: "pass" | "fail" | "not-run";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Changed-File Filters
|
|
2
|
+
|
|
3
|
+
AgentFlight keeps changed-file analysis local and deterministic. It reads git status, filters its own runtime artifacts, applies optional project filters, and then computes risk, review focus, proof gaps, reports, replays, resumes, and snapshots from the remaining files.
|
|
4
|
+
|
|
5
|
+
## Always-On Runtime Filters
|
|
6
|
+
|
|
7
|
+
AgentFlight always excludes its own runtime artifacts:
|
|
8
|
+
|
|
9
|
+
- `.agentflight/sessions/**`
|
|
10
|
+
- `.agentflight/reports/**`
|
|
11
|
+
- `.agentflight/current/**`
|
|
12
|
+
- `.agentflight/evidence/**`
|
|
13
|
+
|
|
14
|
+
These files are evidence and generated session data. Including them would make AgentFlight pollute its own risk and review output.
|
|
15
|
+
|
|
16
|
+
`.agentflight/config.json` stays visible because it is user-controlled project configuration and may be intentionally committed.
|
|
17
|
+
|
|
18
|
+
AgentFlight classifies `.agentflight/config.json` as AgentFlight project config. It remains reviewable without being treated as an unknown file.
|
|
19
|
+
|
|
20
|
+
## Project Filters
|
|
21
|
+
|
|
22
|
+
Use `.agentflight/config.json` to hide generated or internal files that should not affect review intelligence:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"changedFileFilters": {
|
|
27
|
+
"ignore": [".projscan-memory/**"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
You can add other local patterns when they match your repo policy:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"changedFileFilters": {
|
|
37
|
+
"ignore": [".projscan-memory/**", "coverage/**", "dist/**", ".next/**"]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Ignored files do not appear in:
|
|
43
|
+
|
|
44
|
+
- `agentflight status`
|
|
45
|
+
- `agentflight report`
|
|
46
|
+
- `agentflight replay`
|
|
47
|
+
- `agentflight resume`
|
|
48
|
+
- `agentflight snapshot` risk and review summaries
|
|
49
|
+
|
|
50
|
+
Keep filters conservative. Do not ignore generated files that reviewers are expected to inspect.
|
|
51
|
+
|
|
52
|
+
If `.projscan-memory/memory.json` appears in changed-file analysis, AgentFlight will suggest adding `.projscan-memory/**` here. It does not ignore that path by default because some teams may want generated tool state to remain visible.
|
|
53
|
+
|
|
54
|
+
## Supported Pattern Shape
|
|
55
|
+
|
|
56
|
+
The MVP filter supports:
|
|
57
|
+
|
|
58
|
+
- exact paths, such as `.projscan-memory/memory.json`
|
|
59
|
+
- directory prefixes ending with `/**`, such as `.projscan-memory/**`
|
|
60
|
+
- simple basename wildcards, such as `*.log`
|
|
61
|
+
|
|
62
|
+
Malformed or empty patterns are ignored rather than crashing the CLI.
|
|
@@ -13,12 +13,17 @@
|
|
|
13
13
|
- Defensive ProjScan and AgentLoopKit adapters.
|
|
14
14
|
- Verification evidence capture.
|
|
15
15
|
- Session events and snapshots.
|
|
16
|
+
- Review focus ranking.
|
|
17
|
+
- Proof gap detection.
|
|
18
|
+
- Review readiness recommendations.
|
|
19
|
+
- Config-driven generated/internal changed-file filters.
|
|
16
20
|
|
|
17
21
|
## Future Free/Open-Core
|
|
18
22
|
|
|
19
23
|
- Basic local session history.
|
|
20
24
|
- Structured `--json` output.
|
|
21
25
|
- Richer configurable verification command profiles.
|
|
26
|
+
- Deeper ProjScan-enriched review hints once stable structured output exists.
|
|
22
27
|
- More precise git diff stats without including full code by default.
|
|
23
28
|
- Timeline filtering and richer local replay navigation.
|
|
24
29
|
|