Files
git.stella-ops.org/docs/features/unimplemented/binaryindex/binaryindex-user-configuration-system.md
2026-02-12 10:27:23 +02:00

2.9 KiB

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).