Each module’s report attributes only that module’s own classes, from that module’s test forks under -Pcoverage. graphitron’s figures are generator-source coverage from its unit and pipeline tiers; `graphitron-sakila-example’s figures are coverage of generated code from the compilation and execution tiers. CI regenerates this page on every trunk push. Regenerate locally with `mvn verify -Plocal-db -Pcoverage, then mvn -pl roadmap-tool exec:java -q -Dexec.args='source-coverage .'.

Two kinds of generator code are missing from every figure below, for two different reasons. Generator code that runs in the Maven JVM during graphitron:generate is never instrumented at all: the agent attaches to test forks only, so those executions are uncollected. Generator code that runs in another module’s test JVM (GeneratorDeterminismTest invokes the generator in-process in graphitron-sakila-example) is collected into that module’s exec data, but discarded at report time, because a module’s report analyses only its own classes.

Read the per-tier columns as slices, not as a decomposition: each column covers only the classes its -Dgroups=<tier> run selected, cross-cutting classes fall into none of them, and the slices do not sum to the combined figure. Renderer arm tests, a unit-tier family the tier guide endorses for per-arm structural assertions, land in the unit column by design; a raw unit-versus-pipeline comparison attributes that deliberate unit testing to the arm the doctrine is skeptical of.

Coverage by module

Module Line Branch Method

graphitron

87.4%

77.5%

92.1%

graphitron-lsp

94.7%

75.1%

93.4%

graphitron-maven-plugin

64.7%

57.2%

77.7%

graphitron-mcp

83.8%

68.5%

92.1%

graphitron-model

39.5%

38.6%

22.7%

graphitron-roadmap-tool

81.4%

71.9%

89.6%

graphitron-sakila-example

76.7%

48.8%

64.7%

graphitron by package

Package names are shortened by dropping the no.sikt.graphitron. prefix. The per-tier columns are line coverage from that tier’s run alone.

Package Line Branch Method unit line pipeline line

command

85.1%

62.0%

97.2%

54.3%

82.4%

docs

70.7%

67.4%

77.3%

70.7%

0.0%

facts

92.8%

80.3%

92.6%

86.5%

90.9%

plan

90.0%

79.7%

94.8%

31.8%

89.8%

render

88.5%

74.2%

95.0%

55.5%

85.6%

rewrite

91.4%

82.3%

94.6%

64.3%

84.1%

rewrite.catalog

83.2%

58.7%

97.1%

79.4%

73.5%

rewrite.compile

87.7%

79.4%

94.7%

40.9%

78.4%

rewrite.dependency

95.3%

100.0%

100.0%

95.3%

86.0%

rewrite.derive

89.5%

100.0%

71.4%

0.0%

89.5%

rewrite.generators

70.1%

59.7%

78.5%

37.1%

61.5%

rewrite.generators.schema

94.2%

80.8%

96.3%

84.7%

83.3%

rewrite.generators.util

96.6%

87.8%

85.9%

52.0%

75.2%

rewrite.model

84.8%

70.9%

93.0%

68.9%

78.9%

rewrite.schema.federation

89.0%

79.2%

100.0%

81.4%

72.9%

rewrite.session

100.0%

92.9%

100.0%

100.0%

74.3%

rewrite.walker

91.5%

87.1%

100.0%

82.4%

88.2%

rewrite.walker.internal

92.7%

91.7%

100.0%

92.7%

85.4%

graphitron classes with the most missed lines

The 25 classes with the most missed lines. A bounded list, not the whole story; the package table above is complete.

Class Missed lines Line

rewrite.generators.TypeFetcherGenerator

830

69.1%

rewrite.generators.MultiTablePolymorphicEmitter

363

69.7%

rewrite.FieldBuilder

340

90.5%

rewrite.generators.FetcherEmitter

199

44.6%

rewrite.generators.ArgCallEmitter

118

28.0%

rewrite.BuildContext

100

90.9%

rewrite.GraphitronSchemaValidator

91

89.8%

rewrite.ServiceCatalog

84

91.0%

rewrite.generators.JooqRecordInstantiationEmitter

64

75.4%

rewrite.TenantBindingIndex.Fold

63

89.2%

rewrite.compile.PlanCompileGraph.Builder

52

79.8%

rewrite.generators.GeneratorUtils

52

75.6%

rewrite.TypeBuilder

50

94.2%

plan.LauncherCommands

47

89.8%

render.ConditionGlueRenderer

47

83.0%

rewrite.generators.util.OneOfDirectiveSdlGenerator

46

0.0%

rewrite.EnumMappingResolver

44

59.6%

rewrite.generators.schema.GraphitronSchemaClassGenerator

42

84.2%

render.BatchedRowsFragments

38

90.6%

rewrite.InputBeanResolver

37

92.3%

rewrite.generators.TenantDslEmitter

37

74.7%

docs.CommandRelationFragment

34

70.4%

render.RoutineWriteFetcherRenderer

33

74.4%

plan.ProjectionCommands

32

88.1%

rewrite.generators.util.ErrorTypeFetcherClassGenerator

31

61.7%

Classification leaves beside class coverage

