@mergesignal/shared 0.16.1 → 0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"extractRepositoryContextFacts.d.ts","sourceRoot":"","sources":["../src/extractRepositoryContextFacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACrE,CAAC;AAYF;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,UAAU,GACjB,qBAAqB,EAAE,CAiEzB"}
1
+ {"version":3,"file":"extractRepositoryContextFacts.d.ts","sourceRoot":"","sources":["../src/extractRepositoryContextFacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACrE,CAAC;AAYF;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,UAAU,GACjB,qBAAqB,EAAE,CAmEzB"}
@@ -34,8 +34,9 @@ export function extractRepositoryContextFacts(result) {
34
34
  });
35
35
  }
36
36
  }
37
- if (Array.isArray(result.explain?.reasons)) {
38
- for (const reason of result.explain.reasons) {
37
+ const explainReasons = result.repositoryHealth?.explain?.reasons ?? result.explain?.reasons;
38
+ if (Array.isArray(explainReasons)) {
39
+ for (const reason of explainReasons) {
39
40
  const mapped = mapExplainReasonToCatalogPhrase(reason);
40
41
  if (!mapped) {
41
42
  const family = matchSignalFamily(`${reason.id} ${reason.title} ${reason.layer}`);
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export * from "./narrativePresentation.js";
21
21
  export * from "./normalizeGeneratedText.js";
22
22
  export { presentGitHubPrCommentMarkdownFromResult } from "./presentGitHubPrComment.js";
23
23
  export * from "./scanCardPresentationState.js";
24
+ export * from "./scanAnalysisScope.js";
24
25
  export * from "./scanResultSchema.js";
25
26
  export * from "./scanSurfaceCopy.js";
26
27
  export * from "./resolvePipelineStatus.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ export * from "./narrativePresentation.js";
21
21
  export * from "./normalizeGeneratedText.js";
22
22
  export { presentGitHubPrCommentMarkdownFromResult } from "./presentGitHubPrComment.js";
23
23
  export * from "./scanCardPresentationState.js";
24
+ export * from "./scanAnalysisScope.js";
24
25
  export * from "./scanResultSchema.js";
25
26
  export * from "./scanSurfaceCopy.js";
26
27
  export * from "./resolvePipelineStatus.js";
@@ -33,9 +33,10 @@ export type ScanScoreRow = {
33
33
  * 1. abstain outcome → no numeric score (outcome-primary reader semantics)
34
34
  * 2. result.prRisk.availability === 'indeterminate' → no numeric score
35
35
  * 3. result.prRisk.score (scored wire)
36
- * 4. denormalized pr_risk_score (when provided)
37
- * 5. historical scans.total_score column (when provided)
38
- * 6. result.totalScore (historical JSON fallback only)
36
+ * 4. when assessment is present and no scored wire → no numeric score
37
+ * 5. denormalized pr_risk_score (historical rows only no assessment in result)
38
+ * 6. historical scans.total_score column (historical rows only)
39
+ * 7. result.totalScore (historical JSON fallback only)
39
40
  */
40
41
  export declare function resolvePrRiskScore(result: ScanResult | null | undefined, ctx?: PrRiskScoreContext): number | null;
41
42
  /** Layer scores for PR Risk — prRisk.layerScores when present, else legacy layerScores. */
@@ -1 +1 @@
1
- {"version":3,"file":"prRiskWire.d.ts","sourceRoot":"","sources":["../src/prRiskWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAeF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,kBAAuB,GAC3B,MAAM,GAAG,IAAI,CA2Bf;AASD,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,WAAW,GAAG,IAAI,CAWpB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,KAAK,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7C;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,4BAAiC,GACrC,MAAM,GAAG,IAAI,CAqBf;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAK1E;AAED,wFAAwF;AACxF,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,YAAY,GAChB,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"prRiskWire.d.ts","sourceRoot":"","sources":["../src/prRiskWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAeF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,kBAAuB,GAC3B,MAAM,GAAG,IAAI,CA+Bf;AASD,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,WAAW,GAAG,IAAI,CAYpB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,KAAK,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7C;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,4BAAiC,GACrC,MAAM,GAAG,IAAI,CAqBf;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAK1E;AAED,wFAAwF;AACxF,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,YAAY,GAChB,MAAM,GAAG,IAAI,CAQf"}
@@ -14,9 +14,10 @@ function isIndeterminatePrRisk(prRisk) {
14
14
  * 1. abstain outcome → no numeric score (outcome-primary reader semantics)
15
15
  * 2. result.prRisk.availability === 'indeterminate' → no numeric score
16
16
  * 3. result.prRisk.score (scored wire)
17
- * 4. denormalized pr_risk_score (when provided)
18
- * 5. historical scans.total_score column (when provided)
19
- * 6. result.totalScore (historical JSON fallback only)
17
+ * 4. when assessment is present and no scored wire → no numeric score
18
+ * 5. denormalized pr_risk_score (historical rows only no assessment in result)
19
+ * 6. historical scans.total_score column (historical rows only)
20
+ * 7. result.totalScore (historical JSON fallback only)
20
21
  */
21
22
  export function resolvePrRiskScore(result, ctx = {}) {
22
23
  if (!result && ctx.prRiskScore == null && ctx.legacyTotalScore == null) {
@@ -33,6 +34,9 @@ export function resolvePrRiskScore(result, ctx = {}) {
33
34
  : undefined);
34
35
  if (fromWire != null)
35
36
  return fromWire;
37
+ if (result?.assessment) {
38
+ return null;
39
+ }
36
40
  const fromDenorm = finiteScore(ctx.prRiskScore);
37
41
  if (fromDenorm != null)
38
42
  return fromDenorm;
@@ -60,6 +64,8 @@ export function resolvePrRiskLayerScores(result) {
60
64
  : undefined;
61
65
  if (fromPrRisk)
62
66
  return fromPrRisk;
67
+ if (result.assessment)
68
+ return null;
63
69
  if (result.layerScores)
64
70
  return result.layerScores;
65
71
  return null;
@@ -0,0 +1,19 @@
1
+ import type { ScanAnalysisScope, ScanQueueJob, ScanRequest } from "./types.js";
2
+ /** Expected fresh engine-output shape for context-aware ABI-5 validation. */
3
+ export type FreshEngineOutputExpectation = ScanAnalysisScope;
4
+ /**
5
+ * Resolves governed analysis scope from a normalized ScanRequest.
6
+ * Defaults to repository when unset.
7
+ */
8
+ export declare function resolveScanAnalysisScope(request: Pick<ScanRequest, "scanAnalysisScope">): ScanAnalysisScope;
9
+ /**
10
+ * Derives strict fresh-output validation expectation from the same normalized
11
+ * ScanRequest fact used by the engine producer.
12
+ */
13
+ export declare function freshOutputExpectationFromScanRequest(request: Pick<ScanRequest, "scanAnalysisScope">): FreshEngineOutputExpectation;
14
+ /**
15
+ * Normalizes queue job context into engine ingress scope.
16
+ * GitHub PR jobs are change-request scoped; repository/manual jobs are repository scoped.
17
+ */
18
+ export declare function scanAnalysisScopeFromQueueJob(job: Pick<ScanQueueJob, "github">): ScanAnalysisScope;
19
+ //# sourceMappingURL=scanAnalysisScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanAnalysisScope.d.ts","sourceRoot":"","sources":["../src/scanAnalysisScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAC9C,iBAAiB,CAEnB;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAC9C,4BAA4B,CAE9B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChC,iBAAiB,CAEnB"}
@@ -0,0 +1,22 @@
1
+ const DEFAULT_SCAN_ANALYSIS_SCOPE = "repository";
2
+ /**
3
+ * Resolves governed analysis scope from a normalized ScanRequest.
4
+ * Defaults to repository when unset.
5
+ */
6
+ export function resolveScanAnalysisScope(request) {
7
+ return request.scanAnalysisScope ?? DEFAULT_SCAN_ANALYSIS_SCOPE;
8
+ }
9
+ /**
10
+ * Derives strict fresh-output validation expectation from the same normalized
11
+ * ScanRequest fact used by the engine producer.
12
+ */
13
+ export function freshOutputExpectationFromScanRequest(request) {
14
+ return resolveScanAnalysisScope(request);
15
+ }
16
+ /**
17
+ * Normalizes queue job context into engine ingress scope.
18
+ * GitHub PR jobs are change-request scoped; repository/manual jobs are repository scoped.
19
+ */
20
+ export function scanAnalysisScopeFromQueueJob(job) {
21
+ return job.github ? "change_request" : "repository";
22
+ }
@@ -1,12 +1,15 @@
1
1
  import { z } from "zod";
2
+ import type { FreshEngineOutputExpectation } from "./scanAnalysisScope.js";
2
3
  import type { EngineEmittedScanResult, ScanResult } from "./types.js";
3
4
  /** Bump when persisted `result` JSON validation rules change materially (relaxed / legacy-tolerant). */
4
5
  export declare const SCAN_RESULT_ABI: "2";
5
6
  /** Bump when strict fresh-engine-output validation rules change materially. */
6
- export declare const ENGINE_OUTPUT_SCAN_ABI: "4";
7
+ export declare const ENGINE_OUTPUT_SCAN_ABI: "5";
7
8
  /**
8
- * Synthesize ABI-4 prRisk/repositoryHealth from legacy totalScore when an engine
9
- * has not yet adopted the dual-score wire (transitional bridge).
9
+ * Legacy ingest helper only. Synthesizes repositoryHealth from legacy root graph
10
+ * scores when repositoryHealth is missing. Never synthesizes prRisk.
11
+ *
12
+ * Not invoked by strict fresh engine-output validation (`safeParseEngineOutputScanResult`).
10
13
  */
11
14
  export declare function normalizeEngineOutputAbi4(raw: unknown): unknown;
12
15
  /**
@@ -15,13 +18,13 @@ export declare function normalizeEngineOutputAbi4(raw: unknown): unknown;
15
18
  * Unknown top-level keys are preserved (forward-compatible with newer engines).
16
19
  */
17
20
  export declare const scanResultSchema: z.ZodObject<{
18
- totalScore: z.ZodNumber;
19
- layerScores: z.ZodObject<{
21
+ totalScore: z.ZodOptional<z.ZodNumber>;
22
+ layerScores: z.ZodOptional<z.ZodObject<{
20
23
  security: z.ZodNumber;
21
24
  maintainability: z.ZodNumber;
22
25
  ecosystem: z.ZodNumber;
23
26
  upgradeImpact: z.ZodNumber;
24
- }, z.core.$strip>;
27
+ }, z.core.$strip>>;
25
28
  prRisk: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
26
29
  availability: z.ZodOptional<z.ZodLiteral<"scored">>;
27
30
  score: z.ZodNumber;
@@ -44,6 +47,32 @@ export declare const scanResultSchema: z.ZodObject<{
44
47
  ecosystem: z.ZodNumber;
45
48
  upgradeImpact: z.ZodNumber;
46
49
  }, z.core.$strip>>;
50
+ explain: z.ZodOptional<z.ZodObject<{
51
+ reasons: z.ZodArray<z.ZodObject<{
52
+ id: z.ZodString;
53
+ layer: z.ZodEnum<{
54
+ security: "security";
55
+ maintainability: "maintainability";
56
+ ecosystem: "ecosystem";
57
+ upgradeImpact: "upgradeImpact";
58
+ }>;
59
+ title: z.ZodString;
60
+ value: z.ZodOptional<z.ZodNumber>;
61
+ scoreImpact: z.ZodNumber;
62
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ }, z.core.$strip>>;
64
+ }, z.core.$strip>>;
65
+ topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
66
+ id: z.ZodString;
67
+ layer: z.ZodEnum<{
68
+ security: "security";
69
+ maintainability: "maintainability";
70
+ ecosystem: "ecosystem";
71
+ upgradeImpact: "upgradeImpact";
72
+ }>;
73
+ scoreImpact: z.ZodNumber;
74
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
75
+ }, z.core.$strip>>>;
47
76
  }, z.core.$strip>>;
48
77
  findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
49
78
  methodologyVersion: z.ZodOptional<z.ZodString>;
@@ -76,18 +105,57 @@ export declare const scanResultSchema: z.ZodObject<{
76
105
  }, z.core.$loose>>;
77
106
  codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
78
107
  }, z.core.$loose>;
79
- /**
80
- * Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
81
- * historical `scans.result` blobs from the database.
82
- */
83
- export declare const engineOutputScanResultSchema: z.ZodObject<{
84
- totalScore: z.ZodNumber;
85
- layerScores: z.ZodObject<{
86
- security: z.ZodNumber;
87
- maintainability: z.ZodNumber;
88
- ecosystem: z.ZodNumber;
89
- upgradeImpact: z.ZodNumber;
90
- }, z.core.$strip>;
108
+ /** Strict schema for fresh repository-scoped `analyze()` output. */
109
+ export declare const repositoryEngineOutputScanResultSchema: z.ZodObject<{
110
+ prRisk: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
111
+ availability: z.ZodOptional<z.ZodLiteral<"scored">>;
112
+ score: z.ZodNumber;
113
+ layerScores: z.ZodOptional<z.ZodObject<{
114
+ security: z.ZodNumber;
115
+ maintainability: z.ZodNumber;
116
+ ecosystem: z.ZodNumber;
117
+ upgradeImpact: z.ZodNumber;
118
+ }, z.core.$strip>>;
119
+ qualifier: z.ZodOptional<z.ZodLiteral<"limited_evidence">>;
120
+ }, z.core.$strip>, z.ZodObject<{
121
+ availability: z.ZodLiteral<"indeterminate">;
122
+ qualifier: z.ZodOptional<z.ZodLiteral<"limited_evidence">>;
123
+ }, z.core.$strip>]>>;
124
+ repositoryHealth: z.ZodOptional<z.ZodObject<{
125
+ totalScore: z.ZodNumber;
126
+ layerScores: z.ZodOptional<z.ZodObject<{
127
+ security: z.ZodNumber;
128
+ maintainability: z.ZodNumber;
129
+ ecosystem: z.ZodNumber;
130
+ upgradeImpact: z.ZodNumber;
131
+ }, z.core.$strip>>;
132
+ explain: z.ZodOptional<z.ZodObject<{
133
+ reasons: z.ZodArray<z.ZodObject<{
134
+ id: z.ZodString;
135
+ layer: z.ZodEnum<{
136
+ security: "security";
137
+ maintainability: "maintainability";
138
+ ecosystem: "ecosystem";
139
+ upgradeImpact: "upgradeImpact";
140
+ }>;
141
+ title: z.ZodString;
142
+ value: z.ZodOptional<z.ZodNumber>;
143
+ scoreImpact: z.ZodNumber;
144
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
145
+ }, z.core.$strip>>;
146
+ }, z.core.$strip>>;
147
+ topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
148
+ id: z.ZodString;
149
+ layer: z.ZodEnum<{
150
+ security: "security";
151
+ maintainability: "maintainability";
152
+ ecosystem: "ecosystem";
153
+ upgradeImpact: "upgradeImpact";
154
+ }>;
155
+ scoreImpact: z.ZodNumber;
156
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
157
+ }, z.core.$strip>>>;
158
+ }, z.core.$strip>>;
91
159
  findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
92
160
  confidence: z.ZodOptional<z.ZodEnum<{
93
161
  low: "low";
@@ -118,6 +186,44 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
118
186
  codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
119
187
  methodologyVersion: z.ZodString;
120
188
  generatedAt: z.ZodString;
189
+ totalScore: z.ZodNumber;
190
+ layerScores: z.ZodObject<{
191
+ security: z.ZodNumber;
192
+ maintainability: z.ZodNumber;
193
+ ecosystem: z.ZodNumber;
194
+ upgradeImpact: z.ZodNumber;
195
+ }, z.core.$strip>;
196
+ }, z.core.$loose>;
197
+ /**
198
+ * Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
199
+ * historical `scans.result` blobs from the database.
200
+ *
201
+ * Prefer {@link engineOutputScanResultSchemaFor} with an explicit analysis-scope expectation.
202
+ */
203
+ export declare const engineOutputScanResultSchema: z.ZodObject<{
204
+ totalScore: z.ZodOptional<z.ZodNumber>;
205
+ layerScores: z.ZodOptional<z.ZodObject<{
206
+ security: z.ZodNumber;
207
+ maintainability: z.ZodNumber;
208
+ ecosystem: z.ZodNumber;
209
+ upgradeImpact: z.ZodNumber;
210
+ }, z.core.$strip>>;
211
+ findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
212
+ confidence: z.ZodOptional<z.ZodEnum<{
213
+ low: "low";
214
+ medium: "medium";
215
+ high: "high";
216
+ }>>;
217
+ signals: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
218
+ contributions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
219
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
220
+ dataset: z.ZodOptional<z.ZodUnknown>;
221
+ explain: z.ZodOptional<z.ZodUnknown>;
222
+ graphInsights: z.ZodOptional<z.ZodUnknown>;
223
+ insights: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
224
+ codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
225
+ methodologyVersion: z.ZodString;
226
+ generatedAt: z.ZodString;
121
227
  assessment: z.ZodObject<{
122
228
  reviewFocalPoint: z.ZodObject<{
123
229
  episodeShape: z.ZodEnum<{
@@ -414,6 +520,20 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
414
520
  detail: z.ZodOptional<z.ZodString>;
415
521
  }, z.core.$strip>>>;
416
522
  }, z.core.$strip>;
523
+ decision: z.ZodObject<{
524
+ recommendation: z.ZodEnum<{
525
+ safe: "safe";
526
+ needs_review: "needs_review";
527
+ risky: "risky";
528
+ indeterminate: "indeterminate";
529
+ }>;
530
+ confidence: z.ZodOptional<z.ZodEnum<{
531
+ low: "low";
532
+ medium: "medium";
533
+ high: "high";
534
+ }>>;
535
+ reasoning: z.ZodOptional<z.ZodArray<z.ZodString>>;
536
+ }, z.core.$loose>;
417
537
  prRisk: z.ZodUnion<readonly [z.ZodObject<{
418
538
  availability: z.ZodOptional<z.ZodLiteral<"scored">>;
419
539
  score: z.ZodNumber;
@@ -436,6 +556,32 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
436
556
  ecosystem: z.ZodNumber;
437
557
  upgradeImpact: z.ZodNumber;
438
558
  }, z.core.$strip>>;
559
+ explain: z.ZodOptional<z.ZodObject<{
560
+ reasons: z.ZodArray<z.ZodObject<{
561
+ id: z.ZodString;
562
+ layer: z.ZodEnum<{
563
+ security: "security";
564
+ maintainability: "maintainability";
565
+ ecosystem: "ecosystem";
566
+ upgradeImpact: "upgradeImpact";
567
+ }>;
568
+ title: z.ZodString;
569
+ value: z.ZodOptional<z.ZodNumber>;
570
+ scoreImpact: z.ZodNumber;
571
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
572
+ }, z.core.$strip>>;
573
+ }, z.core.$strip>>;
574
+ topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
575
+ id: z.ZodString;
576
+ layer: z.ZodEnum<{
577
+ security: "security";
578
+ maintainability: "maintainability";
579
+ ecosystem: "ecosystem";
580
+ upgradeImpact: "upgradeImpact";
581
+ }>;
582
+ scoreImpact: z.ZodNumber;
583
+ evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
584
+ }, z.core.$strip>>>;
439
585
  }, z.core.$strip>;
440
586
  }, z.core.$loose>;
441
587
  export type EngineOutputScanResultParseFailure = {
@@ -447,9 +593,10 @@ export type EngineOutputScanResultParseSuccess = {
447
593
  ok: true;
448
594
  result: EngineEmittedScanResult;
449
595
  };
450
- export declare function safeParseEngineOutputScanResult(data: unknown): EngineOutputScanResultParseSuccess | EngineOutputScanResultParseFailure;
596
+ export declare function engineOutputScanResultSchemaFor(expectation: FreshEngineOutputExpectation): z.ZodType;
597
+ export declare function safeParseEngineOutputScanResult(data: unknown, expectation: FreshEngineOutputExpectation): EngineOutputScanResultParseSuccess | EngineOutputScanResultParseFailure;
451
598
  /** Validates fresh engine output; throws on failure. Not for legacy persisted JSON. */
452
- export declare function parseEngineOutputScanResultOrThrow(data: unknown): EngineEmittedScanResult;
599
+ export declare function parseEngineOutputScanResultOrThrow(data: unknown, expectation: FreshEngineOutputExpectation): EngineEmittedScanResult;
453
600
  export type ScanResultParseFailure = {
454
601
  ok: false;
455
602
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scanResultSchema.d.ts","sourceRoot":"","sources":["../src/scanResultSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,wGAAwG;AACxG,eAAO,MAAM,eAAe,EAAG,GAAY,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,EAAG,GAAY,CAAC;AA4BnD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAc/D;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCb,CAAC;AAUjB;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMvC,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,GACZ,kCAAkC,GAAG,kCAAkC,CAezE;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,OAAO,GACZ,uBAAuB,CAMzB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GACZ,sBAAsB,GAAG,sBAAsB,CAajD;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAMhE"}
1
+ {"version":3,"file":"scanResultSchema.d.ts","sourceRoot":"","sources":["../src/scanResultSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,wGAAwG;AACxG,eAAO,MAAM,eAAe,EAAG,GAAY,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,EAAG,GAAY,CAAC;AAyHnD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAa/D;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBb,CAAC;AA2BjB,oEAAoE;AACpE,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW7C,CAAC;AAEP;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACE,CAAC;AAE5C,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,4BAA4B,GACxC,CAAC,CAAC,OAAO,CAIX;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,4BAA4B,GACxC,kCAAkC,GAAG,kCAAkC,CAazE;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,4BAA4B,GACxC,uBAAuB,CAMzB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GACZ,sBAAsB,GAAG,sBAAsB,CAajD;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAMhE"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  /** Bump when persisted `result` JSON validation rules change materially (relaxed / legacy-tolerant). */
4
4
  export const SCAN_RESULT_ABI = "2";
5
5
  /** Bump when strict fresh-engine-output validation rules change materially. */
6
- export const ENGINE_OUTPUT_SCAN_ABI = "4";
6
+ export const ENGINE_OUTPUT_SCAN_ABI = "5";
7
7
  const layerScoresSchema = z.object({
8
8
  security: z.number(),
9
9
  maintainability: z.number(),
@@ -21,13 +21,89 @@ const prRiskIndeterminateSchema = z.object({
21
21
  qualifier: z.literal("limited_evidence").optional(),
22
22
  });
23
23
  const prRiskSchema = z.union([prRiskScoredSchema, prRiskIndeterminateSchema]);
24
+ const explainReasonSchema = z.object({
25
+ id: z.string(),
26
+ layer: z.enum(["security", "maintainability", "ecosystem", "upgradeImpact"]),
27
+ title: z.string(),
28
+ value: z.number().optional(),
29
+ scoreImpact: z.number(),
30
+ evidence: z.record(z.string(), z.unknown()).optional(),
31
+ });
32
+ const explainBlockSchema = z.object({
33
+ reasons: z.array(explainReasonSchema),
34
+ });
35
+ const scoreContributionSchema = z.object({
36
+ id: z.string(),
37
+ layer: z.enum(["security", "maintainability", "ecosystem", "upgradeImpact"]),
38
+ scoreImpact: z.number(),
39
+ evidence: z.record(z.string(), z.unknown()).optional(),
40
+ });
24
41
  const repositoryHealthSchema = z.object({
25
42
  totalScore: z.number().min(0).max(100),
26
43
  layerScores: layerScoresSchema.optional(),
44
+ explain: explainBlockSchema.optional(),
45
+ topContributions: z.array(scoreContributionSchema).optional(),
27
46
  });
47
+ const decisionSchema = z
48
+ .object({
49
+ recommendation: z.enum(["safe", "needs_review", "risky", "indeterminate"]),
50
+ confidence: z.enum(["low", "medium", "high"]).optional(),
51
+ reasoning: z.array(z.string()).optional(),
52
+ })
53
+ .passthrough();
54
+ const MODERN_PR_FORBIDDEN_ROOT_KEYS = [
55
+ "totalScore",
56
+ "layerScores",
57
+ "signals",
58
+ "contributions",
59
+ "explain",
60
+ ];
61
+ function refineChangeRequestForbiddenRoots(obj, ctx) {
62
+ if (obj.prRisk === undefined) {
63
+ return;
64
+ }
65
+ for (const key of MODERN_PR_FORBIDDEN_ROOT_KEYS) {
66
+ if (obj[key] !== undefined) {
67
+ ctx.addIssue({
68
+ code: z.ZodIssueCode.custom,
69
+ message: `Change-request engine output must not emit root \`${key}\``,
70
+ path: [key],
71
+ });
72
+ }
73
+ }
74
+ if (obj.assessment !== undefined && obj.confidence !== undefined) {
75
+ ctx.addIssue({
76
+ code: z.ZodIssueCode.custom,
77
+ message: "Change-request engine output must not emit root `confidence` when assessment is present",
78
+ path: ["confidence"],
79
+ });
80
+ }
81
+ }
82
+ function refineRepositoryForbiddenPrAuthorities(obj, ctx) {
83
+ if (obj.prRisk !== undefined) {
84
+ ctx.addIssue({
85
+ code: z.ZodIssueCode.custom,
86
+ message: "Repository-scoped engine output must not emit `prRisk`",
87
+ path: ["prRisk"],
88
+ });
89
+ }
90
+ if (obj.repositoryHealth !== undefined) {
91
+ ctx.addIssue({
92
+ code: z.ZodIssueCode.custom,
93
+ message: "Repository-scoped engine output must not emit `repositoryHealth`",
94
+ path: ["repositoryHealth"],
95
+ });
96
+ }
97
+ }
98
+ /** @deprecated Use refineChangeRequestForbiddenRoots — kept for transitional reads. */
99
+ function refineModernPrForbiddenRoots(obj, ctx) {
100
+ refineChangeRequestForbiddenRoots(obj, ctx);
101
+ }
28
102
  /**
29
- * Synthesize ABI-4 prRisk/repositoryHealth from legacy totalScore when an engine
30
- * has not yet adopted the dual-score wire (transitional bridge).
103
+ * Legacy ingest helper only. Synthesizes repositoryHealth from legacy root graph
104
+ * scores when repositoryHealth is missing. Never synthesizes prRisk.
105
+ *
106
+ * Not invoked by strict fresh engine-output validation (`safeParseEngineOutputScanResult`).
31
107
  */
32
108
  export function normalizeEngineOutputAbi4(raw) {
33
109
  if (!raw || typeof raw !== "object")
@@ -42,7 +118,6 @@ export function normalizeEngineOutputAbi4(raw) {
42
118
  return raw;
43
119
  return {
44
120
  ...obj,
45
- prRisk: obj.prRisk ?? { score: totalScore, layerScores },
46
121
  repositoryHealth: obj.repositoryHealth ?? { totalScore, layerScores },
47
122
  };
48
123
  }
@@ -53,8 +128,8 @@ export function normalizeEngineOutputAbi4(raw) {
53
128
  */
54
129
  export const scanResultSchema = z
55
130
  .object({
56
- totalScore: z.number().min(0).max(100),
57
- layerScores: layerScoresSchema,
131
+ totalScore: z.number().min(0).max(100).optional(),
132
+ layerScores: layerScoresSchema.optional(),
58
133
  prRisk: prRiskSchema.optional(),
59
134
  repositoryHealth: repositoryHealthSchema.optional(),
60
135
  findings: z
@@ -71,19 +146,7 @@ export const scanResultSchema = z
71
146
  graphInsights: z.unknown().optional(),
72
147
  generatedAt: z.string().min(1),
73
148
  insights: z.array(z.unknown()).optional(),
74
- decision: z
75
- .object({
76
- recommendation: z.enum([
77
- "safe",
78
- "needs_review",
79
- "risky",
80
- "indeterminate",
81
- ]),
82
- confidence: z.enum(["low", "medium", "high"]).optional(),
83
- reasoning: z.array(z.string()).optional(),
84
- })
85
- .passthrough()
86
- .optional(),
149
+ decision: decisionSchema.optional(),
87
150
  codeAnalysisMetrics: z.unknown().optional(),
88
151
  })
89
152
  .passthrough();
@@ -94,19 +157,44 @@ const engineOutputGeneratedAtSchema = z
94
157
  .refine((s) => !Number.isNaN(Date.parse(s)), {
95
158
  error: "generatedAt must be a parseable ISO-8601 timestamp",
96
159
  });
97
- /**
98
- * Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
99
- * historical `scans.result` blobs from the database.
100
- */
101
- export const engineOutputScanResultSchema = scanResultSchema.extend({
160
+ const freshEngineOutputBaseSchema = scanResultSchema.extend({
102
161
  methodologyVersion: z.string().trim().min(1),
103
162
  generatedAt: engineOutputGeneratedAtSchema,
163
+ });
164
+ /** Strict schema for fresh change-request `analyze()` output. */
165
+ const changeRequestEngineOutputScanResultSchema = freshEngineOutputBaseSchema
166
+ .extend({
104
167
  assessment: assessmentSchema,
168
+ decision: decisionSchema,
105
169
  prRisk: prRiskSchema,
106
170
  repositoryHealth: repositoryHealthSchema,
171
+ })
172
+ .superRefine((obj, ctx) => {
173
+ refineChangeRequestForbiddenRoots(obj, ctx);
174
+ });
175
+ /** Strict schema for fresh repository-scoped `analyze()` output. */
176
+ export const repositoryEngineOutputScanResultSchema = freshEngineOutputBaseSchema
177
+ .extend({
178
+ totalScore: z.number().min(0).max(100),
179
+ layerScores: layerScoresSchema,
180
+ })
181
+ .superRefine((obj, ctx) => {
182
+ refineRepositoryForbiddenPrAuthorities(obj, ctx);
107
183
  });
108
- export function safeParseEngineOutputScanResult(data) {
109
- const parsed = engineOutputScanResultSchema.safeParse(normalizeEngineOutputAbi4(data));
184
+ /**
185
+ * Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
186
+ * historical `scans.result` blobs from the database.
187
+ *
188
+ * Prefer {@link engineOutputScanResultSchemaFor} with an explicit analysis-scope expectation.
189
+ */
190
+ export const engineOutputScanResultSchema = changeRequestEngineOutputScanResultSchema;
191
+ export function engineOutputScanResultSchemaFor(expectation) {
192
+ return expectation === "change_request"
193
+ ? changeRequestEngineOutputScanResultSchema
194
+ : repositoryEngineOutputScanResultSchema;
195
+ }
196
+ export function safeParseEngineOutputScanResult(data, expectation) {
197
+ const parsed = engineOutputScanResultSchemaFor(expectation).safeParse(data);
110
198
  if (!parsed.success) {
111
199
  const issues = parsed.error.issues.map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`);
112
200
  return {
@@ -118,8 +206,8 @@ export function safeParseEngineOutputScanResult(data) {
118
206
  return { ok: true, result: parsed.data };
119
207
  }
120
208
  /** Validates fresh engine output; throws on failure. Not for legacy persisted JSON. */
121
- export function parseEngineOutputScanResultOrThrow(data) {
122
- const r = safeParseEngineOutputScanResult(data);
209
+ export function parseEngineOutputScanResultOrThrow(data, expectation) {
210
+ const r = safeParseEngineOutputScanResult(data, expectation);
123
211
  if (!r.ok) {
124
212
  throw new Error(`validation: ${r.message}`);
125
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selectTopAffectedAreas.d.ts","sourceRoot":"","sources":["../src/selectTopAffectedAreas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,GAAE,eAAoB,GACzB,MAAM,EAAE,CAuEV"}
1
+ {"version":3,"file":"selectTopAffectedAreas.d.ts","sourceRoot":"","sources":["../src/selectTopAffectedAreas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,GAAE,eAAoB,GACzB,MAAM,EAAE,CA0EV"}
@@ -32,9 +32,10 @@ export function selectTopAffectedAreas(result, opts = {}) {
32
32
  areas.push(t);
33
33
  return areas.length < max;
34
34
  }
35
- // Priority 1: explain.reasons sorted by absolute scoreImpact
36
- if (Array.isArray(result.explain?.reasons)) {
37
- const sorted = [...result.explain.reasons]
35
+ // Priority 1: repositoryHealth.explain then historical root explain
36
+ const explainReasons = result.repositoryHealth?.explain?.reasons ?? result.explain?.reasons;
37
+ if (Array.isArray(explainReasons)) {
38
+ const sorted = [...explainReasons]
38
39
  .filter((r) => r.title)
39
40
  .sort((a, b) => Math.abs(b.scoreImpact ?? 0) - Math.abs(a.scoreImpact ?? 0));
40
41
  for (const r of sorted) {
@@ -64,7 +65,7 @@ export function selectTopAffectedAreas(result, opts = {}) {
64
65
  ecosystem: "Ecosystem",
65
66
  upgradeImpact: "Upgrade impact",
66
67
  };
67
- const layerScores = result.layerScores;
68
+ const layerScores = result.repositoryHealth?.layerScores ?? result.layerScores;
68
69
  if (!layerScores || typeof layerScores !== "object")
69
70
  return areas;
70
71
  const sorted = Object.entries(layerScores)
@@ -1,3 +1,4 @@
1
+ import type { FreshEngineOutputExpectation } from "./scanAnalysisScope.js";
1
2
  import type { EngineEmittedScanResult, ScanResult } from "./types.js";
2
3
  /** True when methodology is tagged as the OSS stub engine. */
3
4
  export declare function isStubMethodologyVersion(methodologyVersion: string | undefined): boolean;
@@ -19,7 +20,7 @@ export declare function assertTrustedScanResult(result: ScanResult): void;
19
20
  * Strict structural validation for fresh engine JSON + trusted policy.
20
21
  * Do not pass historical `scans.result` rows (may omit methodology).
21
22
  */
22
- export declare function validateTrustedEngineScanResult(raw: unknown): EngineEmittedScanResult;
23
+ export declare function validateTrustedEngineScanResult(raw: unknown, expectation: FreshEngineOutputExpectation): EngineEmittedScanResult;
23
24
  export type TrustedActionsAuditResult = {
24
25
  ok: true;
25
26
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"trustedScanGuards.d.ts","sourceRoot":"","sources":["../src/trustedScanGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKtE,8DAA8D;AAC9D,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,IAAI,SAAS,MAAM,EAAE,CAOxE;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAchE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,GACX,uBAAuB,CAIzB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,yBAAyB,CAgC5B"}
1
+ {"version":3,"file":"trustedScanGuards.d.ts","sourceRoot":"","sources":["../src/trustedScanGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKtE,8DAA8D;AAC9D,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,IAAI,SAAS,MAAM,EAAE,CAOxE;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAchE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,4BAA4B,GACxC,uBAAuB,CAIzB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,yBAAyB,CAgC5B"}
@@ -50,8 +50,8 @@ export function assertTrustedScanResult(result) {
50
50
  * Strict structural validation for fresh engine JSON + trusted policy.
51
51
  * Do not pass historical `scans.result` rows (may omit methodology).
52
52
  */
53
- export function validateTrustedEngineScanResult(raw) {
54
- const result = parseEngineOutputScanResultOrThrow(raw);
53
+ export function validateTrustedEngineScanResult(raw, expectation) {
54
+ const result = parseEngineOutputScanResultOrThrow(raw, expectation);
55
55
  assertTrustedScanResult(result);
56
56
  return result;
57
57
  }
@@ -66,7 +66,7 @@ export function auditTrustedActionsOutput(opts) {
66
66
  }
67
67
  let scanResult;
68
68
  try {
69
- scanResult = validateTrustedEngineScanResult(opts.scanResult);
69
+ scanResult = validateTrustedEngineScanResult(opts.scanResult, "repository");
70
70
  }
71
71
  catch (e) {
72
72
  errors.push(e instanceof Error ? e.message : String(e));
package/dist/types.d.ts CHANGED
@@ -24,6 +24,8 @@ export type PrRiskWire = PrRiskWireScored | PrRiskWireIndeterminate;
24
24
  export type RepositoryHealthWire = {
25
25
  totalScore: number;
26
26
  layerScores?: LayerScores;
27
+ explain?: ExplainBlock;
28
+ topContributions?: ScoreContribution[];
27
29
  };
28
30
  export type FindingSeverity = "low" | "medium" | "high" | "critical";
29
31
  /**
@@ -93,22 +95,20 @@ export type AnalysisPreparation = {
93
95
  warnings: AnalysisContextWarning[];
94
96
  repoIntelligenceValidation?: RepoIntelligenceValidation;
95
97
  };
96
- /** Subset of PR identity passed into analysis (no installation tokens). */
97
- export type ScanRequestGithubContext = {
98
- owner: string;
99
- repo: string;
100
- prNumber: number;
101
- };
102
98
  export type { LockfileEvidenceStatus } from "./lockfileEvidence.js";
99
+ /** Neutral analysis scope — repository-wide vs change-request scoped analysis. */
100
+ export type ScanAnalysisScope = "repository" | "change_request";
103
101
  export type ScanRequest = {
104
102
  repoId: string;
105
103
  dependencyGraph: unknown;
106
104
  lockfile?: ScanLockfileInput;
107
105
  /** Base branch lockfile for PR scans (optional). */
108
106
  baseLockfile?: ScanLockfileInput;
109
- repoSource?: RepoSource;
110
- /** Optional PR context for engine/logging (no installation id). */
111
- github?: ScanRequestGithubContext;
107
+ /**
108
+ * Governs change-request vs repository output semantics at engine ingress.
109
+ * Defaults to `repository` when unset.
110
+ */
111
+ scanAnalysisScope?: ScanAnalysisScope;
112
112
  changedPackages?: string[];
113
113
  /** When both base and head lockfiles were compared in the worker. */
114
114
  lockfilePackageDelta?: LockfilePackageDelta;
@@ -275,8 +275,8 @@ export type EngineeringTrace = {
275
275
  };
276
276
  export type ScanResult = {
277
277
  /** Legacy composite score — historical fallback only; not PR Risk authority on ABI-4 output. */
278
- totalScore: number;
279
- layerScores: LayerScores;
278
+ totalScore?: number;
279
+ layerScores?: LayerScores;
280
280
  /** PR Risk authority on ABI-4 engine output. */
281
281
  prRisk?: PrRiskWire;
282
282
  /** Repository health authority on ABI-4 engine output. */
@@ -285,6 +285,10 @@ export type ScanResult = {
285
285
  methodologyVersion?: string;
286
286
  /** Assessment Contract — sole authority for posture and presentation intensity. */
287
287
  assessment?: Assessment;
288
+ /**
289
+ * Legacy graph-scoring input-coverage confidence — omitted on ABI-4 output when
290
+ * {@link assessment} is present. Use `assessment.confidence` for merge-decision confidence.
291
+ */
288
292
  confidence?: RiskConfidence;
289
293
  signals?: RiskSignal[];
290
294
  contributions?: ScoreContribution[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mergesignal/shared",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "MergeSignal shared scan contract, presentation policy, and trusted validation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",