core practice · system design prompt

Design exercise: Codebase Graphs

Symbols, references, calls, imports, ownership, data flow, build targets, and graph queries over repositories. Implement designOutline() returning non-empty values for: nodeIdentity, edgeTypes, incrementalUpdate. Each value must name a concrete mechanism or decision.

The mechanism

A codebase graph converts files into typed relationships. The value comes from stable symbol identity, precise edges, incremental updates, and queries tied to developer decisions.

Study Codebase Graphs

Expected evidence

A design outline with nodeIdentity, edgeTypes, incrementalUpdate plus an explicit failure mode or trade-off.

Try this drill in the practice workspace →

Hints when you need them
  • Name the failure mode before selecting the mechanism.

Check the sources

Browse all practice briefs