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.
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 →
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.
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.
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.
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 route | Version served today | Carries provenance? | Command that proved it | Route check |
|---|---|---|---|---|
| npm package | 0.4.6 | Yes — npm metadata names a672401283d174c298124e5581b0f4592eef0a1a… and advertises SLSA provenance | npx --yes npm@11.17.0 view @cejel/cejel@0.4.6 version gitHead dist.attestations --json | npm record · checked 2026-09-05 |
| npx, pinned | 0.4.6 | Yes — the npm package attestation | npx --yes @cejel/cejel@0.4.6 --version | consumer run · checked 2026-09-05 |
| npx, latest | 0.4.6 | Yes — the npm package attestation | npx --yes @cejel/cejel@latest --version | consumer run · checked 2026-09-05 |
| npx, unpinned | 0.4.6 | Yes — the resolved npm package attestation | npx --yes @cejel/cejel --version | consumer run · checked 2026-09-05; pin 0.4.6 for reproducibility |
| pnpm dlx, pinned | 0.4.6 | Yes — the npm package attestation | npx --yes pnpm@11.21.0 dlx @cejel/cejel@0.4.6 --version | consumer run · checked 2026-09-05 |
| pnpm dlx, unpinned | 0.4.6 from a fresh resolution | Yes — the resolved npm package attestation | npx --yes pnpm@11.21.0 dlx @cejel/cejel --version | consumer run · checked 2026-09-05; pnpm release-age policy observed |
| bunx, pinned | 0.4.6 | Yes — the resolved npm package attestation | Bun 1.3.14: bunx @cejel/cejel@0.4.6 --version | consumer run · checked 2026-09-05 |
| Docker / OCI | 0.4.6 | Yes — GitHub-hosted attestation names a672401283d174c298124e5581b0f4592eef0a1a… | Docker Buildx 0.34.1: docker buildx imagetools inspect ghcr.io/barglabs/cejel:0.4.6 | release-chain readback · checked 2026-09-05 · sha256:c7cab485902d81f126da4a111953dd97f23c9518e79603b04064a3736b67eeb0 |
| Official MCP Registry | v0.4.5 — behind v0.4.6; this tag's own release metadata was never corrected, so it cannot publish | Yes — the live record names ghcr.io/barglabs/cejel@sha256:f1cd2356cc0072ad08e24fcddc379206ee07f5699b9a633164326917f665b6d6 | curl -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 Releases | v0.4.6 published | Yes — release includes the Sigstore provenance bundle | GitHub CLI 2.97.0: gh release view v0.4.6 --repo BargLabs/cejel --json isDraft,publishedAt,assets | release record · checked 2026-09-05 · published 2026-09-02T12:19:14Z · 12 assets |
Standalone binaries + SHA256SUMS | 0.4.6 · five targets | Yes — release carries per-asset SBOMs, checksums, and signed provenance over the checksum set | gh release download v0.4.6 --repo BargLabs/cejel --pattern SHA256SUMS | published checksums · checked 2026-09-05 |
| Windows standalone binary | 0.4.6 · x86_64 | Release carries cejel-v0.4.6-provenance.sigstore.json plus SHA256SUMS; the guarded build verifies the executable is intentionally not code-signed | GitHub CLI 2.97.0: gh release download v0.4.6 --repo BargLabs/cejel --pattern cejel-Windows-x86_64.exe --pattern SHA256SUMS | fresh native Windows stranger-check · checked 2026-09-05 · exit 0 · binary SHA-256 6163a75c053be719aef0ff771bd23aaa1a31fd0f895a0061654b18cfc119b77c · report parity bcf99962016a34d189d87aeefc77157646a6ef7eb515f58a9dbe681fab3376fb |
| Homebrew | 0.4.6 | Checksums in the live tap formula match the GitHub Release digests | GitHub 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.6 | 0.4.6 consumer runtime | Immutable source-tag route; not an artifact-provenance surface | uses: BargLabs/cejel@v0.4.6 | consumer run · checked 2026-09-05 |
GitHub Action root @main | 0.4.6 consumer runtime | Floating source route; not an artifact-provenance surface | uses: BargLabs/cejel@main | consumer run · checked 2026-09-05 |
GitHub Action action@v1 | 0.4.6 consumer runtime | Floating compatible-v1 source route; not an artifact-provenance surface | uses: BargLabs/cejel/action@v1 | consumer run · checked 2026-09-05 |
| Smithery | Directory record; no separate Cejel artifact | No — anonymous discovery references the published server; connecting requires an account | npx --yes @smithery/cli@latest mcp search cejel --json | anonymous stranger-check · checked 2026-09-05 · listed; unauthenticated add stopped at the login boundary |
| OpenClaw MCP | 0.4.6 through the npm package | Yes — the resolved npm package attestation | npx --yes openclaw@latest mcp add cejel --command npx --arg -y --arg --package=@cejel/cejel@latest --arg cejel-mcp | Node 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.
npx @cejel/cejel@0.4.6 .
Standalone binariesmacOS, Linux, and Windows · five native targets
SHA256SUMS + provenance
Docker / OCIPublic, non-root, multi-platform image
ghcr.io/barglabs/cejel:0.4.6
GitHub ActionSource tag · v0.4.6
BargLabs/cejel/action@v1
HomebrewNative install from the Barg Labs tap · v0.4.6
brew install barglabs/tap/cejel
SmitheryDiscovery is free; connecting requires a Smithery account
npx -y @smithery/cli@latest mcp add cejel
Official MCP RegistryActive digest-pinned server record · v0.4.5 (will not advance for this release — see below)
io.github.BargLabs/cejel
OpenClawVerified working · pin openclaw@latest
npx -y openclaw@latest mcp add cejel …
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'
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.
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.
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.
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 →
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.
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.
| Rubric | Status | What changed |
|---|---|---|
v17 | Current default | Archetype-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. |
v9 | Prior default | Process/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. |
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" .
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.
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.