cejel

/ "SEH-jel" /
For engineers

The claim surface behind the certificate.

Every number on cejel.dev traces to a command below. Distribution routes, the calibration record, rubric versions, source verification, and the changelog — read or re-run any of it yourself.

← Back to cejel.dev

Current · v0.4.6 npm, Docker / OCI, GitHub Releases, standalone binaries, Homebrew, and the GitHub Action now point to the current release. Verify the source record →

Measured — published either way

Rubric v17 passed a preregistered, untouched holdout.

Cejel free-core rubric v17 was scored on a frozen, untouched 200-repository open-source calibration it never trained on. We committed to publishing the result either way, before we saw it.

96.43%finding precision · 95% lower bound 94.16%Measured
95.64%rubric-agreement recall · 95% lower bound 92.23%. This is not detection recall. Bounded fixture-set pair published: released current-default v17 16/30; prospective, unreleased v22 24/30 (Wilson CIs in the repo). No general detection-recall figure is published.Measured
0.66%worst-case false-positive rate · 95% upper bound 1.10%Measured

Every criterion and abstention gate passed. Scope: public repositories on the v17 free-core rule set — this measures whether a codebase's claims are backed by inspectable evidence, not vulnerability detection. Separate calibrations (e.g. the Quant pack) carry their own claims.

The defect-class census publishes the coverage-breadth boundary: which defect classes any shipped rule targets. It is not a recall claim.

Why v17 is still the public default.

Prospective v19 changes only B4's numeric freshness reference from scan wall clock to the scanned commit's year. Its preregistered paired rescore completed all 24 rows with zero score, status, coverage, placement, or non-B4 changes. That GO published the delta; it did not authorize replacing holdout-calibrated v17. The current leaderboard rows were generated by executing published @cejel/cejel@0.4.5 (last regenerated 2026-08-24) with no rubric pin, so they run the calibrated v17 default; prospective rubrics remain explicit-only.

Read the calibration record →

Read the complete v19 paired delta →

Available wherever you work

Cejel is published across the command line, CI, containers, and MCP discovery surfaces. Each card names the exact version or installation route it serves.

Distribution note

v0.4.6 is current on npm, Docker / OCI, GitHub Releases, standalone binaries, Homebrew, and the GitHub Action v1 source route below. Every row was read or executed live at the timestamp shown; no prior release result was copied forward. The Official MCP Registry is a disclosed exception: it still serves v0.4.5. The cause was ours, not the registry's — this release's own metadata was never corrected for this tag, and a tag cannot be amended after the fact (full diagnosis); the next release, cut with corrected metadata, is what will actually reach this surface. Every other route below serves v0.4.6.

What each route serves today

This table records a live check on 2026-09-05. It distinguishes an attested artifact from a reference to one. Consumer tools are pinned in the linked workflow: Node 24.15.0, npm/npx 11.17.0, pnpm 11.21.0, Bun 1.3.14, GitHub CLI 2.97.0, Git 2.50.1, and Docker Buildx 0.34.1.

