@cejel/cejel 0.4.11 → 0.5.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/dist/index.js CHANGED
@@ -9,10 +9,12 @@ import {
9
9
  WitanReportSchema,
10
10
  assertSelectableRubricVersion,
11
11
  buildRelyingPartySummary,
12
+ computeApplicableMeasuredCoverage,
12
13
  createWitanAttestation,
13
14
  formatCertificateMetricAppliedWeightPercent,
14
15
  formatCertificateMetricLabel,
15
16
  formatCertificateMetricValue,
17
+ formatCoverageSummary,
16
18
  formatExternalSourceLine,
17
19
  isProspectiveRubricVersion,
18
20
  renderWitanBadgeEndpoint,
@@ -21,7 +23,7 @@ import {
21
23
  runCejelScan,
22
24
  serializeWitanReport,
23
25
  verifyWitanAttestationBinding
24
- } from "./chunk-UBCIGOIP.js";
26
+ } from "./chunk-2453M7C2.js";
25
27
  import "./chunk-63XQDYQ5.js";
26
28
  import {
27
29
  external_exports
@@ -484,6 +486,13 @@ function renderMinScoreLimitationFailure(summary, minScore) {
484
486
  return `Cejel: cannot evaluate the required minimum ${minScore.toFixed(1)}/4.0 because the scan has limited evidence (${summary.scanLimitations.length} limitation${summary.scanLimitations.length === 1 ? "" : "s"}). Resolve the reported limitations and re-scan.
485
487
  `;
486
488
  }
489
+ function renderMinScoreCoverageFailure(coverage, minScore) {
490
+ if (!coverage.lowConfidence) {
491
+ throw new Error("A minimum-score coverage message requires low measurement coverage.");
492
+ }
493
+ return `Cejel: cannot evaluate the required minimum ${minScore.toFixed(1)}/4.0 because fewer than half of the applicable dimensions were measured in at least one score (${formatCoverageSummary(coverage)}). Resolve the reported evidence gaps and re-scan.
494
+ `;
495
+ }
487
496
  function renderTerminalCertificate(summary, report) {
488
497
  const abstained = summary.verdict === "Insufficient source" || summary.verdict === "Insufficient evidence";
489
498
  if (!abstained && (summary.overallScore === null || summary.codeTrustScore === null || summary.processTrustScore === null)) {
@@ -636,7 +645,7 @@ var CLI_FLAG_SPECS = [
636
645
  {
637
646
  tokens: ["--min-score"],
638
647
  value: "<0-4>",
639
- description: "exit nonzero below this overall score",
648
+ description: "exit nonzero below this overall score or with insufficient measurement coverage",
640
649
  kind: "minScore"
641
650
  },
642
651
  {
@@ -851,6 +860,11 @@ Wrote:
851
860
  process.stderr.write(renderMinScoreAbstentionFailure(summary, options.minScore));
852
861
  return 1;
853
862
  }
863
+ const coverage = computeApplicableMeasuredCoverage(report);
864
+ if (coverage.lowConfidence) {
865
+ process.stderr.write(renderMinScoreCoverageFailure(coverage, options.minScore));
866
+ return 1;
867
+ }
854
868
  if (report.overallScore < options.minScore) {
855
869
  process.stderr.write(
856
870
  `Cejel: overall score ${report.overallScore.toFixed(1)}/4.0 is below the required minimum ${options.minScore.toFixed(1)}/4.0
package/dist/mcp/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  renderWitanBadgeSvg,
6
6
  renderWitanHtmlReport,
7
7
  runCejelScan
8
- } from "../chunk-UBCIGOIP.js";
8
+ } from "../chunk-2453M7C2.js";
9
9
  import "../chunk-63XQDYQ5.js";
10
10
  import {
11
11
  ZodFirstPartyTypeKind,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cejel/cejel",
3
- "version": "0.4.11",
3
+ "version": "0.5.0",
4
4
  "mcpName": "io.github.BargLabs/cejel",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -63,6 +63,7 @@
63
63
  "gate:d5": "pnpm run build && node scripts/d5-precision-gate.mjs",
64
64
  "gate:d6": "pnpm run build && node scripts/d6-precision-gate.mjs",
65
65
  "validate:distribution": "node scripts/validate-distribution-metadata.mjs",
66
+ "test:release": "bash scripts/release_tests.sh",
66
67
  "pnpm:devPreinstall": "node scripts/assert-dev-environment.mjs --phase=preinstall",
67
68
  "prepublishOnly": "pnpm run build",
68
69
  "prepack": "pnpm run build",