@cejel/cejel 0.1.8 → 0.1.9
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 +50 -6
- package/dist/{chunk-SFEPABAX.js → chunk-DVVBWBAA.js} +1602 -205
- package/dist/index.js +3580 -23
- package/dist/mcp/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,7 +70,7 @@ The npm package is scoped as `@cejel/cejel`; its executable remains the short co
|
|
|
70
70
|
**GitHub Action** — score every PR and publish the badge:
|
|
71
71
|
|
|
72
72
|
```yaml
|
|
73
|
-
- uses: BargLabs/cejel/action@v0.1.
|
|
73
|
+
- uses: BargLabs/cejel/action@v0.1.9
|
|
74
74
|
with:
|
|
75
75
|
min-score: "2.5" # optional: fail the build below this
|
|
76
76
|
```
|
|
@@ -99,21 +99,21 @@ Microsoft Authenticode code-signing.
|
|
|
99
99
|
**Docker / OCI.** The same MCP server is published as a non-root, multi-platform image:
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.1.
|
|
102
|
+
docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.1.9
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
The image defaults to `cejel-mcp` over stdio. To use the CLI instead:
|
|
106
106
|
|
|
107
107
|
```bash
|
|
108
|
-
docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.1.
|
|
108
|
+
docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.1.9 .
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
Beginning with v0.1.7, the standard CLI identity flags are also available directly, while an
|
|
112
112
|
invocation without arguments continues to start the MCP server:
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
|
-
docker run --rm ghcr.io/barglabs/cejel:0.1.
|
|
116
|
-
docker run --rm ghcr.io/barglabs/cejel:0.1.
|
|
115
|
+
docker run --rm ghcr.io/barglabs/cejel:0.1.9 --version
|
|
116
|
+
docker run --rm ghcr.io/barglabs/cejel:0.1.9 --help
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
The OCI image carries an SBOM, maximum-mode build provenance, and a signed registry
|
|
@@ -199,6 +199,40 @@ This verifies the report schema and the report-to-attestation digest, repository
|
|
|
199
199
|
timestamp, and outcome binding. It does not verify a signature or signer identity; the command
|
|
200
200
|
prints that boundary on every successful verification.
|
|
201
201
|
|
|
202
|
+
### Experimental Free LLM Pack
|
|
203
|
+
|
|
204
|
+
The Free LLM Pack is an opt-in, pre-release static check for observable application-integrity
|
|
205
|
+
and evaluation-hygiene weaknesses in supported LLM application code. It is still being calibrated;
|
|
206
|
+
its results are experimental until the frozen untouched-cohort release gate reaches GO.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
./cejel scan . --pack llm
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
The command writes the ordinary Cejel artifacts unchanged and adds `llm-report.json`,
|
|
213
|
+
`llm-attestation.json`, and `llm-certificate.html`. The pack runs locally and offline: it does
|
|
214
|
+
not call a model, execute the target application, or send source, prompts, or findings over the
|
|
215
|
+
network. Its findings and status never alter the base Cejel score or verdict.
|
|
216
|
+
|
|
217
|
+
The alpha recognizes fixture-backed JavaScript/TypeScript patterns around OpenAI, Anthropic,
|
|
218
|
+
Vercel AI SDK, and named model-call shapes. It records LangChain imports as integration metadata,
|
|
219
|
+
but a LangChain import alone does not establish v1 applicability or framework-specific coverage.
|
|
220
|
+
Python coverage is narrower: it recognizes official OpenAI and Anthropic SDK call/response shapes
|
|
221
|
+
for direct unsafe sinks, narrowly fixture-backed action validation and configured self-judge
|
|
222
|
+
checks, unconditional model loops, and secret-like environment values in model requests. See
|
|
223
|
+
[Free LLM Pack usage and limitations](./docs/packs/free-llm-usage.md) for the eight rule IDs,
|
|
224
|
+
artifact verification, exact boundaries, and current limitations.
|
|
225
|
+
|
|
226
|
+
The pack does **not** measure a model's hallucination rate, prove that an application is safe, or
|
|
227
|
+
provide runtime enforcement. Its attestation is self-generated and unsigned unless an external
|
|
228
|
+
signer binds an identity to it.
|
|
229
|
+
|
|
230
|
+
The first frozen 24+24-repository calibration cycle ended in an
|
|
231
|
+
[evidence-integrity NO-GO](./calibration/llm/reviews/v1.2-integrity-no-go-2026-07-23.md). The
|
|
232
|
+
required actual-run compatibility record was not retained, so precision, recall, and
|
|
233
|
+
false-positive rate are not estimable and Cejel makes no measured performance claim from that
|
|
234
|
+
cycle.
|
|
235
|
+
|
|
202
236
|
### Flags
|
|
203
237
|
|
|
204
238
|
- `<path>` — repo to score (default: current directory)
|
|
@@ -210,6 +244,9 @@ prints that boundary on every successful verification.
|
|
|
210
244
|
- `--ingest <file|glob>` — fold another scanner's output into the score (repeatable). Accepts
|
|
211
245
|
SARIF, OpenSSF Scorecard JSON, or the generic Cejel external-signal shape — format is
|
|
212
246
|
auto-detected. See "Aggregate your scanners" below.
|
|
247
|
+
- `--pack llm` — run the opt-in experimental Free LLM Pack and write its separate evidence,
|
|
248
|
+
attestation, and HTML certificate artifacts. Repeatable pack syntax is supported; selecting the
|
|
249
|
+
same pack more than once still runs it once.
|
|
213
250
|
- `--quiet` — suppress the terminal certificate (files are still written)
|
|
214
251
|
- `-h`, `--help` — print usage and exit successfully
|
|
215
252
|
- `-v`, `--version` — print the version derived from the package manifest and exit successfully
|
|
@@ -324,7 +361,7 @@ a configurable `min-score` threshold. The scoring step makes no network calls an
|
|
|
324
361
|
secrets.
|
|
325
362
|
|
|
326
363
|
```yaml
|
|
327
|
-
- uses: BargLabs/cejel/action@v0.1.
|
|
364
|
+
- uses: BargLabs/cejel/action@v0.1.9
|
|
328
365
|
with:
|
|
329
366
|
min-score: '2.5' # optional; omit to never fail the check
|
|
330
367
|
```
|
|
@@ -485,6 +522,13 @@ scoring tool that has not been checked:
|
|
|
485
522
|
detected even though `test.js` was present at the repository root. That was a detection gap
|
|
486
523
|
in Cejel, not evidence about the repository. Rubric v6 recognizes AVA's `test.js` and
|
|
487
524
|
`test-*.js` conventions; a regression fixture preserves the correction.
|
|
525
|
+
- **A category with no measured dimensions looked like a real failing `0.0`.** Version 0.1.9
|
|
526
|
+
labels that state `not measured` in the HTML certificate and prints the measured-coverage
|
|
527
|
+
context. A genuine measured zero remains `0.0`; JSON report, summary, and badge contracts are
|
|
528
|
+
unchanged.
|
|
529
|
+
- **A saturated metric rendered a broken-looking numerator larger than its denominator.**
|
|
530
|
+
Version 0.1.9 leads with the scoring cap and keeps the observation explicit — for example,
|
|
531
|
+
`2 signals (capped; 4 raw)` — instead of printing `4/2 signals`.
|
|
488
532
|
|
|
489
533
|
Every one was a trust failure produced by *us* — false alarms about other people's code,
|
|
490
534
|
silent omissions, inconsistent presentation, or a home-only scoring path — and we would
|