# 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>