projscan 4.11.0 → 4.12.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 CHANGED
@@ -28,6 +28,31 @@ Use projscan when an agent asks one of these questions:
28
28
 
29
29
  projscan runs core scans on your machine. It respects `.gitignore`, keeps `.env` values out of scans unless you opt in, and exposes the same evidence through a CLI and a 47-tool MCP server. The language layer uses 11 AST adapters covering 12 named languages.
30
30
 
31
+ ```text
32
+ Your agent / engineer
33
+ (Codex, Claude Code, Cursor, CI, your scripts)
34
+ | intent, diff, repo files, feedback, proof requests
35
+ v
36
+ +----------------------------------------------------------------+
37
+ | projscan (runs locally, source stays on this machine) |
38
+ | ------------------------------------------------------------ |
39
+ | Mission Control -> assess Proof Cards -> simulate risk |
40
+ | | | |
41
+ | | +- bounded extraction
42
+ | | +- regression test first
43
+ | | +- leave unchanged
44
+ | +- evidence strength |
45
+ | +- trust memory |
46
+ | +- AgentLoopKit handoff |
47
+ | |
48
+ | CLI + MCP tools, no account, telemetry off by default |
49
+ +----------------------------------------------------------------+
50
+ | next safe action, exact proof commands, handoff packet
51
+ v
52
+ Reviewer / CI / LLM provider
53
+ (only the evidence you choose to pass along)
54
+ ```
55
+
31
56
  ## Install
32
57
 
33
58
  ```bash
@@ -69,12 +94,13 @@ Success criteria: the agent can name the files to read first, the likely files t
69
94
  ### Before handoff or commit
70
95
 
71
96
  ```bash
72
- projscan bug-hunt --format json
97
+ projscan start --intent "is this safe to commit?"
98
+ projscan assess --mode fix-first --format markdown
73
99
  projscan preflight --mode before_commit --format json
74
100
  projscan evidence-pack --pr-comment
75
101
  ```
76
102
 
77
- You get concrete fixes, manual review gates, owner routing, baseline trend memory, and exact proof commands for the reviewer.
103
+ You get the changed-file risk, one or two trusted next actions, manual review gates, owner routing, baseline trend memory, and exact proof commands for the reviewer. Use `projscan bug-hunt --format json` when you want the raw fix queue behind the assessment.
78
104
 
79
105
  Success criteria: the reviewer sees the top fix, the remaining proof, and any manual sign-off gate without reading the full scan output.
80
106
 
@@ -100,7 +126,11 @@ projscan simulate --plan "split bugHunt.ts into ranking, evidence, and output mo
100
126
 
101
127
  You get Proof Cards: each recommendation carries local evidence, impact, a safe change shape, verification commands, feedback or suppression guidance, and a risk delta. Add `--baseline previous-assess.json` to compare the current risk delta against a prior run. `assess` composes existing quality, bug-hunt, and preflight evidence; it does not release, tag, publish, or deploy.
102
128
 
103
- Use the risk delta simulator before a refactor or extraction. It predicts likely touched files, affected tests, contract surfaces, rollout steps, proof commands, and before/after risk from local evidence. It is read-only: it does not edit files, run the plan, release, tag, publish, or deploy.
129
+ Proof Cards also show evidence strength, confidence reason, ranking reasons, trust memory, evidence gaps, and an AgentLoopKit handoff packet. Add `--feedback .projscan-feedback.json` when accepted recommendations, noisy findings, false positives, or suppressions should affect future ranking.
130
+
131
+ Use the risk delta simulator before a refactor or extraction. It predicts likely touched files, affected tests, contract surfaces, rollout steps, proof commands, and before/after risk from local evidence. It compares bounded extraction, test-first, and leave-unchanged alternatives, then names the recommended option. It is read-only: it does not edit files, run the plan, release, tag, publish, or deploy.
132
+
133
+ <img src="docs/projscan-proof-cards.png" alt="projscan assess showing a Proof Card with evidence, impact, safe change shape, verification commands, feedback path, and risk delta" width="760">
104
134
 
105
135
  Success criteria: the team sees the one or two highest-value fixes, why they matter, how to prove them, and whether ship-readiness still needs caution or review.
106
136
 
@@ -143,6 +173,30 @@ npm run docs:screenshots
143
173
  npm run docs:demos
144
174
  ```
