@euconform/cli 1.1.1 → 1.2.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 +107 -3
- package/dist/index.js +8385 -140
- package/dist/schemas/aibom-v1.1.schema.json +92 -0
- package/dist/schemas/aibom-v1.schema.json +76 -0
- package/dist/schemas/bundle-v1.schema.json +61 -0
- package/dist/schemas/ci-v1.schema.json +91 -0
- package/dist/schemas/report-v1.schema.json +199 -0
- package/package.json +2 -2
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,
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
|