Surface or routeVersion served todayCarries provenance?Command that proved itRoute check
npm package0.4.6Yes — npm metadata names a672401283d174c298124e5581b0f4592eef0a1a… and advertises SLSA provenancenpx --yes npm@11.17.0 view @cejel/cejel@0.4.6 version gitHead dist.attestations --jsonnpm record · checked 2026-09-05
npx, pinned0.4.6Yes — the npm package attestationnpx --yes @cejel/cejel@0.4.6 --versionconsumer run · checked 2026-09-05
npx, latest0.4.6Yes — the npm package attestationnpx --yes @cejel/cejel@latest --versionconsumer run · checked 2026-09-05
npx, unpinned0.4.6Yes — the resolved npm package attestationnpx --yes @cejel/cejel --versionconsumer run · checked 2026-09-05; pin 0.4.6 for reproducibility
pnpm dlx, pinned0.4.6Yes — the npm package attestationnpx --yes pnpm@11.21.0 dlx @cejel/cejel@0.4.6 --versionconsumer run · checked 2026-09-05
pnpm dlx, unpinned0.4.6 from a fresh resolutionYes — the resolved npm package attestationnpx --yes pnpm@11.21.0 dlx @cejel/cejel --versionconsumer run · checked 2026-09-05; pnpm release-age policy observed
bunx, pinned0.4.6Yes — the resolved npm package attestationBun 1.3.14: bunx @cejel/cejel@0.4.6 --versionconsumer run · checked 2026-09-05
Docker / OCI0.4.6Yes — GitHub-hosted attestation names a672401283d174c298124e5581b0f4592eef0a1a…Docker Buildx 0.34.1: docker buildx imagetools inspect ghcr.io/barglabs/cejel:0.4.6release-chain readback · checked 2026-09-05 · sha256:c7cab485902d81f126da4a111953dd97f23c9518e79603b04064a3736b67eeb0
Official MCP Registryv0.4.5 — behind v0.4.6; this tag's own release metadata was never corrected, so it cannot publishYes — the live record names ghcr.io/barglabs/cejel@sha256:f1cd2356cc0072ad08e24fcddc379206ee07f5699b9a633164326917f665b6d6curl -sS 'https://registry.modelcontextprotocol.io/v0.1/servers/io.github.BargLabs%2Fcejel/versions/latest'full diagnosis · registry still serves v0.4.5, not v0.4.6, as of 2026-09-05 — the cause was ours, not the registry's
GitHub Releasesv0.4.6 publishedYes — release includes the Sigstore provenance bundleGitHub CLI 2.97.0: gh release view v0.4.6 --repo BargLabs/cejel --json isDraft,publishedAt,assetsrelease record · checked 2026-09-05 · published 2026-09-02T12:19:14Z · 12 assets
Standalone binaries + SHA256SUMS0.4.6 · five targetsYes — release carries per-asset SBOMs, checksums, and signed provenance over the checksum setgh release download v0.4.6 --repo BargLabs/cejel --pattern SHA256SUMSpublished checksums · checked 2026-09-05
Windows standalone binary0.4.6 · x86_64Release carries cejel-v0.4.6-provenance.sigstore.json plus SHA256SUMS; the guarded build verifies the executable is intentionally not code-signedGitHub CLI 2.97.0: gh release download v0.4.6 --repo BargLabs/cejel --pattern cejel-Windows-x86_64.exe --pattern SHA256SUMSfresh native Windows stranger-check · checked 2026-09-05 · exit 0 · binary SHA-256 6163a75c053be719aef0ff771bd23aaa1a31fd0f895a0061654b18cfc119b77c · report parity bcf99962016a34d189d87aeefc77157646a6ef7eb515f58a9dbe681fab3376fb
Homebrew0.4.6Checksums in the live tap formula match the GitHub Release digestsGitHub CLI 2.97.0: gh api 'repos/BargLabs/homebrew-tap/contents/Formula/cejel.rb?ref=main'tap PR #21 · checked 2026-09-05 · post-merge brew test-bot passed
GitHub Action root @v0.4.60.4.6 consumer runtimeImmutable source-tag route; not an artifact-provenance surfaceuses: BargLabs/cejel@v0.4.6consumer run · checked 2026-09-05
GitHub Action root @main0.4.6 consumer runtimeFloating source route; not an artifact-provenance surfaceuses: BargLabs/cejel@mainconsumer run · checked 2026-09-05
GitHub Action action@v10.4.6 consumer runtimeFloating compatible-v1 source route; not an artifact-provenance surfaceuses: BargLabs/cejel/action@v1consumer run · checked 2026-09-05
SmitheryDirectory record; no separate Cejel artifactNo — anonymous discovery references the published server; connecting requires an accountnpx --yes @smithery/cli@latest mcp search cejel --jsonanonymous stranger-check · checked 2026-09-05 · listed; unauthenticated add stopped at the login boundary
OpenClaw MCP0.4.6 through the npm packageYes — the resolved npm package attestationnpx --yes openclaw@latest mcp add cejel --command npx --arg -y --arg --package=@cejel/cejel@latest --arg cejel-mcpNode 22 + 24 stranger-check · checked 2026-09-05 · add and probe passed

Pinned and unpinned package-client routes were executed independently. The three Action rows read the runtime version from each produced attestation; they do not claim artifact provenance for source references. Smithery's anonymous boundary is recorded as a boundary, not upgraded to a successful authenticated install.

Source verification

Read the source record before relying on a release.

For the v0.4.6 npm and OCI release, Cejel’s report.json and summary.json are byte-identical across runs on the same commit. The published provenance records name commit a672401283d174c298124e5581b0f4592eef0a1a.

Provenance is available on npm and the OCI image. The MCP Registry accepts an OCI digest reference, which provides provenance by reference; Cejel’s current record names the immutable v0.4.6 image digest.

Read the current MCP Registry record:

curl -sS 'https://registry.modelcontextprotocol.io/v0.1/servers/io.github.BargLabs%2Fcejel/versions/latest'

Check the Registry’s accepted OCI digest-reference form:

curl -sS https://raw.githubusercontent.com/modelcontextprotocol/registry/main/internal/validators/registries/oci.go |
  rg 'registry/namespace/image@sha256:digest'

npm · @cejel/cejel@0.4.6

Read the package metadata, then fetch npm’s published attestation record:

npm view @cejel/cejel@0.4.6 --json
curl -s "https://registry.npmjs.org/-/npm/v1/attestations/@cejel%2fcejel@0.4.6"

The metadata’s gitHead and the provenance record’s resolved source both name a672401283d174c298124e5581b0f4592eef0a1a.

Docker / OCI · ghcr.io/barglabs/cejel:0.4.6

Fetch the GitHub-hosted provenance bundle for the image digest and read the source it names:

gh api 'repos/BargLabs/cejel/attestations/sha256:c7cab485902d81f126da4a111953dd97f23c9518e79603b04064a3736b67eeb0' --jq '.attestations[].bundle.dsseEnvelope.payload' |
  tr -d '\n' | base64 -D | jq '{source: .predicate.buildDefinition.resolvedDependencies}'

The returned source record names the v0.4.6 tag and commit a672401283d174c298124e5581b0f4592eef0a1a.

