2.2 KiB
2.2 KiB
BinaryIndex User Configuration System
Module
BinaryIndex
Status
IMPLEMENTED
Description
Comprehensive user configuration for B2R2 lifter pooling, LowUIR enablement, Valkey function cache behavior, PostgreSQL persistence, with ops endpoints for health/bench/cache/config and redaction rules for operator visibility.
Implementation Details
- Modules:
src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/,src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/,src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/ - Key Classes:
BinaryIndexOptions(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOptions.cs) - top-level config with sections for B2R2Pool, SemanticLifting, cache, persistenceB2R2PoolOptions(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPoolOptions.cs) - MaxPoolSizePerIsa (1-64), EnableWarmPreload, AcquireTimeout, EnableMetrics, WarmPreloadIsasSemanticLiftingOptions- B2R2Version, Enabled flag, function limitsBinaryCacheOptions(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/BinaryCacheOptions.cs) - Valkey cache configurationCacheOptionsValidation(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/CacheOptionsValidation.cs) - validates cache config at startupFunctionIrCacheOptions- function IR cache TTL and size limitsBinaryIndexOpsOptions(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOpsModels.cs) - redacted keys list for operator visibility, bench rate limits
- Source: SPRINT_20260112_007_BINIDX_binaryindex_user_config.md
E2E Test Plan
- Configure B2R2 pool with custom MaxPoolSizePerIsa and verify pool initializes with correct size
- Configure SemanticLifting as disabled and verify LowUIR lifting is skipped
- Configure Valkey cache options and verify function IR cache respects TTL settings
- Verify configuration binding from
StellaOps:BinaryIndex:*config sections - Verify redacted keys do not appear in ops config endpoint responses
- Verify CacheOptionsValidation rejects invalid configuration at startup