documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"status":"degraded","timestamp":"2026-02-11T18:37:50.2729911+00:00","lifterStatus":"unavailable","lifterWarm":false,"lifterPoolStats":{},"cacheStatus":"unavailable","cacheEnabled":false}
|
||||
@@ -0,0 +1 @@
|
||||
{"timestamp":"2026-02-11T18:38:12.6737700+00:00","iterations":5,"lifterAcquireLatencyMs":{"min":0,"max":0,"mean":0,"p50":0,"p95":0,"p99":0},"cacheLookupLatencyMs":{"min":0,"max":0,"mean":0,"p50":0,"p95":0,"p99":0}}
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Invalid iterations","status":400,"detail":"Iterations must be between 1 and 1000"}
|
||||
@@ -0,0 +1 @@
|
||||
{"enabled":false,"hits":0,"misses":0,"evictions":0,"hitRate":0,"keyPrefix":"","cacheTtlSeconds":0}
|
||||
@@ -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 @@
|
||||
{"iterations":0}
|
||||
@@ -0,0 +1 @@
|
||||
{"iterations":5}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"type": "source",
|
||||
"module": "binaryindex",
|
||||
"feature": "binaryindex-ops-endpoints",
|
||||
"runId": "run-003",
|
||||
"capturedAtUtc": "2026-02-11T18:36:31.8566227Z",
|
||||
"filesChecked": [
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Program.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Services/InMemoryBinaryVulnerabilityService.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPool.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/FunctionIrCacheService.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPoolOptions.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOptions.cs"
|
||||
],
|
||||
"found": [
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Program.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Services/InMemoryBinaryVulnerabilityService.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPool.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/FunctionIrCacheService.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPoolOptions.cs",
|
||||
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Configuration/BinaryIndexOptions.cs"
|
||||
],
|
||||
"missing": [
|
||||
|
||||
],
|
||||
"declarations": [
|
||||
{
|
||||
"symbol": "BinaryIndexOpsController",
|
||||
"path": "src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
|
||||
"declared": true,
|
||||
"match": "class BinaryIndexOpsController"
|
||||
},
|
||||
{
|
||||
"symbol": "InMemoryBinaryVulnerabilityService",
|
||||
"path": "src/BinaryIndex/StellaOps.BinaryIndex.WebService/Services/InMemoryBinaryVulnerabilityService.cs",
|
||||
"declared": true,
|
||||
"match": "class InMemoryBinaryVulnerabilityService"
|
||||
},
|
||||
{
|
||||
"symbol": "IBinaryVulnerabilityService registration",
|
||||
"path": "src/BinaryIndex/StellaOps.BinaryIndex.WebService/Program.cs",
|
||||
"declared": true,
|
||||
"match": "TryAddSingleton\u003cIBinaryVulnerabilityService, InMemoryBinaryVulnerabilityService\u003e"
|
||||
},
|
||||
{
|
||||
"symbol": "B2R2LifterPool",
|
||||
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly.B2R2/B2R2LifterPool.cs",
|
||||
"declared": true,
|
||||
"match": "class B2R2LifterPool"
|
||||
},
|
||||
{
|
||||
"symbol": "FunctionIrCacheService",
|
||||
"path": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Cache/FunctionIrCacheService.cs",
|
||||
"declared": true,
|
||||
"match": "class FunctionIrCacheService"
|
||||
},
|
||||
{
|
||||
"symbol": "BinaryIndexBenchRequest",
|
||||
"path": "src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
|
||||
"declared": true,
|
||||
"match": "record BinaryIndexBenchRequest"
|
||||
}
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"type": "build",
|
||||
"module": "binaryindex",
|
||||
"feature": "binaryindex-ops-endpoints",
|
||||
"runId": "run-003",
|
||||
"capturedAtUtc": "2026-02-11T18:36:58.1030843Z",
|
||||
"project": "src/BinaryIndex/StellaOps.BinaryIndex.WebService/StellaOps.BinaryIndex.WebService.csproj",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj",
|
||||
"buildResult": "pass",
|
||||
"testResult": "pass",
|
||||
"testsRun": 38,
|
||||
"testsPassed": 38,
|
||||
"testsFailed": 0,
|
||||
"codeReview": {
|
||||
"keyFilesReviewed": [
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Program.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Controllers/BinaryIndexOpsController.cs",
|
||||
"src/BinaryIndex/StellaOps.BinaryIndex.WebService/Services/InMemoryBinaryVulnerabilityService.cs"
|
||||
],
|
||||
"fixValidation": "WebService composition root contains deterministic fallback IBinaryVulnerabilityService registration and ops endpoints remain routable."
|
||||
},
|
||||
"evidence": {
|
||||
"buildLog": "evidence/tier1-build.log",
|
||||
"testLog": "evidence/tier1-test.log"
|
||||
},
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"type": "api",
|
||||
"module": "binaryindex",
|
||||
"feature": "binaryindex-ops-endpoints",
|
||||
"runId": "run-003",
|
||||
"baseUrl": "https://127.1.0.36",
|
||||
"capturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"requests": [
|
||||
{
|
||||
"description": "Health endpoint returns lifter/cache readiness payload",
|
||||
"method": "GET",
|
||||
"path": "/api/v1/ops/binaryindex/health",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"result": "pass",
|
||||
"assertion": "Status and payload schema align with ops contract.",
|
||||
"requestCapturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"evidence": "evidence/01-health.json",
|
||||
"responseSnippet": "{\"status\":\"degraded\",\"timestamp\":\"2026-02-11T18:37:50.2729911+00:00\",\"lifterStatus\":\"unavailable\",\"lifterWarm\":false,\"lifterPoolStats\":{},\"cacheStatus\":\"unavailable\",\"cacheEnabled\":false}"
|
||||
},
|
||||
{
|
||||
"description": "Bench endpoint returns latency summary for valid iterations",
|
||||
"method": "POST",
|
||||
"path": "/api/v1/ops/binaryindex/bench/run",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"result": "pass",
|
||||
"assertion": "Status and payload schema align with ops contract.",
|
||||
"requestCapturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"evidence": "evidence/02-bench-valid.json",
|
||||
"responseSnippet": "{\"timestamp\":\"2026-02-11T18:38:12.6737700+00:00\",\"iterations\":5,\"lifterAcquireLatencyMs\":{\"min\":0,\"max\":0,\"mean\":0,\"p50\":0,\"p95\":0,\"p99\":0},\"cacheLookupLatencyMs\":{\"min\":0,\"max\":0,\"mean\":0,\"p50\":0,\"p95\":0,\"p99\":0}}"
|
||||
},
|
||||
{
|
||||
"description": "Bench endpoint rejects invalid iteration values (negative path)",
|
||||
"method": "POST",
|
||||
"path": "/api/v1/ops/binaryindex/bench/run",
|
||||
"expectedStatus": 400,
|
||||
"actualStatus": 400,
|
||||
"result": "pass",
|
||||
"assertion": "Status and payload schema align with ops contract.",
|
||||
"requestCapturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"evidence": "evidence/03-bench-invalid.json",
|
||||
"responseSnippet": "{\"title\":\"Invalid iterations\",\"status\":400,\"detail\":\"Iterations must be between 1 and 1000\"}"
|
||||
},
|
||||
{
|
||||
"description": "Cache endpoint returns hit/miss counters and TTL metadata",
|
||||
"method": "GET",
|
||||
"path": "/api/v1/ops/binaryindex/cache",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"result": "pass",
|
||||
"assertion": "Status and payload schema align with ops contract.",
|
||||
"requestCapturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"evidence": "evidence/04-cache.json",
|
||||
"responseSnippet": "{\"enabled\":false,\"hits\":0,\"misses\":0,\"evictions\":0,\"hitRate\":0,\"keyPrefix\":\"\",\"cacheTtlSeconds\":0}"
|
||||
},
|
||||
{
|
||||
"description": "Config endpoint returns effective options with no secrets",
|
||||
"method": "GET",
|
||||
"path": "/api/v1/ops/binaryindex/config",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"result": "pass",
|
||||
"assertion": "Status and payload schema align with ops contract.",
|
||||
"requestCapturedAtUtc": "2026-02-11T18:40:31.8823820Z",
|
||||
"evidence": "evidence/05-config.json",
|
||||
"responseSnippet": "{\"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,\"b2R2Ve"
|
||||
}
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user