Skip to content

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

Open
coderdan wants to merge 640 commits into
mainfrom
next
Open

coderdan wants to merge 640 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 819 files, which is 719 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: 3e914de1-170f-4286-a315-1e694358bcef
Commits

Reviewing files that changed from the base of the PR and between 8d48bbc and ffeed7a.

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: 819
  • .cargo/mutants.toml
  • .changeset/chacha20-0-10-2.md
  • .changeset/eql-bindings-optional-storage-only.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-extracted-entry-check.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-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
  • .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-golang.yml
  • .github/workflows/tests-rust.yml
  • .github/workflows/tests.yml
  • AGENTS.md
  • CONTRIBUTING.md
  • Cargo.toml
  • README.md
  • biome.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
  • 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_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/context_field_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_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/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_fields_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/records.go
  • languages/golang/encrypt/roundtrip_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/errors.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/functions.sql
  • packages/eql/src/v3/json_tree/operators.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/generated.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-encrypt-derive/Cargo.toml
  • 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/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/mixed_user.rs
  • packages/stack-encrypt/examples/search_terms.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_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/sem/mod.rs
  • packages/stack-encrypt/src/sem/tokenize.rs
  • packages/stack-encrypt/src/target/context.rs
  • packages/stack-encrypt/src/target/core.rs
  • packages/stack-encrypt/src/target/index.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/mod.rs
  • packages/stack-encrypt/tests/derive.rs
  • packages/stack-encrypt/tests/derive_plan.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/record_lowering.rs
  • packages/stack-encrypt/tests/roundtrip.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/decrypt_field_not_decryptable.stderr
  • packages/stack-encrypt/tests/ui/drop_record.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/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/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/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
  • scripts/__tests__/bench-index-expressions.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-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__/tests-workflow-gate.test.mjs
  • scripts/__tests__/wasm-build-inputs-paths-filter.test.mjs
  • scripts/go-release-version.mjs

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

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@changeset-bot

changeset-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ffeed7a

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/eql Minor
stash Patch
@cipherstash/stack-drizzle Patch
@cipherstash/stack-supabase Patch
@cipherstash/stack Patch
@cipherstash/ffi-integration-tests Patch
@cipherstash/wizard Patch
@cipherstash/stack-prisma Patch
@cipherstash/bench Patch
@cipherstash/test-kit Patch
@cipherstash/basic-example Patch
@cipherstash/prisma-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
279 0 185 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
Comment thread languages/golang/encrypt/query.go
@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.

@@ -1,7 +1,7 @@
[package]
name = "stack-encrypt"
description = "Encrypt Rust values under per-value ZeroKMS data keys via the vitaminc cipher traits"
version = "0.2.0"
version = "0.3.0"

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.

Blocking. Merging this starts a crates.io publish of stack-encrypt 0.3.0. That publish fails. This crate requires stack-kms 0.1.0 (the only stack-kms on crates.io), but src/lib.rs re-exports stack_kms::{diagnostic, ErrorPayload}. These came after the 0.1.0 release, and the version was not bumped. cargo publish --dry-run -p stack-encrypt-derive -p stack-encrypt fails with E0432 at src/lib.rs:300.

Please bump stack-kms (for example to 0.2.0, with a CHANGELOG entry) and require that version here. Then release-plz publishes stack-kms first.

Also blocking: CHANGELOG.md still has these changes under ## [Unreleased]. The root release-plz line does not rewrite the changelog, so 0.3.0 would ship with an "Unreleased" heading. Please rename it to ## [0.3.0] - <date>.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed in #1403, commit 9590f83. The gap was wider than stack-kms. Run against crates.io on current next, cargo publish --dry-run -p stack-kms fails with stack_auth::diagnostic and stack_auth::tls unresolved, and -p stack-auth fails with stack_profile::diagnostic unresolved. Each crate changed after its 0.43.0 / 0.1.0 release with no version bump.

