Reference

How we validate

Public-project checks, not a tutorial. Each area was indexed from a shallow clone (default branch, October 2026) with python -m cg_code_graph.cli index <repo> on one 8-core Linux box. Wall time includes a cold extractor cache, not a one-off dart compile exe.

A spot check is 20 routes (or every route when there are fewer) sampled from the graph and compared by hand with the cited source line: method, full path (every prefix), parameters, and handler symbol. A pass means those rows match. Gaps sit next to the table that produced them.

Full scoreboards, timings and the "other corpora unchanged" notes are in Validation log. This page is the method plus one headline per area.

Headlines

areaheadlinelog
Django / Python7 apps; sampled routes 20/20 (saleor is GraphQL: 9 routes, resolvers are endpoints)Django
Flutter / Dart5 apps; flutter/samples 12/12 HTTP and 13/13 go_router routes; lichess 18/20Flutter
Laravel channelsUNIT3D, koel, invoiceninja, pixelfed, coolify: publishers matched each ShouldBroadcast eventChannels
Laravel testsTEST_HTTP spot check 40/40 (10 per app)same section
Nuxtbreeze-nuxt and elk, no npm install, no .nuxtNuxt
Presets / guardscg starters and cg routes --unguarded, no .cg.yamlPresets
Monorepoone index per app (immich/server, cal.com/apps/web, …)Monorepo
Generated filesCapacitor copies and OpenAPI / protoc output excluded; cg coverage lists themGenerated
Platformsripgrep, alacritty, libuv, curl, dart-lang/http, localsend, social-appPlatforms
Kotlin / Swiftheuristic calls, then scip-java and the Swift index storeKotlin, Swift
Springspring-petclinic: 17/17 heuristic routes (PetController class prefix included). Exact-mode figures are from the original run (scip-java 0.13.1, JDK 21, --build-tool=maven, which runs mvn clean verify -DskipTests and cleans build caches), not re-measured in this tree: 50/50 Java files in the index, 364 definitions matched and 4 unmatched. A sample of 20 heuristic CALLS edges, sorted by source then target, agrees with the exact edges on 19; the full heuristic call set the exact layer compares agrees on 324 of 328 (precision 0.988, recall 0.973)Java
BridgesCapacitor, React Native, Flutter, Cordova, Pigeon, Electron, TauriBridges
ProtocolsSocket.IO, WS/SSE, webhooks, IPC, sockets, gRPC, GraphQL, jobs, brokersProtocols
TS frameworksimmich, Nest samples, Ghost, dub, Next examples, realworld cg linkTS frameworks
ExternalPrisma / ORM datasources, third-party HTTP hosts, cloud SDKsExternal
Attack surface (#47)12 corpora; recall 2 of 11 documented items on juice-shop, NodeGoat, DVWA; sampled precision per finding type; unguarded cut by 82% to 97.5% on netbox, outline and the cal.com web app in part 2d, with juice-shop's 4 true positives kept; 1 wrong redaction and 1 unredacted doc comment found and fixedAttack surface
External systems: mail, SMS, push, infra (#42 part 3)6 corpora, no new external nodes or edges from 3a / 3b (no matched SDK in use); index time +26% (outline) and +31% (cal.com apps/web) over three runs, from the 2a / 2b passesMail / SMS / push / infra
AI toolsMCP / LLM tool endpoints on public harnessesAI tools
ParityBitwarden and Element X, name match and --structurehow far to trust missing

How to read a gap

  • A handler marked external (Django LoginView, allauth) was compared and left unresolved on purpose.
  • {?} in a path is a setting or f-string cg did not evaluate (netbox BASE_PATH).
  • A route count that matches the decorator count is a census, not a spot check. The spot check is the hand sample.
  • Exact mode (Kotlin scip-java, Swift index store) is a second index of the same ids. Heuristic edges that the compiler does not confirm stay in the log's precision / recall note.

More log sections

These are the same runs, split by change. Open the log for the table.

topiclog
Overrides, inherited specs, class hierarchyOverrides
Receiver types, interfaces, container bindingsReceivers
Swift selectors and testsSelectors, Swift Testing
Sockets, gRPC, Thrift, tRPC, JSON-RPCSockets, gRPC
GraphQL, job queues, brokersGraphQL, Jobs, Brokers
Webhooks and local IPCReceivers, Senders, IPC
Plain JavaScript, C macrosJS, C/C++
Datasources and HTTP hostsPrisma, HTTP hosts, Cloud SDKs

Re-run

cg index <repo> --db out/check.db
cg coverage --db out/check.db
cg routes --unguarded --db out/check.db
cg protocols --unmatched --db out/check.db

Language pages link the log section for their numbers. A census (decorator count equals route count) is not a spot check; the spot check is the hand sample.