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,6 @@
{
"approved": true,
"reason": "Independent parity review aligns with triage and run evidence.",
"revisedRootCause": "Implementation is partially complete (multi-format identity extraction and persistence paths) but misses key claim-parity behaviors around symbol-based fallback and ground-truth/SBOM validation semantics.",
"capturedAtUtc": "2026-02-11T18:53:48.6216548Z"
}

View File

@@ -0,0 +1,77 @@
{
"type": "source",
"capturedAtUtc": "2026-02-11T18:49:52.8682743Z",
"filesChecked": [
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/BinaryIdentityService.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/ElfFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/PeFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/MachoFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/StreamGuard.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/IBinaryFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Models/BinaryIdentity.cs"
],
"found": [
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/BinaryIdentityService.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/ElfFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/PeFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/MachoFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/StreamGuard.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/IBinaryFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Models/BinaryIdentity.cs"
],
"missing": [
],
"declarations": [
{
"symbol": "BinaryIdentityService",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\BinaryIdentityService.cs:11:public sealed class BinaryIdentityService"
]
},
{
"symbol": "ElfFeatureExtractor",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\ElfFeatureExtractor.cs:11:public sealed class ElfFeatureExtractor : IBinaryFeatureExtractor"
]
},
{
"symbol": "PeFeatureExtractor",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\PeFeatureExtractor.cs:20:public sealed class PeFeatureExtractor : IBinaryFeatureExtractor"
]
},
{
"symbol": "MachoFeatureExtractor",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\MachoFeatureExtractor.cs:20:public sealed class MachoFeatureExtractor : IBinaryFeatureExtractor"
]
},
{
"symbol": "StreamGuard",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\StreamGuard.cs:3:internal static class StreamGuard"
]
},
{
"symbol": "IBinaryFeatureExtractor",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Services\\IBinaryFeatureExtractor.cs:8:public interface IBinaryFeatureExtractor"
]
},
{
"symbol": "BinaryIdentity",
"found": true,
"matches": [
"C:\\dev\\New folder\\git.stella-ops.org\\src\\BinaryIndex\\__Libraries\\StellaOps.BinaryIndex.Core\\Models\\BinaryIdentity.cs:6:public sealed record BinaryIdentity"
]
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,25 @@
{
"capturedAtUtc": "2026-02-11T18:53:48.6216548Z",
"project": "src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/StellaOps.BinaryIndex.Core.csproj (+ Persistence/WebService test surfaces)",
"buildResult": "pass",
"testResult": "pass",
"commandsFile": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier1-commands.json",
"codeReview": {
"verdict": "fail",
"findings": [
"Feature claim states binaries without Build-ID fall back to symbol-based identification, but extractor fallback path uses file hash only.",
"Claimed ground-truth validation and SBOM stability verification are not implemented in the BinaryIdentity extraction path under the listed key classes.",
"Behavioral coverage does not explicitly validate PE CodeView GUID or Mach-O LC_UUID extraction in focused assertions."
],
"evidence": [
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/ElfFeatureExtractor.cs:53-55",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/BinaryIdentityService.cs:27-75",
"src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Core.Tests/FeatureExtractorTests.cs (no CodeView/LC_UUID assertion lines found via symbol scan)",
"rg parity scan across Core/Persistence for symbol-observation fallback from identity extraction returned no integration in listed key classes."
]
},
"errors": [
],
"verdict": "fail"
}

View File

@@ -0,0 +1,47 @@
[
{
"name": "build-core-lib",
"command": "dotnet build src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/StellaOps.BinaryIndex.Core.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:51:06.5768701Z",
"finishedAtUtc": "2026-02-11T18:51:07.9018879Z",
"summary": "Build succeeded.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\build-core-lib.log"
},
{
"name": "build-persistence-lib",
"command": "dotnet build src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Persistence/StellaOps.BinaryIndex.Persistence.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:51:07.9144202Z",
"finishedAtUtc": "2026-02-11T18:51:10.0139237Z",
"summary": "Build succeeded.",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\build-persistence-lib.log"
},
{
"name": "test-core",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Core.Tests/StellaOps.BinaryIndex.Core.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:51:10.0179298Z",
"finishedAtUtc": "2026-02-11T18:51:18.2902632Z",
"summary": " Passed! - Failed: 0, Passed: 50, Skipped: 0, Total: 50, Duration: 346ms - StellaOps.BinaryIndex.Core.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\test-core.log"
},
{
"name": "test-persistence",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Persistence.Tests/StellaOps.BinaryIndex.Persistence.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:51:18.2940494Z",
"finishedAtUtc": "2026-02-11T18:51:33.2859046Z",
"summary": " Passed! - Failed: 0, Passed: 21, Skipped: 0, Total: 21, Duration: 5s 527ms - StellaOps.BinaryIndex.Persistence.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\test-persistence.log"
},
{
"name": "test-webservice",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:51:33.2908298Z",
"finishedAtUtc": "2026-02-11T18:51:48.9758023Z",
"summary": " Passed! - Failed: 0, Passed: 40, Skipped: 0, Total: 40, Duration: 386ms - StellaOps.BinaryIndex.WebService.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\test-webservice.log"
}
]

View File

@@ -0,0 +1,29 @@
[
{
"name": "tier2-core-behavior",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Core.Tests/StellaOps.BinaryIndex.Core.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:52:31.3070761Z",
"finishedAtUtc": "2026-02-11T18:52:40.9000137Z",
"summary": " Passed! - Failed: 0, Passed: 50, Skipped: 0, Total: 50, Duration: 369ms - StellaOps.BinaryIndex.Core.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier2-core-behavior.log"
},
{
"name": "tier2-persistence-behavior",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Persistence.Tests/StellaOps.BinaryIndex.Persistence.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:52:40.9175033Z",
"finishedAtUtc": "2026-02-11T18:52:57.5667879Z",
"summary": " Passed! - Failed: 0, Passed: 21, Skipped: 0, Total: 21, Duration: 6s 697ms - StellaOps.BinaryIndex.Persistence.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier2-persistence-behavior.log"
},
{
"name": "tier2-webservice-behavior",
"command": "dotnet test src/BinaryIndex/__Tests/StellaOps.BinaryIndex.WebService.Tests/StellaOps.BinaryIndex.WebService.Tests.csproj -c Release --nologo",
"exitCode": 0,
"startedAtUtc": "2026-02-11T18:52:57.5705257Z",
"finishedAtUtc": "2026-02-11T18:53:10.2571113Z",
"summary": " Passed! - Failed: 0, Passed: 40, Skipped: 0, Total: 40, Duration: 501ms - StellaOps.BinaryIndex.WebService.Tests.dll (net10.0|x64)",
"log": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier2-webservice-behavior.log"
}
]

View File

@@ -0,0 +1,43 @@
{
"type": "integration",
"capturedAtUtc": "2026-02-11T18:53:48.6216548Z",
"commandsFile": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier2-commands.json",
"tests": [
{
"name": "core",
"log": "tier2-core-behavior.log",
"result": "pass",
"behaviorObserved": [
"Cross-format extractor tests and non-seekable stream negative checks executed."
],
"behaviorGap": "No explicit assertion proving CodeView GUID/LC_UUID extraction outcomes."
},
{
"name": "persistence",
"log": "tier2-persistence-behavior.log",
"result": "pass",
"behaviorObserved": [
"Binary identity repository upsert/query behavior verified against PostgreSQL testcontainer."
],
"behaviorGap": null
},
{
"name": "webservice",
"log": "tier2-webservice-behavior.log",
"result": "pass",
"behaviorObserved": [
"Resolution webservice tests execute with build-id request paths."
],
"behaviorGap": "Does not demonstrate symbol-observation fallback when Build-ID is absent."
}
],
"behaviorVerified": [
"Binary identity persistence/query paths operate with passing integration tests.",
"Extractor error handling for non-seekable streams is behaviorally exercised."
],
"behaviorMissing": [
"No implemented symbol-observation fallback path for Build-ID-missing binaries in the listed identity extraction classes.",
"Ground-truth/SBOM-stability validation semantics are not proven by the extraction service path."
],
"verdict": "fail"
}

View File

@@ -0,0 +1,43 @@
{
"type": "integration",
"capturedAtUtc": "2026-02-11T18:53:48.6216548Z",
"commandsFile": "docs\\qa\\feature-checks\\runs\\binaryindex\\binary-identity-extraction\\run-001\\tier2-commands.json",
"tests": [
{
"name": "core",
"log": "tier2-core-behavior.log",
"result": "pass",
"behaviorObserved": [
"Cross-format extractor tests and non-seekable stream negative checks executed."
],
"behaviorGap": "No explicit assertion proving CodeView GUID/LC_UUID extraction outcomes."
},
{
"name": "persistence",
"log": "tier2-persistence-behavior.log",
"result": "pass",
"behaviorObserved": [
"Binary identity repository upsert/query behavior verified against PostgreSQL testcontainer."
],
"behaviorGap": null
},
{
"name": "webservice",
"log": "tier2-webservice-behavior.log",
"result": "pass",
"behaviorObserved": [
"Resolution webservice tests execute with build-id request paths."
],
"behaviorGap": "Does not demonstrate symbol-observation fallback when Build-ID is absent."
}
],
"behaviorVerified": [
"Binary identity persistence/query paths operate with passing integration tests.",
"Extractor error handling for non-seekable streams is behaviorally exercised."
],
"behaviorMissing": [
"No implemented symbol-observation fallback path for Build-ID-missing binaries in the listed identity extraction classes.",
"Ground-truth/SBOM-stability validation semantics are not proven by the extraction service path."
],
"verdict": "fail"
}

View File

@@ -0,0 +1,15 @@
{
"rootCause": "Feature dossier overstates delivered behavior: current implementation extracts Build-ID/hash identities but does not implement claimed symbol-based fallback and ground-truth/SBOM stability verification in the documented identity extraction path.",
"category": "missing_code",
"affectedFiles": [
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/ElfFeatureExtractor.cs",
"src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Core/Services/BinaryIdentityService.cs",
"docs/features/unchecked/binaryindex/binary-identity-extraction.md"
],
"confidence": 0.96,
"evidence": [
"Fallback binary key path is fileSha only when BuildId is null (no symbol-observation path).",
"No code-path linkage from BinaryIdentityService to ground-truth observation/SBOM stability verification in listed implementation classes.",
"Tier2 behavioral runs pass baseline tests but do not prove claimed fallback semantics."
]
}