Skip to content

chore(deps): bump cel-js 7.5.1 → 7.6.1#1318

Merged
stack72 merged 1 commit intomainfrom
worktree-mighty-shimmying-flurry
May 5, 2026
Merged

chore(deps): bump cel-js 7.5.1 → 7.6.1#1318
stack72 merged 1 commit intomainfrom
worktree-mighty-shimmying-flurry

Conversation

@stack72
Copy link
Copy Markdown
Contributor

@stack72 stack72 commented May 5, 2026

Summary

Bumps @marcbachmann/cel-js from 7.5.1 to 7.6.1 (path: 7.5.2 → 7.5.3 → 7.6.0 → 7.6.1).

The notable release on this path is 7.6.0, which refactored the AST (split stable AST fields from mutable metadata, added stable source ranges, structured diagnostics, eval hot-path rewrite). Per repo memory, CEL is critical to swamp and must never regress, so the bump was verified empirically rather than just trusting changelogs.

High-risk consumers (verified intact)

  • src/domain/data/query_predicate.ts — walks the parsed AST by op/args shape across 12 op codes (id, ., .?, [], [?], call, rcall, ?:, !_, -_, list, map, value).
  • src/domain/data/data_query_service.ts:173 — casts queryEnv.parse(options.select) directly to a callable; line 193 invokes parsed(record) for filter predicates.
  • src/infrastructure/cel/cel_evaluator.ts — error catches by class (InvalidExpressionError); Promise-leak detection on sync evaluate().

Unrelated 7.5.x fixes that come along

  • 7.5.2: uint(int) return type fix; new string(uint) (we don't exercise these).
  • 7.5.3: faster type-check for variable access (internal perf).
  • 7.6.1: regex backtracking fix in signature parsing.

Test Plan

  • deno check — pass
  • deno lint — pass
  • deno fmt --check — pass
  • deno run test — 5522 passed, 0 failed
  • deno run compile — binary built
  • swamp-uat uat:cli against new binary — 398 passed, 0 failed

The history opt-out path (isLatest / version triggering implicit && isLatest == true injection) is covered by data_query_service_test.ts and exercised in UAT — both green, confirming collectRootIdentifiers still extracts root identifiers correctly under the new AST shape.

cel-js 7.6.0 introduced an AST refactor (split stable AST fields from
mutable metadata, structured diagnostics, eval hot-path rewrite). The
swamp AST walker in src/domain/data/query_predicate.ts and the
ParseResult-as-callable cast in src/domain/data/data_query_service.ts
are the high-risk consumers; both verified intact via the full unit
suite (5522/5522) and the swamp-uat CLI suite (398/398).
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Clean dependency bump — only deno.json and deno.lock touched, version pin updated from 7.5.1 to 7.6.1 with matching integrity hash.

Blocking Issues

None.

Suggestions

None. The PR body does an excellent job documenting the high-risk consumers (query_predicate.ts AST walker, data_query_service.ts ParseResult cast, cel_evaluator.ts error handling) and verifying them against the full test suite and UAT. Well done.

@stack72 stack72 merged commit d645754 into main May 5, 2026
11 checks passed
@stack72 stack72 deleted the worktree-mighty-shimmying-flurry branch May 5, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant