projscan 4.16.0 → 4.17.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 +49 -3
- package/dist/cli/commands/guard.d.ts +3 -0
- package/dist/cli/commands/guard.js +158 -0
- package/dist/cli/commands/guard.js.map +1 -0
- package/dist/cli/commands/passport.d.ts +3 -0
- package/dist/cli/commands/passport.js +154 -0
- package/dist/cli/commands/passport.js.map +1 -0
- package/dist/cli/registerCommands.js +4 -0
- package/dist/cli/registerCommands.js.map +1 -1
- package/dist/core/guard.d.ts +2 -0
- package/dist/core/guard.js +107 -0
- package/dist/core/guard.js.map +1 -0
- package/dist/core/passport.d.ts +2 -0
- package/dist/core/passport.js +278 -0
- package/dist/core/passport.js.map +1 -0
- package/dist/mcp/toolCatalog.js +2 -0
- package/dist/mcp/toolCatalog.js.map +1 -1
- package/dist/mcp/tools/passport.d.ts +2 -0
- package/dist/mcp/tools/passport.js +80 -0
- package/dist/mcp/tools/passport.js.map +1 -0
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/publicCore.d.ts +2 -0
- package/dist/publicCore.js +2 -0
- package/dist/publicCore.js.map +1 -1
- package/dist/tool-manifest.json +56 -3
- package/dist/types/guard.d.ts +32 -0
- package/dist/types/guard.js +2 -0
- package/dist/types/guard.js.map +1 -0
- package/dist/types/passport.d.ts +75 -0
- package/dist/types/passport.js +2 -0
- package/dist/types/passport.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/utils/formatSupport.d.ts +2 -0
- package/dist/utils/formatSupport.js +2 -0
- package/dist/utils/formatSupport.js.map +1 -1
- package/docs/GUIDE.md +48 -0
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { ProveContract, ProveProofReplayStatus, ProveProofStatus, ProveProofSufficiencyStatus, ProveReceipt, ProveReviewerDecision, ProveScopeStatus, ProveVerifiedWorkflow, ProveVerdict } from './prove.js';
|
|
2
|
+
import type { ProofRecipeConfig } from './config.js';
|
|
3
|
+
export type AgentChangePassportStatus = 'ready' | 'needs-proof' | 'drifted' | 'blocked';
|
|
4
|
+
export type AgentChangePassportReviewerAction = 'review' | 'run-proof' | 'rerun-proof' | 'stop-and-recontract';
|
|
5
|
+
export interface ComputePassportOptions {
|
|
6
|
+
intent?: string;
|
|
7
|
+
contractPath?: string;
|
|
8
|
+
saveContractPath?: string;
|
|
9
|
+
outputPath?: string;
|
|
10
|
+
maxFiles?: number;
|
|
11
|
+
feedbackPath?: string;
|
|
12
|
+
baseRef?: string;
|
|
13
|
+
ledgerPath?: string;
|
|
14
|
+
taskId?: string;
|
|
15
|
+
emitBaseframe?: boolean;
|
|
16
|
+
proofRecipes?: ProofRecipeConfig[];
|
|
17
|
+
}
|
|
18
|
+
export interface AgentChangePassportBoundary {
|
|
19
|
+
contractId?: string;
|
|
20
|
+
allowedFiles: string[];
|
|
21
|
+
forbiddenFiles: string[];
|
|
22
|
+
likelyTests: string[];
|
|
23
|
+
riskyContracts: string[];
|
|
24
|
+
proofCommands: string[];
|
|
25
|
+
receiptCommand?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AgentChangePassportReceiptSummary {
|
|
28
|
+
scopeStatus: ProveScopeStatus;
|
|
29
|
+
proofStatus: ProveProofStatus;
|
|
30
|
+
proofSufficiencyStatus?: ProveProofSufficiencyStatus;
|
|
31
|
+
proofReplayStatus?: ProveProofReplayStatus;
|
|
32
|
+
changedFiles: string[];
|
|
33
|
+
forbiddenTouched: string[];
|
|
34
|
+
outsideAllowed: string[];
|
|
35
|
+
changedAfterProof: string[];
|
|
36
|
+
missingCommands: string[];
|
|
37
|
+
failedCommands: string[];
|
|
38
|
+
staleCommands: string[];
|
|
39
|
+
requiredReviewers: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface AgentChangePassportReviewerSummary {
|
|
42
|
+
decision: ProveReviewerDecision;
|
|
43
|
+
action: AgentChangePassportReviewerAction;
|
|
44
|
+
summary: string;
|
|
45
|
+
}
|
|
46
|
+
export interface AgentChangePassportArtifacts {
|
|
47
|
+
contractPath?: string;
|
|
48
|
+
passportPath?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface AgentChangePassportBaseframe {
|
|
51
|
+
taskId: string;
|
|
52
|
+
assessmentPath: string;
|
|
53
|
+
workflowPath: string;
|
|
54
|
+
}
|
|
55
|
+
export interface AgentChangePassport {
|
|
56
|
+
schemaVersion: 1;
|
|
57
|
+
kind: 'agent-change-passport';
|
|
58
|
+
generatedAt: string;
|
|
59
|
+
status: AgentChangePassportStatus;
|
|
60
|
+
intent?: string;
|
|
61
|
+
summary: string;
|
|
62
|
+
boundary: AgentChangePassportBoundary;
|
|
63
|
+
receipt: AgentChangePassportReceiptSummary;
|
|
64
|
+
reviewer: AgentChangePassportReviewerSummary;
|
|
65
|
+
nextCommands: string[];
|
|
66
|
+
warnings: string[];
|
|
67
|
+
artifacts: AgentChangePassportArtifacts;
|
|
68
|
+
baseframe?: AgentChangePassportBaseframe;
|
|
69
|
+
prove: {
|
|
70
|
+
verdict: ProveVerdict;
|
|
71
|
+
verifiedWorkflow: ProveVerifiedWorkflow;
|
|
72
|
+
contract?: ProveContract;
|
|
73
|
+
receipt?: ProveReceipt;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passport.js","sourceRoot":"","sources":["../../src/types/passport.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export type * from './types/assess.js';
|
|
|
28
28
|
export type * from './types/baseframe.js';
|
|
29
29
|
export type * from './types/simulate.js';
|
|
30
30
|
export type * from './types/prove.js';
|
|
31
|
+
export type * from './types/passport.js';
|
|
32
|
+
export type * from './types/guard.js';
|
|
31
33
|
export type * from './types/proofLedger.js';
|
|
32
34
|
export type * from './types/regressionPlan.js';
|
|
33
35
|
export type * from './types/start.js';
|
|
@@ -6,6 +6,8 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
6
6
|
readonly assess: readonly ["console", "json", "markdown"];
|
|
7
7
|
readonly simulate: readonly ["console", "json", "markdown"];
|
|
8
8
|
readonly prove: readonly ["console", "json", "markdown"];
|
|
9
|
+
readonly passport: readonly ["console", "json", "markdown"];
|
|
10
|
+
readonly guard: readonly ["console", "json", "markdown"];
|
|
9
11
|
readonly 'apply-fix': readonly ["console", "json"];
|
|
10
12
|
readonly audit: readonly ["console", "json", "markdown", "sarif"];
|
|
11
13
|
readonly badge: readonly ["console"];
|
|
@@ -11,6 +11,8 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
11
11
|
assess: ['console', 'json', 'markdown'],
|
|
12
12
|
simulate: ['console', 'json', 'markdown'],
|
|
13
13
|
prove: ['console', 'json', 'markdown'],
|
|
14
|
+
passport: ['console', 'json', 'markdown'],
|
|
15
|
+
guard: ['console', 'json', 'markdown'],
|
|
14
16
|
'apply-fix': ['console', 'json'],
|
|
15
17
|
audit: ['console', 'json', 'markdown', 'sarif'],
|
|
16
18
|
badge: ['console'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;CACoC,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;IACzD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACvC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACzC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACtC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAC/C,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAC5C,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC7C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACnC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAChD,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACrC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC,SAAS,CAAC;IAChB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC9C,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,CAAC,SAAS,CAAC;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAChD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,CAAC,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAClD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAClD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACvC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC1C,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,eAAe,EAAE,CAAC,SAAS,CAAC;IAC5B,kBAAkB,EAAE,CAAC,SAAS,CAAC;IAC/B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC3C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;CAC6B,CAAC;AAI7D,MAAM,UAAU,UAAU,CAAC,UAAmC,cAAc;IAC1E,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAQ,sBAAkE,CAAC,WAAW,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,iBAAiB;IAI/B,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,OAA4B;QACrC,OAAO;KACR,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"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"}
|
package/docs/GUIDE.md
CHANGED
|
@@ -26,6 +26,8 @@ This guide starts with demonstrated workflows before the command reference. For
|
|
|
26
26
|
- [assess](#assess)
|
|
27
27
|
- [simulate](#simulate)
|
|
28
28
|
- [prove](#prove)
|
|
29
|
+
- [passport](#passport)
|
|
30
|
+
- [guard](#guard)
|
|
29
31
|
- [evidence-pack](#evidence-pack)
|
|
30
32
|
- [privacy-check](#privacy-check)
|
|
31
33
|
- [mission-proof](#mission-proof)
|
|
@@ -138,6 +140,8 @@ projscan prove --intent "is my agent allowed to change billing retry logic?" --s
|
|
|
138
140
|
# Make the bounded edit, then run the proof command.
|
|
139
141
|
projscan prove --run -- npm test -- tests/billing/retry.test.ts
|
|
140
142
|
projscan prove --changed --contract .projscan/proof-contract.json --format markdown
|
|
143
|
+
projscan passport --contract .projscan/proof-contract.json --format markdown
|
|
144
|
+
projscan guard --contract .projscan/proof-contract.json
|
|
141
145
|
```
|
|
142
146
|
|
|
143
147
|
The path is `start -> prove -> run -> changed`. Agent-permission intents route
|
|
@@ -165,6 +169,13 @@ and MCP clients. It names the phase, next action, next command, scope status,
|
|
|
165
169
|
proof status, proof sufficiency status, risk delta direction, reviewer decision,
|
|
166
170
|
and stale/missing/failed proof flags.
|
|
167
171
|
|
|
172
|
+
`projscan passport` packages the contract and receipt into a reviewer handoff.
|
|
173
|
+
It includes allowed files, forbidden files, changed files, proof replay, Proof
|
|
174
|
+
Sufficiency, reviewer action, and next commands. `projscan guard` checks the
|
|
175
|
+
current working tree against the same contract and reports drift, missing proof,
|
|
176
|
+
stale proof, or a clear state. Use `guard --watch` during an agent session when
|
|
177
|
+
you want repeated scope checks without running proof commands.
|
|
178
|
+
|
|
168
179
|
Team Proof Recipes let the repo encode path-specific proof in `proofRecipes`;
|
|
169
180
|
when a matching recipe is configured, `prove --intent` adds its required
|
|
170
181
|
commands, reviewers, and forbidden files to the Proof Contract. `prove --changed`
|
|
@@ -336,6 +347,8 @@ When the agent first opens a repo, or before starting a refactor, the question i
|
|
|
336
347
|
- **`projscan_assess` / `projscan assess`** — proof-first assessment. Composes quality-scorecard, bug-hunt, and preflight into Proof Cards with local evidence, impact, a safe fix shape, verification commands, feedback or suppression guidance, and risk delta. Proof Cards include evidence strength, confidence reason, ranking reasons, trust memory, evidence gaps, and an AgentLoopKit handoff packet. Use `projscan assess --goal "make this repo safer to ship this week"` for a broad weekly pass, `projscan assess --mode fix-first --format markdown` when you want one or two next actions instead of a long list, `--feedback .projscan-feedback.json` when local reviewer memory should affect ranking, or `--baseline previous-assess.json` to compare against a prior assessment. The command is read-only and does not release, tag, publish, or deploy.
|
|
337
348
|
- **`projscan_simulate` / `projscan simulate`** — risk delta simulator. Evaluates a proposed change plan before editing and returns likely touched files, affected tests, contract surfaces, rollout steps, proof commands, confidence, projected before/after risk, alternatives, and a recommended option. Use `projscan simulate --plan "split bugHunt.ts into ranking, evidence, and output modules"` before doing a refactor. The command is read-only and does not execute the plan.
|
|
338
349
|
- **`projscan_prove` / `projscan prove`** — executable Proof Contracts, Verified Workflow JSON, Proof Replay, and Proof Sufficiency. Use `projscan prove --intent "<change>"` before editing to get allowed files, forbidden files, risky contracts, likely tests, proof commands, rollback, confidence, Trust Memory signals, reviewer guidance, and `proofRequirements`. Use `projscan prove --run -- <command...>` to execute a local proof command and record a `prove-run` ledger row. Use `projscan prove --record-command "<command>" --exit-code <code>` for imported proof outcomes from CI or another runner. Use `projscan prove --changed --contract .projscan/proof-contract.json --format markdown` after editing to produce a Proof Receipt with changed-file classes, scope drift, forbidden touches, proof status, `proofReplay`, `changedAfterProof`, receipt fingerprint, `proofSufficiency`, stale proof, failed proof, risk delta, reviewer decision, and commit readiness. MCP can create and replay contracts and record imported proof; only the CLI `prove --run` executes local commands. Read `verifiedWorkflow` when an agent needs the next action without parsing Markdown.
|
|
350
|
+
- **`projscan_passport` / `projscan passport`**: Agent Change Passport for reviewer handoff. It returns the Proof Contract boundary, current receipt, proof replay, Proof Sufficiency, reviewer action, next commands, and optional Baseframe assessment paths. MCP returns evidence and does not run proof commands.
|
|
351
|
+
- **`projscan guard`**: local scope guard for a saved Proof Contract. It reports clear, attention, drift, or blocked for the current working tree and can poll with `--watch`.
|
|
339
352
|
- **`projscan_understand` / `projscan understand`** — cited repo-comprehension surface. Returns repo maps, runtime flow maps, contract maps, change-readiness guidance, verification tiers, unknowns, read-first files, and exact next commands.
|
|
340
353
|
- **`projscan_adoption` / `projscan init team` / `projscan init mcp` / `projscan mcp doctor` / `projscan init policy` / `projscan init github-action` / `projscan recipes` / `projscan first-run` / `projscan telemetry` / `projscan dogfood`** — adoption layer. Returns MCP client config snippets, setup verification, policy starters, PR workflow scaffolding with validated PR comments and block-only enforcement, baseline memory, ownership routing, first-PR onboarding steps, repeatable team-bootstrap and PR-automation recipes, multi-repo dogfood evidence, measured reviewer feedback, default-off telemetry controls, adoption trial reports, and setup diagnostics.
|
|
341
354
|
- **`projscan_release_train` / `projscan release-train`** — product-line readiness planner. Plans upcoming product lines with version, scope, readiness, and next-action evidence.
|
|
@@ -964,6 +977,40 @@ projscan prove --changed --contract .projscan/proof-contract.json --format markd
|
|
|
964
977
|
|
|
965
978
|
Creates a local Proof Contract, records explicit proof command outcomes in the Proof Ledger, and checks the current working tree against the saved contract after the edit. `prove --run` executes only the command after `--` and keeps shell execution disabled. `prove --record-command` imports external proof into the local ledger without running it.
|
|
966
979
|
|
|
980
|
+
### passport
|
|
981
|
+
|
|
982
|
+
```bash
|
|
983
|
+
projscan passport --intent "is my agent allowed to change billing retry logic?" --save-contract .projscan/proof-contract.json --format markdown
|
|
984
|
+
projscan passport --contract .projscan/proof-contract.json --output .projscan/passport.json --format json
|
|
985
|
+
projscan passport --intent "Implement password reset" --task-id auth-password-reset-20260627-01 --emit-baseframe
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
Creates an Agent Change Passport from the Proof Contract and current Proof
|
|
989
|
+
Receipt. The passport names the approved boundary, changed files, proof replay,
|
|
990
|
+
Proof Sufficiency, reviewer decision, reviewer action, next commands, and saved
|
|
991
|
+
artifact paths. It does not execute tests. Run proof through `projscan prove
|
|
992
|
+
--run -- <command...>` before you expect the passport to report ready proof.
|
|
993
|
+
|
|
994
|
+
Passport JSON writes stay under `.projscan/passport.json` or
|
|
995
|
+
`.projscan/passports/<name>.json`. ProjScan rejects traversal, symlink paths, and
|
|
996
|
+
existing files that are not Agent Change Passports. Add `--task-id <id>
|
|
997
|
+
--emit-baseframe` when a Baseframe Suite task also needs
|
|
998
|
+
`.baseframe/evidence/<task-id>/projscan-assessment.json`.
|
|
999
|
+
|
|
1000
|
+
### guard
|
|
1001
|
+
|
|
1002
|
+
```bash
|
|
1003
|
+
projscan guard --contract .projscan/proof-contract.json
|
|
1004
|
+
projscan guard --contract .projscan/proof-contract.json --watch
|
|
1005
|
+
projscan guard --contract .projscan/proof-contract.json --fail-on-drift
|
|
1006
|
+
```
|
|
1007
|
+
|
|
1008
|
+
Checks the current working tree against a saved Proof Contract. Guard reports
|
|
1009
|
+
`clear` when scope and proof satisfy the receipt, `attention` when proof is
|
|
1010
|
+
missing or stale, `drift` when files changed outside the boundary, and `blocked`
|
|
1011
|
+
when the contract is missing or proof failed. `--watch` polls until interrupted.
|
|
1012
|
+
`--fail-on-drift` exits non-zero for drift or a missing contract.
|
|
1013
|
+
|
|
967
1014
|
### evidence-pack
|
|
968
1015
|
|
|
969
1016
|
```bash
|
|
@@ -1566,6 +1613,7 @@ _Structural / agent-native:_
|
|
|
1566
1613
|
- `projscan_assess` — proof-first assessment with Proof Cards, risk delta, and fix-first guidance.
|
|
1567
1614
|
- `projscan_simulate` — risk delta simulator for proposed change plans before editing.
|
|
1568
1615
|
- `projscan_prove` — Proof Contracts and Proof Receipts for proposed and completed changes. MCP records and replays imported proof; only CLI `prove --run` executes commands.
|
|
1616
|
+
- `projscan_passport`: Agent Change Passport with boundary, receipt, proof status, reviewer action, and next commands.
|
|
1569
1617
|
- `projscan_adoption` — adoption helper for MCP client snippets, MCP setup doctor, agent workflow recipes, and first-run diagnostics.
|
|
1570
1618
|
- `projscan_release_train` — product-line readiness plan with scope and next-action evidence.
|
|
1571
1619
|
- `projscan_evidence_pack` — approval packet with planning, bug-hunt, workplan, preflight, changelog, and website prompt evidence.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
3
|
"mcpName": "io.github.abhiyoheswaran1/projscan",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.17.0",
|
|
5
5
|
"description": "Local code intelligence for agent-assisted engineering. Focused daily workflows for repo orientation before edits, proof before handoff or commit, and release-candidate review, with AST-backed evidence through an MCP server and CLI. Runs locally by default.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|