One row per sealed leaf in the hierarchies the inference-axis report enumerates, joining that leaf’s classifier-trace count with its implementing class’s line coverage. Traces with low coverage: the classification is demonstrated while most of its class never runs. No traces and no coverage: dead weight. No traces with high coverage: the class is exercised by something other than the corpus, usually a test asserting the classifier rather than the classification. Traces with high coverage is the healthy case. Only the first two are actionable.

Hierarchy Leaf Traces Line

GraphitronField

GraphitronField.UnclassifiedField

1702

100.0%

RootField

MutationField.DmlTableField

445

84.6%

RootField

MutationField.MutationBulkDmlRecordField

129

75.0%

RootField

MutationField.MutationDmlRecordField

119

100.0%

RootField

MutationField.MutationRoutineWriteField

74

57.1%

RootField

MutationField.MutationRoutineWriteRecordField

66

68.2%

RootField

MutationField.MutationServicePolymorphicField

28

75.0%

RootField

MutationField.MutationServiceRecordField

337

71.4%

RootField

MutationField.MutationServiceTableField

32

100.0%

RootField

MutationField.MutationServiceTableInterfaceField

31

80.0%

RootField

QueryField.QueryInterfaceField

63

85.7%

RootField

QueryField.QueryNodeField

82

100.0%

RootField

QueryField.QueryNodesField

33

50.0%

RootField

QueryField.QueryServicePolymorphicField

33

75.0%

RootField

QueryField.QueryServiceRecordField

885

71.4%

RootField

QueryField.QueryServiceTableField

81

100.0%

RootField

QueryField.QueryServiceTableInterfaceField

36

80.0%

RootField

QueryField.QueryTableField

4299

66.7%

RootField

QueryField.QueryTableInterfaceField

206

100.0%

RootField

QueryField.QueryUnionField

216

100.0%

ChildField

ChildField.BatchedInterfaceField

67

83.3%

ChildField

ChildField.BatchedPivotField

42

76.9%

ChildField

ChildField.BatchedTableField

818

81.3%

ChildField

ChildField.BatchedTableInterfaceField

80

73.7%

ChildField

ChildField.BatchedUnionField

58

83.3%

ChildField

ChildField.ColumnBackedField

6820

100.0%

ChildField

ChildField.ColumnBackedReferenceField

181

92.9%

ChildField

ChildField.ComputedField

56

100.0%

ChildField

ChildField.ErrorsField

220

83.3%

ChildField

ChildField.InterfaceField

58

91.7%

ChildField

ChildField.NestingField

211

100.0%

ChildField

ChildField.ParticipantColumnReferenceField

46

62.5%

ChildField

ChildField.PivotField

55

100.0%

ChildField

ChildField.PivotSlotField

0

75.0%

ChildField

ChildField.RecordCompositeField

38

85.7%

ChildField

ChildField.RecordReadField

1263

66.7%

ChildField

ChildField.ServiceRecordField

160

81.8%

ChildField

ChildField.ServiceTableField

120

100.0%

ChildField

ChildField.SingleRecordIdField

37

87.5%

ChildField

ChildField.SingleRecordIdFieldFromReturning

64

50.0%

ChildField

ChildField.TableField

578

93.3%

ChildField

ChildField.TableInterfaceField

37

75.0%

ChildField

ChildField.UnionField

52

91.7%

InputField

InputField.ColumnBackedField

1764

100.0%

InputField

InputField.ColumnBackedReferenceField

305

100.0%

InputField

InputField.ConditionOwnedField

56

83.3%

InputField

InputField.NestingField

99

100.0%

InputField

InputField.UnboundField

65

85.7%

GraphitronType

PojoResultType.Backed

145

-

GraphitronType

GraphitronType.ConnectionType

528

100.0%

GraphitronType

GraphitronType.EdgeType

528

100.0%

GraphitronType

GraphitronType.EnumType

10463

100.0%

GraphitronType

GraphitronType.ErrorType

297

85.7%

GraphitronType

GraphitronType.FacetValueType

66

100.0%

GraphitronType

GraphitronType.FacetsType

51

100.0%

GraphitronType

GraphitronType.InterfaceType

928

100.0%

GraphitronType

GraphitronType.JavaRecordInputType

168

100.0%

GraphitronType

GraphitronType.JavaRecordType

575

100.0%

GraphitronType

GraphitronType.JooqRecordInputType

23

100.0%

GraphitronType

GraphitronType.JooqRecordType

24

100.0%

GraphitronType

GraphitronType.JooqTableRecordInputType

148

100.0%

GraphitronType

GraphitronType.JooqTableRecordType

513

100.0%

GraphitronType

GraphitronType.NestingType

182

100.0%

GraphitronType

GraphitronType.NodeType

1006

100.0%

GraphitronType

GraphitronType.PageInfoType

394

100.0%

GraphitronType

GraphitronType.PojoInputType

2976

100.0%

GraphitronType

GraphitronType.RootType

4424

100.0%

GraphitronType

GraphitronType.ScalarType

9937

100.0%

GraphitronType

GraphitronType.TableInterfaceType

251

100.0%

GraphitronType

GraphitronType.TableType

5548

100.0%

GraphitronType

GraphitronType.UnclassifiedType

59

100.0%

GraphitronType

GraphitronType.UnionType

332

100.0%