save checkpoint: save features

This commit is contained in:
master
2026-02-12 10:27:23 +02:00
parent dca86e1248
commit 5bca406787
8837 changed files with 1796879 additions and 5294 deletions

View File

@@ -0,0 +1,5 @@
{
"approved": true,
"reason": "Live API probe with overridden StellaOps__BinaryIndex__* env values stayed on defaults, and controller response shape omits claimed comprehensive sectioned config surface.",
"revisedRootCause": "BinaryIndex user configuration model is defined in Core options/tests, but WebService runtime composition and ops config endpoint are not wired to bind and surface the full StellaOps:BinaryIndex:* option set."
}

View File

@@ -0,0 +1,96 @@
{
"type": "source",
"module": "binaryindex",
"feature": "binaryindex-user-configuration-system",
"runId": "run-001",
"featureFile": "docs/features/unchecked/binaryindex/binaryindex-user-configuration-system.md",
"capturedAtUtc": "2026-02-11T19:29:50.2809893Z",
"files": [
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOptions.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPoolOptions.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/BinaryCacheOptions.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/CacheOptionsValidation.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/FunctionIrCacheService.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOpsModels.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/BinaryIndexOptionsTests.cs",
"exists": true
},
{
"path": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Cache.Tests/CacheOptionsValidationTests.cs",
"exists": true
}
],
"missingFiles": [
],
"classDeclarations": [
{
"symbol": "BinaryIndexOptions",
"found": false,
"evidence": null
},
{
"symbol": "B2R2LifterPoolOptions",
"found": false,
"evidence": null
},
{
"symbol": "SemanticLiftingOptions",
"found": false,
"evidence": null
},
{
"symbol": "BinaryCacheOptions",
"found": false,
"evidence": null
},
{
"symbol": "BinaryCacheOptionsValidator",
"found": false,
"evidence": null
},
{
"symbol": "FunctionIrCacheOptions",
"found": false,
"evidence": null
},
{
"symbol": "BinaryIndexOpsOptions",
"found": false,
"evidence": null
}
],
"sourceVerified": true,
"verdict": "pass"
}

View File

