@euconform/cli 1.1.1 → 1.3.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
@@ -2,14 +2,17 @@
2
2
 
3
3
  `@euconform/cli` is the command-line interface for **EuConform**, an offline-first evidence engine for European AI systems.
4
4
 
5
- It scans real project directories, produces machine-readable AI Act evidence, and verifies evidence bundles before they are handed to CI, reviewers, auditors, or downstream tools.
5
+ It scans real project directories, runs reproducible local bias evaluation against Ollama models, validates and verifies machine-readable evidence, and can import external CycloneDX SBOMs into the EuConform AI BOM layer.
6
6
 
7
7
  The CLI is also the first public producer and consumer of the **EuConform Evidence Format**.
8
8
 
9
9
  ## What it does
10
10
 
11
11
  - `scan` inspects a codebase and generates structured evidence artifacts
12
+ - `bias` runs a reproducible local CrowS-Pairs evaluation against an Ollama model — EuConform's distinctive empirical layer
13
+ - `validate` checks EuConform JSON files against the published schemas
12
14
  - `verify` validates an EuConform Evidence Format bundle manifest, directory, or ZIP archive
15
+ - `import` maps a CycloneDX JSON SBOM into `euconform.aibom.v1.1` as an interoperability bridge
13
16
  - outputs stay local and can be reviewed in the EuConform web viewer
14
17
 
15
18
  This package is designed for teams that want **technical evidence for human review**, not automated legal verdicts.
@@ -29,6 +32,16 @@ npm install -g @euconform/cli
29
32
  euconform scan .
30
33
  ```
31
34
 
35
+ ## Command Overview
36
+
37
+ | Command | Input | Output | Primary use case |
38
+ |---------|-------|--------|------------------|
39
+ | `scan <path>` | Repository directory | EuConform artifact set in `.euconform/` | Native evidence generation from source code |
40
+ | `bias <model>` | Ollama model name | Bias report JSON and/or Markdown | Reproducible local model evaluation — EuConform's distinctive empirical layer |
41
+ | `validate <path>` | EuConform JSON file or directory | Valid/invalid status per file | Schema checks in CI, review, or local QA |
42
+ | `verify <path>` | Bundle manifest, extracted bundle dir, or ZIP | Integrity status | Artifact exchange and transport verification |
43
+ | `import <path>` | CycloneDX JSON SBOM | `euconform.aibom.json` | Interoperability bridge from external SBOM ecosystems |
44
+
32
45
  ## Commands
33
46
 
34
47
  ### `euconform scan <path>`
@@ -55,6 +68,31 @@ Optional CI mode:
55
68
  euconform scan . --ci github --fail-on high
56
69
  ```
57
70
 
71
+ ### `euconform validate <path>`
72
+
73
+ Validates EuConform JSON files against the published schemas.
74
+
75
+ Accepted inputs:
76
+ - a single `.json` file
77
+ - a directory containing files named like `euconform.*.json`
78
+
79
+ Example:
80
+
81
+ ```bash
82
+ euconform validate .euconform
83
+ ```
84
+
85
+ Machine-readable output:
86
+
87
+ ```bash
88
+ euconform validate .euconform --json
89
+ ```
90
+
91
+ Exit codes:
92
+ - `0` all matched files are valid
93
+ - `1` one or more files failed schema validation
94
+ - `2` no matching EuConform JSON files were found
95
+
58
96
  ### `euconform verify <path>`
59
97
 
60
98
  Verifies an EuConform Evidence Format bundle in one of three forms:
@@ -81,9 +119,72 @@ Machine-readable output:
81
119
  euconform verify .euconform/euconform.bundle.json --json
