git:20260513.40dcfd6 to git:20260515.f0453ae
28 added, 0 removed. Audit A to A.
+ # core/dsl/operation/gql — directory guide
+
+ GraphQL counterpart to `core/dsl/operation/oas/`. Same structure:
+ `GqlOperationProjectionBase.ts`, `toGqlOperationProjectionBase.ts`,
+ `toGqlOperationEntry.ts`, `GqlOperationDriver.ts`, `types.ts`.
+
+ **Differences from OAS:**
+
+ - Routing key is `[generatorId][rootKind][fieldName]` (GraphQL has
+ no path/method). Variants live one level deeper:
+ `[…][rootKind][fieldName][variant]`.
+ - `transform` threads `acc` and MUST return it (`reduce`
+ accumulator). The variant fan-out preserves `acc` across variants
+ of the same operation in `Object.keys` order — variants share the
+ operation's `acc` slot.
+ - `synthesizeArgsObject(operation)` is the mutation-args helper used
+ by `isSupported` predicates.
+
+ **Variant axis touchpoints** are otherwise identical to the OAS
+ side: `GqlOperationDriver.assertPeerVariantExists`, 4-segment
+ `GqlOperationGeneratorKey` ending in `variant`, `ContentSettings`
+ carries `variant`, every static method takes `variant`.
+
+ Concept doc: `docs/concepts/variants.md`. Skill:
+ `docs/skills/skmtc-generator/SKILL.md` (Scaffold C — GraphQL variant).
+
+ ---
+
<claude-mem-context>
# Recent Activity
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### May 7, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #19586 | 5:11 PM | 🔵 | GqlOperationProjectionBase provides insertOperation and insertModel methods | ~366 |
### May 11, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20458 | 7:04 PM | 🔄 | GqlOperationDriver migrated to use identifier.toImport() method | ~590 |
| #20457 | " | 🔄 | Completed task 3 updating driver implementations | ~373 |
| #20454 | 7:03 PM | 🔵 | GqlOperationDriver contains same manual entityType check pattern for import construction | ~413 |
| #20419 | 6:59 PM | 🔵 | isType flag implementation across core DSL import system | ~592 |
| #20418 | " | 🔵 | Current isType boolean implementation in Import DSL | ~522 |
### May 12, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20928 | 2:20 PM | 🔵 | Critical enrichment routing path discrepancy discovered in documentation | ~940 |
### May 13, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #21156 | 8:10 AM | 🔵 | toPreviewModule confirmed active in entry factory APIs | ~488 |
</claude-mem-context>