Live Integration Tests

The live suite is the place where the package proves it still works against a real GoodMem deployment instead of only against fakes.

The three tests cover one path each:

  • existing-space usage

  • package-owned create-helper usage

  • embeddings bootstrap plus embeddings-driven create usage

Keep these constraints in mind:

  • the suite assumes a reachable GoodMem deployment and valid credentials

  • semantic retrieval is eventually consistent, so the helpers poll instead of assuming immediate visibility after a write

  • temporary spaces and embedders created by the tests are cleaned up, but reused resources from environment variables are intentionally left alone

  • the embeddings live path now exercises GoodMemEmbeddings.ensure_from_env(...), so GOODMEM_EMBEDDINGS_BASE_URL, GOODMEM_EMBEDDINGS_MODEL_IDENTIFIER, and GOODMEM_EMBEDDINGS_DIMENSIONS are part of that workflow’s environment contract even when GOODMEM_EMBEDDER_ID is reused

Live integration test for the existing-space workflow.

This suite validates that GoodMemVectorStore can bind to an existing GoodMem space, write one document, and later retrieve the expected chunk through semantic search.

Coverage goals:

  • attach to an existing or temporary GoodMem space

  • add documents with caller-provided IDs

  • verify chunk-level result metadata and scored-search behavior

Required base environment:

  • GOODMEM_API_KEY

  • GOODMEM_BASE_URL

Optional resource reuse:

  • GOODMEM_SPACE_ID to reuse an existing space instead of creating one

Live integration test for the create-helper workflow.

This suite validates that GoodMemVectorStore.create(...) can provision a new GoodMem space, write a memory, and retrieve the expected chunk through semantic search.

Coverage goals:

  • create a space through the package-owned create helper

  • attach one explicit GoodMemSpaceEmbedder to the new space

  • verify that a created memory becomes discoverable and returns the expected GoodMem metadata fields

Required base environment:

  • GOODMEM_API_KEY

  • GOODMEM_BASE_URL

Optional resource reuse and provisioning inputs:

  • GOODMEM_EMBEDDER_ID to reuse an existing compatible embedder

  • GOODMEM_EMBEDDINGS_BASE_URL and GOODMEM_EMBEDDINGS_MODEL_IDENTIFIER when the helper needs to auto-provision an embedder

Live integration test for the embeddings bootstrap and create workflow.

This suite validates the end-to-end path where GoodMemEmbeddings.ensure(...) or GoodMemEmbeddings.ensure_from_env(...) resolves one compatible embedder and then backs both direct embedding calls and GoodMemVectorStore.create(...).

Coverage goals:

  • resolve one compatible GoodMem embedder through the bootstrap helper and exercise embed_query(...)

  • create a new GoodMem space from the embeddings adapter

  • write a document and retrieve the expected chunk through semantic search

Required base environment:

  • GOODMEM_API_KEY

  • GOODMEM_BASE_URL

Additional environment expectations:

  • GOODMEM_EMBEDDINGS_BASE_URL, GOODMEM_EMBEDDINGS_MODEL_IDENTIFIER, and GOODMEM_EMBEDDINGS_DIMENSIONS for GoodMemEmbeddings.ensure_from_env(...)

  • optional GOODMEM_EMBEDDER_ID to reuse one existing compatible embedder, but only when those bootstrap values still match it exactly

  • GOODMEM_EMBEDDINGS_API_KEY when GoodMem cannot expose a readable inline upstream secret or when bootstrap creation needs to store one