Cairn Documentation

Interfaces & Signals

Interfaces define how nodes connect and communicate. They're the contracts between subsystems — what flows across boundaries and under what conditions.

What an Interface Represents

An interface connects exactly two nodes. It represents a physical connection, a data exchange, a power transfer, or a material flow. Interfaces are bidirectional containers — the direction of individual flows is defined by the signals inside them.

Signals

A signal is a single flow within an interface:

  • Name: What's being transferred ("position_data", "motor_power")
  • Type: data, power, physical, or thermal
  • Direction: source → target, target → source, or bidirectional
  • Unit: Engineering unit (V, A, Mbps, L/min)

An interface might carry multiple signals:

Interface: Power Subsystem ↔ Drivetrain ├─ motor_power (power, 48V, →) ├─ motor_current (power, 0-120A, →) ├─ fault_status (data, boolean, ←) └─ temperature (data, °C, ←)

Creating Interfaces

Architecture lens: Drag from one node's port to another.

⌘K command:

"Add interfaces to the power subsystem"
"Create a data interface between navigation and control"

Decomposition side effect: When AI decomposes a node, it often proposes interfaces between the new children.

Architecture Visualization

The Architecture lens renders interfaces as edges between nodes. Hover to see signal summaries. Click to inspect full definitions. Selecting a node highlights its connected interfaces.