-
Notifications
You must be signed in to change notification settings - Fork 1
STUB_REPLACEMENT_DOCUMENTATION
Created: 2025-12-13
PR: Replace stub implementations with production-ready code
Commits: 9 commits (7bd193c - a9641c8)
This document provides comprehensive documentation of the stub replacement implementations, mapping files to their functions, dependencies, and integration points within ThemisDB.
| File | Lines Changed | Purpose | Status |
|---|---|---|---|
src/acceleration/plugin_security.cpp |
+115 | Plugin signature verification | ✅ Production-ready |
src/analytics/process_mining.cpp |
+140 | Process mining AND gateways | ✅ Production-ready |
src/sharding/truetime.cpp |
+182 | NTP time synchronization | ✅ Production-ready |
src/updates/manifest_database.cpp |
+132 | Manifest verification | ✅ Production-ready |
src/api/http_server.cpp |
+8 | Documentation update | ✅ Clarified |
| File | Lines Changed | Purpose | Status |
|---|---|---|---|
CMakeLists.txt |
+17 | Build coverage | ✅ 8 files added |
scripts/check_incomplete_implementations.sh |
+78 | Quality assurance | ✅ New tool |
Total Changes: +642 lines, -30 lines
Purpose: OpenSSL-based digital signature verification for plugins and manifests.
class PluginSecurityVerifier {
// Core verification
bool verifyPlugin(const std::string& pluginPath, std::string& errorMessage);
bool verifySignature(const std::string& filePath, const PluginSignature& signature);
// Hash and metadata
std::string calculateFileHash(const std::string& filePath);
std::optional<PluginMetadata> loadMetadata(const std::string& pluginPath);
// Trust evaluation
PluginTrustLevel getTrustLevel(const PluginMetadata& metadata);
bool isBlacklisted(const std::string& fileHash) const;
bool isWhitelisted(const std::string& fileHash) const;
// Configuration
void updatePolicy(const PluginSecurityPolicy& policy);
const PluginSecurityPolicy& getPolicy() const;
};// Added in this PR
static bool decodeHexString(const std::string& hexStr, std::vector<uint8_t>& outBytes);- ✅ Real X.509 certificate validation using OpenSSL
- ✅ RSA/ECDSA signature verification via
EVP_DigestVerify - ✅ Certificate expiration checking
- ✅ Validated hex decoding with length checks
- ✅ Proper resource cleanup with RAII
Internal:
- None (self-contained)
External:
-
<openssl/evp.h>- Message digest operations -
<openssl/pem.h>- PEM file parsing -
<openssl/x509.h>- X.509 certificate handling -
<nlohmann/json.hpp>- Metadata parsing
src/updates/manifest_database.cpp::verifyManifest()src/updates/manifest_database.cpp::verifyFile()-
src/acceleration/plugin_loader.cpp(existing)
Purpose: Process discovery algorithms with parallel gateway detection.
class ProcessMining {
// Process Discovery Algorithms
DiscoveredProcess runAlphaMiner(const EventLog& log, const MiningConfig& config);
DiscoveredProcess runHeuristicMiner(const EventLog& log, const MiningConfig& config);
DiscoveredProcess runInductiveMiner(const EventLog& log, const MiningConfig& config);
// Event Log Extraction
std::pair<Status, EventLog> extractEventLog(
std::string_view collection,
const ExtractionConfig& config);
std::pair<Status, EventLog> extractEventLogFromGraph(
std::string_view edge_collection,
std::string_view case_id_field);
std::pair<Status, EventLog> extractEventLogFromReferences(
std::string_view start_collection,
const std::vector<std::string>& reference_fields,
std::string_view activity_field);
// Conformance Checking
std::pair<Status, ConformanceResult> checkConformance(
const EventLog& log,
const DiscoveredProcess& model);
// Model Persistence
Status saveAsProcessDefinition(
const DiscoveredProcess& process,
std::string_view process_id);
// Analysis
std::vector<float> embedActivities(const std::vector<std::string>& activities);
std::string computeVariantSignature(const std::vector<std::string>& activities);
};- ✅ AND Gateway Detection - Identifies parallel execution paths
- ✅ AND-Split Detection - One activity → multiple parallel activities
- ✅ AND-Join Detection - Multiple parallel activities → one activity
- ✅ Performance Optimization - O(n) using
unordered_setinstead of O(n²) - ✅ Gateway Types - Distinguishes AND from XOR gateways
Input: EventLog, MiningConfig
Process:
1. Extract activities and build DFG (Directly-Follows Graph)
2. Identify start/end activities
3. Compute causal relations (A → B)
4. Compute parallel relations (A || B)
5. [NEW] Detect AND-split gateways
- Find activities with multiple outgoing edges
- Check if targets are parallel (not exclusive choice)
- Insert AND-split gateway node
6. [NEW] Detect AND-join gateways
- Find activities with multiple incoming edges
- Check if sources are parallel
- Insert AND-join gateway node
7. Restructure graph with gateway nodes
Output: DiscoveredProcess with parallel gateways
Internal:
-
src/index/graph_index.h- Graph traversal -
src/index/process_graph.h- Process graph storage -
src/storage/base_entity.h- Entity persistence -
src/analytics/olap.h- Aggregations
External:
-
<nlohmann/json.hpp>- JSON serialization
- HTTP API endpoints (process mining queries)
- AQL queries with process mining functions
- GraphQL process analytics
Purpose: Distributed time synchronization with bounded uncertainty (Google Spanner-inspired).
class TrueTime {
// Time with uncertainty bounds
TTInterval now() const;
// Wait until timestamp definitely passed
void waitUntil(std::chrono::nanoseconds timestamp);
// Get current uncertainty and drift
std::chrono::nanoseconds getUncertainty() const;
std::chrono::nanoseconds getDrift() const;
// Manual synchronization
bool syncNow();
// Statistics
std::string getStats() const;
};
struct TTInterval {
std::chrono::nanoseconds earliest; // Lower bound
std::chrono::nanoseconds latest; // Upper bound
std::chrono::nanoseconds uncertainty() const;
std::chrono::nanoseconds midpoint() const;
bool definitelyBefore(const TTInterval& other) const;
bool definitelyAfter(const TTInterval& other) const;
};- ✅ RFC 4330 SNTP Implementation - Proper NTP packet structure
- ✅ Thread-safe Hostname Resolution - Uses
getaddrinfoinstead ofgethostbyname - ✅ RAII Socket Management - Automatic cleanup via SocketGuard
- ✅ Cross-platform Timeouts - Windows (DWORD) vs Unix (timeval)
- ✅ Overflow Validation - Prevents integer overflow from malformed NTP responses
- ✅ NTP Offset Calculation - Standard formula:
((T2-T1)+(T3-T4))/2
Client NTP Server
| |
|-- T1: Record client transmit time |
| |
|=========== NTP Request Packet ==========> |
| |
| T2: Server receive time |
| T3: Server transmit time|
| |
| <========== NTP Response Packet ========= |
| |
T4: Record client receive time |
Offset = ((T2 - T1) + (T3 - T4)) / 2
Delay = (T4 - T1) - (T3 - T2)
Uncertainty = base_uncertainty + delay/2
Internal:
- None (self-contained)
External:
-
<sys/socket.h>(Unix) /<winsock2.h>(Windows) - Network sockets -
<netdb.h>(Unix) - Hostname resolution -
<chrono>- Time operations
-
src/sharding/distributed_transaction.cpp- Snapshot timestamps -
src/sharding/shard_router.cpp- Distributed query coordination -
src/replication/replication_manager.cpp- Replication timestamps
Purpose: Release manifest storage, verification, and integrity checking.
class ManifestDatabase {
// Manifest operations
bool storeManifest(const ReleaseManifest& manifest);
std::optional<ReleaseManifest> getManifest(const std::string& version);
std::optional<ReleaseManifest> getLatestManifest();
std::vector<std::string> listVersions() const;
bool deleteManifest(const std::string& version);
// Verification
bool verifyManifest(const ReleaseManifest& manifest);
bool verifyFile(const std::string& path, const std::string& version);
// File registry
std::optional<ReleaseFile> getFile(const std::string& path, const std::string& version);
bool storeFile(const ReleaseFile& file, const std::string& version);
// Caching
void cacheSignatureVerification(const std::string& hash, bool verified, const std::string& cert);
std::optional<bool> getCachedSignatureVerification(const std::string& hash);
void cacheDownload(const std::string& version, const std::string& file, const std::string& path);
std::optional<std::string> getCachedDownload(const std::string& version, const std::string& file);
};- ✅ Signature Verification - Uses
PluginSecurityVerifierfor manifest signatures - ✅ Hash Verification - SHA-256 file integrity checks
- ✅ Cryptographic Temp Files - OpenSSL
RAND_bytesfor secure filenames - ✅ Exception Safety - Cleanup even on exceptions
- ✅ File Permissions - Restrictive permissions on Unix systems
- ✅ Verification Caching - Performance optimization
verifyManifest(manifest):
1. Calculate manifest hash
2. Compare with manifest.manifest_hash
3. If signature present:
a. Check cache for previous verification
b. Create temp file with secure random name
c. Write hash to temp file
d. Call PluginSecurityVerifier::verifySignature()
e. Clean up temp file (even on exception)
f. Cache verification result
4. Return verification status
verifyFile(path, version):
1. Get file metadata from registry
2. Check file exists on filesystem
3. Calculate SHA-256 hash
4. Compare with expected hash
5. If file signature present:
a. Verify signature using certificate from manifest
6. Return verification status
Internal:
-
src/acceleration/plugin_security.h- Signature verification -
src/storage/rocksdb_wrapper.h- Persistent storage -
src/utils/logger.h- Logging
External:
-
<openssl/rand.h>- Cryptographic random numbers -
<filesystem>- Temporary directory and file operations -
<rocksdb/*>- Key-value storage
-
src/server/hot_reload_api_handler.cpp- Hot reload operations -
src/updates/hot_reload_engine.cpp- Update verification
┌─────────────────────────────────────────────────────────────────┐
│ ThemisDB Core │
└─────────────────────────────────────────────────────────────────┘
│
│ depends on
▼
┌─────────────────────────────────────────────────────────────────┐
│ Security Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ PluginSecurityVerifier │ │
│ │ - verifySignature() ←─────────────────┐ │ │
│ │ - calculateFileHash() │ │ │
│ │ - decodeHexString() [HELPER] │ │ │
│ └──────────────────────────────────────────────────────┘ │
│ ▲ │
└──────────────────────┼──────────────────────────────────────────┘
│ uses
│
┌──────────────────────┴──────────────────────────────────────────┐
│ Updates Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ManifestDatabase │ │
│ │ - verifyManifest() ──────────┐ │ │
│ │ - verifyFile() ──────────────┼─► uses │ │
│ │ - storeManifest() │ PluginSecurityVerifier │
│ └──────────────────────────────────────────────────────┘ │
│ ▲ │
└──────────────────────┼──────────────────────────────────────────┘
│ used by
│
┌──────────────────────┴──────────────────────────────────────────┐
│ Server Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ HotReloadApiHandler │ │
│ │ - handleUpdateCheck() │ │
│ │ - handleUpdateDownload() │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Sharding Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ TrueTime │ │
│ │ - now() ←─────────────────┐ │ │
│ │ - queryNTPServer() │ │ │
│ │ - performSync() │ │ │
│ └──────────────────────────────────────────────────────┘ │
│ ▲ │
└──────────────────────┼──────────────────────────────────────────┘
│ used by
│
┌──────────────────────┴──────────────────────────────────────────┐
│ Distributed Transaction Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ DistributedTransaction │ │
│ │ - getSnapshotTimestamp() ──► uses TrueTime::now() │ │
│ │ - waitForSafeRead() ────────► uses TrueTime │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Analytics Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ProcessMining │ │
│ │ - runAlphaMiner() ──┐ │ │
│ │ - runHeuristicMiner()│ │ │
│ │ - extractEventLog() │ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │
└──────────────────────┼──────────────────────────────────────────┘
│ uses
▼
┌─────────────────────────────────────────────────────────────────┐
│ Index Layer │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ProcessGraph │ │
│ │ GraphIndex │ │
│ │ GraphAnalytics │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
OpenSSL Libraries:
├── EVP (Message Digest)
│ └── Used by: PluginSecurityVerifier::verifySignature()
├── PEM (Certificate Parsing)
│ └── Used by: PluginSecurityVerifier::verifySignature()
├── X509 (Certificate Validation)
│ └── Used by: PluginSecurityVerifier::verifySignature()
└── RAND (Cryptographic Random)
└── Used by: ManifestDatabase::verifyManifest()
Network Libraries:
├── Socket API (Unix/Windows)
│ └── Used by: TrueTime::queryNTPServer()
└── getaddrinfo (Thread-safe DNS)
└── Used by: TrueTime::queryNTPServer()
Storage Libraries:
└── RocksDB
└── Used by: ManifestDatabase (all operations)
Integrates With:
- Plugin Loader (
src/acceleration/plugin_loader.cpp) - Manifest Database (
src/updates/manifest_database.cpp) - PKI Client (
src/utils/pki_client.cpp)
Usage Pattern:
// Example: Verify a plugin before loading
PluginSecurityVerifier verifier(policy);
std::string errorMsg;
if (verifier.verifyPlugin("/path/to/plugin.so", errorMsg)) {
// Safe to load plugin
dlopen("/path/to/plugin.so", RTLD_NOW);
} else {
LOG_ERROR("Plugin verification failed: {}", errorMsg);
}Integrates With:
- Query Engine (
src/query/query_engine.cpp) - Graph Index (
src/index/graph_index.cpp) - Process Graph (
src/index/process_graph.cpp) - HTTP API (
src/server/http_server.cpp)
Usage Pattern:
// Example: Discover process from event log
ProcessMining pm(storage, graphIndex);
auto [status, eventLog] = pm.extractEventLog("audit_log", config);
if (status.ok) {
auto process = pm.runAlphaMiner(eventLog, miningConfig);
pm.saveAsProcessDefinition(process, "discovered_process_v1");
}Integrates With:
- Distributed Transactions (
src/sharding/distributed_transaction.cpp) - Shard Router (
src/sharding/shard_router.cpp) - Replication Manager (
src/replication/replication_manager.cpp)
Usage Pattern:
// Example: Get snapshot timestamp for distributed transaction
TrueTime tt(config);
auto now = tt.now();
// Wait until timestamp definitely in the past
tt.waitUntil(now.latest);
// Use for distributed transaction
DistributedTransaction txn(shardRouter);
txn.setSnapshotTimestamp(now);Integrates With:
- Hot Reload Engine (
src/updates/hot_reload_engine.cpp) - Hot Reload API Handler (
src/server/hot_reload_api_handler.cpp) - Plugin Security Verifier (
src/acceleration/plugin_security.cpp)
Usage Pattern:
// Example: Verify and store release manifest
ManifestDatabase db(storage, verifier);
ReleaseManifest manifest = downloadManifest("v1.2.3");
if (db.verifyManifest(manifest)) {
db.storeManifest(manifest);
LOG_INFO("Manifest v{} verified and stored", manifest.version);
} else {
LOG_ERROR("Manifest verification failed");
}Files Added to Build (8):
# Analytics
src/analytics/process_mining.cpp
# Index
src/index/graph_analytics.cpp
# Server
src/server/export_api_handler.cpp
# Network
src/network/wire_protocol_server.cpp
# Observability
src/observability/metrics_collector.cpp
# Exporters and Importers
src/exporters/jsonl_llm_exporter.cpp
src/importers/postgres_importer.cpp
# Replication
src/replication/replication_manager.cppBuild Coverage Improvement:
- Before: 164/193 files (85%)
- After: 170/193 files (88%)
- Added: 8 core implementation files
- Remaining: 23 optional feature files (GPU backends, content processors, blob storage)
New Dependencies Introduced:
- OpenSSL (already present, now actively used)
- Network socket libraries (platform-dependent)
- No new external dependencies added
Location: scripts/check_incomplete_implementations.sh
Purpose: Automated detection of incomplete implementations and build coverage gaps.
Features:
- ✅ Identifies .cpp files not in CMakeLists.txt
- ✅ Finds stub implementations (return false/{}; // Stub)
- ✅ Detects TODO/FIXME markers
- ✅ Locates "not implemented" error messages
- ✅ Identifies minimal implementations (< 20 lines)
Usage:
./scripts/check_incomplete_implementations.shOutput:
- Summary statistics (total files, coverage %, missing files)
- List of files not in build
- Stub implementation locations
- TODO/FIXME counts and locations
- Minimal implementation warnings
| Component | Test File | Status |
|---|---|---|
| PluginSecurityVerifier | tests/test_plugin_security.cpp |
Existing |
| ProcessMining | tests/test_process_mining.cpp |
Existing |
| TrueTime | tests/test_truetime.cpp |
Existing |
| ManifestDatabase | tests/test_manifest_database.cpp |
Existing |
- ✅ Plugin loading with verification
- ✅ Process mining end-to-end
- ✅ Distributed transaction with TrueTime
- ✅ Hot reload with manifest verification
- verifySignature(): O(n) where n = file size
- calculateFileHash(): O(n) where n = file size
- Optimization: Caching not implemented (stateless verification)
- runAlphaMiner(): O(e + a²) where e = events, a = activities
- AND Gateway Detection: O(n) where n = nodes (optimized with unordered_set)
- Optimization: ✅ Reduced from O(n²) to O(n) in this PR
- now(): O(1) - atomic reads
- queryNTPServer(): O(1) - single network round-trip
- syncNow(): O(s) where s = number of NTP servers
- Optimization: Background thread for periodic sync
- verifyManifest(): O(n + s) where n = file size, s = signature verification
- verifyFile(): O(f) where f = file size
- Optimization: ✅ Signature verification result caching
- ✅ X.509 certificate expiration checking
- ✅ Certificate chain validation (partial)
- ✅ Hex decoding with length validation
- ✅ RAII for resource cleanup
⚠️ CRL/OCSP checking not yet implemented
- ✅ Cryptographically secure temp file names
- ✅ Restrictive file permissions (Unix)
- ✅ Exception-safe cleanup
- ✅ SHA-256 hash verification
- ✅ Signature verification caching
- ✅ NTP timestamp overflow validation
- ✅ Thread-safe hostname resolution
- ✅ Socket timeout handling
⚠️ No NTP response authentication (SNTP limitation)
- Implement remaining ProcessMining stub functions
- Add CRL/OCSP checking to PluginSecurityVerifier
- Complete CTE/subquery implementation
- Add Windows file permission handling to ManifestDatabase
- GPU acceleration backend implementations
- Content processor implementations (PDF, Office, etc.)
- Blob storage backend implementations
- Enhanced process mining algorithms
- Authenticated NTP (NTPv4 with authentication)
- Multi-level signature verification
- Advanced process mining (social network analysis)
- Real-time process monitoring
- RFC 4330 - Simple Network Time Protocol (SNTP) Version 4
- RFC 5905 - Network Time Protocol Version 4 (NTPv4)
- X.509 - Public Key Infrastructure Certificate
- PKCS#7 / CMS - Cryptographic Message Syntax
- OpenSSL EVP Documentation
- Google Spanner TrueTime Paper
- Alpha Miner Algorithm (van der Aalst)
- Process Mining Manifesto
-
7bd193c- Initial plan -
a335507- Implement real signature verification for plugins and manifests -
43b8164- Implement real NTP protocol client for TrueTime synchronization -
310eaa5- Implement AND gateway detection in Alpha Miner process discovery -
bf317ae- Address code review feedback: security and robustness improvements -
c4751ce- Address additional code review feedback: thread-safety, security, and performance -
c75440c- Final improvements: cross-platform compatibility and cryptographic security -
de97e10- Final polish: improved error messages and NTP validation -
a9641c8- Add missing core files to CMakeLists.txt and create incomplete implementations checker
Document Version: 1.0
Last Updated: 2025-12-13
Maintained By: Development Team
- Architecture-ACCESS-MODEL-IMPLEMENTATION-SUMMARY
- Architecture-ADR-003-pg-dump-sql-parser
- Architecture-BASEENTITY-PRINCIPLE
- Architecture-CACHE-STORAGE-INTEGRATION
- Architecture-CMAKE-ARCHITECTURE
- Architecture-CMAKE-FLAGS-REFERENCE
- Architecture-CMAKE-MODULAR-ARCHITECTURE
- Architecture-CONCERNS-ARCHITECTURE-DIAGRAM
- Architecture-CONCERNS-IMPLEMENTATION-SUMMARY
- Architecture-CONTENT-MODEL
- Architecture-COPILOT-THEMISDB-GRAPH-RAG-BACKEND-ARCHITECTURE
- Architecture-CRYPTO-AND-KEYS
- Architecture-FEATURE-FLAGS-REFERENCE
- Architecture-GPU-ARCHITECTURE-REVIEW-TEMPLATE
- Architecture-HTTP-SHUTDOWN-HARDENING
- Architecture-MIGRATION-GUIDE-CONCERNS
- Architecture-MIGRATION-GUIDE-v13-v14
- Architecture-MODULARIZATION-GUIDE
- Architecture-MODULAR-ARCHITECTURE-ROADMAP
- Architecture-MODULE-ARCHITECTURE-INDEX
- Architecture-P1D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D08-MAMBA-GOVERNANCE-CONTRACT
- Architecture-P1-P2-IMPLEMENTATION-COMPLETION-INDEX
- Architecture-PHASE0-COMPLETION-ASSESSMENT
- Architecture-PHASE3-QUERYENGINE-DI-ARCHITECTURE
- Architecture-PHASE4-INDEX-MANAGER-DI
- Architecture-POSTGRESQL-WIRE-PROTOCOL
- Architecture-QUERYENGINE-IMPLEMENTATION-GUIDE
- Architecture-QUERY-SCHEDULING
- Architecture-RAFT-CONSENSUS-DESIGN
- Architecture-README
- Architecture-README-SSM-HYBRID-IMPLEMENTATION
- Architecture-REFACTORING-SUMMARY
- Architecture-RESOURCE-POOLING
- Architecture-SOURCE-DIRECTORY-GUIDE
- Architecture-THEMIS-CORE-GUIDE
- Architecture-UNIFIED-ACCESS-MODEL
- Architecture-WAL-GRPC-MTLS-CONFIGURATION
- Architecture-WIRE-PROTOCOL-RETRY
- Architecture-boltzmann-observability-draft
- Architecture-experimental-logarithmic-vector-storage
- Architecture-llm-wiki-mvp-adr
- Architecture-rewrite-engine-architecture
- Architecture-rope-api-architecture
- Architecture-ssm-gguf-mamba-status
- Architecture-ssm-hybrid-analysis
- Architecture-ssm-hybrid-rollout-plan
- Architecture-ssm-plugin-interface-design-review
- Architecture-transaction-coordinators
- Architecture-wiki-secondary-index
- Architecture-wire-protocol
- Governance-DISABLED-STUB-POLICY
- Governance-DOCS-PR-POLICY
- Governance-GA-PROMOTION-SIGN-OFF
- Governance-GITHUB-MILESTONES-SETUP
- Governance-MATURITY-CLAIM-VERIFICATION-CHECKLIST
- Governance-MATURITY-EVIDENCE-REGISTRY
- Governance-MERGE-GATE-BOT-CONFIG
- Governance-MERGE-GATE-STATUS-LIVE
- Governance-PHASE3-ENFORCEMENT-RUNBOOK
- Governance-PHASE-1-CLOSURE-REPORT
- Governance-PHASE-CLOSURE-POLICY
- Governance-PHASE-DEPENDENCY-GRAPH
- Governance-PLUGIN-SUBMODULE-ROLLBACK
- Governance-PRODUCTION-READY-2026-DELIVERY-PLAN
- Governance-PR-VERSION-TARGETING
- Governance-PR-VERSION-TARGETING-BACKFILL
- Governance-QUERY-MODULE-STATUS
- Governance-README
- Governance-RELEASE-PROMOTION-GATE-POLICY
- Governance-RELEASE-VALIDATION-CHECKLIST
- Governance-SECURITY-MODULE-5671-EVIDENCE-SUMMARY
- Governance-SHARDING-P6-RESIDUAL-RISK-ACCEPTANCE
- Governance-SOURCECODE-COMPLIANCE-GOVERNANCE
- Governance-UPDATES-DEVELOPMENT-STATUS-SIGN-OFF
- Governance-WAVE-C-IMPLEMENTATION-COMPLETE
- Module-acceleration-Roadmap
- Module-access-model-Roadmap
- Module-ai-Roadmap
- Module-analytics-Roadmap
- Module-api-Roadmap
- Module-aql-Roadmap
- Module-auth-Roadmap
- Module-base-Roadmap
- Module-cache-Roadmap
- Module-cdc-Roadmap
- Module-chaos-Roadmap
- Module-chimera-Roadmap
- Module-config-Roadmap
- Module-content-Roadmap
- Module-core-Roadmap
- Module-distributed-knowledge-Roadmap
- Module-distributed-tensor-Roadmap
- Module-document-Roadmap
- Module-ethics-ai-Roadmap
- Module-evaluation-Roadmap
- Module-execution-Roadmap
- Module-exporters-Roadmap
- Module-failover-Roadmap
- Module-geo-Roadmap
- Module-governance-Roadmap
- Module-gpu-Roadmap
- Module-graph-Roadmap
- Module-image-analysis-Roadmap
- Module-importers-Roadmap
- Module-index-Roadmap
- Module-ingestion-Roadmap
- Module-llama-cpp-Roadmap
- Module-llm-Roadmap
- Module-llm-streaming-Roadmap
- Module-llm-wiki-Roadmap
- Module-maintenance-Roadmap
- Module-metadata-Roadmap
- Module-network-Roadmap
- Module-observability-Roadmap
- Module-onnx-clip-Roadmap
- Module-performance-Roadmap
- Module-plugins-Roadmap
- Module-process-Roadmap
- Module-projects-Roadmap
- Module-prompt-engineering-Roadmap
- Module-query-Roadmap
- Module-rag-Roadmap
- Module-replication-Roadmap
- Module-retrieval-Roadmap
- Module-rpc-grpc-Roadmap
- Module-scheduler-Roadmap
- Module-scraper-Roadmap
- Module-search-Roadmap
- Module-security-Roadmap
- Module-server-Roadmap
- Module-sharding-Roadmap
- Module-stable-diffusion-Roadmap
- Module-storage-Roadmap
- Module-temporal-Roadmap
- Module-tensor-Roadmap
- Module-themis-Roadmap
- Module-timeseries-Roadmap
- Module-toolbox-Roadmap
- Module-training-Roadmap
- Module-transaction-Roadmap
- Module-updates-Roadmap
- Module-user-storage-encrypted-Roadmap
- Module-utils-Roadmap
- Module-vector-search-Roadmap
- Module-voice-Roadmap
- Module-whisper-Roadmap