Skip to main content

Meridian OpenSearch Adapter

meridian-storage-opensearch is the independently released Meridian V1 adapter for eventually consistent structured Catalog search projections on OpenSearch. It is one Python distribution in one public Apache-2.0 repository.

Capabilities

The sole operation surface is meridian.structured.search@1.0.0. The adapter provides:

  • closed, fingerprinted mappings for full-text and declared document-path projections;
  • unrestricted BCP 47 language metadata with ICU fallback, with English and Chinese initial conformance;
  • deterministic document identities, externally versioned upserts, tombstones, and bounded bulk partial outcomes;
  • mapping-first Query V1 translation for the released logical operator allowlist;
  • mandatory tenant/scope, Resource, and tombstone filters;
  • signed search_after cursors, plus deployment-conditional point-in-time cursors;
  • logical RecordRef results, bounded facets/highlights, and fail-closed partial-search handling;
  • explicit generation create/verify/activate/rollback/retire hooks with atomic alias cutover; and
  • authenticated engine, ICU plugin, topology, health, alias, analyzer, replica, and mapping probes.

The exact capability manifest, historical tested engine releases, and hard limits are available from adapter_descriptor(), capability_manifest(), and query_capabilities().

Install

python -m pip install meridian-storage-opensearch==1.1.0

The distribution consumes Core >=1.1,<2, Query >=1.0.3,<2, and Semantics >=2.0.1,<3. These bounds retain the required public API majors and the released dependency repair. The deployment selects exact versions; the CI recipe locks Core 1.1.0, Query 1.0.3 and Semantics 2.0.1 with hashes. Historical tested engine versions never gate startup. Untested combinations remain unverified. Artifact hashes and design revisions are recorded in compatibility.json.

Configure through a Meridian Binding

Platform or Vangu IaC supplies the endpoint or service reference, secret references, compiled layouts, topology expectations, and exact capability fingerprint. Credentials never belong in an endpoint URL or settings document.

{
  "adapterId": "org.meridian.storage.opensearch",
  "engineProfile": "opensearch",
  "engineVersion": "2.19.1",
  "serviceRef": "platform://search/case-index",
  "physicalNamespace": "meridian",
  "requiredCapabilityFingerprint": "sha256:<64 hex characters>",
  "settings": {
    "indexPrefix": "meridian",
    "layouts": {
      "structured:investigation.articles": {
        "formatVersion": "meridian.opensearch.layout.v1"
      }
    },
    "requiredPlugins": ["analysis-icu"],
    "pitEnabled": true
  }
}

layouts must contain the complete value returned by MappingCompiler.compile(...).to_dict(); the abbreviated object above only illustrates placement. Use expected_capability_fingerprint(engine_version, settings) when producing the Binding pin.

Projection and search APIs

Adapter-internal projection workers use ProjectionExecutor with an IaC-selected write alias. Consumers do not receive this object and never see aliases, index names, mappings, analyzers, or OpenSearch DSL. Consumers submit released mapping-first Expressions or serialized Operations through Meridian Core.

The projection is always derived and eventually consistent. A successful authoritative write does not imply immediate search visibility. refresh=wait_for is available to controlled projection and conformance workflows; it is not an authoritative transaction guarantee.

Ownership boundary

This package owns translation, mappings, analysis definitions, indexing requests, cursor behavior, generation hooks, probes, and redacted engine-failure normalization. It does not create a Search or Projection Catalog and does not expose native queries, regex, wildcard/query-string syntax, scripts, credentials, endpoints, or physical lifecycle details.

Platform/Vangu IaC owns engine selection, provisioning/reference, state, identity and ACLs, migration orchestration, recovery, and lifecycle. See architecture, migrations, and the failure model.

Verify

python -m pytest -q tests/unit tests/contract tests/packaging
./scripts/run-single-conformance.sh
./scripts/run-cluster-conformance.sh
python -m build
python scripts/verify_artifacts.py dist

The Docker harness locks OpenSearch 2.19.1 and 2.19.3 by digest and installs matching analysis-icu plugin. Cluster conformance uses three eligible/data nodes, one replica, green-health verification, and a deliberate node loss. See conformance evidence.

License and security

Licensed under the Apache License 2.0. See LICENSE, NOTICE, and SECURITY.md.

See release validation for the gate inventory and verified combinations.

Metadata

Release files for meridian-storage-opensearch 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meridian-storage-opensearch 1.1.0
File Size Uploaded
meridian_storage_opensearch-1.1.0.tar.gz 123.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meridian-storage-opensearch 1.1.0
File Interpreter ABI Platform
meridian_storage_opensearch-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 182.7 kB

Release files / meridian_storage_opensearch-1.1.0.tar.gz

Download URL meridian_storage_opensearch-1.1.0.tar.gz
Size 123.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b91b6ea6bb9acb72c42db164331af8b9982f7f1f8aa9956eaeec4986d825941b
BLAKE2b-256 checksum
How to use checksums
5435e0d64c03e6ffd8c046e666514d241788a7bc3ec585649f870fb8a18429e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / meridian_storage_opensearch-1.1.0-py3-none-any.whl

Download URL meridian_storage_opensearch-1.1.0-py3-none-any.whl
Size 59.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c915f869debc494e356d3007a0b48de805dcea80f33acd264792cad134aaac41
BLAKE2b-256 checksum
How to use checksums
51fb5813d83aab6f9ca56fc1ae90092f60f166a9f1eda645973c7c08a362a1e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page