#Shared Repository Index Service
Summary
Introduce an optional shared index service capable of hosting and serving Codira indexes for multiple repositories within a single persistent storage backend.
The service shall support both related and unrelated repositories and provide a centralized retrieval and indexing infrastructure.
Motivation
As documentation retrieval, embeddings, and semantic search capabilities expand, the cost of repeatedly loading, parsing, embedding, and indexing repositories increases.
A shared service can provide:
- centralized storage
- shared memory utilization
- shared vector indexes
- shared retrieval infrastructure
- reduced indexing duplication
- faster startup times
- centralized administration
This deployment model is particularly attractive for:
- servers with large memory capacity
- developer teams
- self-hosted environments
- AI-assisted development platforms
- repository collections
The shared service is intended as an optional deployment topology.
The canonical Codira workflow remains local deterministic batch indexing.
Design Principles
- Local indexing remains canonical.
- The service is optional.
- The service must not change analyzer behavior.
- The service must not change repository facts.
- The service must not introduce hidden state into analysis.
- Repository provenance must remain explicit.
- Deterministic outputs remain mandatory.
Scope
Provide an optional long-running service capable of:
- hosting multiple repository indexes
- hosting multiple embedding collections
- serving retrieval requests
- supporting incremental updates
- supporting daemon-mode indexing
- supporting repository registration and removal
Repository Model
The service shall support:
Related Repository Collections
Examples:
codira
codira-analyzer-python
codira-analyzer-go
codira-analyzer-rust
Unrelated Repository Collections
Examples:
codira
llvm-project
cpython
postgres
The service shall not assume repositories are related.
Deliverables
- Shared repository catalog
- Repository registration mechanism
- Repository isolation model
- Shared retrieval interface
- Shared embedding storage
- Shared vector index support
- Administrative tooling
- Service documentation
Acceptance Criteria
- Multiple repositories can coexist within a single service.
- Repository provenance remains preserved.
- Retrieval can be constrained to specific repositories.
- Retrieval can span multiple repositories.
- Deterministic indexing behavior remains unchanged.
- Local batch mode and service mode produce equivalent repository facts.
Non-Goals
- Mandatory client/server architecture
- Distributed indexing
- Distributed consensus
- Multi-node clustering
- Automatic repository discovery
- Authentication and authorization systems
Dependencies
Architectural Constraints
- Deterministic indexing
- Immutable validated facts
- Explicit provenance
- No hidden analyzer state
- Local mode remains fully supported
#Shared Repository Index Service
Summary
Introduce an optional shared index service capable of hosting and serving Codira indexes for multiple repositories within a single persistent storage backend.
The service shall support both related and unrelated repositories and provide a centralized retrieval and indexing infrastructure.
Motivation
As documentation retrieval, embeddings, and semantic search capabilities expand, the cost of repeatedly loading, parsing, embedding, and indexing repositories increases.
A shared service can provide:
This deployment model is particularly attractive for:
The shared service is intended as an optional deployment topology.
The canonical Codira workflow remains local deterministic batch indexing.
Design Principles
Scope
Provide an optional long-running service capable of:
Repository Model
The service shall support:
Related Repository Collections
Examples:
Unrelated Repository Collections
Examples:
The service shall not assume repositories are related.
Deliverables
Acceptance Criteria
Non-Goals
Dependencies
Architectural Constraints