@cejel/cejel 0.4.5 → 0.4.6

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
@@ -79,7 +79,7 @@ if (-not $expected -or $actual -ne $expected.ToLowerInvariant()) {
79
79
  ```
80
80
 
81
81
  > **Windows signing status:** `cejel-Windows-x86_64.exe` is intentionally unsigned in
82
- > 0.4.5 and may trigger Microsoft SmartScreen. The release build removes Node's inherited
82
+ > 0.4.6 and may trigger Microsoft SmartScreen. The release build removes Node's inherited
83
83
  > signature before SEA injection and fails unless Windows reports the result as `NotSigned`;
84
84
  > it does not ship an invalid signature. Before running it, verify `SHA256SUMS` and the
85
85
  > GitHub build-provenance attestation. Each binary also has an attached SPDX SBOM and an
@@ -102,7 +102,7 @@ docker run --rm --network=none -v "$PWD:/w" -w /w -v "$PWD/cejel:/cejel:ro" debi
102
102
  npx @cejel/cejel@latest .
103
103
  ```
104
104
 
105
- > **Distribution note:** Cejel `0.4.5` is the coordinated release version for npm,
105
+ > **Distribution note:** Cejel `0.4.6` is the coordinated release version for npm,
106
106
  > standalone binaries, Docker/OCI, GitHub Action, Homebrew, and MCP Registry.
107
107
 
108
108
  `npx` can reuse a stale cached package. Force the current npm release with the `@latest`
@@ -139,6 +139,9 @@ The npm package is scoped as `@cejel/cejel`; its executable remains the short co
139
139
  min-score: "2.5" # optional: fail the build below this
140
140
  ```
141
141
 
142
+ For an executed public example that binds a release artifact to the same commit named by its
143
+ Cejel certificate, see [Certified releases with GitHub build provenance](./docs/certified-release-example.md).
144
+
142
145
  **From source** — it is AGPL and it runs offline, so reading it is rather the point:
143
146
 
144
147
  ```bash
@@ -161,16 +164,16 @@ gh attestation verify ./cejel-Windows-x86_64.exe -R BargLabs/cejel
161
164
  This is cryptographically signed provenance. It is distinct from Apple Developer ID or
162
165
  Microsoft Authenticode code-signing.
163
166
 
164
- **Docker / OCI.** The current container release is `0.4.5`:
167
+ **Docker / OCI.** The current container release is `0.4.6`:
165
168
 
166
169
  ```bash
167
- docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.4.5
170
+ docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.4.6
168
171
  ```
169
172
 
170
173
  The image defaults to `cejel-mcp` over stdio. To use the CLI instead:
171
174
 
172
175
  ```bash
173
- docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.4.5 .
176
+ docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.4.6 .
174
177
  ```
175
178
 
176
179
  The OCI image carries an SBOM, maximum-mode build provenance, and a signed registry
@@ -348,6 +351,7 @@ Three ways a scanner's output gets ingested:
348
351
 
349
352
  ```json
350
353
  {
354
+ "version": "1.0",
351
355
  "tool": "my-scanner",
352
356
  "signals": [
353
357
  {
@@ -370,6 +374,12 @@ Three ways a scanner's output gets ingested:
370
374
  (0–1, default `0.5`) bounds how much this signal can move that dimension; `severity` is
371
375
  `critical` | `warning` | `info`; `location` is optional.
372
376
 
377
+ The version field is required. Cejel rejects unversioned generic documents and unknown major
378
+ versions rather than guessing. See the [generic ingest contract](docs/ingest-contract.md), its
379
+ [published JSON Schema](docs/schemas/cejel-ingest-v1.schema.json), and the
380
+ [synthetic CI heal-log mapping](docs/heal-log-mapping.md). Output-field stability and version
381
+ routing are documented in [format stability](docs/format-stability.md).
382
+
373
383
  ## Displaying the trust badge
374
384
 
375
385
  Endpoint JSON (host `badge.json` anywhere static — a repo file, a gist, GitHub Pages — and
@@ -485,7 +495,7 @@ The OCI image is an alternative when Docker is the preferred execution boundary.
485
495
  the host path with the repository OpenClaw should allow Cejel to read:
486
496
 
487
497
  ```bash
488
- npx -y openclaw@latest mcp set cejel-oci '{"command":"docker","args":["run","--rm","-i","-v","/absolute/path/to/repo:/workspace:ro","ghcr.io/barglabs/cejel:0.4.5"]}'
498
+ npx -y openclaw@latest mcp set cejel-oci '{"command":"docker","args":["run","--rm","-i","-v","/absolute/path/to/repo:/workspace:ro","ghcr.io/barglabs/cejel:0.4.6"]}'
489
499
  npx -y openclaw@latest mcp doctor cejel-oci --probe
490
500
  ```
491
501
 
@@ -5,20 +5,20 @@ import {
5
5
  deriveProductIdentity,
6
6
  runCejelScan,
7
7
  serializeWitanReport
8
- } from "../chunk-4IXESHG7.js";
8
+ } from "../chunk-VEJLHO5F.js";
9
9
  import {
10
10
  listCejelLlmPackFiles
11
- } from "../chunk-RW6YJVHZ.js";
12
- import "../chunk-EPK7UTIK.js";
11
+ } from "../chunk-QRWLHTGR.js";
12
+ import "../chunk-BZXBLDCJ.js";
13
13
  import {
14
14
  external_exports
15
- } from "../chunk-KGFGX3TP.js";
15
+ } from "../chunk-Y6NO5HAI.js";
16
16
  import {
17
17
  init_esm_shims,
18
18
  readRepoText,
19
19
  recordContentSkip,
20
20
  recordFilesystemSkip
21
- } from "../chunk-R4DPQLS2.js";
21
+ } from "../chunk-H55KECVT.js";
22
22
 
23
23
  // src/calibration/llm-detector.ts
24
24
  init_esm_shims();
@@ -7,7 +7,7 @@ import {
7
7
  __filename,
8
8
  __require,
9
9
  init_esm_shims
10
- } from "./chunk-R4DPQLS2.js";
10
+ } from "./chunk-H55KECVT.js";
11
11
 
12
12
  // node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/typescript.js
13
13
  var require_typescript = __commonJS({
@@ -3,7 +3,7 @@ import { createRequire as __cejelCreateRequire } from 'node:module';
3
3
  const require = __cejelCreateRequire(import.meta.url);
4
4
  import {
5
5
  init_esm_shims
6
- } from "./chunk-R4DPQLS2.js";
6
+ } from "./chunk-H55KECVT.js";
7
7
 
8
8
  // src/witan/git-exec.ts
9
9
  init_esm_shims();
@@ -54,6 +54,10 @@ var init_esm_shims = __esm({
54
54
  }
55
55
  });
56
56
 
57
+ // src/filesystem-limits.ts
58
+ init_esm_shims();
59
+ var MAX_REPOSITORY_CONTENT_BYTES = 512e3;
60
+
57
61
  // src/witan/content-reads.ts
58
62
  init_esm_shims();
59
63
  import { closeSync, lstatSync, openSync, readFileSync, readSync } from "fs";
@@ -145,6 +149,13 @@ function withContentReadCriterion(criterion, collect) {
145
149
  function recordContentSkip(path2, reason, deduplicate = false) {
146
150
  recordSkip(path2, reason, void 0, false, deduplicate);
147
151
  }
152
+ function recordContentSkipForCriteria(path2, reason, criteria, deduplicate = false) {
153
+ const session = activeSession;
154
+ if (session) {
155
+ for (const criterion of criteria) session.affectedCriteria.add(criterion);
156
+ }
157
+ recordSkip(path2, reason, void 0, false, deduplicate);
158
+ }
148
159
  function recordFilesystemSkip(path2, error, deniedContext = false, deduplicate = true) {
149
160
  const errno = errnoClass(error);
150
161
  if (!errno) throw error;
@@ -161,6 +172,10 @@ function readRepoText(path2, encoding = "utf8") {
161
172
  recordSkip(path2, "non_regular_file", void 0, true, true);
162
173
  return "";
163
174
  }
175
+ if (stat.size > MAX_REPOSITORY_CONTENT_BYTES) {
176
+ recordSkip(path2, "too_large", void 0, true, true);
177
+ return "";
178
+ }
164
179
  } catch (error) {
165
180
  recordFilesystemSkip(path2, error);
166
181
  return "";
@@ -211,9 +226,11 @@ export {
211
226
  __dirname,
212
227
  __filename,
213
228
  init_esm_shims,
229
+ MAX_REPOSITORY_CONTENT_BYTES,
214
230
  trackContentReads,
215
231
  withContentReadCriterion,
216
232
  recordContentSkip,
233
+ recordContentSkipForCriteria,
217
234
  recordFilesystemSkip,
218
235
  readRepoText,
219
236
  readRepoTextPrefix
@@ -5,10 +5,10 @@ import {
5
5
  describeGitFailure,
6
6
  execGit,
7
7
  isExpectedGitAbsence
8
- } from "./chunk-EPK7UTIK.js";
8
+ } from "./chunk-BZXBLDCJ.js";
9
9
  import {
10
10
  init_esm_shims
11
- } from "./chunk-R4DPQLS2.js";
11
+ } from "./chunk-H55KECVT.js";
12
12
 
13
13
  // src/packs/llm/files.ts
14
14
  init_esm_shims();