Skip to content

chore: release candidate for EQL v4 and Stack Encrypt Rust and Go support - #1229

Open
coderdan wants to merge 700 commits into
mainfrom
next
Open

coderdan wants to merge 700 commits into
mainfrom
next

Conversation

@coderdan

Copy link
Copy Markdown
Contributor

Summary

This is the integration branch for a release candidate of EQL v4 and of Stack Encrypt's Rust and Go support. EQL is the SQL that lets PostgreSQL store and search encrypted values; EQL v4 is a second copy of it for values written by Stack Encrypt, the Rust encryption engine behind the Go SDK. The open pull requests for both are merged here first, so they can be tested together before any of them reaches main.

The release version is not decided yet.

Why a branch, not main

Some of this work depends on vitaminc and ore.rs code that is not yet on crates.io, so it pins those crates to a git commit. stack-encrypt and eql-bindings are published crates, and cargo publish drops those git pins, so nothing on this branch can be released until vitaminc 0.6 is published (cipherstash/vitaminc#389, which waits on cipherstash/vitaminc#463). Once it is, the git pins become crates.io versions and this branch merges to main as a normal release.

What lands here, in order

  1. EQL v4: docs(adr): one value model, three encodings in vitaminc, EQL v4 by producer #1139, refactor(eql): write the SQL source with schema and version placeholders #1147, feat(eql): build the eql_v4 bundle beside eql_v3 #1161, feat(eql-bindings): generate EQL v4 bindings and derive Stack Encrypt traits on v4 only #1162, feat(eql-bindings): produce the unordered EQL v4 number, boolean and text types #1163, feat(eql-bindings): produce EQL v4 TextMatch from Stack Encrypt match terms #1164, test(golang): prove the EQL v4 types from Go, against Rust and PostgreSQL #1165. Uses vitaminc 0.5.1 from crates.io only.
  2. Stack Encrypt operators: docs(adr): ADR-0009, operators select the index and a query term is not the stored term #1177, feat(stack-encrypt)!: a query names an operator, not an index #1190, feat(stack-encrypt): verify a match query's rows after decrypt #1191, feat(stack-encrypt): size a match query's fetch with target_limit #1192, feat(stack-encrypt): store short TextMatch text as an empty filter, refuse only short queries #1206, feat(stack-encrypt): ordering operators Lt, Lte, Gt, Gte and Between, and remove query_index #1208, feat(stack-encrypt): JSON operators Contains, ContainedBy and AtPath #1209, feat(stack-encrypt)!: move the stack crates, the guests and the Go module onto vitaminc ADR 0001 #1213, feat(stack-encrypt)!: derive terms through vitaminc-normalize and walk dynamic values as Plaintext #1214, feat(stack-encrypt): query a plan field by operator through the guest, with verify and target_limit as exports #1215, feat(golang)!: generate one query method per operator, with Verify and TargetLimit on a matches query #1216. Before it lands, feat(stack-encrypt)!: move the stack crates, the guests and the Go module onto vitaminc ADR 0001 #1213 moves its vitaminc pin from the deleted branch feat/aead-remove-legacy-traits to one commit on vitaminc main, and takes vitaminc's breaking changes since then.
  3. Not planned yet: the KMS stack (feat(stack-kms): ZeroKMS as a vitaminc key provider (CIP-3965) #1084, feat(stack-encrypt)!: keysets resolve through a KeysetRegistry, and sealed leaves move to format 2 (CIP-4140) #1085, feat(stack-encrypt): run vendor KMS backends through a static keyset registry (CIP-3965) #1083). It is built on a vitaminc commit that is no longer on any branch, and it needs vitaminc's KMS work rebased first.

Rules for this branch

  • Pin vitaminc and ore.rs with rev, never branch. A branch is deleted when its stack merges.
  • Use one vitaminc commit in every Cargo workspace that pins one: the root, both Go guests, packages/eql and packages/stack-encrypt/fuzz. Two commits mean two copies of vitaminc's traits, and the code stops compiling.

Changes

  • One empty commit, so the branch has a pull request. The stacks above add the content.

Verification

  • next was created from main at 2a70a47. Nothing has been built yet, because nothing has changed.

Related

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 907 files, which is 807 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI; Enforced overrides: Organization
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: eeebaf17-05bd-4269-ad9d-f5edb182e7c4
Commits

Reviewing files that changed from the base of the PR and between 3a923ef and 929451b.

Files ignored due to path filters: 10
  • Cargo.lock is excluded by !**/*.lock
  • languages/golang/auth/guest/Cargo.lock is excluded by !**/*.lock
  • languages/golang/encrypt/guest/Cargo.lock is excluded by !**/*.lock
  • languages/golang/go.sum is excluded by !**/*.sum
  • languages/typescript/packages/protect-ffi/Cargo.lock is excluded by !**/*.lock
  • packages/eql/Cargo.lock is excluded by !**/*.lock
  • packages/eql/tests/timing/ore_block_v2/ctgen/Cargo.lock is excluded by !**/*.lock
  • packages/stack-auth/fuzz/Cargo.lock is excluded by !**/*.lock
  • packages/stack-encrypt/fuzz/Cargo.lock is excluded by !**/*.lock
  • packages/stack-kms/fuzz/Cargo.lock is excluded by !**/*.lock
Files selected for processing: 907
  • .cargo/mutants.toml
  • .changeset/chacha20-0-10-2.md
  • .changeset/eql-3-1-0-migration.md
  • .changeset/eql-bindings-optional-storage-only.md
  • .changeset/eql-domains-refuse-null-version.md
  • .changeset/eql-encrypted-json-operations.md
  • .changeset/eql-encrypted-json-target.md
  • .changeset/eql-json-tree-cascade-and-random-order.md
  • .changeset/eql-json-tree-derivable-tokens.md
  • .changeset/eql-json-tree-domain.md
  • .changeset/eql-json-tree-element-match.md
  • .changeset/eql-json-tree-extracted-entry-check.md
  • .changeset/eql-json-tree-match.md
  • .changeset/eql-json-tree-ordinal-chain.md
  • .changeset/eql-json-tree-planner-and-leakage.md
  • .changeset/eql-json-tree-walk-and-projection.md
  • .changeset/eql-lints-own-domains.md
  • .changeset/eql-ore-block-256-constant-op-count.md
  • .changeset/eql-plan-field-targets.md
  • .changeset/eql-target-match-options.md
  • .changeset/eql-text-equality-transcoding.md
  • .changeset/eql-v4-bindings.md
  • .changeset/eql-v4-block-ore-types.md
  • .changeset/eql-v4-date-timestamp-numeric.md
  • .changeset/eql-v4-match-short-words.md
  • .changeset/eql-v4-order-term-shape.md
  • .changeset/eql-v4-ordered-date-timestamp-numeric.md
  • .changeset/eql-v4-ordered-ope-types.md
  • .changeset/eql-v4-smallint.md
  • .changeset/eql-v4-text-search-optional-terms.md
  • .changeset/stack-auth-crate-0-44.md
  • .changeset/stack-encrypt-owned-scalars.md
  • .github/actions/build-ffi-binding/action.yml
  • .github/copilot-instructions.md
  • .github/dependabot.yml
  • .github/workflows/fuzz.yml
  • .github/workflows/integration-drizzle.yml
  • .github/workflows/integration-prisma-next.yml
  • .github/workflows/integration-protect-ffi.yml
  • .github/workflows/integration-supabase.yml
  • .github/workflows/mutants.yml
  • .github/workflows/prisma-example-readme-e2e.yml
  • .github/workflows/prisma-next-e2e.yml
  • .github/workflows/release-golang.yml
  • .github/workflows/test-eql.yml
  • .github/workflows/tests-bench.yml
  • .github/workflows/tests-crates.yml
  • .github/workflows/tests-golang.yml
  • .github/workflows/tests-rust.yml
  • .github/workflows/tests.yml
  • AGENTS.md
  • CONTRIBUTING.md
  • Cargo.toml
  • README.md
  • biome.json
  • conformance/stack-encrypt/README.md
  • conformance/stack-encrypt/coverage.md
  • conformance/stack-encrypt/declaration-grammar.md
  • conformance/stack-encrypt/fixture-contract.md
  • conformance/stack-encrypt/read-contract.md
  • conformance/stack-encrypt/runtime-contract.md
  • conformance/stack-encrypt/v1/cases.json
  • conformance/stack-encrypt/v1/declarations.json
  • conformance/stack-encrypt/v1/fixture-profiles.json
  • conformance/stack-encrypt/v1/go-declarations.json
  • conformance/stack-encrypt/v1/native.json
  • conformance/stack-encrypt/v1/reads.json
  • conformance/stack-encrypt/v1/runtime.json
  • docs/adr/0002-one-value-model-three-encodings-and-eql-v4-by-producer.md
  • docs/fuzzing.md
  • docs/plans/2026-10-04-plan-builder.md
  • docs/plans/2026-10-11-order-and-equality-terms-layering.md
  • docs/plans/2026-10-17-json-tree-index.md
  • docs/plans/2026-10-17-json-tree-index/containment-oracle.sql
  • docs/plans/2026-10-17-json-tree-index/jsonb-semantics.sql
  • docs/plans/2026-10-17-json-tree-index/token-chain.sql
  • docs/plans/2026-10-25-json-tree-leakage-before-and-after.md
  • docs/plans/2026-10-31-stack-encrypt-conformance.md
  • languages/golang/CHANGELOG.md
  • languages/golang/README.md
  • languages/golang/auth/cancel_test.go
  • languages/golang/auth/doc.go
  • languages/golang/auth/guest.go
  • languages/golang/auth/guest/Cargo.toml
  • languages/golang/auth/guest/src/lib.rs
  • languages/golang/auth/guest/src/ops.rs
  • languages/golang/auth/guest/tests/leak.rs
  • languages/golang/auth/store.go
  • languages/golang/auth/strategy.go
  • languages/golang/auth/transport.go
  • languages/golang/cmd/stashgen/README.md
  • languages/golang/cmd/stashgen/main.go
  • languages/golang/cmd/stashgen/main_test.go
  • languages/golang/encrypt/README.md
  • languages/golang/encrypt/cancel_test.go
  • languages/golang/encrypt/checker.go
  • languages/golang/encrypt/ciphertext.go
  • languages/golang/encrypt/client.go
  • languages/golang/encrypt/conformance_test.go
  • languages/golang/encrypt/context_field_test.go
  • languages/golang/encrypt/declaration_conformance_test.go
  • languages/golang/encrypt/decode_json_test.go
  • languages/golang/encrypt/diagnostic_test.go
  • languages/golang/encrypt/doc.go
  • languages/golang/encrypt/eql/eql.go
  • languages/golang/encrypt/eql/eql_gen.go
  • languages/golang/encrypt/eql/eql_test.go
  • languages/golang/encrypt/eql_order_postgres_test.go
  • languages/golang/encrypt/eql_postgres_test.go
  • languages/golang/encrypt/eql_test.go
  • languages/golang/encrypt/eql_v4_ledger_test.go
  • languages/golang/encrypt/eql_v4_order_test.go
  • languages/golang/encrypt/eql_v4_smallint_test.go
  • languages/golang/encrypt/eql_v4_test.go
  • languages/golang/encrypt/eql_v4_text_search_test.go
  • languages/golang/encrypt/errors.go
  • languages/golang/encrypt/errors_test.go
  • languages/golang/encrypt/example/README.md
  • languages/golang/encrypt/example/json/README.md
  • languages/golang/encrypt/example/json/customer_stash.go
  • languages/golang/encrypt/example/json/main.go
  • languages/golang/encrypt/example/json/model.go
  • languages/golang/encrypt/example/main.go
  • languages/golang/encrypt/example/user_stash.go
  • languages/golang/encrypt/export_test.go
  • languages/golang/encrypt/fixture_conformance_test.go
  • languages/golang/encrypt/fixture_test.go
  • languages/golang/encrypt/generated_paths_test.go
  • languages/golang/encrypt/gensupport/codec.go
  • languages/golang/encrypt/gensupport/convert.go
  • languages/golang/encrypt/gensupport/declaration.go
  • languages/golang/encrypt/gensupport/field.go
  • languages/golang/encrypt/gensupport/gensupport.go
  • languages/golang/encrypt/gensupport/gensupport_internal_test.go
  • languages/golang/encrypt/gensupport/gensupport_test.go
  • languages/golang/encrypt/gensupport/json.go
  • languages/golang/encrypt/gensupport/json_test.go
  • languages/golang/encrypt/gensupport/widen.go
  • languages/golang/encrypt/guest.go
  • languages/golang/encrypt/guest/Cargo.toml
  • languages/golang/encrypt/guest/src/abi.rs
  • languages/golang/encrypt/guest/src/config.rs
  • languages/golang/encrypt/guest/src/deterministic.rs
  • languages/golang/encrypt/guest/src/host.rs
  • languages/golang/encrypt/guest/src/io.rs
  • languages/golang/encrypt/guest/src/lib.rs
  • languages/golang/encrypt/guest/src/ops.rs
  • languages/golang/encrypt/guest/src/options.rs
  • languages/golang/encrypt/guest/src/status.rs
  • languages/golang/encrypt/guest/src/targets.rs
  • languages/golang/encrypt/guest/src/test_frame.rs
  • languages/golang/encrypt/guest/tests/leak.rs
  • languages/golang/encrypt/guest/tests/native_ops.rs
  • languages/golang/encrypt/guest/tests/support/mod.rs
  • languages/golang/encrypt/guest_test.go
  • languages/golang/encrypt/internal/testpolicy/member_stash.go
  • languages/golang/encrypt/internal/testusers/account_stash.go
  • languages/golang/encrypt/internal/testusers/birthday_stash.go
  • languages/golang/encrypt/internal/testusers/contact_stash.go
  • languages/golang/encrypt/internal/testusers/customer_stash.go
  • languages/golang/encrypt/internal/testusers/customers.go
  • languages/golang/encrypt/internal/testusers/directory.go
  • languages/golang/encrypt/internal/testusers/document_stash.go
  • languages/golang/encrypt/internal/testusers/entities.go
  • languages/golang/encrypt/internal/testusers/entity_stash.go
  • languages/golang/encrypt/internal/testusers/entry_stash.go
  • languages/golang/encrypt/internal/testusers/everything_stash.go
  • languages/golang/encrypt/internal/testusers/kinds.go
  • languages/golang/encrypt/internal/testusers/kinds_stash.go
  • languages/golang/encrypt/internal/testusers/ledger.go
  • languages/golang/encrypt/internal/testusers/ledger_stash.go
  • languages/golang/encrypt/internal/testusers/lookup_stash.go
  • languages/golang/encrypt/internal/testusers/memberstash_stash.go
  • languages/golang/encrypt/internal/testusers/note_stash.go
  • languages/golang/encrypt/internal/testusers/people.go
  • languages/golang/encrypt/internal/testusers/person_stash.go
  • languages/golang/encrypt/internal/testusers/probe_stash.go
  • languages/golang/encrypt/internal/testusers/profile_stash.go
  • languages/golang/encrypt/internal/testusers/profiles.go
  • languages/golang/encrypt/internal/testusers/queryprofile_stash.go
  • languages/golang/encrypt/internal/testusers/ranking.go
  • languages/golang/encrypt/internal/testusers/ranking_stash.go
  • languages/golang/encrypt/internal/testusers/secret_stash.go
  • languages/golang/encrypt/internal/testusers/subscriber_stash.go
  • languages/golang/encrypt/internal/testusers/subscribers.go
  • languages/golang/encrypt/internal/testusers/tally.go
  • languages/golang/encrypt/internal/testusers/tally_stash.go
  • languages/golang/encrypt/internal/testusers/user_stash.go
  • languages/golang/encrypt/internal/testusers/users.go
  • languages/golang/encrypt/internal/testusers/valuekinds_stash.go
  • languages/golang/encrypt/internal/testusers/widened_stash.go
  • languages/golang/encrypt/json.go
  • languages/golang/encrypt/json_elements.go
  • languages/golang/encrypt/json_elements_postgres_test.go
  • languages/golang/encrypt/json_elements_test.go
  • languages/golang/encrypt/json_fields_test.go
  • languages/golang/encrypt/json_match_postgres_test.go
  • languages/golang/encrypt/json_match_test.go
  • languages/golang/encrypt/json_postgres_test.go
  • languages/golang/encrypt/json_tree_test.go
  • languages/golang/encrypt/json_typed_postgres_test.go
  • languages/golang/encrypt/json_typed_test.go
  • languages/golang/encrypt/kinds_test.go
  • languages/golang/encrypt/live_test.go
  • languages/golang/encrypt/locate_test.go
  • languages/golang/encrypt/memory_test.go
  • languages/golang/encrypt/null_test.go
  • languages/golang/encrypt/order_test.go
  • languages/golang/encrypt/postgres_test.go
  • languages/golang/encrypt/query.go
  • languages/golang/encrypt/query_test.go
  • languages/golang/encrypt/read_conformance_test.go
  • languages/golang/encrypt/records.go
  • languages/golang/encrypt/roundtrip_test.go
  • languages/golang/encrypt/runtime_conformance_test.go
  • languages/golang/encrypt/step.go
  • languages/golang/encrypt/step_test.go
  • languages/golang/encrypt/targets_test.go
  • languages/golang/encrypt/term.go
  • languages/golang/encrypt/transport.go
  • languages/golang/encrypt/typed_nil_test.go
  • languages/golang/encrypt/unit_test.go
  • languages/golang/encrypt/value_kinds_test.go
  • languages/golang/encrypt/values.go
  • languages/golang/encrypt/widened_test.go
  • languages/golang/go.mod
  • languages/golang/internal/guest/call.go
  • languages/golang/internal/guest/diagnostic.go
  • languages/golang/internal/guest/diagnostic_test.go
  • languages/golang/internal/guest/errors.go
  • languages/golang/internal/guest/export_test.go
  • languages/golang/internal/guest/lock.go
  • languages/golang/internal/guest/lock_test.go
  • languages/golang/internal/guest/status.go
  • languages/golang/internal/record/record.go
  • languages/golang/internal/record/record_test.go
  • languages/golang/stashgen/declaration.go
  • languages/golang/stashgen/doc.go
  • languages/golang/stashgen/emit.go
  • languages/golang/stashgen/engine.go
  • languages/golang/stashgen/enginetest/enginetest.go
  • languages/golang/stashgen/generate.go
  • languages/golang/stashgen/golden_test.go
  • languages/golang/stashgen/lower_test.go
  • languages/golang/stashgen/policy.go
  • languages/golang/stashgen/read.go
  • languages/golang/stashgen/refusal_test.go
  • languages/golang/stashgen/tag.go
  • languages/golang/stashgen/testdata/cases/accounts/account_stash.go.golden
  • languages/golang/stashgen/testdata/cases/contacts/contacts.go
  • languages/golang/stashgen/testdata/cases/contacts/contactstash_stash.go.golden
  • languages/golang/stashgen/testdata/cases/directory/directory.go
  • languages/golang/stashgen/testdata/cases/directory/entry_stash.go.golden
  • languages/golang/stashgen/testdata/cases/directory/go.mod
  • languages/golang/stashgen/testdata/cases/documents/document_stash.go.golden
  • languages/golang/stashgen/testdata/cases/embedded/patient_stash.go.golden
  • languages/golang/stashgen/testdata/cases/foreign/individualstash_stash.go.golden
  • languages/golang/stashgen/testdata/cases/orders/order_stash.go.golden
  • languages/golang/stashgen/testdata/cases/orders/refund_stash.go.golden
  • languages/golang/stashgen/testdata/cases/tenants/note_stash.go.golden
  • languages/golang/stashgen/testdata/cases/users/model.go
  • languages/golang/stashgen/testdata/cases/users/user_stash.go.golden
  • languages/golang/stashgen/testdata/policy_individual_stash.go.golden
  • languages/golang/stashgen/testdata/stubsdk/encrypt/encrypt.go
  • languages/golang/stashgen/testdata/stubsdk/encrypt/eql/eql.go
  • languages/golang/stashgen/testdata/stubsdk/encrypt/gensupport/gensupport.go
  • mise.toml
  • packages/eql/.gitattributes
  • packages/eql/.gitignore
  • packages/eql/AGENTS.md
  • packages/eql/crates/eql-bindings/CHANGELOG.md
  • packages/eql/crates/eql-bindings/Cargo.toml
  • packages/eql/crates/eql-bindings/README.md
  • packages/eql/crates/eql-bindings/src/encoding.rs
  • packages/eql/crates/eql-bindings/src/encryption.rs
  • packages/eql/crates/eql-bindings/src/encryption/example.rs
  • packages/eql/crates/eql-bindings/src/encryption/query.rs
  • packages/eql/crates/eql-bindings/src/encryption/query_example.rs
  • packages/eql/crates/eql-bindings/src/encryption/targets.rs
  • packages/eql/crates/eql-bindings/src/lib.rs
  • packages/eql/crates/eql-bindings/src/v3/bigint.rs
  • packages/eql/crates/eql-bindings/src/v3/boolean.rs
  • packages/eql/crates/eql-bindings/src/v3/date.rs
  • packages/eql/crates/eql-bindings/src/v3/domain_type.rs
  • packages/eql/crates/eql-bindings/src/v3/double.rs
  • packages/eql/crates/eql-bindings/src/v3/integer.rs
  • packages/eql/crates/eql-bindings/src/v3/json_storage.rs
  • packages/eql/crates/eql-bindings/src/v3/mod.rs
  • packages/eql/crates/eql-bindings/src/v3/numeric.rs
  • packages/eql/crates/eql-bindings/src/v3/real.rs
  • packages/eql/crates/eql-bindings/src/v3/smallint.rs
  • packages/eql/crates/eql-bindings/src/v3/targets.rs
  • packages/eql/crates/eql-bindings/src/v3/text.rs
  • packages/eql/crates/eql-bindings/src/v3/timestamp.rs
  • packages/eql/crates/eql-bindings/src/v4/answers.rs
  • packages/eql/crates/eql-bindings/src/v4/bigint.rs
  • packages/eql/crates/eql-bindings/src/v4/boolean.rs
  • packages/eql/crates/eql-bindings/src/v4/date.rs
  • packages/eql/crates/eql-bindings/src/v4/double.rs
  • packages/eql/crates/eql-bindings/src/v4/integer.rs
  • packages/eql/crates/eql-bindings/src/v4/inventory.rs
  • packages/eql/crates/eql-bindings/src/v4/json.rs
  • packages/eql/crates/eql-bindings/src/v4/json_tree.rs
  • packages/eql/crates/eql-bindings/src/v4/mod.rs
  • packages/eql/crates/eql-bindings/src/v4/numeric.rs
  • packages/eql/crates/eql-bindings/src/v4/plaintext.rs
  • packages/eql/crates/eql-bindings/src/v4/real.rs
  • packages/eql/crates/eql-bindings/src/v4/smallint.rs
  • packages/eql/crates/eql-bindings/src/v4/targets.rs
  • packages/eql/crates/eql-bindings/src/v4/term_formats.rs
  • packages/eql/crates/eql-bindings/src/v4/text.rs
  • packages/eql/crates/eql-bindings/src/v4/timestamp.rs
  • packages/eql/crates/eql-bindings/tests/v4_inventory.rs
  • packages/eql/crates/eql-codegen/src/bindings.rs
  • packages/eql/crates/eql-codegen/src/consts.rs
  • packages/eql/crates/eql-codegen/src/context.rs
  • packages/eql/crates/eql-codegen/src/generate.rs
  • packages/eql/crates/eql-codegen/src/go_eql.rs
  • packages/eql/crates/eql-codegen/src/lib.rs
  • packages/eql/crates/eql-codegen/src/main.rs
  • packages/eql/crates/eql-codegen/src/range.rs
  • packages/eql/crates/eql-codegen/src/render.rs
  • packages/eql/crates/eql-codegen/src/targets.rs
  • packages/eql/crates/eql-codegen/templates/functions/extractor.sql.j2
  • packages/eql/crates/eql-codegen/templates/ore_fallback.sql.j2
  • packages/eql/crates/eql-codegen/templates/query_types.sql.j2
  • packages/eql/crates/eql-codegen/templates/range_functions.sql.j2
  • packages/eql/crates/eql-codegen/templates/range_types.sql.j2
  • packages/eql/crates/eql-codegen/templates/types.sql.j2
  • packages/eql/crates/eql-codegen/tests/bindings_parity.rs
  • packages/eql/crates/eql-codegen/tests/cli.rs
  • packages/eql/crates/eql-domains/src/lib.rs
  • packages/eql/crates/eql-domains/src/spec.rs
  • packages/eql/crates/eql-domains/src/term.rs
  • packages/eql/crates/eql-domains/src/tests.rs
  • packages/eql/docs/README.md
  • packages/eql/docs/reference/adding-a-scalar-encrypted-domain-type.md
  • packages/eql/docs/reference/catalog-driven-architecture.md
  • packages/eql/docs/reference/eql-functions.md
  • packages/eql/docs/reference/json-tree-leakage.md
  • packages/eql/docs/upgrading/v3.1.md
  • packages/eql/mise.toml
  • packages/eql/src/v3/aggregates.sql
  • packages/eql/src/v3/common.sql
  • packages/eql/src/v3/crypto.sql
  • packages/eql/src/v3/json/aggregates.sql
  • packages/eql/src/v3/json/blockers.sql
  • packages/eql/src/v3/json/functions.sql
  • packages/eql/src/v3/json/operators.sql
  • packages/eql/src/v3/json/types.sql
  • packages/eql/src/v3/json_tree/blockers.sql
  • packages/eql/src/v3/json_tree/elements.sql
  • packages/eql/src/v3/json_tree/functions.sql
  • packages/eql/src/v3/json_tree/operators.sql
  • packages/eql/src/v3/json_tree/predicate.sql
  • packages/eql/src/v3/json_tree/types.sql
  • packages/eql/src/v3/lint/lints.sql
  • packages/eql/src/v3/scalars/bigint/bigint_eq_functions.sql
  • packages/eql/src/v3/scalars/bigint/bigint_eq_operators.sql
  • packages/eql/src/v3/scalars/bigint/bigint_functions.sql
  • packages/eql/src/v3/scalars/bigint/bigint_operators.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_aggregates.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_functions.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_operators.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/bigint/bigint_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/bigint/bigint_types.sql
  • packages/eql/src/v3/scalars/bigint/json_entry_bigint_functions.sql
  • packages/eql/src/v3/scalars/bigint/json_entry_bigint_operators.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_eq_functions.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_eq_operators.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_functions.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_operators.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_range_functions.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_range_types.sql
  • packages/eql/src/v3/scalars/bigint/query_bigint_types.sql
  • packages/eql/src/v3/scalars/boolean/boolean_functions.sql
  • packages/eql/src/v3/scalars/boolean/boolean_operators.sql
  • packages/eql/src/v3/scalars/boolean/boolean_types.sql
  • packages/eql/src/v3/scalars/date/date_eq_functions.sql
  • packages/eql/src/v3/scalars/date/date_eq_operators.sql
  • packages/eql/src/v3/scalars/date/date_functions.sql
  • packages/eql/src/v3/scalars/date/date_operators.sql
  • packages/eql/src/v3/scalars/date/date_ord_aggregates.sql
  • packages/eql/src/v3/scalars/date/date_ord_functions.sql
  • packages/eql/src/v3/scalars/date/date_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/date/date_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/date/date_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/date/date_ord_operators.sql
  • packages/eql/src/v3/scalars/date/date_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/date/date_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/date/date_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/date/date_types.sql
  • packages/eql/src/v3/scalars/date/json_entry_date_functions.sql
  • packages/eql/src/v3/scalars/date/json_entry_date_operators.sql
  • packages/eql/src/v3/scalars/date/query_date_eq_functions.sql
  • packages/eql/src/v3/scalars/date/query_date_eq_operators.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_functions.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_operators.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/date/query_date_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/date/query_date_range_functions.sql
  • packages/eql/src/v3/scalars/date/query_date_range_types.sql
  • packages/eql/src/v3/scalars/date/query_date_types.sql
  • packages/eql/src/v3/scalars/double/double_eq_functions.sql
  • packages/eql/src/v3/scalars/double/double_eq_operators.sql
  • packages/eql/src/v3/scalars/double/double_functions.sql
  • packages/eql/src/v3/scalars/double/double_operators.sql
  • packages/eql/src/v3/scalars/double/double_ord_aggregates.sql
  • packages/eql/src/v3/scalars/double/double_ord_functions.sql
  • packages/eql/src/v3/scalars/double/double_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/double/double_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/double/double_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/double/double_ord_operators.sql
  • packages/eql/src/v3/scalars/double/double_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/double/double_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/double/double_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/double/double_types.sql
  • packages/eql/src/v3/scalars/double/json_entry_double_functions.sql
  • packages/eql/src/v3/scalars/double/json_entry_double_operators.sql
  • packages/eql/src/v3/scalars/double/query_double_eq_functions.sql
  • packages/eql/src/v3/scalars/double/query_double_eq_operators.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_functions.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_operators.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/double/query_double_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/double/query_double_range_functions.sql
  • packages/eql/src/v3/scalars/double/query_double_range_types.sql
  • packages/eql/src/v3/scalars/double/query_double_types.sql
  • packages/eql/src/v3/scalars/functions.sql
  • packages/eql/src/v3/scalars/integer/integer_eq_functions.sql
  • packages/eql/src/v3/scalars/integer/integer_eq_operators.sql
  • packages/eql/src/v3/scalars/integer/integer_functions.sql
  • packages/eql/src/v3/scalars/integer/integer_operators.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_aggregates.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_functions.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_operators.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/integer/integer_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/integer/integer_types.sql
  • packages/eql/src/v3/scalars/integer/json_entry_integer_functions.sql
  • packages/eql/src/v3/scalars/integer/json_entry_integer_operators.sql
  • packages/eql/src/v3/scalars/integer/query_integer_eq_functions.sql
  • packages/eql/src/v3/scalars/integer/query_integer_eq_operators.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_functions.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_operators.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/integer/query_integer_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/integer/query_integer_range_functions.sql
  • packages/eql/src/v3/scalars/integer/query_integer_range_types.sql
  • packages/eql/src/v3/scalars/integer/query_integer_types.sql
  • packages/eql/src/v3/scalars/json/json_functions.sql
  • packages/eql/src/v3/scalars/json/json_operators.sql
  • packages/eql/src/v3/scalars/json/json_types.sql
  • packages/eql/src/v3/scalars/numeric/json_entry_numeric_functions.sql
  • packages/eql/src/v3/scalars/numeric/json_entry_numeric_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_eq_functions.sql
  • packages/eql/src/v3/scalars/numeric/numeric_eq_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_functions.sql
  • packages/eql/src/v3/scalars/numeric/numeric_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_aggregates.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_functions.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/numeric/numeric_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/numeric/numeric_types.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_eq_functions.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_eq_operators.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_functions.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_operators.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_range_functions.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_range_types.sql
  • packages/eql/src/v3/scalars/numeric/query_numeric_types.sql
  • packages/eql/src/v3/scalars/ore_fallback.sql
  • packages/eql/src/v3/scalars/real/json_entry_real_functions.sql
  • packages/eql/src/v3/scalars/real/json_entry_real_operators.sql
  • packages/eql/src/v3/scalars/real/query_real_eq_functions.sql
  • packages/eql/src/v3/scalars/real/query_real_eq_operators.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_functions.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_operators.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/real/query_real_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/real/query_real_range_functions.sql
  • packages/eql/src/v3/scalars/real/query_real_range_types.sql
  • packages/eql/src/v3/scalars/real/query_real_types.sql
  • packages/eql/src/v3/scalars/real/real_eq_functions.sql
  • packages/eql/src/v3/scalars/real/real_eq_operators.sql
  • packages/eql/src/v3/scalars/real/real_functions.sql
  • packages/eql/src/v3/scalars/real/real_operators.sql
  • packages/eql/src/v3/scalars/real/real_ord_aggregates.sql
  • packages/eql/src/v3/scalars/real/real_ord_functions.sql
  • packages/eql/src/v3/scalars/real/real_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/real/real_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/real/real_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/real/real_ord_operators.sql
  • packages/eql/src/v3/scalars/real/real_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/real/real_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/real/real_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/real/real_types.sql
  • packages/eql/src/v3/scalars/smallint/json_entry_smallint_functions.sql
  • packages/eql/src/v3/scalars/smallint/json_entry_smallint_operators.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_eq_functions.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_eq_operators.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_functions.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_operators.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_range_functions.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_range_types.sql
  • packages/eql/src/v3/scalars/smallint/query_smallint_types.sql
  • packages/eql/src/v3/scalars/smallint/smallint_eq_functions.sql
  • packages/eql/src/v3/scalars/smallint/smallint_eq_operators.sql
  • packages/eql/src/v3/scalars/smallint/smallint_functions.sql
  • packages/eql/src/v3/scalars/smallint/smallint_operators.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_aggregates.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_functions.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_operators.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/smallint/smallint_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/smallint/smallint_types.sql
  • packages/eql/src/v3/scalars/text/json_entry_text_functions.sql
  • packages/eql/src/v3/scalars/text/json_entry_text_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_eq_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_eq_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_match_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_match_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_range_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_range_types.sql
  • packages/eql/src/v3/scalars/text/query_text_search_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_search_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_search_ore_functions.sql
  • packages/eql/src/v3/scalars/text/query_text_search_ore_operators.sql
  • packages/eql/src/v3/scalars/text/query_text_types.sql
  • packages/eql/src/v3/scalars/text/text_eq_functions.sql
  • packages/eql/src/v3/scalars/text/text_eq_operators.sql
  • packages/eql/src/v3/scalars/text/text_functions.sql
  • packages/eql/src/v3/scalars/text/text_match_functions.sql
  • packages/eql/src/v3/scalars/text/text_match_operators.sql
  • packages/eql/src/v3/scalars/text/text_operators.sql
  • packages/eql/src/v3/scalars/text/text_ord_aggregates.sql
  • packages/eql/src/v3/scalars/text/text_ord_functions.sql
  • packages/eql/src/v3/scalars/text/text_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/text/text_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/text/text_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/text/text_ord_operators.sql
  • packages/eql/src/v3/scalars/text/text_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/text/text_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/text/text_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/text/text_search_aggregates.sql
  • packages/eql/src/v3/scalars/text/text_search_functions.sql
  • packages/eql/src/v3/scalars/text/text_search_operators.sql
  • packages/eql/src/v3/scalars/text/text_search_ore_aggregates.sql
  • packages/eql/src/v3/scalars/text/text_search_ore_functions.sql
  • packages/eql/src/v3/scalars/text/text_search_ore_operators.sql
  • packages/eql/src/v3/scalars/text/text_types.sql
  • packages/eql/src/v3/scalars/timestamp/json_entry_timestamp_functions.sql
  • packages/eql/src/v3/scalars/timestamp/json_entry_timestamp_operators.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_eq_functions.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_eq_operators.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_functions.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_operators.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_range_functions.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_range_types.sql
  • packages/eql/src/v3/scalars/timestamp/query_timestamp_types.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_eq_functions.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_eq_operators.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_functions.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_operators.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_aggregates.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_functions.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ope_aggregates.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ope_functions.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ope_operators.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_operators.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ore_aggregates.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ore_functions.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_ord_ore_operators.sql
  • packages/eql/src/v3/scalars/timestamp/timestamp_types.sql
  • packages/eql/src/v3/schema.sql
  • packages/eql/src/v3/sem/bloom_filter/functions.sql
  • packages/eql/src/v3/sem/bloom_filter/types.sql
  • packages/eql/src/v3/sem/hmac_256/functions.sql
  • packages/eql/src/v3/sem/hmac_256/types.sql
  • packages/eql/src/v3/sem/ope_cllw/functions.sql
  • packages/eql/src/v3/sem/ope_cllw/types.sql
  • packages/eql/src/v3/sem/ore_block_256/functions.sql
  • packages/eql/src/v3/sem/ore_block_256/operator_class.sql
  • packages/eql/src/v3/sem/ore_block_256/operators.sql
  • packages/eql/src/v3/sem/ore_block_256/types.sql
  • packages/eql/src/v3/version.template
  • packages/eql/tasks/build.sh
  • packages/eql/tasks/docs/doxygen-filter.sh
  • packages/eql/tasks/docs/validate/documented-sql.sh
  • packages/eql/tasks/githooks/pre-commit
  • packages/eql/tasks/pin_search_path_v3.sql
  • packages/eql/tasks/schemas-parity.sh
  • packages/eql/tasks/test/docs_v3_grep.sh
  • packages/eql/tasks/test/v4_isolation_selftest.sh
  • packages/eql/tasks/test/verify_installer_complete.sh
  • packages/eql/tasks/test/verify_no_v3_in_v4.sh
  • packages/eql/tasks/test/verify_symbol_order_v3.sh
  • packages/eql/tasks/uninstall-v3.sql
  • packages/eql/tests/encryption/Cargo.toml
  • packages/eql/tests/encryption/fixtures/README.md
  • packages/eql/tests/encryption/fixtures/stored_v4_rows_v1.json
  • packages/eql/tests/encryption/fixtures/text_eq_query.json
  • packages/eql/tests/encryption/fixtures/v4_ledger_queries.json
  • packages/eql/tests/encryption/fixtures/v4_ledger_rows.json
  • packages/eql/tests/encryption/fixtures/v4_ordered_queries.json
  • packages/eql/tests/encryption/fixtures/v4_ordered_rows.json
  • packages/eql/tests/encryption/fixtures/v4_queries.json
  • packages/eql/tests/encryption/fixtures/v4_rows.json
  • packages/eql/tests/encryption/fixtures/v4_smallint_rows.json
  • packages/eql/tests/encryption/proptest-regressions/json_tree.txt
  • packages/eql/tests/encryption/tests/common/mod.rs
  • packages/eql/tests/encryption/tests/heap_hygiene.rs
  • packages/eql/tests/encryption/tests/json_tree.rs
  • packages/eql/tests/encryption/tests/json_tree/elements.rs
  • packages/eql/tests/encryption/tests/json_tree/generated.rs
  • packages/eql/tests/encryption/tests/json_tree/native_functions.rs
  • packages/eql/tests/encryption/tests/json_tree/predicate.rs
  • packages/eql/tests/encryption/tests/json_tree_data_plan.rs
  • packages/eql/tests/encryption/tests/targets.rs
  • packages/eql/tests/encryption/tests/text_eq.rs
  • packages/eql/tests/encryption/tests/typed_queries.rs
  • packages/eql/tests/encryption/tests/v4_date_time_numeric.rs
  • packages/eql/tests/encryption/tests/v4_order.rs
  • packages/eql/tests/encryption/tests/v4_ore_block.rs
  • packages/eql/tests/encryption/tests/v4_range.rs
  • packages/eql/tests/encryption/tests/v4_text_search.rs
  • packages/eql/tests/encryption/tests/v4_types.rs
  • packages/eql/tests/sqlx/tests/v3_v4_coexistence_tests.rs
  • packages/eql/tests/timing/ore_block_v2/README.md
  • packages/eql/tests/timing/ore_block_v2/ctgen/.gitignore
  • packages/eql/tests/timing/ore_block_v2/ctgen/Cargo.toml
  • packages/eql/tests/timing/ore_block_v2/ctgen/src/main.rs
  • packages/eql/tests/timing/ore_block_v2/harness.sql
  • packages/eql/tests/timing/ore_block_v2/run.sh
  • packages/stack-auth/CHANGELOG.md
  • packages/stack-auth/Cargo.toml
  • packages/stack-encrypt-derive/Cargo.toml
  • packages/stack-encrypt-derive/docs/attributes.md
  • packages/stack-encrypt-derive/src/lib.rs
  • packages/stack-encrypt/CHANGELOG.md
  • packages/stack-encrypt/CONTEXT.md
  • packages/stack-encrypt/Cargo.toml
  • packages/stack-encrypt/docs/adr/0003-declarative-targets-and-ciphertext-transcoding.md
  • packages/stack-encrypt/docs/adr/0004-one-context-per-target-threaded-through-the-declaration-tree.md
  • packages/stack-encrypt/docs/adr/0007-bindings-enter-through-a-plan-never-a-second-executor.md
  • packages/stack-encrypt/docs/adr/0009-operators-select-the-index-and-a-query-term-is-not-the-stored-term.md
  • packages/stack-encrypt/docs/adr/0010-what-a-stored-value-authenticates.md
  • packages/stack-encrypt/examples/encrypted_record.rs
  • packages/stack-encrypt/examples/mixed_user.rs
  • packages/stack-encrypt/examples/scalar.rs
  • packages/stack-encrypt/examples/search_terms.rs
  • packages/stack-encrypt/examples/zerokms_auth.rs
  • packages/stack-encrypt/fuzz/Cargo.toml
  • packages/stack-encrypt/fuzz/corpus/json_text/valid-escapes-numbers
  • packages/stack-encrypt/fuzz/corpus/json_text/valid-object
  • packages/stack-encrypt/fuzz/corpus/json_wire_decode/valid-document-open-root
  • packages/stack-encrypt/fuzz/corpus/json_wire_decode/valid-document-sealed-root
  • packages/stack-encrypt/fuzz/corpus/json_wire_decode/valid-header
  • packages/stack-encrypt/fuzz/corpus/json_wire_decode/valid-node
  • packages/stack-encrypt/fuzz/corpus/json_wire_decode/valid-projection
  • packages/stack-encrypt/fuzz/fuzz_targets/check_record.rs
  • packages/stack-encrypt/fuzz/fuzz_targets/json_text.rs
  • packages/stack-encrypt/fuzz/fuzz_targets/json_wire_decode.rs
  • packages/stack-encrypt/fuzz/fuzz_targets/term_decode.rs
  • packages/stack-encrypt/proptest-regressions/json_index.txt
  • packages/stack-encrypt/src/cipher.rs
  • packages/stack-encrypt/src/codes.rs
  • packages/stack-encrypt/src/dynamic/context.rs
  • packages/stack-encrypt/src/dynamic/json.rs
  • packages/stack-encrypt/src/dynamic/json_predicate.rs
  • packages/stack-encrypt/src/dynamic/json_query.rs
  • packages/stack-encrypt/src/dynamic/kind.rs
  • packages/stack-encrypt/src/dynamic/mod.rs
  • packages/stack-encrypt/src/dynamic/query.rs
  • packages/stack-encrypt/src/dynamic/record.rs
  • packages/stack-encrypt/src/dynamic/target.rs
  • packages/stack-encrypt/src/dynamic/term.rs
  • packages/stack-encrypt/src/dynamic/test_frame.rs
  • packages/stack-encrypt/src/dynamic/value.rs
  • packages/stack-encrypt/src/dynamic/value_frame.rs
  • packages/stack-encrypt/src/json/cascade.rs
  • packages/stack-encrypt/src/json/derive.rs
  • packages/stack-encrypt/src/json/mod.rs
  • packages/stack-encrypt/src/json/path.rs
  • packages/stack-encrypt/src/json/plain.rs
  • packages/stack-encrypt/src/json/query.rs
  • packages/stack-encrypt/src/json/shuffle.rs
  • packages/stack-encrypt/src/json/text.rs
  • packages/stack-encrypt/src/keyset.rs
  • packages/stack-encrypt/src/lib.rs
  • packages/stack-encrypt/src/op/mod.rs
  • packages/stack-encrypt/src/op/stats.rs
  • packages/stack-encrypt/src/plan/build.rs
  • packages/stack-encrypt/src/plan/chain.rs
  • packages/stack-encrypt/src/plan/error.rs
  • packages/stack-encrypt/src/plan/field_ref.rs
  • packages/stack-encrypt/src/plan/mod.rs
  • packages/stack-encrypt/src/plan/value.rs
  • packages/stack-encrypt/src/scalar.rs
  • packages/stack-encrypt/src/sem/mod.rs
  • packages/stack-encrypt/src/sem/tokenize.rs
  • packages/stack-encrypt/src/target/context.rs
  • packages/stack-encrypt/src/target/conversion.rs
  • packages/stack-encrypt/src/target/core.rs
  • packages/stack-encrypt/src/target/index.rs
  • packages/stack-encrypt/src/target/input.rs
  • packages/stack-encrypt/src/target/mod.rs
  • packages/stack-encrypt/src/target/operations.rs
  • packages/stack-encrypt/src/target/pending.rs
  • packages/stack-encrypt/src/target/request.rs
  • packages/stack-encrypt/src/target/source.rs
  • packages/stack-encrypt/src/target/transcode.rs
  • packages/stack-encrypt/src/value.rs
  • packages/stack-encrypt/tasks.toml
  • packages/stack-encrypt/tests/common/conformance.rs
  • packages/stack-encrypt/tests/common/mod.rs
  • packages/stack-encrypt/tests/conformance.rs
  • packages/stack-encrypt/tests/declarations.rs
  • packages/stack-encrypt/tests/derive.rs
  • packages/stack-encrypt/tests/derive_plan.rs
  • packages/stack-encrypt/tests/descriptor.rs
  • packages/stack-encrypt/tests/fixture_safety.rs
  • packages/stack-encrypt/tests/fixtures/README.md
  • packages/stack-encrypt/tests/fixtures/json_tree_vectors.json
  • packages/stack-encrypt/tests/fixtures/query_operators.json
  • packages/stack-encrypt/tests/fixtures/record_lowering.json
  • packages/stack-encrypt/tests/fixtures/stored_rows_v1.json
  • packages/stack-encrypt/tests/fixtures/value_kinds.json
  • packages/stack-encrypt/tests/frozen_bytes.rs
  • packages/stack-encrypt/tests/heap_hygiene.rs
  • packages/stack-encrypt/tests/index.rs
  • packages/stack-encrypt/tests/json_index.rs
  • packages/stack-encrypt/tests/json_leakage.rs
  • packages/stack-encrypt/tests/json_leakage/calibration.rs
  • packages/stack-encrypt/tests/json_leakage/canonical.rs
  • packages/stack-encrypt/tests/json_leakage/chain.rs
  • packages/stack-encrypt/tests/json_leakage/corpus.rs
  • packages/stack-encrypt/tests/json_leakage/distinguishers.rs
  • packages/stack-encrypt/tests/json_leakage/mod.rs
  • packages/stack-encrypt/tests/json_leakage/mutants.rs
  • packages/stack-encrypt/tests/json_leakage/observe.rs
  • packages/stack-encrypt/tests/json_leakage/profile.rs
  • packages/stack-encrypt/tests/json_leakage/real.rs
  • packages/stack-encrypt/tests/json_leakage/simulator.rs
  • packages/stack-encrypt/tests/json_operators.rs
  • packages/stack-encrypt/tests/json_properties.proptest-regressions
  • packages/stack-encrypt/tests/json_properties.rs
  • packages/stack-encrypt/tests/json_read_checks.rs
  • packages/stack-encrypt/tests/json_tree_vectors.rs
  • packages/stack-encrypt/tests/keysets.rs
  • packages/stack-encrypt/tests/match_short_words.rs
  • packages/stack-encrypt/tests/op.rs
  • packages/stack-encrypt/tests/ore_block.rs
  • packages/stack-encrypt/tests/plan.rs
  • packages/stack-encrypt/tests/plan_grammar.rs
  • packages/stack-encrypt/tests/query_operators.rs
  • packages/stack-encrypt/tests/read_conformance.rs
  • packages/stack-encrypt/tests/record_lowering.rs
  • packages/stack-encrypt/tests/roundtrip.rs
  • packages/stack-encrypt/tests/runtime_conformance.rs
  • packages/stack-encrypt/tests/scalar.rs
  • packages/stack-encrypt/tests/sem_terms.rs
  • packages/stack-encrypt/tests/source_mode.rs
  • packages/stack-encrypt/tests/stored_rows.rs
  • packages/stack-encrypt/tests/target.rs
  • packages/stack-encrypt/tests/term_bytes.rs
  • packages/stack-encrypt/tests/term_serde.rs
  • packages/stack-encrypt/tests/transcode.rs
  • packages/stack-encrypt/tests/ui.rs
  • packages/stack-encrypt/tests/ui/bare_context.rs
  • packages/stack-encrypt/tests/ui/bare_context.stderr
  • packages/stack-encrypt/tests/ui/decrypt_field_not_decryptable.stderr
  • packages/stack-encrypt/tests/ui/drop_record.stderr
  • packages/stack-encrypt/tests/ui/leaf_without_context.rs
  • packages/stack-encrypt/tests/ui/leaf_without_context.stderr
  • packages/stack-encrypt/tests/ui/match_in_a_tuple_on_integer.rs
  • packages/stack-encrypt/tests/ui/match_in_a_tuple_on_integer.stderr
  • packages/stack-encrypt/tests/ui/match_on_integer.rs
  • packages/stack-encrypt/tests/ui/match_on_integer.stderr
  • packages/stack-encrypt/tests/ui/op_at_path_inherits_fidelity.rs
  • packages/stack-encrypt/tests/ui/op_at_path_inherits_fidelity.stderr
  • packages/stack-encrypt/tests/ui/op_at_path_not_a_leaf.rs
  • packages/stack-encrypt/tests/ui/op_at_path_not_a_leaf.stderr
  • packages/stack-encrypt/tests/ui/op_between_takes_a_pair.rs
  • packages/stack-encrypt/tests/ui/op_between_takes_a_pair.stderr
  • packages/stack-encrypt/tests/ui/op_case_mismatch.rs
  • packages/stack-encrypt/tests/ui/op_case_mismatch.stderr
  • packages/stack-encrypt/tests/ui/op_inexact_operator_needs_probabilistic.rs
  • packages/stack-encrypt/tests/ui/op_inexact_operator_needs_probabilistic.stderr
  • packages/stack-encrypt/tests/ui/op_json_not_answered.rs
  • packages/stack-encrypt/tests/ui/op_json_not_answered.stderr
  • packages/stack-encrypt/tests/ui/op_matches_on_integer.rs
  • packages/stack-encrypt/tests/ui/op_matches_on_integer.stderr
  • packages/stack-encrypt/tests/ui/op_order_on_bytes.rs
  • packages/stack-encrypt/tests/ui/op_order_on_bytes.stderr
  • packages/stack-encrypt/tests/ui/op_target_does_not_answer.rs
  • packages/stack-encrypt/tests/ui/op_target_does_not_answer.stderr
  • packages/stack-encrypt/tests/ui/op_target_not_labelled.rs
  • packages/stack-encrypt/tests/ui/op_target_not_labelled.stderr
  • packages/stack-encrypt/tests/ui/op_verify_exact_term.rs
  • packages/stack-encrypt/tests/ui/op_verify_exact_term.stderr
  • packages/stack-encrypt/tests/ui/order_term_of_an_8_bit_integer.rs
  • packages/stack-encrypt/tests/ui/order_term_of_an_8_bit_integer.stderr
  • packages/stack-encrypt/tests/ui/owned_fan_out_needs_clone.rs
  • packages/stack-encrypt/tests/ui/owned_fan_out_needs_clone.stderr
  • packages/stack-encrypt/tests/ui/pass/aead_only_context.rs
  • packages/stack-encrypt/tests/ui/pass/indexes.rs
  • packages/stack-encrypt/tests/ui/pass/owned_without_clone.rs
  • packages/stack-encrypt/tests/ui/pass/plan_chain.rs
  • packages/stack-encrypt/tests/ui/pass/query_only_and_borrowed.rs
  • packages/stack-encrypt/tests/ui/pass/which_form_compiles.rs
  • packages/stack-encrypt/tests/ui/plaintext_needs_encrypt.stderr
  • packages/stack-encrypt/tests/ui/plan_match_on_integer.rs
  • packages/stack-encrypt/tests/ui/plan_match_on_integer.stderr
  • packages/stack-encrypt/tests/ui/plan_query_undeclared_index.rs
  • packages/stack-encrypt/tests/ui/plan_query_undeclared_index.stderr
  • packages/stack-encrypt/tests/ui/scalar_collections_and_borrows.rs
  • packages/stack-encrypt/tests/ui/scalar_collections_and_borrows.stderr
  • packages/stack-encrypt/tests/ui/scalar_no_caller_context.rs
  • packages/stack-encrypt/tests/ui/scalar_no_caller_context.stderr
  • packages/stack-encrypt/tests/ui/scalar_nullable.rs
  • packages/stack-encrypt/tests/ui/scalar_nullable.stderr
  • packages/stack-encrypt/tests/ui/scalar_required_context.rs
  • packages/stack-encrypt/tests/ui/scalar_required_context.stderr
  • packages/stack-encrypt/tests/ui/scalar_source_consumed.rs
  • packages/stack-encrypt/tests/ui/scalar_source_consumed.stderr
  • packages/stack-encrypt/tests/ui/struct_field_must_open.rs
  • packages/stack-encrypt/tests/ui/struct_field_must_open.stderr
  • packages/stack-encrypt/tests/value_kinds.rs
  • packages/stack-guest-abi/Cargo.toml
  • packages/stack-guest-abi/src/abi.rs
  • packages/stack-guest-abi/src/buffers.rs
  • packages/stack-guest-abi/src/call.rs
  • packages/stack-guest-abi/src/last_error.rs
  • packages/stack-guest-abi/src/lib.rs
  • packages/stack-guest-abi/src/status.rs
  • packages/stack-guest-abi/src/step.rs
  • packages/stack-guest-abi/src/value.rs
  • packages/stack-kms/CHANGELOG.md
  • packages/stack-kms/Cargo.toml
  • packages/stack-profile/CHANGELOG.md
  • packages/stack-profile/Cargo.toml
  • scripts/__tests__/bench-index-expressions.test.mjs
  • scripts/__tests__/crates-ci.test.mjs
  • scripts/__tests__/dependabot-eql-inherited-ignores.test.mjs
  • scripts/__tests__/eql-suite-ci.test.mjs
  • scripts/__tests__/ffi-binding-action.test.mjs
  • scripts/__tests__/go-binding-test.test.mjs
  • scripts/__tests__/go-eql-doc-capabilities.test.mjs
  • scripts/__tests__/go-release-version.test.mjs
  • scripts/__tests__/lib/rust-compiled-files.mjs
  • scripts/__tests__/rust-compiled-files.test.mjs
  • scripts/__tests__/stack-conformance-ci.test.mjs
  • scripts/__tests__/tests-workflow-gate.test.mjs
  • scripts/__tests__/wasm-build-inputs-paths-filter.test.mjs
  • scripts/go-binding-test.sh
  • scripts/go-release-version.mjs
  • scripts/stack-conformance-selection.mjs
  • scripts/stack-conformance.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@changeset-bot

changeset-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 929451b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 27 packages
Name Type
@cipherstash/protect-ffi Patch
@cipherstash/auth Patch
@cipherstash/stack-prisma Minor
@cipherstash/eql Minor
stash Minor
@cipherstash/stack-drizzle Minor
@cipherstash/stack-supabase Minor
@cipherstash/stack Minor
@cipherstash/ffi-integration-tests Patch
@cipherstash/wizard Minor
@cipherstash/prisma-example Patch
@cipherstash/bench Patch
@cipherstash/test-kit Patch
@cipherstash/basic-example Patch
@cipherstash/e2e Patch
@cipherstash/protect-ffi-darwin-arm64 Patch
@cipherstash/protect-ffi-darwin-x64 Patch
@cipherstash/protect-ffi-linux-arm64-gnu Patch
@cipherstash/protect-ffi-linux-x64-gnu Patch
@cipherstash/protect-ffi-linux-x64-musl Patch
@cipherstash/protect-ffi-win32-x64-msvc Patch
@cipherstash/auth-darwin-arm64 Patch
@cipherstash/auth-darwin-x64 Patch
@cipherstash/auth-linux-arm64-gnu Patch
@cipherstash/auth-linux-x64-gnu Patch
@cipherstash/auth-linux-x64-musl Patch
@cipherstash/auth-win32-x64-msvc Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Mutation testing (cargo-mutants, --in-diff, stack-auth + stack-encrypt)

caught missed unviable timeout
436 0 203 0

cargo-mutants exited with no surviving mutants recorded. The run may not have completed cleanly; check the workflow run logs.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T13:51:48.267360Z a05affa Draft marked ready
🔒 Security Review ✅ Completed 2026-10-19T13:50:52.546472Z a05affa Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a05affaaa5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread languages/golang/encrypt/query.go Resolved
Comment thread languages/golang/encrypt/query.go Resolved
@coderdan
coderdan deployed to release-golang October 19, 2026 15:26 — with GitHub Actions Active
@coderdan
coderdan added this pull request to stack #1333 October 22, 2026 10:15

@freshtonic freshtonic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I request changes for two release problems on the crates.io side. The code itself is in good shape, and every check I ran passes.

How I reviewed this
The diff is large because generated code is committed. I reviewed the generators and their templates, then I ran the drift checks to prove that the committed output matches them. I did not read each generated file.

  • EQL codegen: eql-codegen renders the version-neutral SQL source two times (eql_v3 and eql_v4) from the eql-domains catalogue. It also generates the Rust payload types and eql_gen.go.
  • Go: stashgen generates the *_stash.go files and the goldens.

Checks run (in a worktree at a05affaaa)

  • EQL:
    • cargo test -p eql-codegen (includes the Go parity test): pass.
    • mise run types:check, codegen:parity, test:schemas:parity: pass.
    • mise run build, with the installer completeness gate and the v4 isolation gate: pass.
    • git status was clean after all of these.
  • Rust and Go:
    • cargo fmt --check: pass.
    • cargo clippy --workspace --all-features --all-targets -D warnings: pass.
    • cargo test -p stack-guest-abi -p stack-encrypt --all-features: pass.
  • Go guests and SDK:
    • All five WASI guests build, and the import-surface checks pass.
    • go vet ./... and go test ./... in languages/golang: pass.
    • go generate ./... leaves no diff.
  • I built the v3 bundle and compared it with the @cipherstash/eql@3.0.6 tarball. Only lints() and comments changed, so the claim "v3 SQL unchanged" holds.
  • git merge-tree against current main: no conflicts.
  • cargo publish --dry-run -p stack-encrypt-derive -p stack-encrypt against crates.io: fails (see below).

Blocking

  1. stack-encrypt 0.3.0 cannot publish. The root release-plz line publishes every stack-* version that crates.io does not have, so merging this starts a publish of stack-encrypt 0.3.0. stack-encrypt requires stack-kms 0.1.0, and that is the only stack-kms version on crates.io. But src/lib.rs re-exports stack_kms::{diagnostic, ErrorPayload}, and these were added after the 0.1.0 release with no version bump. The packaged build fails with E0432: unresolved imports stack_kms::diagnostic, stack_kms::ErrorPayload.
    • Fix: bump stack-kms (for example to 0.2.0, with a CHANGELOG entry), and make stack-encrypt require that version.
    • Note that the publish dry run on main (tests-crates.yml) packages all five crates together, so stack-encrypt resolves the tree's stack-kms there. That step does not catch a stack-kms that crates.io lacks under the same version number.
  2. The stack-encrypt CHANGELOG has no 0.3.0 section. Cargo.toml says 0.3.0, but about 850 lines, including a ### Breaking section, are still under ## [Unreleased]. The root release-plz line only publishes and never rewrites the changelog, so 0.3.0 would ship under "Unreleased", as 0.1.0 did. Please rename the section to ## [0.3.0] - <date> in this PR.

Non-blocking (see inline)

  • SchemaVersion is now generic. Rust does not apply a default const parameter in an expression, so SchemaVersion::CURRENT and SchemaVersion::default() stop compiling (E0284). The changeset ships this as a minor bump and says "plain SchemaVersion still means v3".
  • The stored and single-bound query domain templates accept "v": null. The range template already guards against this.
  • stack-encrypt will publish with an exact pin on cllw-ore =0.5.2-rc.1.
  • There are some small nits: stale vitaminc version numbers in comments, a Go wipe path, an ADR reference, and the position of a use.

Before you merge
eql-bindings now requires stack-encrypt 0.3.0. Its crates.io publish (publish_all_features) succeeds only after release-crates has published stack-encrypt 0.3.0, so blocker 1 must be fixed first. Otherwise the EQL crate publish fails too.

Checked and fine

  • SQL renderer: it refuses literal eql_v3/eql_v4 names, unknown placeholders and unmatched blocks.
  • Range domains and between: correct, with STRICT/IMMUTABLE accessors and an inlinable between. On non-superuser installs, the ORE range domains are disabled with the same NOT VALID CHECK as the single-bound ORE domains.
  • v4 ore_block_v2 SQL: the layout offsets and the GF(2^128) doubling are correct, and errors do not echo the input bytes.
  • stack-guest-abi step and value: no new raw reads of host lengths, handles are never reused, MAX_OPEN is enforced, and secrets are Zeroizing with OpaqueDebug.
  • Go step loop: every early exit after a pause aborts the operation and wipes the buffers. maxPaused is tied to the Rust constant by a test.
  • Go public surface: QueryTerm, Verify and TargetLimit follow the existing Seal/Open pattern, and MatchQuery never prints its text.
  • CI: actions are pinned by SHA, both copies of the path filters were updated, and no release workflow changed.
  • Changesets: the EQL changesets are minor, which is correct apart from the SchemaVersion point. chacha20-0-10-2.md matches the lockfile moves.
  • Skills: no skill update is needed. stash eql install still installs v3 only, and no skill covers the Go SDK or Stack Encrypt.

Comment thread packages/stack-encrypt/Cargo.toml Resolved
Comment thread Cargo.toml Resolved
Comment thread .github/dependabot.yml Resolved
Comment thread packages/stack-encrypt/Cargo.toml Resolved
Comment thread languages/golang/encrypt/step.go Resolved
Comment thread packages/stack-guest-abi/src/call.rs Resolved
… node

token_derivability derived member and element children of every token a
read sends, which for a wildcard at the default bound is 65 tokens, most
of them naming positions no row has, and their children name nothing
either. Deriving only from tokens that find a node in some row halves the
calibration's time (14.8 s to 9.6 s) with the same 44 of 44 mutants
caught by the same distinguishers.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
…1363

The leakage profile in #1362 was written against the format before #1363
and has been ported to it. This records, from the code at 9a7ca37 and
at the port, every clause, distinguisher and mutant of the two profiles
side by side; the failures the old test showed on first meeting the new
format and what each one taught; the calibration before and after; and
what the database learns now that it did not (the self tag, the token
count and the bound it gives away, the probes, the member-or-element rule
under a token) and what it no longer learns (an ancestor's capability in
every row, the gates with their plaintext positions and selectors, the
head token).

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
…akage-profile

Brings in b992e78, #1363's correction to the v3 column of the leakage
page's comparison table. It touches a different part of the page from the
sentence this branch adds, and no code.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
…ry-check

fix(stack-encrypt): check that a json_tree read returns the entry asked for
Use Vitamin C protection and encoding metadata, clarify the staged API and context guarantees, and exercise nullable padding and mapped scalar authentication.

Refs #1404, #1468
Exercise release and deterministic guests through the host checker, preserving typed JSON numbers and sorted keys. Admit the supported ore_block output in host validation. Require fresh producer artifacts without repeating full CI suites.

Refs #1460
Compare stored lengths after SQL-null omission, preserve structured source diagnostics at the Go boundary, and share output and refusal assertions.

Refs #1461
@coderdan
coderdan removed this pull request from stack #1467 November 1, 2026 06:46
feat(stack-encrypt): add owned scalar ciphertext API
test(stack-encrypt): add declaration grammar and shared conformance
An omitted SQL-null field can make an extra key leave the row count
unchanged. Validate every source key before encoding so Seal cannot
silently discard it. Add shared single-row and late-batch regressions.
…conformance

test(stack-encrypt): add shared runtime conformance
…formance

test(stack-encrypt): add stored-read and context conformance
…ery-conformance

test(stack-encrypt): enroll value-kind and query fixtures
The Go changelog has had only an Unreleased section since before rc.1,
so nothing told an rc.2 user what rc.3 changes. It now has a dated rc.3
section holding only what landed after the rc.2 tag, and the rest under
a dated rc.2 heading.

The rc.3 section adds an upgrade note: the new JSON queries need SQL
types and functions the rc.2 EQL bundle does not have, and re-running
the installer drops indexes built on eql_v4 functions, which must be
re-created. It also lists three fixes since rc.2 that had no entry:
Cipher.Seal refusing an unknown key beside an omitted null=sql field,
Limit.FetchOr capping its page at the largest SQL LIMIT, and a refused
guest request wiping its bearer token.

The SDK guide told readers to pass nil vars to Match when a predicate
has no variables. A nil vars binds as SQL NULL and matches no row, so
following the guide returned nothing, with no error. It now says to
pass an empty map, as the generated doc comments and the stashgen
reference already did; the package doc says so too.

The guide's JSON section gains subheadings for the element match and
the jsonpath predicate, so a search for jsonb_path_match lands on it,
and a table saying which JSON query to use and which engage an index.
The rc.3 upgrade note told readers to re-create indexes after
re-installing EQL v4, but not that the installer drops eql_v4 and
eql_v4_internal with CASCADE and issues no GRANT. A deployment whose
application connects as a non-owner role would rebuild its indexes and
still fail every query with "permission denied for schema eql_v4". The
note now lists re-granting first, pointing at EQL's permissions
reference, then the indexes.

Also drops a doubled blank line under the rc.3 Added heading.
docs(go): an rc.3 changelog section and clearer JSON query docs

This branch was successfully deployed

1 active deployment
release-golang — 929451b4 Deployed Nov 2, 2026 by coderdan via Tag and release #5
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.

2 participants