# traceSubsystemFlow

**Kind:** Function

**Source:** [`atloria-monorepo/libs/parser-core/src/techdocs/subsystem-flow.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/parser-core/src/techdocs/subsystem-flow.ts#L71)

Walk outward from the entry point that reaches furthest.

Furthest rather than first: a subsystem usually declares several controllers and most of them
bottom out immediately, so taking the first would describe the shallowest path in the subsystem
and call it the flow. Depth wins, and total reach breaks ties.

## Signature

```ts
function traceSubsystemFlow(entryPoints: Entity[], entities: Entity[], relationships: Relationship[]): SubsystemFlow | undefined
```

## Parameters

| Name | Type |
|---|---|
| `entryPoints` | `Entity[]` |
| `entities` | `Entity[]` |
| `relationships` | `Relationship[]` |

**Returns:** `SubsystemFlow | undefined`
