Skip to content

[Task] docs: Create Rust/C++ feature parity matrix #330

Description

@kcenon

Summary

Create a comprehensive feature parity matrix documenting which C++ features are available in each Rust port, their implementation status, and API differences.

Parent Issue

Part of: [EPIC] docs: Address documentation gaps across all ecosystem systems (#325)

Background (Why)

The kcenon ecosystem has parallel Rust implementations for several systems:

  • rust_thread_system — Thread pool and job scheduling
  • rust_logger_system — Logging (23 .rs files)
  • rust_monitoring_system — Monitoring and metrics
  • rust_database_system — Database access (SQLite only)
  • rust_network_system — Networking
  • rust_container_system — Container types
  • rust_integrated_thread_system — Integrated thread system

Users choosing between C++ and Rust versions need to know which features are available, missing, or different. No such comparison exists.

Scope (What)

Create docs/RUST_PARITY.md covering:

1. Overall Parity Status

System C++ Features Rust Features Parity Status
thread_system ~130 headers ? ?% In Progress
logger_system 93 headers 23 .rs files ?% In Progress
monitoring_system N/A (C++) 15 .rs files N/A Rust-only
database_system 150+ files 13 files ?% SQLite only
network_system 120+ headers ? ?% In Progress
container_system 40+ files ? ?% In Progress

2. Per-System Feature Comparison

For each system, create a detailed table:

#### thread_system
| Feature | C++ | Rust | Notes |
|---------|-----|------|-------|
| Basic thread pool ||| API differs |
| Policy queues ||| Not ported |
| NUMA support ||| Not ported |
| Autoscaler ||| Simplified |
| DAG scheduler ||| Not ported |
| Diagnostics ||| Not ported |

3. API Mapping Guide

  • Naming convention differences (C++ snake_case vs Rust snake_case)
  • Type mapping (std::string ↔ String, Result ↔ Result<T, E>)
  • Error handling differences (C++ Result vs Rust std::result::Result)
  • Memory management (C++ RAII vs Rust ownership)

4. Interop Considerations

  • FFI boundaries (if any)
  • Data format compatibility
  • Protocol compatibility for network communication
  • Shared configuration format

5. Roadmap

  • Planned Rust features per system
  • Priority of feature ports
  • Timeline estimates (if available)

Acceptance Criteria

  • Parity matrix for all 7 systems with C++ and Rust versions
  • Per-system feature comparison tables
  • API mapping guide for common patterns
  • Interop considerations documented
  • Current status accurately reflects source code
  • Updated as Rust ports evolve (living document)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationpriority:highHigh priority issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions