Skip to content

[Architecture] Design plugin architecture and SPI for storage backends and query extensions #618

Description

@remiceres

Summary

Design and formalize the Service Provider Interface (SPI) and plugin architecture for corese-next, defining extension points for future storage backends and custom execution hooks.

Objectives and Technical Scope

1. Storage Backend SPI

• Formalize public contracts decoupling the core query engine from concrete storage backends.
• Specify interfaces required for future persistent on-disk implementations and remote federation.

2. Extension Points and Lifecycle

• Define extension points for custom built-in functions, custom rule delegates, and query listeners.
• Establish service discovery mechanisms (Java ServiceLoader / SPI) with deterministic registration.

Acceptance Criteria

[ ] SPI contracts and public interfaces are clearly documented in docs/architecture/plugin-spi.md.
[ ] Contract interfaces prevent implementation leaks into public APIs.
[ ] A prototype proof-of-concept custom plugin demonstrates loading through the new SPI.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationrefactoringInternal code restructuring and architecture cleanup

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions