save checkpoint: save features
This commit is contained in:
@@ -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."
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
@@ -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"}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"status":"degraded","timestamp":"2026-02-11T19:33:59.3346786+00:00","lifterStatus":"unavailable","lifterWarm":false,"lifterPoolStats":{},"cacheStatus":"unavailable","cacheEnabled":false}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user