145
175
 
176
+ ## 4.12.0 Notes
177
+
178
+ 4.12.0 is the Proof Cards V2 daily trust loop release:
179
+
180
+ - Proof Cards now show evidence strength, confidence reason, evidence gaps,
181
+ ranking reasons, Trust Memory context, and AgentLoopKit handoff packets.
182
+ - `projscan assess --feedback <path>` applies local reviewer feedback to
183
+ ranking and confidence.
184
+ - `projscan start --intent "is this safe to commit?"` now starts with
185
+ `projscan assess --mode fix-first` and keeps preflight as proof.
186
+ - `projscan simulate --plan "<change plan>"` compares bounded extraction,
187
+ regression test first, and leave unchanged alternatives before recommending
188
+ the safest option.
189
+
190
+ ## 4.11.1 Notes
191
+
192
+ 4.11.1 is a public README media refresh for the proof-first release:
193
+
194
+ - Added a dedicated Proof Cards screenshot for `projscan assess` and
195
+ `projscan simulate`.
196
+ - Regenerated README screenshots so public media shows the current 47-tool MCP
197
+ surface.
198
+ - Updated website handoff guidance to use immutable `v4.11.1` media URLs.
199
+
146
200
  ## 4.11.0 Notes
147
201
 
148
202
  4.11.0 is the proof-first engineering command center release:
@@ -183,45 +237,45 @@ npx -y projscan mcp --watch
183
237
 
184
238
  ### Agent Questions
185
239
 
186
- | Agent question | CLI or MCP route |
187
- | -------------------------------------------- | -------------------------------------------------------------------------------- |
188
- | Which files implement auth? | `projscan search "auth" --format json` |
189
- | Who imports this file? | `projscan semantic-graph --query importers --file src/auth/jwt.ts --format json` |
190
- | What breaks if I rename this symbol? | `projscan impact --symbol buildCodeGraph --format json` |
191
- | What should I fix first? | `projscan bug-hunt --format json` |
192
- | What is risky and worth fixing this week? | `projscan assess --goal "make this repo safer to ship this week"` |
240
+ | Agent question | CLI or MCP route |
241
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------- |
242
+ | Which files implement auth? | `projscan search "auth" --format json` |
243
+ | Who imports this file? | `projscan semantic-graph --query importers --file src/auth/jwt.ts --format json` |
244
+ | What breaks if I rename this symbol? | `projscan impact --symbol buildCodeGraph --format json` |
245
+ | What should I fix first? | `projscan bug-hunt --format json` |
246
+ | What is risky and worth fixing this week? | `projscan assess --goal "make this repo safer to ship this week"` |
193
247
  | Is this refactor worth doing? | `projscan simulate --plan "split bugHunt.ts into ranking, evidence, and output modules"` |
194
- | Which files have high risk and low coverage? | `projscan coverage --format json` |
195
- | What should my agent do next? | `projscan workplan --format json` |
196
- | Which proof belongs in this PR? | `projscan evidence-pack --pr-comment` |
197
- | Is this branch ready to merge? | `projscan preflight --mode before_merge --format json` |
248
+ | Which files have high risk and low coverage? | `projscan coverage --format json` |
249
+ | What should my agent do next? | `projscan workplan --format json` |
250
+ | Which proof belongs in this PR? | `projscan evidence-pack --pr-comment` |
251
+ | Is this branch ready to merge? | `projscan preflight --mode before_merge --format json` |
198
252
 
199
253
  ## Command Map
200
254
 
201
- | Command | Use it when you need |
202
- | ------------------------- | -------------------------------------------------------------------------- |
203
- | `projscan start` | first-60-seconds orientation, routing, and Mission Control |
204
- | `projscan understand` | cited repo map, runtime flows, public contracts, and change readiness |
205
- | `projscan preflight` | proceed, caution, or block gate for edit, commit, or merge |
255
+ | Command | Use it when you need |
256
+ | ------------------------- | --------------------------------------------------------------------------- |
257
+ | `projscan start` | first-60-seconds orientation, routing, and Mission Control |
258
+ | `projscan understand` | cited repo map, runtime flows, public contracts, and change readiness |
259
+ | `projscan preflight` | proceed, caution, or block gate for edit, commit, or merge |
206
260
  | `projscan assess` | proof-first assessment with Proof Cards, risk delta, and fix-first guidance |
