Scan packet example
A scan packet is a snapshot of static evidence.
This representative packet shows how TraceMap records coverage, deterministic facts, and human-readable summaries without storing raw source snippets by default.
Manifest
The manifest names the repository state, scan scope, and gaps.
{
"scanId": "scan-orders-api-sample-5e7fe17",
"repoName": "orders-api-sample",
"remoteUrl": null,
"branch": "main",
"commitSha": "5e7fe17",
"scannerVersion": "tracemap-dotnet/0.1.0",
"scannedAt": "2026-06-14T00:00:00+00:00",
"analysisLevel": "Level1SemanticAnalysisReduced",
"buildStatus": "FailedOrPartial",
"solutions": [
"Orders.Api.sln"
],
"projects": [
"src/Orders.Api/Orders.Api.csproj"
],
"targetFrameworks": [
"net8.0"
],
"knownGaps": [
"MSBuildWorkspace project load or Roslyn compilation reported gaps; syntax fallback still ran."
]
}
Facts
Each fact carries a rule and evidence tier.
{"factId":"fact-route-orders-get","scanId":"scan-orders-api-sample-5e7fe17","repo":"orders-api-sample","commitSha":"5e7fe17","projectPath":"src/Orders.Api/Orders.Api.csproj","factType":"HttpRouteBinding","ruleId":"csharp.syntax.aspnetroute.v1","evidenceTier":"Tier3SyntaxOrTextual","sourceSymbol":"Orders.Api.OrdersController","targetSymbol":"Orders.Api.OrdersController.Get","contractElement":"GET /api/orders/{id}","evidence":{"filePath":"src/Orders.Api/OrdersController.cs","startLine":42,"endLine":42,"snippetHash":"sha256:route-example","extractorId":"CSharpSyntaxExtractor","extractorVersion":"tracemap-dotnet/0.1.0"},"properties":{"httpMethod":"GET","routeTemplate":"/api/orders/{id}"}}
{"factId":"fact-property-order-status","scanId":"scan-orders-api-sample-5e7fe17","repo":"orders-api-sample","commitSha":"5e7fe17","projectPath":"src/Orders.Api/Orders.Api.csproj","factType":"PropertyAccessed","ruleId":"csharp.semantic.propertyaccess.v1","evidenceTier":"Tier1Semantic","sourceSymbol":"Orders.Api.OrderMapper.Map","targetSymbol":"Orders.Contracts.OrderDto.Status","contractElement":"Status","evidence":{"filePath":"src/Orders.Api/OrderMapper.cs","startLine":77,"endLine":77,"snippetHash":"sha256:property-example","extractorId":"CSharpSemanticExtractor","extractorVersion":"tracemap-dotnet/0.1.0"},"properties":{"propertyName":"Status"}}
{"factId":"fact-gap-workspace","scanId":"scan-orders-api-sample-5e7fe17","repo":"orders-api-sample","commitSha":"5e7fe17","projectPath":"src/Orders.Api/Orders.Api.csproj","factType":"AnalysisGap","ruleId":"csharp.semantic.workspace.v1","evidenceTier":"Tier4Unknown","sourceSymbol":null,"targetSymbol":null,"contractElement":null,"evidence":{"filePath":"src/Orders.Api/Orders.Api.csproj","startLine":1,"endLine":1,"snippetHash":null,"extractorId":"CSharpSemanticExtractor","extractorVersion":"tracemap-dotnet/0.1.0"},"properties":{"message":"MSBuildWorkspace project load reported gaps; syntax fallback continued."}}
Report excerpt
The Markdown report is for review, not proof of runtime behavior.
## Coverage
- Analysis level: Level1SemanticAnalysisReduced
- Build status: FailedOrPartial
- Coverage note: reduced semantic coverage; syntax fallback still ran.
## Known Gaps
- csharp.semantic.workspace.v1
- Project load failed, syntax fallback continued.
## Dependency Surfaces
- HTTP route: GET /api/orders/{id}
- Rule: csharp.syntax.aspnetroute.v1
- Tier: Tier3SyntaxOrTextual
- File: src/Orders.Api/OrdersController.cs:42
Reduced coverage changes the conclusion.
A reduced scan can still route useful review work. It cannot prove that no matching evidence exists across the whole repository.