Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
Findings Ledger CI / build-test (push) Has been cancelled
Findings Ledger CI / migration-validation (push) Has been cancelled
Findings Ledger CI / generate-manifest (push) Has been cancelled
Lighthouse CI / Lighthouse Audit (push) Has been cancelled
Lighthouse CI / Axe Accessibility Audit (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Reachability Corpus Validation / validate-corpus (push) Has been cancelled
Reachability Corpus Validation / validate-ground-truths (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Reachability Corpus Validation / determinism-check (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
- Introduced `all-edge-reasons.json` to test edge resolution reasons in .NET. - Added `all-visibility-levels.json` to validate method visibility levels in .NET. - Created `dotnet-aspnetcore-minimal.json` for a minimal ASP.NET Core application. - Included `go-gin-api.json` for a Go Gin API application structure. - Added `java-spring-boot.json` for the Spring PetClinic application in Java. - Introduced `legacy-no-schema.json` for legacy application structure without schema. - Created `node-express-api.json` for an Express.js API application structure.
156 lines
3.6 KiB
JSON
156 lines
3.6 KiB
JSON
{
|
|
"schema": "stella.callgraph.v1",
|
|
"scanKey": "scan:gin-api:1.5.0",
|
|
"language": "Go",
|
|
"artifacts": [
|
|
{
|
|
"artifactKey": "gin-api",
|
|
"kind": "go-binary",
|
|
"sha256": "d5e6f78901234567890abcdef0123456789abcdef0123456789abcdef0123456",
|
|
"purl": "pkg:golang/github.com/example/gin-api@1.5.0",
|
|
"filePath": "/app/gin-api",
|
|
"sizeBytes": 15000000
|
|
}
|
|
],
|
|
"nodes": [
|
|
{
|
|
"id": "g001",
|
|
"nodeId": "g001",
|
|
"name": "main",
|
|
"kind": "function",
|
|
"namespace": "main",
|
|
"file": "main.go",
|
|
"line": 12,
|
|
"symbolKey": "main.main",
|
|
"artifactKey": "gin-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"flags": 1
|
|
},
|
|
{
|
|
"id": "g002",
|
|
"nodeId": "g002",
|
|
"name": "GetProduct",
|
|
"kind": "function",
|
|
"namespace": "handlers",
|
|
"file": "product_handler.go",
|
|
"line": 28,
|
|
"symbolKey": "github.com/example/gin-api/handlers.GetProduct",
|
|
"artifactKey": "gin-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"attributes": {
|
|
"httpMethod": "GET",
|
|
"route": "/api/products/:id"
|
|
},
|
|
"flags": 3
|
|
},
|
|
{
|
|
"id": "g003",
|
|
"nodeId": "g003",
|
|
"name": "FindByID",
|
|
"kind": "function",
|
|
"namespace": "repository",
|
|
"file": "product_repo.go",
|
|
"line": 45,
|
|
"symbolKey": "github.com/example/gin-api/repository.(*ProductRepo).FindByID",
|
|
"artifactKey": "gin-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": false,
|
|
"flags": 0
|
|
},
|
|
{
|
|
"id": "g004",
|
|
"nodeId": "g004",
|
|
"name": "init",
|
|
"kind": "function",
|
|
"namespace": "config",
|
|
"file": "config.go",
|
|
"line": 8,
|
|
"symbolKey": "github.com/example/gin-api/config.init",
|
|
"artifactKey": "gin-api",
|
|
"visibility": "Unknown",
|
|
"isEntrypointCandidate": true,
|
|
"flags": 2
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"sourceId": "g004",
|
|
"targetId": "g001",
|
|
"from": "g004",
|
|
"to": "g001",
|
|
"type": "init",
|
|
"kind": "Static",
|
|
"reason": "DirectCall",
|
|
"weight": 1.0,
|
|
"isResolved": true,
|
|
"provenance": "go-init-order"
|
|
},
|
|
{
|
|
"sourceId": "g001",
|
|
"targetId": "g002",
|
|
"from": "g001",
|
|
"to": "g002",
|
|
"type": "router-bind",
|
|
"kind": "Heuristic",
|
|
"reason": "DelegateCreate",
|
|
"weight": 0.9,
|
|
"isResolved": true,
|
|
"provenance": "gin-router"
|
|
},
|
|
{
|
|
"sourceId": "g002",
|
|
"targetId": "g003",
|
|
"from": "g002",
|
|
"to": "g003",
|
|
"type": "interface",
|
|
"kind": "Static",
|
|
"reason": "VirtualCall",
|
|
"weight": 1.0,
|
|
"isResolved": true
|
|
}
|
|
],
|
|
"entrypoints": [
|
|
{
|
|
"nodeId": "g004",
|
|
"kind": "ModuleInit",
|
|
"framework": "Unknown",
|
|
"source": "convention",
|
|
"phase": "ModuleInit",
|
|
"order": 0
|
|
},
|
|
{
|
|
"nodeId": "g001",
|
|
"kind": "Main",
|
|
"framework": "Gin",
|
|
"source": "convention",
|
|
"phase": "AppStart",
|
|
"order": 1
|
|
},
|
|
{
|
|
"nodeId": "g002",
|
|
"kind": "Http",
|
|
"route": "/api/products/:id",
|
|
"httpMethod": "GET",
|
|
"framework": "Gin",
|
|
"source": "code-analysis",
|
|
"phase": "Runtime",
|
|
"order": 2
|
|
}
|
|
],
|
|
"metadata": {
|
|
"toolId": "stellaops.scanner.go",
|
|
"toolVersion": "1.0.0",
|
|
"analysisTimestamp": "2025-01-15T13:00:00Z",
|
|
"sourceCommit": "012def345abc",
|
|
"buildId": "build-004"
|
|
},
|
|
"id": "cg-go-gin-api-001",
|
|
"languageString": "go",
|
|
"component": "gin-api",
|
|
"version": "1.5.0",
|
|
"ingestedAt": "2025-01-15T13:00:00Z",
|
|
"graphHash": "sha256:d4e5f6a7b8c9"
|
|
}
|