ID |
|
|---|---|
Status |
In Progress |
Priority |
11 |
Theme |
legacy-migration |
Retire graphitron-maven-plugin + graphitron-schema-transform
Umbrella tracker. Fold the remaining transform passes and the Maven surface into graphitron-rewrite so every schema pass has a single code-owner and consumers depend on graphitron-maven-plugin only. End state: mvn install -f graphitron-rewrite/pom.xml produces a self-contained plugin jar and the legacy modules delete.
Most of this umbrella has shipped; see changelog.md for the build surface (schema loading, tagged inputs, Maven plugin, aggregator-standalone, content-idempotent writes) and @asConnection emit-time synthesis.
Remaining sub-items
-
Java LSP rewrite +
devgoal ; shipped under R18 (see changelog.md). The legacy Rust LSP has no consumers, so archiving the GitLab repo and deleting the legacyIntrospectMojocarry no consumer-migration cost; both fold into the final "Retire legacy + unnest" step below, which deletesgraphitron-maven-pluginwholesale. -
@notGenerateddirective removed ; own plan: remove-notgenerated.md. Directive dropped from the supported set. -
Federation SDL integration ; bundled with the Apollo Federation via federation-jvm transform backlog item; tracked there.
-
Retire legacy + unnest the rewrite aggregator ; carved out to its own item, R182 (unnest-rewrite-aggregator.md). Closing landing marker for this umbrella; on R182 Done, this bullet retires with it.
Drive-bys this retirement closes
-
Paginated-fields transform coexistence. Today, when
@asConnectionis stripped by the legacygraphitron-schema-transformbefore the rewrite builder sees the schema,defaultPageSizeis lost. Folded here because the concern vanishes whengraphitron-schema-transformretires alongside the legacy plugin: there is no precursor pass to lose the metadata to. Until that final retirement step, consumers running both pipelines should be aware thatdefaultPageSizeonly survives if the rewrite builder reads the un-stripped SDL.
Architecture decisions that pruned scope
The programmatic-schema architecture (Graphitron.buildSchema(…), see changelog) made several originally-planned migrations moot and they have been removed from the umbrella: type-extension merging (MergeExtensions) is a non-issue without the registry-level bridge; directive stripping (DirectivesFilter, GenerationDirective) is irrelevant because rewrite no longer emits a client SDL; the runtime no longer reads schema.graphql at bootstrap so neither client-SDL emission nor feature-flag SDL splits (FeatureConfiguration, SchemaFeatureFilter, <outputSchemas>) are needed.