Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 45 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ no-default-features = true
default-target = "x86_64-unknown-linux-gnu"

[features]
default = ["metrics"]
# NOTE: adaptive-ml is now required by core code paths (network.rs, dht/core_engine.rs)
# and must be enabled by default for the crate to compile.
default = ["metrics", "adaptive-ml"]

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Making adaptive-ml a required default feature contradicts the earlier feature organization that shows it as 'Experimental Features (not production-wired yet)'. If this is truly required for compilation, it should not be in the experimental section and should not be optional. This creates confusion about the stability status. Either make it truly optional with proper feature gates, or move it out of the experimental section.

Copilot uses AI. Check for mistakes.
metrics = ["dep:prometheus"]
# Compile-time gate for test/dummy helpers. Off by default.
mocks = []
Expand All @@ -30,6 +32,48 @@ h2_greedy = []
# Test utilities including mock DHT for integration tests
test-utils = []

# ============================================================================
# Experimental Features (not production-wired yet)
# ============================================================================
#
# These features are implemented but NOT integrated into production code paths.
# Enable them for testing or development only.

# Machine learning components: Thompson Sampling, Q-Learning, EigenTrust, LSTM
adaptive-ml = []

# Trust-weighted peer selection using EigenTrust in routing decisions
trust-routing = []

# Region-aware routing and geographic peer selection
geographic = []

# Sybil attack detection for DHT protection
sybil-detection = []

# Collusion detection for witness validation
collusion-detection = []

# S/Kademlia security extensions (requires trust-routing)
skademlia = ["trust-routing"]

# Storage orchestration and placement engine (requires adaptive-ml)
placement = ["adaptive-ml"]

# Enable all experimental features
experimental = [
"adaptive-ml",
"trust-routing",
"geographic",
"sybil-detection",
"collusion-detection",
"skademlia",
"placement",
]

# Backwards compatibility alias
full = ["experimental"]

[dependencies]
# Core async and serialization
tokio = { version = "1.49", features = ["full"] }
Expand Down
Loading