@@ -0,0 +1,22 @@
{
"type": "build_and_test",
"capturedAtUtc": "2026-02-11T19:30:54.5332441Z",
"commandsFile": "docs/qa/feature-checks/runs/binaryindex/binaryindex-user-configuration-system/run-001/tier1-commands.json",
"projects": [
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/StellaOps.BinaryIndex.Core.csproj",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/StellaOps.BinaryIndex.Cache.csproj",
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/StellaOps.BinaryIndex.WebService.csproj",
"src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj",
"src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Cache.Tests/StellaOps.BinaryIndex.Cache.Tests.csproj",
"src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Disassembly.Tests/StellaOps.BinaryIndex.Disassembly.Tests.csproj"
],
"buildResult": "pass",
"testResult": "pass",
"warnings": [
"Microsoft.Testing.Platform warning MTP0001 indicates VSTest-style --filter arguments are ignored in this environment; full test assemblies executed and passed."
],
"errors": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,56 @@
[
{
"name": "build-core",
"command": "dotnet build src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/StellaOps.BinaryIndex.Core.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:00.0154394Z",
"finishedAtUtc": "2026-02-11T19:30:01.6361721Z",
"summary": "Build succeeded.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\build-core.log"
},
{
"name": "build-cache",
"command": "dotnet build src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/StellaOps.BinaryIndex.Cache.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:00.0260546Z",
"finishedAtUtc": "2026-02-11T19:30:02.7642214Z",
"summary": "Build succeeded.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\build-cache.log"
},
{
"name": "build-webservice",
"command": "dotnet build src/BinaryIndex/StellaOps.BinaryIndex.WebService/StellaOps.BinaryIndex.WebService.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:00.1185807Z",
"finishedAtUtc": "2026-02-11T19:30:04.9655226Z",
"summary": "Build succeeded.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\build-webservice.log"
},
{
"name": "test-webservice-options",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj -c Release --nologo --no-build --filter \"FullyQualifiedName~BinaryIndexOptionsTests|FullyQualifiedName~BinaryIndexOpsModelsTests\"",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:12.9235615Z",
"finishedAtUtc": "2026-02-11T19:30:14.7620135Z",
"summary": "Passed! - Failed: 0, Passed: 40, Skipped: 0, Total: 40, Duration: 365ms - StellaOps.BinaryIndex.WebService.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\test-webservice-options.log"
},
{
"name": "test-cache-options",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Cache.Tests/StellaOps.BinaryIndex.Cache.Tests.csproj -c Release --nologo --no-build --filter \"FullyQualifiedName~CacheOptionsValidationTests\"",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:13.2002610Z",
"finishedAtUtc": "2026-02-11T19:30:14.9196329Z",
"summary": "Passed! - Failed: 0, Passed: 8, Skipped: 0, Total: 8, Duration: 555ms - StellaOps.BinaryIndex.Cache.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\test-cache-options.log"
},
{
"name": "test-disassembly-pool",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Disassembly.Tests/StellaOps.BinaryIndex.Disassembly.Tests.csproj -c Release --nologo --filter \"FullyQualifiedName~B2R2LifterPoolTests\"",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:30:13.4205240Z",
"finishedAtUtc": "2026-02-11T19:30:35.3217008Z",
"summary": "Passed! - Failed: 0, Passed: 45, Skipped: 0, Total: 45, Duration: 546ms - StellaOps.BinaryIndex.Disassembly.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\test-disassembly-pool.log"
}
]

View File

@@ -0,0 +1,29 @@
[
{
"name": "tier2-live-ops-config-probe",
"command": "powershell -NoProfile -File docs/qa/feature-checks/runs/binaryindex/binaryindex-user-configuration-system/run-001/.tmp-tier2-api.ps1",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:31:43.8738333Z",
"finishedAtUtc": "2026-02-11T19:33:59.3384632Z",
"summary": "Live API probes captured /api/v1/ops/binaryindex/config and /api/v1/ops/binaryindex/health responses under overridden StellaOps__BinaryIndex__* env values.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\tier2-webservice.stdout.log"
},
{
"name": "tier2-options-validation",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Cache.Tests/StellaOps.BinaryIndex.Cache.Tests.csproj -c Release --nologo --no-build --filter \"FullyQualifiedName~BinaryCacheOptionsValidator_RejectsInvalidOptions|FullyQualifiedName~ResolutionCacheOptionsValidator_RejectsInvalidOptions\"",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:34:53.8729713Z",
"finishedAtUtc": "2026-02-11T19:34:55.5531679Z",
"summary": "Passed! - Failed: 0, Passed: 8, Skipped: 0, Total: 8, Duration: 554ms - StellaOps.BinaryIndex.Cache.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\tier2-options-validation.log"
},
{
"name": "tier2-binding-tests",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj -c Release --nologo --no-build --filter \"FullyQualifiedName~BinaryIndexOptions_BindsFromConfiguration|FullyQualifiedName~BinaryIndexOpsOptions_RedactedKeys_ContainsSecrets\"",
"exitCode": 0,
"startedAtUtc": "2026-02-11T19:34:53.8835707Z",
"finishedAtUtc": "2026-02-11T19:34:55.3682153Z",
"summary": "Passed! - Failed: 0, Passed: 40, Skipped: 0, Total: 40, Duration: 384ms - StellaOps.BinaryIndex.WebService.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binaryindex-user-configuration-system\\run-001\\tier2-binding-tests.log"
}
]

View File

@@ -0,0 +1 @@
{"lifterPoolMaxSizePerIsa":4,"lifterPoolWarmPreloadEnabled":true,"lifterPoolWarmPreloadIsas":["intel-64","intel-32","armv8-64","armv7-32"],"lifterPoolAcquireTimeoutSeconds":5,"cacheEnabled":true,"cacheKeyPrefix":"stellaops:binidx:funccache:","cacheTtlSeconds":14400,"cacheMaxTtlSeconds":86400,"b2R2Version":"0.9.1","normalizationRecipeVersion":"v1"}

View File

@@ -0,0 +1,59 @@
{
"type": "api",
"capturedAtUtc": "2026-02-11T19:35:25.3606943Z",
"baseUrl": "https://localhost:10360",
"commandsFile": "docs/qa/feature-checks/runs/binaryindex/binaryindex-user-configuration-system/run-001/tier2-commands.json",
"requests": [
{
"description": "GET config with overridden StellaOps__BinaryIndex__B2R2Pool__MaxPoolSizePerIsa=13",
"expected": "lifterPoolMaxSizePerIsa = 13",
"actual": "lifterPoolMaxSizePerIsa = 4",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET config with overridden StellaOps__BinaryIndex__FunctionCache__KeyPrefix=custom:fn:",
"expected": "cacheKeyPrefix = custom:fn:",
"actual": "cacheKeyPrefix = stellaops:binidx:funccache:",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET config with overridden StellaOps__BinaryIndex__FunctionCache__Enabled=false",
"expected": "cacheEnabled = false",
"actual": "cacheEnabled = True",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET health endpoint availability",
"expected": "HTTP 200 with JSON payload",
"actual": "status = degraded",
"result": "pass",
"evidence": "tier2-health-response.json"
},
{
"description": "Invalid cache options are rejected by validator tests",
"expected": "invalid options rejected",
"actual": "Tier2 options-validation test command passed",
"result": "pass",
"evidence": "tier2-options-validation.log"
},
{
"description": "Effective config exposes comprehensive BinaryIndex sections including persistence/operator-sanitized views",
"expected": "persistence + richer sectioned config model present",
"actual": "persistence missing",
"result": "fail",
"evidence": "tier2-config-response.json"
}
],
"behaviorVerified": [
"Ops config and health endpoints are reachable in live runtime checks.",
"Configuration option models and invalid-cache validation tests execute successfully."
],
"behaviorMissing": [
"Runtime WebService config endpoint does not reflect overridden StellaOps:BinaryIndex:* values (B2R2Pool/FunctionCache) expected by the feature contract.",
"Effective config response omits broader sectioned operator configuration view (including persistence/redaction-oriented shape) described by the feature dossier."
],
"verdict": "fail"
}

View File

@@ -0,0 +1 @@
{"status":"degraded","timestamp":"2026-02-11T19:33:59.3346786+00:00","lifterStatus":"unavailable","lifterWarm":false,"lifterPoolStats":{},"cacheStatus":"unavailable","cacheEnabled":false}

View File

@@ -0,0 +1,59 @@
{
"type": "api",
"capturedAtUtc": "2026-02-11T19:35:25.3606943Z",
"baseUrl": "https://localhost:10360",
"commandsFile": "docs/qa/feature-checks/runs/binaryindex/binaryindex-user-configuration-system/run-001/tier2-commands.json",
"requests": [
{
"description": "GET config with overridden StellaOps__BinaryIndex__B2R2Pool__MaxPoolSizePerIsa=13",
"expected": "lifterPoolMaxSizePerIsa = 13",
"actual": "lifterPoolMaxSizePerIsa = 4",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET config with overridden StellaOps__BinaryIndex__FunctionCache__KeyPrefix=custom:fn:",
"expected": "cacheKeyPrefix = custom:fn:",
"actual": "cacheKeyPrefix = stellaops:binidx:funccache:",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET config with overridden StellaOps__BinaryIndex__FunctionCache__Enabled=false",
"expected": "cacheEnabled = false",
"actual": "cacheEnabled = True",
"result": "fail",
"evidence": "tier2-config-response.json"
},
{
"description": "GET health endpoint availability",
"expected": "HTTP 200 with JSON payload",
"actual": "status = degraded",
"result": "pass",
"evidence": "tier2-health-response.json"
},
{
"description": "Invalid cache options are rejected by validator tests",
"expected": "invalid options rejected",
"actual": "Tier2 options-validation test command passed",
"result": "pass",
"evidence": "tier2-options-validation.log"
},
{
"description": "Effective config exposes comprehensive BinaryIndex sections including persistence/operator-sanitized views",
"expected": "persistence + richer sectioned config model present",
"actual": "persistence missing",
"result": "fail",
"evidence": "tier2-config-response.json"
}
],
"behaviorVerified": [
"Ops config and health endpoints are reachable in live runtime checks.",
"Configuration option models and invalid-cache validation tests execute successfully."
],
"behaviorMissing": [
"Runtime WebService config endpoint does not reflect overridden StellaOps:BinaryIndex:* values (B2R2Pool/FunctionCache) expected by the feature contract.",
"Effective config response omits broader sectioned operator configuration view (including persistence/redaction-oriented shape) described by the feature dossier."
],
"verdict": "fail"
}

View File

@@ -0,0 +1,10 @@
{
"rootCause": "BinaryIndex user configuration model is defined in Core options/tests, but WebService runtime composition and ops config endpoint are not wired to bind and surface the full StellaOps:BinaryIndex:* option set.",
"category": "missing_code",
"affectedFiles": [
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Program.cs",
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOptions.cs"
],
"confidence": 0.97
}