41 lines
2.9 KiB
Markdown
41 lines
2.9 KiB
Markdown
# BinaryIndex User Configuration System
|
|
|
|
## Module
|
|
BinaryIndex
|
|
|
|
## Status
|
|
PARTIALLY_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
|
|
|
|
## Verification
|
|
- Run: `docs/qa/feature-checks/runs/binaryindex/binaryindex-user-configuration-system/run-001/`
|
|
- Date (UTC): 2026-02-11
|
|
- Verdict: `not_implemented`
|
|
|
|
## Missing / Mismatched Behavior
|
|
- Live Tier 2 probe with overridden `StellaOps__BinaryIndex__*` values did not affect `/api/v1/ops/binaryindex/config` output (values remained defaults).
|
|
- Runtime WebService composition does not bind the full `BinaryIndexOptions` (`StellaOps:BinaryIndex:*`) contract into the active ops endpoint path.
|
|
- Ops config response surface is narrower than the documented comprehensive user-configuration model (notably persistence/operator-oriented sectioning and redaction-oriented view semantics).
|