The commit:

  • moves stack-auth and stack-profile to 0.44.0 (stack-auth's per-JWT token cache change is breaking) and stack-kms to 0.2.0, and makes stack-encrypt require stack-kms 0.2.0;
  • adds a 0.44.0 CHANGELOG section for stack-auth and stack-profile, and a first CHANGELOG for stack-kms;
  • renames stack-encrypt's ## [Unreleased] to ## [0.3.0] - 2026-10-27;
  • updates the lockfiles that record these crates (root, both Go guests, EQL, stack-encrypt fuzz);
  • adds an @cipherstash/auth patch changeset, because that package is built from stack-auth.

cargo publish --dry-run -p stack-profile -p stack-auth -p stack-kms -p stack-encrypt-derive -p stack-encrypt now packages and verifies all five.

I'm leaving this open for @coderdan to confirm: this also publishes stack-auth and stack-profile 0.44.0, and the CHANGELOG dates assume the merge to main happens on 2026-10-27.

https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu

Comment thread packages/eql/crates/eql-bindings/src/lib.rs
Comment thread packages/eql/crates/eql-codegen/templates/types.sql.j2
Comment thread packages/eql/crates/eql-codegen/templates/query_types.sql.j2
Comment thread packages/eql/crates/eql-codegen/templates/range_types.sql.j2
Comment thread Cargo.toml Outdated
Comment thread .github/dependabot.yml Outdated
Comment thread packages/stack-encrypt/Cargo.toml
Comment thread languages/golang/encrypt/step.go
Comment thread packages/stack-guest-abi/src/call.rs
A containment query now sends its selector set in a random order of its
own (#1379), so two derivations of one document, typed or as text,
serialize differently. The test that holds a typed needle to the query
its JSON text derives compared bytes; it now sorts every list of both
queries, recursively, and compares those.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
The mutants gate found Tokens::zeroize replaceable with a no-op and no
test failing: a query's tokens are plaintext held in Zeroizing<Tokens>,
so a zeroize that skipped either kind would leave them in memory.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
From review of #1397. match_term split the tokens into two plain Vecs, so
a failure deriving the n-grams freed the short words unwiped; they are now
held in Zeroizing until the PRF takes them. The standard tokenizer and the
short-word filter now share one word split, so "a short word is a standard
token" holds by construction. Docs say length is counted after case
folding and which characters do not end a word; the eql-bindings README
and the Go README describe the v4 match format as it now is; a test checks
the filter alone, not the filter and verify together.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
The mutants gate found the depth cap's comparison unpinned: refusing a
path of MAX_DEPTH steps instead of more than MAX_DEPTH passed every
test. A selector path of 127 steps, the deepest that can name a node,
is now among the inputs the check accepts.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Brings in the base's test that pins the JSON path depth cap at a
document's depth. No conflicts.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Brings in the base's test that pins the JSON path depth cap at a
document's depth. No conflicts.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
vcffi and vcvalue move from d7de535c4, the merge of cipherstash/vitaminc#526
into a feature branch, to 06568ba93, the commit cipherstash/vitaminc#544
put on vitaminc main. The bindings' files are the same at both commits,
so no Go behaviour changes; the pin now names a commit a vitaminc release
will carry. The bindings still have no tag, so the release guard keeps
refusing a final version of this module until one exists.

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

Carries the vitaminc Go bindings pin to 06568ba93 on vitaminc main.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Carries the vitaminc Go bindings pin to 06568ba93 on vitaminc main.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Carries the vitaminc Go bindings pin to 06568ba93 on vitaminc main.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Carries the vitaminc Go bindings pin to 06568ba93 on vitaminc main.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
Carries the vitaminc Go bindings pin to 06568ba93 on vitaminc main.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
@coderdan
coderdan removed this pull request from stack #1377 October 26, 2026 12:41
…ile-git

chore(deps): take vitaminc's Go bindings from cipherstash/vitaminc#526 by git reference
feat(go): seal an opaque struct as a vitaminc storage blob
feat(stack-encrypt,eql): store a JSON document through a data plan as JsonSearch
feat(go): generate encrypted JSON document fields
Brings in the Go json_tree stack's first pull requests (#1369, #1370,
#1372). The only conflicts were adjacent CHANGELOG entries in the Go
module and stack-encrypt, resolved by keeping both.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
feat(stack-encrypt, golang): JSON operators and data-plan reads, with generated Go JSON document fields (#1374)
feat(go): encrypted JSON documents of Go types, with typed needles
Brings in the rest of the Go json_tree stack (#1373, #1374, #1378). The
only conflicts were adjacent CHANGELOG entries in the Go module and
stack-encrypt, resolved by keeping both.

Claude-Session: https://claude.ai/code/session_01N7bCqa3ZVJMcEE99RzVqEu
@coderdan
coderdan deployed to release-golang October 26, 2026 15:08 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
release-golang — ffeed7ad Deployed Oct 26, 2026 by coderdan via Tag and release #4
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