207
261
  | `projscan simulate` | risk delta simulator for a proposed change plan before editing |
208
- | `projscan evidence-pack` | PR-ready proof with risks, owners, and next commands |
209
- | `projscan bug-hunt` | ranked fix queue from health, hotspots, session, and preflight evidence |
210
- | `projscan workplan` | ordered agent tasks with proof and handoff text |
211
- | `projscan doctor` | project health, tooling gaps, dead code, and supply-chain signals |
212
- | `projscan review` | one-call PR review from structural diff, risk, cycles, functions, and deps |
213
- | `projscan impact` | blast radius for a file or symbol before rename, delete, or upgrade |
214
- | `projscan semantic-graph` | imports, exports, importers, symbol definitions, and package importers |
215
- | `projscan dataflow` | framework-aware source-to-sink risks |
216
- | `projscan hotspots` | churn, complexity, ownership, and coverage risk ranking |
217
- | `projscan coverage` | high-risk files with weak test coverage |
218
- | `projscan dependencies` | dependency inventory, license summary, and risk notes |
219
- | `projscan upgrade <pkg>` | offline upgrade impact from changelog and importer evidence |
220
- | `projscan audit` | normalized `npm audit` findings and SARIF |
221
- | `projscan coordinate` | collisions, claims, and merge-risk across worktrees |
222
- | `projscan plugin` | local analyzer and reporter plugin workflow |
223
- | `projscan privacy-check` | local scan boundary, telemetry, ignore rules, and network-capable paths |
224
- | `projscan mcp` | MCP server over stdio |
262
+ | `projscan evidence-pack` | PR-ready proof with risks, owners, and next commands |
263
+ | `projscan bug-hunt` | ranked fix queue from health, hotspots, session, and preflight evidence |
264
+ | `projscan workplan` | ordered agent tasks with proof and handoff text |
265
+ | `projscan doctor` | project health, tooling gaps, dead code, and supply-chain signals |
266
+ | `projscan review` | one-call PR review from structural diff, risk, cycles, functions, and deps |
267
+ | `projscan impact` | blast radius for a file or symbol before rename, delete, or upgrade |
268
+ | `projscan semantic-graph` | imports, exports, importers, symbol definitions, and package importers |
269
+ | `projscan dataflow` | framework-aware source-to-sink risks |
270
+ | `projscan hotspots` | churn, complexity, ownership, and coverage risk ranking |
271
+ | `projscan coverage` | high-risk files with weak test coverage |
272
+ | `projscan dependencies` | dependency inventory, license summary, and risk notes |
273
+ | `projscan upgrade <pkg>` | offline upgrade impact from changelog and importer evidence |
274
+ | `projscan audit` | normalized `npm audit` findings and SARIF |
275
+ | `projscan coordinate` | collisions, claims, and merge-risk across worktrees |
276
+ | `projscan plugin` | local analyzer and reporter plugin workflow |
277
+ | `projscan privacy-check` | local scan boundary, telemetry, ignore rules, and network-capable paths |
278
+ | `projscan mcp` | MCP server over stdio |
225
279
 
226
280
  Run the generated command help when you need flags:
227
281
 
@@ -285,7 +339,7 @@ Use `suppress` for a known false positive in a specific path without disabling
285
339
  the rule everywhere. For one line, add an inline directive next to the value:
286
340
 
287
341
  ```ts
288
- const firebaseKey = "AIza..." // projscan-ignore-line hardcoded-secret -- Firebase web keys are public identifiers
342
+ const firebaseKey = 'AIza...'; // projscan-ignore-line hardcoded-secret -- Firebase web keys are public identifiers
289
343
  ```
290
344
 