Inspect the tagged source →

One certificate, all the evidence

Your scanners find issues. Cejel decides what they mean.

Cejel runs its own deterministic, offline repository checks and issues an evidence-bound certificate. It can also fold in findings you already have — SARIF reports (Semgrep, CodeQL, Snyk, Trivy, or Codex Security), OpenSSF Scorecard, or any internal tool mapped to Cejel's documented JSON signal contract — into that one verifiable result. The scanners find; Cejel certifies, and abstains when the evidence does not support a verdict.

Cejel deterministic checks+SARIF or signal JSON (optional)+ OpenSSF Scorecard (optional)One evidence-bound certificate
npx @cejel/cejel@0.4.6 . --ingest results.sarif --ingest scorecard.json

Offline, deterministic, inspectable. No model call, no source upload. View the generic JSON contract →

Changelog

v0.4.6 · September 2, 2026

A versioned contract for bringing in your own signals. The CLI adds a generic --ingest contract v1 (version: "1.0") with a published JSON Schema and explicit additive-minor / breaking-major compatibility rules — a malformed or unversioned ingest document is now rejected loudly instead of guessed at. New attestations carry predicate.reportFormatVersion: "1.0".

The GitHub Action publishes only what it verified. Every invocation now runs in a fresh directory outside the scanned repository, so an early failure can no longer fall through to a committed workspace file. Public ingest across every entry point now shares one file validator with symlink and containment checks, and a scheduled full-tree mode extends the existing disclosure-boundary guard.

Read what’s new → · Release notes and artifacts →

Rubric versions

Every certificate names the rubric version that produced it — so you can see exactly what you got. Certificates stay valid under the rubric that issued them; a recalibration does not invalidate an older one.

RubricStatusWhat changed
v17Current defaultArchetype-aware calibration; abstains instead of scoring absent evidence. Passed a preregistered, untouched 200-repository holdout (96.43% precision / 95.64% rubric-agreement recall / 0.66% false-positive rate). This is not detection recall. A bounded, fixture-scoped detection-recall pair is published: on a frozen, preregistered, in-scope held-out fixture set of 30 named defects, the released default v17 cited 16/30 (95% Wilson [36.1%, 69.8%]) and the prospective, unreleased v22 cited 24/30 ([62.7%, 90.5%]). No general detection-recall figure is published.
v9Prior defaultProcess/CI-weighted scoring with calibrated pinned-dependency guidance. Tended to read clean libraries low when a checkout lacked CI or history — the bias v17 corrects.

Verified standalone binaries

Version 0.4.6 is published on the canonical GitHub Release. Each public binary was executed against the source build and run with networking denied before publication, and the Windows and Linux arm64 assets were separately re-verified as downloaded — the same way a stranger downloads them — on a real Windows runner and a real (non-emulated) Linux aarch64 runner.

The Windows executable is not code-signed. Windows SmartScreen will show an "unrecognized publisher" warning the first time you run it — that warning is expected, not a sign of tampering. What you can check instead of a publisher signature: the SHA-256 checksum and the signed Sigstore provenance attestation below, which show the file is byte-for-byte what this release published and how it was built. Neither is code signing, and neither is a claim that Microsoft, Apple, or any other authority has signed or vetted this binary.

Download SHA256SUMS · Download signed provenance · View the successful guarded build

asset="cejel-$(uname -s)-$(uname -m)"
curl -fsSLO "https://github.com/BargLabs/cejel/releases/download/v0.4.6/$asset"
curl -fsSLO https://github.com/BargLabs/cejel/releases/download/v0.4.6/SHA256SUMS
if command -v sha256sum >/dev/null; then
  grep "  $asset$" SHA256SUMS | sha256sum -c -
else
  grep "  $asset$" SHA256SUMS | shasum -a 256 -c -
fi
chmod +x "$asset" && "./$asset" .
Published SHA-256 digests
6d42f6027477f1252c53471c16f4371bb5de38b86bcbb56d33f18e3df2ee259a  cejel-Darwin-arm64
7b26b075a6e678e34e1006c7b5f7acd555b017b8778026bb0691559ac694def1  cejel-Darwin-x86_64
0c49e1aa5fadaa0ff56a204be4f02dc70746d274ebcca1fff6f832f992bb103b  cejel-Linux-aarch64
8b78d4a3f8f8a8cf3d81663b569bdd9483dbb76559b7caaf30efc09393267326  cejel-Linux-x86_64
6163a75c053be719aef0ff771bd23aaa1a31fd0f895a0061654b18cfc119b77c  cejel-Windows-x86_64.exe

Don't take "offline" on trust — turn your network off and run it anyway.

It will still score your repo and write you a certificate.

The leaderboard

Scores restored — 2026-08-19.

The republication condition was met. Every row now published was regenerated by executing @cejel/cejel@0.4.5 end to end through npx on 2026-08-24, with default settings, calibrated rubric v17, no rubric pin, and no internal engine in the path. The board retains the complete 2026-08-18 withdrawal record and marks it resolved.

The board publishes the package spec, pinned repository commits, and exact reproduction recipe beside the restored results.

Read the restored board →