CODE GRAPH
Follow a code change beyond the file.
Explore connected functions, types and modules to understand what depends on an implementation.
ARTUS / SYMBOL EXPLORER
src/orders.ts · ILLUSTRATIVE SOURCE
40 export function
41 createOrder(
42 input: OrderInput
43 ) {
44 requireCustomer(input.customerId);
45 saveOrder(input);
46 emitOrderCreated();
47 }
CALLER ↓
postOrder()
routes.ts
TYPE ⋯
OrderInput
types.ts
SELECTED SYMBOL
createOrder()
orders.ts
↓ CALL
saveOrder()
repository.ts
↓ CALL
emitOrderCreated()
events.ts
━→ Calls
┄┄ Type usage
Illustrative example · Draft interaction design
The signature changes. Its assumptions remain.
Making customer identity optional can affect callers, validation and downstream logic.
OrderInput / CUSTOMER IDENTITY
BEFORE
customerId: string
AFTER
customerId?: string
CONNECTED VALIDATION / orders.ts
requireCustomer(input.customerId)
NEEDS REVIEW
Does validation allow guest identity?
An illustrative review finding—not proof of a bug from a static relationship alone.
Illustrative example · Draft interaction design
Trace callers, dependencies and shared types.
Keep createOrder() selected and follow a different code-level relationship.
Inspect the code behind the connection.
Move from a relationship to the relevant source context.
Make the next review better informed.
Bring connected code context into implementation and review decisions.