291
345
  Config docs live in [docs/GUIDE.md](docs/GUIDE.md#configuration-projscanrc).
@@ -394,7 +448,7 @@ Supply-chain scanners may flag package strings or APIs used by `git`, `npm audit
394
448
 
395
449
  ## Install Notes
396
450
 
397
- `projscan@4.11.0` has seven direct runtime dependencies:
451
+ `projscan@4.12.0` has seven direct runtime dependencies:
398
452
 
399
453
  - `@babel/parser`
400
454
  - `@babel/types`
@@ -404,7 +458,7 @@ Supply-chain scanners may flag package strings or APIs used by `git`, `npm audit
404
458
  - `ora`
405
459
  - `web-tree-sitter`
406
460
 
407
- If npm prints `allow-scripts` warnings during a global install, check which package names it lists. projscan core does not need `node-gyp` grammar builds at runtime in 4.11.0. Open an issue with the warning text if npm reports install scripts from `projscan@latest`, or run `projscan feedback intake --text "<warning text>" --format json` to turn it into a focused setup-trust task.
461
+ If npm prints `allow-scripts` warnings during a global install, check which package names it lists. projscan core does not need `node-gyp` grammar builds at runtime in 4.12.0. Open an issue with the warning text if npm reports install scripts from `projscan@latest`, or run `projscan feedback intake --text "<warning text>" --format json` to turn it into a focused setup-trust task.
408
462
 
409
463
  The grammar packages are build-time sources, not global-install dependencies. Published grammar assets include `tree-sitter-python.wasm` and `tree-sitter-c_sharp.wasm`.
410
464
 
@@ -11,6 +11,7 @@ export function registerAssess() {
11
11
  .option('--mode <mode>', 'assessment mode: standard, fix-first, ship-readiness', parseMode)
12
12
  .option('--max-cards <count>', 'maximum Proof Cards to return', parsePositiveInt)
13
13
  .option('--baseline <path>', 'prior assess JSON file to compare risk delta against')
14
+ .option('--feedback <path>', 'local projscan feedback artifact to apply as trust memory')
14
15
  .action(async (cmdOpts) => {
15
16
  setupLogLevel();
16
17
  maybeCompactBanner();
@@ -20,6 +21,7 @@ export function registerAssess() {
20
21
  goal: cmdOpts.goal,
21
22
  mode: cmdOpts.mode,
22
23
  maxCards: cmdOpts.maxCards,
24
+ feedbackPath: cmdOpts.feedback,
23
25
  ...(cmdOpts.baseline
24
26
  ? {
25
27
  baselineReport: await readAssessBaseline(cmdOpts.baseline),
@@ -98,6 +100,19 @@ function renderProofCard(lines, card) {
98
100
  lines.push('');
99
101
  lines.push(`- **Priority:** ${card.priority}`);
100
102
  lines.push(`- **Confidence:** ${card.confidence}`);
103
+ lines.push(`- **Confidence reason:** ${card.confidenceReason}`);
104
+ lines.push(`- **Evidence strength:** ${card.evidenceStrength.level} (${card.evidenceStrength.score})`);
105
+ if (card.evidenceGaps.length > 0) {
106
+ lines.push(`- **Evidence gaps:** ${card.evidenceGaps.join('; ')}`);
107
+ }
108
+ lines.push(`- **Ranking:** #${card.ranking.rank} (${card.ranking.score})`);
109
+ if (card.ranking.reasons.length > 0) {
110
+ lines.push(`- **Ranking reasons:** ${card.ranking.reasons.join(', ')}`);
111
+ }
112
+ lines.push(`- **Trust memory:** ${card.trustMemory.status} - ${card.trustMemory.summary}`);
113
+ if (card.trustMemory.signals.length > 0) {
114
+ lines.push(`- **Trust signals:** ${card.trustMemory.signals.join('; ')}`);
115
+ }
101
116
  lines.push(`- **Why it matters:** ${card.whyItMatters}`);
102
117
  if (card.files.length > 0)
103
118
  lines.push(`- **Files:** ${card.files.join(', ')}`);
@@ -112,6 +127,18 @@ function renderProofCard(lines, card) {
112
127
  lines.push('- **Commands:**');
113
128
  for (const command of card.verification.commands)
114
129
  lines.push(` - \`${command}\``);
130
+ lines.push('- **AgentLoopKit Handoff:**');
131
+ lines.push(` - Title: ${card.agentHandoff.title}`);
132
+ lines.push(` - Scope: ${card.agentHandoff.scope.join(', ')}`);
133
+ lines.push(` - Rollback: ${card.agentHandoff.rollback}`);
134
+ lines.push(' - Constraints:');
135
+ for (const constraint of card.agentHandoff.constraints.slice(0, 4)) {
136
+ lines.push(` - ${constraint}`);
137
+ }
138
+ lines.push(' - Done when:');
139
+ for (const criterion of card.agentHandoff.doneCriteria) {
140
+ lines.push(` - ${criterion}`);
141
+ }
115
142
  lines.push('');
116
143
  }
117
144
  function parseMode(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"assess.js","sourceRoot":"","sources":["../../../src/cli/commands/assess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assess.js","sourceRoot":"","sources":["../../../src/cli/commands/assess.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,10 @@ function printSimulateConsole(report) {
47
47
  for (const file of report.filesLikelyTouched)
48
48
  console.log(renderCandidateConsole(file));
49
49
  console.log('');
50
+ console.log(chalk.bold('Recommended Alternative'));
51
+ console.log(`- ${report.recommendedAlternative.id}: ${report.recommendedAlternative.summary} ` +
52
+ `(risk delta +${report.recommendedAlternative.riskDelta}, blast radius ${report.recommendedAlternative.blastRadius})`);
53
+ console.log('');
50
54
  console.log(chalk.bold('Proof Commands'));
51
55
  for (const command of report.proofCommands.slice(0, 6))
52
56
  console.log(`- ${command}`);
@@ -60,6 +64,25 @@ export function renderSimulateMarkdown(report) {
60
64
  lines.push(`- **Plan:** ${report.plan}`);
61
65
  lines.push(`- **Summary:** ${report.summary}`);
62
66
  lines.push(`- **Risk delta:** +${report.riskDelta.delta}`);
67
+ lines.push(`- **Recommended:** ${report.recommendedAlternative.id}`);
68
+ lines.push('');
69
+ lines.push('## Alternatives');
70
+ lines.push('');
71
+ lines.push(`Recommended: ${report.recommendedAlternative.id}`);
72
+ lines.push('');
73
+ for (const option of report.alternatives) {
74
+ lines.push(`### ${option.title}`);
75
+ lines.push('');
76
+ lines.push(`- **ID:** ${option.id}`);
77
+ lines.push(`- **Risk delta:** +${option.riskDelta}`);
78
+ lines.push(`- **Blast radius:** ${option.blastRadius}`);
79
+ lines.push(`- **Confidence:** ${option.confidence}`);
80
+ lines.push(`- **Reason:** ${option.reason}`);
81
+ lines.push('- **Tradeoffs:**');
82
+ for (const tradeoff of option.tradeoffs)
83
+ lines.push(` - ${tradeoff}`);
84
+ lines.push('');
85
+ }
63
86
  lines.push('');
64
87
  lines.push('## Files Likely Touched');
65
88
  lines.push('');
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/cli/commands/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/cli/commands/simulate.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,6 @@ export interface ComputeAssessOptions {
5
5
  maxCards?: number;
6
6
  baselineReport?: AssessReport;
7
7
  baselinePath?: string;
8
+ feedbackPath?: string;
8
9
  }
9
10
  export declare function computeAssess(rootPath: string, options?: ComputeAssessOptions): Promise<AssessReport>;
@@ -1,5 +1,5 @@
1
1
  import { computeBugHunt } from './bugHunt.js';
2
- import { computePreflight } from './preflight.js';
2
+ import { readFeedbackFile } from './feedback.js';
3
3
  import { buildProofCards } from './proofCards.js';
4
4
  import { computeQualityScorecard } from './qualityScorecard.js';
5
5
  import { compareRiskDeltaSnapshots, computeRiskDelta } from './riskDelta.js';
@@ -8,22 +8,24 @@ export async function computeAssess(rootPath, options = {}) {
8
8
  const mode = normalizeMode(options.mode);
9
9
  const maxCards = mode === 'fix-first' ? Math.min(options.maxCards ?? 2, 2) : options.maxCards;
10
10
  const goal = normalizeGoal(options.goal);
11
- const [quality, bugHunt, preflight] = await Promise.all([
11
+ const [quality, bugHunt, trustMemory] = await Promise.all([
12
12
  computeQualityScorecard(rootPath, { maxRisks: maxCards ?? 5 }),
13
13
  computeBugHunt(rootPath, { maxFindings: maxCards ?? 5 }),
14
- computePreflight(rootPath, { mode: 'before_commit' }),
14
+ readOptionalTrustMemory(options.feedbackPath),
15
15
  ]);
16
+ const preflightVerdict = bugHunt.evidence.preflightVerdict;
16
17
  const initialCards = buildProofCards({
17
18
  goal,
18
19
  qualityRisks: quality.topRisks,
19
20
  bugHuntFindings: bugHunt.fixQueue.length > 0 ? bugHunt.fixQueue : bugHunt.topSuspects,
20
21
  maxCards,
22
+ trustMemory,
21
23
  });
22
24
  const selectedCards = mode === 'fix-first' ? initialCards.slice(0, 2) : initialCards;
23
25
  const riskDelta = computeRiskDelta({
24
26
  healthScore: quality.health.score,
25
27
  qualityVerdict: quality.verdict,
26
- preflightVerdict: preflight.verdict,
28
+ preflightVerdict,
27
29
  proofCards: selectedCards.map((card) => ({
28
30
  id: card.id,
29
31
  priority: card.priority,
@@ -32,11 +34,11 @@ export async function computeAssess(rootPath, options = {}) {
32
34
  selectedCardIds: selectedCards.slice(0, mode === 'fix-first' ? 2 : 1).map((card) => card.id),
33
35
  });
34
36
  const proofCards = selectedCards.map((card) => ({ ...card, riskDelta }));
35
- const verdict = assessVerdict(quality.verdict, preflight.verdict);
37
+ const verdict = assessVerdict(quality.verdict, preflightVerdict);
36
38
  const answers = buildAnswers({
37
39
  proofCards,
38
40
  riskDelta,
39
- preflightVerdict: preflight.verdict,
41
+ preflightVerdict,
40
42
  });
41
43
  const report = {
42
44
  schemaVersion: 1,
@@ -52,7 +54,7 @@ export async function computeAssess(rootPath, options = {}) {
52
54
  feedback: proofCards.map((card) => card.feedback.command),
53
55
  sourceVerdicts: {
54
56
  quality: quality.verdict,
55
- preflight: preflight.verdict,
57
+ preflight: preflightVerdict,
56
58
  },
57
59
  ...(initialCards.length > proofCards.length ? { truncated: true } : {}),
58
60
  };
@@ -65,6 +67,25 @@ export async function computeAssess(rootPath, options = {}) {
65
67
  }
66
68
  return report;
67
69
  }
70
+ async function readOptionalTrustMemory(feedbackPath) {
71
+ if (!feedbackPath)
72
+ return undefined;
73
+ try {
74
+ const feedback = await readFeedbackFile(feedbackPath);
75
+ return { path: feedbackPath, responses: feedback.responses };
76
+ }
77
+ catch (error) {
78
+ if (isNodeErrorCode(error, 'ENOENT'))
79
+ return undefined;
80
+ throw error;
81
+ }
82
+ }
83
+ function isNodeErrorCode(error, code) {
84
+ return (typeof error === 'object' &&
85
+ error !== null &&
86
+ 'code' in error &&
87
+ error.code === code);
88
+ }
68
89
  function buildAnswers(input) {
69
90
  const first = input.proofCards[0];
70
91
  const evidenceSources = first?.evidence.map((entry) => entry.source).join(', ');
@@ -1 +1 @@
1
- {"version":3,"file":"assess.js","sourceRoot":"","sources":["../../src/core/assess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assess.js","sourceRoot":"","sources":["../../src/core/assess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AssessProofCard, AssessTrustMemory, AssessTrustMemoryStatus } from '../types/assess.js';
2
+ import type { DogfoodFeedbackResponse } from '../types/dogfood.js';
3
+ export interface ProofCardTrustMemoryInput {
4
+ path?: string;
5
+ responses: DogfoodFeedbackResponse[];
6
+ }
7
+ export declare function applyTrustMemory(card: AssessProofCard, memory: ProofCardTrustMemoryInput | undefined): AssessProofCard;
8
+ export declare function trustMemoryRank(status: AssessTrustMemoryStatus): number;
9
+ export declare function trustMemoryScoreDelta(status: AssessTrustMemoryStatus): number;
10
+ export declare function trustMemoryRankingReason(status: AssessTrustMemoryStatus): string | undefined;
11
+ export declare function defaultTrustMemory(feedbackCommand: string): AssessTrustMemory;