31 lines
2.2 KiB
Markdown
31 lines
2.2 KiB
Markdown
# 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, persistence
|
|
- `B2R2PoolOptions` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPoolOptions.cs`) - MaxPoolSizePerIsa (1-64), EnableWarmPreload, AcquireTimeout, EnableMetrics, WarmPreloadIsas
|
|
- `SemanticLiftingOptions` - B2R2Version, Enabled flag, function limits
|
|
- `BinaryCacheOptions` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/BinaryCacheOptions.cs`) - Valkey cache configuration
|
|
- `CacheOptionsValidation` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/CacheOptionsValidation.cs`) - validates cache config at startup
|
|
- `FunctionIrCacheOptions` - function IR cache TTL and size limits
|
|
- `BinaryIndexOpsOptions` (`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
|