82
120
  ```
83
121
 
122
+ ### `euconform bias <model>`
123
+
124
+ Runs a reproducible CrowS-Pairs bias evaluation against a local Ollama model.
125
+
126
+ This is EuConform's distinctive empirical layer — no other open-source compliance tool currently offers reproducible, offline model-behavior evaluation for AI Act documentation.
127
+
128
+ Example:
129
+
130
+ ```bash
131
+ euconform bias llama3.2 --lang de --output all
132
+ ```
133
+
134
+ What it does:
135
+ - evaluates model bias locally via CrowS-Pairs methodology with log-probability or latency fallback
136
+ - produces structured bias reports as JSON and/or Markdown
137
+ - runs completely offline against any Ollama-compatible model
138
+ - supports German and English evaluation datasets
139
+
140
+ Typical use:
141
+ - Art. 10 bias/fairness documentation with empirical evidence
142
+ - reproducible evaluation before and after model updates
143
+ - behavioral evidence layer on top of structural evidence from `scan`
144
+
145
+ ### `euconform import <path>`
146
+
147
+ Imports a CycloneDX JSON SBOM and writes an EuConform AI BOM.
148
+
149
+ Example:
150
+
151
+ ```bash
152
+ euconform import third-party.cdx.json --scope production
153
+ ```
154
+
155
+ What it does:
156
+ - accepts CycloneDX JSON as input
157
+ - maps AI-relevant components into `euconform.aibom.v1.1`
158
+ - writes `euconform.aibom.json` to `.euconform/` by default
159
+ - excludes `optional` and `excluded` components when `--scope production` is used
160
+ - can derive the project name from BOM metadata or the source filename
161
+ - keeps `complianceCapabilities` conservative instead of inferring them from the SBOM
162
+
163
+ Machine-readable output:
164
+
165
+ ```bash
166
+ euconform import third-party.cdx.json --scope production --json
167
+ ```
168
+
169
+ ## Interoperability Workflow
170
+
171
+ When you already have a third-party SBOM and want to bring it into the EuConform workflow:
172
+
173
+ ```bash
174
+ euconform import third-party.cdx.json --scope production
175
+ euconform validate .euconform/euconform.aibom.json
176
+ # If you also have a EuConform bundle manifest, directory, or ZIP:
177
+ euconform verify path/to/euconform.bundle.json
178
+ ```
179
+
180
+ Notes:
181
+ - `import` is an interoperability bridge into the current AIBOM layer
182
+ - `validate` checks EuConform document shape
183
+ - `verify` is only needed when you are working with a bundle manifest, directory, or ZIP archive
184
+
84
185
  ## What is the EuConform Evidence Format?
85
186
 
86
- The **EuConform Evidence Format** is an open specification for structured, offline AI Act evidence exchange.
187
+ EuConform implements the **EuConform Evidence Format**, an open specification for portable, machine-readable AI compliance evidence.
87
188
 
88
189
  Today the CLI works with these document types:
89
190
 
@@ -105,9 +206,12 @@ Most AI compliance workflows still depend on PDFs, screenshots, checklists, or v
105
206
  `@euconform/cli` takes a different approach:
106
207
 
107
208
  - scan implementation evidence instead of asking only questionnaires
209
+ - evaluate model bias locally and reproducibly instead of relying on third-party APIs
210
+ - validate inspectable JSON instead of relying on opaque one-off exports
108
211
  - produce versionable artifacts instead of one-off documents
109
212
  - verify bundle integrity before evidence is shared
110
- - keep outputs portable and inspectable outside one product UI
213
+ - bridge external SBOM ecosystems into an open AI evidence layer
214
+ - keep review portable and inspectable outside one product UI or vendor workflow
111
215
 
112
216
  ## Scope
113
217
 
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  BROWSER_MODELS,
3
- BrowserInference,
3
+ TransformersInference,
4
4
  checkTransformersAvailable,
5
5
  checkWebGPU
6
- } from "./chunk-FEBJZMWY.js";
6
+ } from "./chunk-OTCNLJNL.js";
7
7
  import "./chunk-JSBRDJBE.js";
8
8
  export {
9
9
  BROWSER_MODELS,
10
- BrowserInference,
10
+ TransformersInference as BrowserInference,
11
11
  checkTransformersAvailable,
12
12
  checkWebGPU
13
13
  };